Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754285AbbFWJXV (ORCPT ); Tue, 23 Jun 2015 05:23:21 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:31380 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752046AbbFWJXM (ORCPT ); Tue, 23 Jun 2015 05:23:12 -0400 Date: Tue, 23 Jun 2015 12:23:03 +0300 From: Dan Carpenter To: "Dilger, Andreas" Cc: Julia Lawall , "Drokin, Oleg" , "devel@driverdev.osuosl.org" , Greg Kroah-Hartman , "kernel-janitors@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "lustre-devel@lists.lustre.org" Subject: Re: [PATCH 01/12] staging: lustre: fid: Use !x to check for kzalloc failure Message-ID: <20150623092303.GN28762@mwanda> References: <1434819550-3193-1-git-send-email-Julia.Lawall@lip6.fr> <1434819550-3193-2-git-send-email-Julia.Lawall@lip6.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1281 Lines: 36 On Tue, Jun 23, 2015 at 08:25:05AM +0000, Dilger, Andreas wrote: > I've found in the past that developers can introduce bugs when they treat > return values as boolean when they really aren't. I can imagine a bug like that where a function can return 0-2 and people do: if (ret) instead of: if (ret == 1) but that bug is something else besides pointers so it doesn't apply here. What someone should do is try to measure it scientifically where we flash some code on the screen and you have to press J for NULL and K for non-NULL and we time it to the hundredth of a second. I have a feeling that (NULL != foo) is the worst way to write it because of the double negative Yoda code. Yoda code is the most useless thing ever. I have actually measured this and we introduce about 2 = vs == bugs per year. It's probably less now that we have so many static checks against it. But people decided that Yoda code was a good idea based on their gut instead of using statistics and measurements and science. regards, dan carpenter -- 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/