Re: [PATCH v2] initramfs: Fix a missing-chek bug in dir_add()teven.price@xxxxxxxã

From: Gen Zhang
Date: Thu May 23 2019 - 23:49:07 EST


On Thu, May 23, 2019 at 08:35:23PM -0700, Andrew Morton wrote:
> On Fri, 24 May 2019 11:30:45 +0800 Gen Zhang <blackgod016574@xxxxxxxxx> wrote:
>
> > In dir_add() and do_name(), de->name and vcollected are allocated by
> > kstrdup(). And de->name and vcollected are dereferenced in the following
> > codes. However, memory allocation functions such as kstrdup() may fail.
> > Dereferencing this null pointer may cause the kernel go wrong. Thus we
> > should check these two kstrdup() operations.
> > Further, if kstrdup() returns NULL, we should free de in dir_add().
>
> We generally assume that memory allocations within __init code cannot
> fail. If one does fail, something quite horrid has happened. The
> resulting oops will provide the same information as the proposed panic()
> anyway.
Thanks for your reply, Andrew.
You mean that it is not necessary to check memory allcoation in __init,
right?
Thanks
Gen