diff mbox series

slab: drop unneeded NULL-pointer check in kfree auto cleanup

Message ID 20230912082643.13144-1-brgl@bgdev.pl (mailing list archive)
State New
Headers show
Series slab: drop unneeded NULL-pointer check in kfree auto cleanup | expand

Commit Message

Bartosz Golaszewski Sept. 12, 2023, 8:26 a.m. UTC
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

kfree() already accepts and silently ignores NULL-pointers, there's no
need to check it when running the auto cleanup routine.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 include/linux/slab.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Zijlstra Sept. 12, 2023, 10:42 a.m. UTC | #1
On Tue, Sep 12, 2023 at 10:26:43AM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> 
> kfree() already accepts and silently ignores NULL-pointers, there's no
> need to check it when running the auto cleanup routine.

There is, because now the compiler can't help you anymore. Also see:

  https://lkml.kernel.org/r/169451499208.27769.5856056754166699857.tip-bot2@tip-bot2
Bartosz Golaszewski Sept. 12, 2023, 11:26 a.m. UTC | #2
On Tue, Sep 12, 2023 at 12:43 PM Peter Zijlstra <peterz@infradead.org> wrote:
>
> On Tue, Sep 12, 2023 at 10:26:43AM +0200, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> >
> > kfree() already accepts and silently ignores NULL-pointers, there's no
> > need to check it when running the auto cleanup routine.
>
> There is, because now the compiler can't help you anymore. Also see:
>
>   https://lkml.kernel.org/r/169451499208.27769.5856056754166699857.tip-bot2@tip-bot2

Makes sense, thanks!

Bart
diff mbox series

Patch

diff --git a/include/linux/slab.h b/include/linux/slab.h
index 8228d1276a2f..fb709ed506ba 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -228,7 +228,7 @@  void kfree(const void *objp);
 void kfree_sensitive(const void *objp);
 size_t __ksize(const void *objp);
 
-DEFINE_FREE(kfree, void *, if (_T) kfree(_T))
+DEFINE_FREE(kfree, void *, kfree(_T))
 
 /**
  * ksize - Report actual allocation size of associated object