On Wed, Jan 09, 2008 at 08:57:53AM +0900, FUJITA Tomonori wrote: ... > diff --git a/lib/iommu-helper.c b/lib/iommu-helper.c > new file mode 100644 > index 0000000..495575a > --- /dev/null > +++ b/lib/iommu-helper.c > @@ -0,0 +1,80 @@ > +/* > + * IOMMU helper functions for the free area management > + */ > + > +#include <linux/module.h> > +#include <linux/bitops.h> > + > +static unsigned long find_next_zero_area(unsigned long *map, > + unsigned long size, > + unsigned long start, > + unsigned int nr, > + unsigned long align_mask) > +{ > + unsigned long index, end, i; > +again: > + index = find_next_zero_bit(map, size, start); > + > + /* Align allocation */ > + index = (index + align_mask) & ~align_mask; > + > + end = index + nr; > + if (end >= size) > + return -1;
This '>=' looks doubtful to me, e.g.: map points to 0s only, size = 64, nr = 64, we get: index = 0; end = 64; and: return -1 ?! Regards, Jarek P. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/