lkml.org 
[lkml]   [2019]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] initramfs: forcing panic when kstrdup failed
On Tue, Dec 10, 2019 at 3:47 AM zhanglin <zhang.lin16@zte.com.cn> wrote:
> preventing further undefined behaviour when kstrdup failed.
>
> Signed-off-by: zhanglin <zhang.lin16@zte.com.cn>

Thanks for your patch!

> --- a/init/initramfs.c
> +++ b/init/initramfs.c
> @@ -125,6 +125,8 @@ static void __init dir_add(const char *name, time64_t mtime)
> panic("can't allocate dir_entry buffer");
> INIT_LIST_HEAD(&de->list);
> de->name = kstrdup(name, GFP_KERNEL);
> + if (!de->name)
> + panic("can't allocate dir_entry.name buffer");
> de->mtime = mtime;
> list_add(&de->list, &dir_list);
> }
> @@ -340,6 +342,8 @@ static int __init do_name(void)
> if (body_len)
> ksys_ftruncate(wfd, body_len);
> vcollected = kstrdup(collected, GFP_KERNEL);
> + if (!vcollected)
> + panic("can not allocate vcollected buffer.");
> state = CopyFile;
> }
> }

Do we really need to add more messages for out-of-memory conditions?
The trend is to remove the printing of those messages, as the memory
allocation subsystem will have printed a backtrace already anyway.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

\
 
 \ /
  Last update: 2019-12-10 09:17    [W:0.033 / U:9.284 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site