Messages in this thread Patch in this message | | | From | Nicholas Mc Guire <> | Subject | [PATCH 1/2 V2] livepatch: handle kzalloc failure properly | Date | Thu, 13 Dec 2018 15:05:55 +0100 |
| |
kzalloc() return should always be checked - notably in example code where this may be seen as reference. On failure of allocation livepatch_fix1_dummy_alloc() should return NULL.
Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> ---
Problem was located with an experimental coccinelle script
V2: ...and since it is reference code the fix should be correct as well... thanks to Petr Mladek <pmladek@suse.com> for catching the missing kfree().
Patch was compile tested with: x86_64_defconfig + FTRACE=y FUNCTION_TRACER=y, EXPERT=y, LATENCYTOP=y, SAMPLES=y, SAMPLE_LIVEPATCH=y (with some unrelated sparse warnings on symbols not being static)
Patch is against 4.20-rc6 (localversion-next is next-20181213)
samples/livepatch/livepatch-shadow-fix1.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/samples/livepatch/livepatch-shadow-fix1.c b/samples/livepatch/livepatch-shadow-fix1.c index 49b1355..e8f1bd6 100644 --- a/samples/livepatch/livepatch-shadow-fix1.c +++ b/samples/livepatch/livepatch-shadow-fix1.c @@ -89,6 +89,11 @@ struct dummy *livepatch_fix1_dummy_alloc(void) * pointer to handle resource release. */ leak = kzalloc(sizeof(int), GFP_KERNEL); + if (!leak) { + kfree(d); + return NULL; + } + klp_shadow_alloc(d, SV_LEAK, sizeof(leak), GFP_KERNEL, shadow_leak_ctor, leak); -- 2.1.4
| |