(adding Jesper Juhl) On Tue, 2014-06-17 at 23:33 +0200, Julia Lawall wrote: > On Tue, 17 Jun 2014, Joe Perches wrote: > > On Tue, 2014-06-17 at 21:43 +0200, Fabian Frederick wrote: > > > This patch adds a trivial script warning on > > > > > > if(foo) > > > kfree(foo) > > > > > > (based on checkpatch) > > [] > > > diff --git a/scripts/coccinelle/free/cond_kfree.cocci > > > b/scripts/coccinelle/free/cond_kfree.cocci > > [] > > > +* if (E) > > > +* kfree@p(E); > > > > You should probably add all of the unnecessary > > conditional tests that checkpatch uses: > > > > kfree > > usb_free_urb > > debugfs_remove > > debugfs_remove_recursive > > Personally, I would prefer that the message encourage the user to consider > whether it is necessary to call these functions with NULL as an argument > in any case.
Jesper quite awhile ago wrote: https://lkml.org/lkml/2005/10/13/81 - Since kfree always checks for a NULL argument there's no reason to have an additional check prior to calling kfree. It's redundant. - In many cases gcc produce significantly smaller code without the redundant check before the call. - It's been shown in the past (in discussions on LKML) that it's generally a win performance wise to avoid the extra NULL check even though it might save a function call. Only when the NULL check avoids the function call in the vast majority of cases and the code is in a hot path does it make sense to have it. - This patch removes quite a few more source lines than it adds, cutting down on the overall number of source lines is generally a good thing. - This patch reduces the indentation level, which is nice when the kfree call is inside some deeply nested construct. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/