lkml.org 
[lkml]   [2011]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subjectlist sort
From
Date
Hi,

There seems to be an issue with list_sort trying to compare an object to
itself. I spotted it first in a list for which I knew that I had unique
keys, so had put a BUG() in the cmp function if the keys being compared
were equal. While investigating I discovered that the objects themselves
were equal (and hence the keys, also). The following addition to the
list_sort test also triggers twice during the self test:

diff --git a/lib/list_sort.c b/lib/list_sort.c
index d7325c6..afa4a97 100644
--- a/lib/list_sort.c
+++ b/lib/list_sort.c
@@ -198,6 +198,8 @@ static int __init cmp(void *priv, struct list_head *a, struct list_head *b)
{
struct debug_el *ela, *elb;

+ WARN_ON(a == b);
+
ela = container_of(a, struct debug_el, list);
elb = container_of(b, struct debug_el, list);

While it appears generally harmless, since the list does appear to be
correctly sorted, it is doing extra work needlessly.

I couldn't find a listing in the maintainers' file for list_sort, so
I used git to find those who'd worked on it recently,

Steve.





\
 
 \ /
  Last update: 2011-07-27 15:25    [W:0.040 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site