Re: [PATCH v4 2/2] bsearch: prevent overflow when computing middlecomparison element

From: matt mooney
Date: Fri Sep 24 2010 - 01:53:54 EST


On 10:56 Thu 23 Sep , Rusty Russell wrote:
> On Thu, 23 Sep 2010 12:12:13 am André Goddard Rosa wrote:
> > On Fri, Nov 13, 2009 at 8:42 PM, Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:
> > > On Sat, 14 Nov 2009 01:33:04 am Thiago Farina wrote:
> > >> Hi Rusty,
> > >>
> > >> On Thu, Nov 12, 2009 at 11:06 AM, Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:
> > >> > On Wed, 11 Nov 2009 01:30:25 am André Goddard Rosa wrote:
> > >> >> It's really difficult to occur in practice because the sum of the lower
> > >> >> and higher limits must overflow an int variable, but it can occur when
> > >> >> working with large arrays. We'd better safe than sorry by avoiding this
> > >> >> overflow situation when computing the middle element for comparison.
> > >> >
> > >> > I applied all these, after testing. In future would have been nice for you
> > >> > to have posted a test patch so I didn't have make my own...
> > >>
> > >> Where did you apply this patch?
> > >
> > > To my kernel series, which means it is now in linux-next.
> > >
> > > Hope that helps,
> > > Rusty.
> > >
> >
> > Hi, Rusty!
> >
> > Is there any chance that this patchset will land into mainline anytime soon?
> >
> > Here we have another use for the binary search function:
> > http://marc.info/?l=linux-kernel&m=128515012817787&w=2
>
> "Unused code is buggy code". Can we have some users please? Do people
> care that uninlining means an indirect fn call now for cmp?
>
> Nonetheless, I've merged all the fixes together:
>

[snip]

> +#include <linux/module.h>
> +#include <linux/bsearch.h>
> +
> +/*
> + * bsearch - binary search an array of elements
> + * @key: pointer to item being searched for
> + * @base: pointer to data to sort

The comment for "@base" seems wrong. It appears that it should say "pointer to
sorted data" or "pointer to search data" instead.

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