On Sat, 18 Aug 2007, Thomas Gleixner wrote:
> On Sat, 2007-08-18 at 00:42 +0300, Pekka Enberg wrote: > > On 8/18/07, Christoph Lameter <[EMAIL PROTECTED]> wrote: > > > That was merged over my objections. IMHO ksize(NULL) should fail since we > > > are determining the size of an unallocated object. > > > > Agreed, especially as we have real zero-sized objects returned from > > kmalloc() et al now. > > Do we really ? > > If yes, who invented this 1980s reminiscence, where you got valid > pointers for malloc(0) ? No, not valid. Dereferencing it will oops. See ZERO_SIZE_PTR. > This is completely stupid. You do not go into a bar and order an empty > glass, just because you might eventually become thirsty later. What we're doing presently is at least better than what SLAB did previously (did return a valid pointer!), all this time :-) I do agree with you in principle, of course. But it's not for the kind of cases that you describe -- "kmalloc(0) just because I'd eventually want to krealloc() it to something meaningful later". This was done because there's a lot of lazy callsites that "don't want to write code for corner cases explicitly". Sad, very sad, I say :-) [ The krealloc() discussion on this thread came about when I noticed that it's the only callsite of ksize() that would reasonably / meaningfully want to deal with NULL ptrs, for whom I noticed (from Andrew's initial mail) that ksize(NULL) returned 0. As you know from the canonical semantics of realloc(), it _is_ supposed to deal with NULL ptrs, hence the discussion. ] Satyam - 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/