Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932112AbVIRQc2 (ORCPT ); Sun, 18 Sep 2005 12:32:28 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932113AbVIRQc2 (ORCPT ); Sun, 18 Sep 2005 12:32:28 -0400 Received: from peabody.ximian.com ([130.57.169.10]:40582 "EHLO peabody.ximian.com") by vger.kernel.org with ESMTP id S932112AbVIRQc1 (ORCPT ); Sun, 18 Sep 2005 12:32:27 -0400 Subject: Re: p = kmalloc(sizeof(*p), ) From: Robert Love To: Russell King Cc: Linux Kernel List , Linus Torvalds , Al Viro In-Reply-To: <20050918100627.GA16007@flint.arm.linux.org.uk> References: <20050918100627.GA16007@flint.arm.linux.org.uk> Content-Type: text/plain Date: Sun, 18 Sep 2005 12:32:26 -0400 Message-Id: <1127061146.6939.6.camel@phantasy> Mime-Version: 1.0 X-Mailer: Evolution 2.2.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1061 Lines: 29 On Sun, 2005-09-18 at 11:06 +0100, Russell King wrote: > +The preferred form for passing a size of a struct is the following: > + > + p = kmalloc(sizeof(*p), ...); > + > +The alternative form where struct name is spelled out hurts readability and > +introduces an opportunity for a bug when the pointer variable type is changed > +but the corresponding sizeof that is passed to a memory allocator is not. Agreed. Also, after Alan's #4: 5. Contrary to the above statement, such coding style does not help, but in fact hurts, readability. How on Earth is sizeof(*p) more readable and information-rich than sizeof(struct foo)? It looks like the remains of a 5,000 year old wolverine's spleen and conveys no information about the type of the object that is being created. Robert Love - 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/