> > +
> > + for(;;) {
> > + if(!curr) {
> > +// printk("FIXME: this should not happen but it does!!!");
> > + break;
> > + }
> > + if(p != memlist_entry(curr, struct page, list)) {
> > + curr = memlist_next(curr);
> > + if (curr == head)
> > + break;
> > + continue;
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> deep trouble here and in the if ()
>
> On Wed, May 22, 2002 at 12:28:59AM +0200, Pavel Machek wrote:
> > + }
> > + return 1 << order;
> > + }
> > + } while(order--);
> > + spin_unlock_irqrestore(&zone->lock, flags);
> > +
> > + }
> > + return 0;
> > +}
> > +#endif /* CONFIG_SOFTWARE_SUSPEND */
>
> The rest is okay...
>
> I'd try writing it this way, and though I've not tested it, I've walked
> buddy lists a few times in the past week or two:
It dies with NULL pointer dereference. Perhaps "that should not happen
but it does?".
Pavel
-- (about SSSCA) "I don't say this lightly. However, I really think that the U.S. no longer is classifiable as a democracy, but rather as a plutocracy." --hpa - 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/