Messages in this thread | | | From | Geert Uytterhoeven <> | Date | Tue, 10 Dec 2019 09:15:54 +0100 | Subject | Re: [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
| |