All of lore.kernel.org
 help / color / mirror / Atom feed
* [cocci] Reconsidering kfree() calls for null pointers (with SmPL)
@ 2023-03-28 15:55 Markus Elfring
  2023-03-28 16:05 ` Vlastimil Babka
                   ` (7 more replies)
  0 siblings, 8 replies; 87+ messages in thread
From: Markus Elfring @ 2023-03-28 15:55 UTC (permalink / raw)
  To: cocci, kernel-janitors

Hello,

I tried the following SmPL script out also on the source files from
the software “Linux next-20230324”.

@display@
expression call, storage;
identifier target;
@@
*storage = call(...);
*if (!storage)
    goto target;
 ...
*target:
*kfree(storage)


119 source files were found where a check was performed for a failed function call
and a kfree() call is immediately performed for the same variable.
Thus a null pointer is probably passed at these source code places.
I imagine that such code should be reconsidered once more and improved accordingly.

How do you think about to achieve any adjustments in this design direction?

Regards,
Markus

^ permalink raw reply	[flat|nested] 87+ messages in thread

end of thread, other threads:[~2024-01-22  7:51 UTC | newest]

Thread overview: 87+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-28 15:55 [cocci] Reconsidering kfree() calls for null pointers (with SmPL) Markus Elfring
2023-03-28 16:05 ` Vlastimil Babka
2023-03-29  6:18   ` Markus Elfring
2023-03-29  7:25     ` Vlastimil Babka
2023-03-28 17:13 ` [cocci] [PATCH 0/2] ARM: Adjustments for init_atags_procfs() Markus Elfring
2023-03-28 17:13   ` Markus Elfring
2023-03-28 17:15   ` [cocci] [PATCH 1/2] ARM: Delete an error message for a failed memory allocation in init_atags_procfs() Markus Elfring
2023-03-28 17:15     ` Markus Elfring
2023-03-28 17:17   ` [cocci] [PATCH 2/2] ARM: Return directly after a failed kmalloc() " Markus Elfring
2023-03-28 17:17     ` Markus Elfring
2024-01-10 11:48   ` [cocci] [PATCH 0/2] ARM: Adjustments for init_atags_procfs() Markus Elfring
2024-01-10 11:48     ` Markus Elfring
2024-01-10 11:48     ` Markus Elfring
2024-01-10 11:52     ` [cocci] [0/2] " Markus Elfring
2024-01-10 11:52       ` Markus Elfring
2024-01-10 11:52       ` Markus Elfring
2024-01-10 12:24       ` Russell King (Oracle)
2024-01-10 12:24         ` Russell King (Oracle)
2024-01-10 12:44         ` [cocci] " Markus Elfring
2024-01-10 12:44           ` Markus Elfring
2024-01-10 12:44           ` Markus Elfring
2024-01-10 12:47           ` Russell King (Oracle)
2024-01-10 12:47             ` Russell King (Oracle)
2024-01-10 12:52             ` [cocci] " Markus Elfring
2024-01-10 12:52               ` Markus Elfring
2024-01-10 12:52               ` Markus Elfring
2024-01-10 13:50               ` Russell King (Oracle)
2024-01-10 13:50                 ` Russell King (Oracle)
2024-01-10 14:00                 ` [cocci] " Markus Elfring
2024-01-10 14:00                   ` Markus Elfring
2024-01-10 14:00                   ` Markus Elfring
2024-01-10 14:07                   ` Russell King (Oracle)
2024-01-10 14:07                     ` Russell King (Oracle)
2024-01-10 13:34             ` Christian Heusel
2024-01-10 13:34               ` Christian Heusel
2024-01-10 13:46               ` [cocci] " Markus Elfring
2024-01-10 13:46                 ` Markus Elfring
2024-01-10 13:46                 ` Markus Elfring
2023-03-28 18:45 ` [cocci] [PATCH 0/2] perf/x86/intel/pt: Adjustments for pt_pmu_hw_init() Markus Elfring
2023-03-28 18:50   ` [cocci] [PATCH 1/2] perf/x86/intel/pt: Use -ENOMEM directly for a return statement in pt_pmu_hw_init() Markus Elfring
2023-03-28 18:52   ` [cocci] [PATCH 2/2] perf/x86/intel/pt: Return directly after a failed kzalloc() " Markus Elfring
2024-01-10 11:45   ` [cocci] [PATCH 0/2] perf/x86/intel/pt: Adjustments for pt_pmu_hw_init() Markus Elfring
2024-01-10 11:45     ` Markus Elfring
2023-03-29 10:12 ` [cocci] [PATCH] apparmor: Return directly after a failed kzalloc() in two functions Markus Elfring
2023-04-09 23:15   ` John Johansen
2023-03-29 13:36 ` [cocci] [PATCH 0/3] lru_cache: Adjustments for lc_create() Markus Elfring
2023-03-29 13:36   ` [Drbd-dev] " Markus Elfring
2023-03-29 13:40   ` [cocci] [PATCH 1/3] lru_cache: Return directly after a failed kzalloc() in lc_create() Markus Elfring
2023-03-29 13:40     ` [Drbd-dev] " Markus Elfring
2023-03-29 13:42   ` [cocci] [PATCH 2/3] lru_cache: Improve two size determinations " Markus Elfring
2023-03-29 13:42     ` [Drbd-dev] " Markus Elfring
2023-03-29 13:44   ` [cocci] [PATCH 3/3] lru_cache: Improve exception handling " Markus Elfring
2023-03-29 13:44     ` [Drbd-dev] " Markus Elfring
2024-01-10 11:40   ` [cocci] [PATCH 0/3] lru_cache: Adjustments for lc_create() Markus Elfring
2024-01-10 11:40     ` [Drbd-dev] " Markus Elfring
2024-01-10 11:40     ` Markus Elfring
2023-03-29 15:46 ` [cocci] [PATCH] io_uring: Fix exception handling in io_ring_ctx_alloc() Markus Elfring
2024-01-10 11:23   ` [cocci] " Markus Elfring
2024-01-10 11:23     ` Markus Elfring
2024-01-10 16:55   ` [cocci] [PATCH] " Gabriel Krisman Bertazi
2024-01-10 20:45     ` [PATCH v2 0/2] io_uring: Adjustments for io_ring_ctx_alloc() Markus Elfring
2024-01-10 20:48       ` [PATCH v2 1/2] io_uring: Delete a redundant kfree() call in io_ring_ctx_alloc() Markus Elfring
2024-01-12 14:25         ` Gabriel Krisman Bertazi
2024-01-12 16:18           ` Jens Axboe
2024-01-12 17:15             ` Gabriel Krisman Bertazi
2024-01-12 17:50               ` [v2 " Markus Elfring
2024-01-10 20:50       ` [PATCH v2 2/2] io_uring: Improve exception handling " Markus Elfring
2024-01-11 13:23         ` Pavel Begunkov
2024-01-12 14:30         ` Gabriel Krisman Bertazi
2024-01-12 15:00           ` [v2 " Markus Elfring
2023-03-30  8:50 ` [cocci] [PATCH 0/4] overlayfs: Adjustments for ovl_fill_super() Markus Elfring
2023-03-30  8:55   ` [cocci] [PATCH 1/4] overlayfs: Return directly for two checks in ovl_fill_super() Markus Elfring
2023-03-30  8:57   ` [cocci] [PATCH 2/4] overlayfs: Improve two size determinations " Markus Elfring
2023-03-30  9:00   ` [cocci] [PATCH 3/4] overlayfs: Improve exception handling " Markus Elfring
2023-03-30  9:02   ` [cocci] [PATCH 4/4] overlayfs: Move some assignments for the variable “err” " Markus Elfring
2024-01-10 12:24   ` [cocci] [PATCH 0/4] overlayfs: Adjustments for ovl_fill_super() Markus Elfring
2024-01-10 12:24     ` Markus Elfring
2024-01-10 12:49     ` Amir Goldstein
2024-01-10 13:01       ` [cocci] [0/4] " Markus Elfring
2024-01-10 13:01         ` Markus Elfring
2024-01-10 13:19         ` Amir Goldstein
2024-01-10 13:33           ` [cocci] " Markus Elfring
2024-01-10 13:33             ` Markus Elfring
2024-01-10 13:45             ` Amir Goldstein
2023-03-30 16:18 ` [cocci] [PATCH] squashfs: Improve exception handling in squashfs_decompressor_create() Markus Elfring
2024-01-05 20:32   ` Markus Elfring
2024-01-05 20:32     ` Markus Elfring

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.