Re: [RFC] [PATCH] cpuset operations causes Badness at mm/slab.c:777warning

From: Christoph Lameter
Date: Fri Jun 01 2007 - 15:51:44 EST


On Fri, 1 Jun 2007, Paul Jackson wrote:

> > The allocated array has 0 bytes. Any dereference is an error.
>
> Well, then, that doesn't work either.
>
> We -agree- we can't have this failing. You suggested (if I understood
> correctly, which I doubt) that we set the pointer to NULL, and noted
> that derefencing a NULL pointer would fail. I agree such derefences
> would fail, and tried to point out that this would be bad. We can't
> have pointer dereferences failing in the kernel ... duh.
>
> Your reply seems like a non sequiter to me, pointing out that having
> a pointer to an array of 0 bytes fails as well. Ok - that's bad too.

Think about it some more...

> So we cannot have a NULL pointer, used unchecked, and we cannot have
> a non-NULL pointer to a zero byte array, used unchecked.

We must have a NULL pointer exactly because it cannot be dereferenced. It
is a safety precaution that the following code will not deference the
pointer to the array of zero size. Because attempting to access an object
in an array with zero object in them is an error.
-
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/