lkml.org 
[lkml]   [2010]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 0/6] improve list_sort test
    From
    Date
    On Sun, 2010-08-08 at 13:07 -0700, Don Mullis wrote:
    > On Sun, Aug 8, 2010 at 12:31 PM, Don Mullis <don.mullis@gmail.com> wrote:
    > > Artem Bityutskiy <dedekind1@gmail.com> writes:
    > >> Actually, your 'list_sort()' version does have a problem. I found out
    > >> that it calls 'cmp(priv, a, b)' with 'a = b' sometimes, and in these
    > >> cases 'a' and 'b' can point to something which is not a valid element of
    > >> the original list. Probably a senitel or something like that.
    >
    > Looks like if the original list is a POT in length, the first callback
    > from line 73 will pass a==b both pointing to the original list_head.
    > Would you be able to test this fix?
    >
    > --- linux-2.6.orig/lib/list_sort.c
    > +++ linux-2.6/lib/list_sort.c
    > @@ -70,7 +70,7 @@ static void merge_and_restore_back_links
    > * element comparison is needed, so the client's cmp()
    > * routine can invoke cond_resched() periodically.
    > */
    > - (*cmp)(priv, tail, tail);
    > + (*cmp)(priv, tail->next, tail->next);

    Ack, this fix works, thanks.

    --
    Best Regards,
    Artem Bityutskiy (Артём Битюцкий)

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-08-21 12:01    [W:4.089 / U:0.244 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site