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

Christoph Lameter
2007-06-01T19:51:42Z

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.