Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756237AbXFBEpZ (ORCPT ); Sat, 2 Jun 2007 00:45:25 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753376AbXFBEpS (ORCPT ); Sat, 2 Jun 2007 00:45:18 -0400 Received: from netops-testserver-4-out.sgi.com ([192.48.171.29]:49950 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752336AbXFBEpQ (ORCPT ); Sat, 2 Jun 2007 00:45:16 -0400 Date: Fri, 1 Jun 2007 21:45:15 -0700 (PDT) From: Christoph Lameter X-X-Sender: clameter@schroedinger.engr.sgi.com To: Andrew Morton cc: linux-kernel@vger.kernel.org, torvalds@linux-foundation.org, jeremy@goop.org Subject: Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0) In-Reply-To: <20070601213117.1178e8e0.akpm@linux-foundation.org> Message-ID: References: <20070601204141.f84ad72f.akpm@linux-foundation.org> <20070601213117.1178e8e0.akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1213 Lines: 27 On Fri, 1 Jun 2007, Andrew Morton wrote: > They are different instances which happen to have the same length (zero). I guess one could use the slab allocators as a type of reservation ticket generator with zero sized objects. Hmmm.... But is that really a useful thing to do? > But the code will incorrectly decide that they are the same instance. It > might cause refcounting or accounting errors, for example. I don't know - the > kernel's a big place. That would have to occur with objects that are repeatedly allocated and then linked toghether etc. Linking typicallty requires a listhead so its typically difficult to do zero length objects. > I agree the risk is low, but if something _does_ blow up, it will do so subtly. The cases that we have seen so far are due to array allocations of N elements where N == 0 leads to the creation of a zero sized object. The objects of the array are not zero sized it is just that zero of them are allocated. - 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/