Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964940AbVITJrp (ORCPT ); Tue, 20 Sep 2005 05:47:45 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S964949AbVITJrp (ORCPT ); Tue, 20 Sep 2005 05:47:45 -0400 Received: from courier.cs.helsinki.fi ([128.214.9.1]:51649 "EHLO mail.cs.helsinki.fi") by vger.kernel.org with ESMTP id S964940AbVITJrp (ORCPT ); Tue, 20 Sep 2005 05:47:45 -0400 Date: Tue, 20 Sep 2005 12:47:32 +0300 (EEST) From: Pekka J Enberg To: Al Viro cc: Robert Love , Russell King , Linux Kernel List , Linus Torvalds Subject: Re: p = kmalloc(sizeof(*p), ) In-Reply-To: <20050920093953.GM7992@ftp.linux.org.uk> Message-ID: References: <20050918100627.GA16007@flint.arm.linux.org.uk> <1127061146.6939.6.camel@phantasy> <84144f020509200153f0becf2@mail.gmail.com> <20050920093953.GM7992@ftp.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1409 Lines: 32 On Tue, 20 Sep 2005, Al Viro wrote: > On Tue, Sep 20, 2005 at 11:53:42AM +0300, Pekka Enberg wrote: > > On 9/18/05, Robert Love wrote: > > > 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. > > > > Yes it does. The semantics are clearly "I want enough memory to hold > > the type this pointer points to." While sizeof(struct foo) might seem > > more readable, it is in fact not as you have no way of knowing whether > > the allocation is correct or not by looking at the line. So for > > spotting allocation errors with grep, the shorter form is better (and > > arguably less error-prone). > > Huh??? How do you use grep to find something of that sort? To find candidates, something like: grep "kmalloc(sizeof([^*]" -r drivers/ | grep -v "sizeof(struct" And then use my eyes to find real bugs. Pekka - 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/