Re: [PATCH v4 1/1] test_fimware: return -ENOMEM instead of -ENOSPC on failed memory allocation

From: Greg KH
Date: Sat Aug 12 2023 - 04:12:38 EST


On Sat, Aug 12, 2023 at 10:06:53AM +0200, Mirsad Todorovac wrote:
>
>
> On 8/12/23 09:29, Greg KH wrote:
> > On Sat, Aug 12, 2023 at 07:43:47AM +0200, Mirsad Todorovac wrote:
> > > [ Upstream commit 7dae593cd226a0bca61201cf85ceb9335cf63682 ]
> > >
> > > In a couple of situations like
> > >
> > > name = kstrndup(buf, count, GFP_KERNEL);
> > > if (!name)
> > > return -ENOSPC;
> > >
> > > the error is not actually "No space left on device", but "Out of memory".
> > >
> > > It is semantically correct to return -ENOMEM in all failed kstrndup()
> > > and kzalloc() cases in this driver, as it is not a problem with disk
> > > space, but with kernel memory allocator failing allocation.
> > >
> > > The semantically correct should be:
> > >
> > > name = kstrndup(buf, count, GFP_KERNEL);
> > > if (!name)
> > > return -ENOMEM;
> > >
> > > Cc: Dan Carpenter <error27@xxxxxxxxx>
> > > Cc: Takashi Iwai <tiwai@xxxxxxx>
> > > Cc: Kees Cook <keescook@xxxxxxxxxxxx>
> > > Cc: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
> > > Cc: Brian Norris <computersforpeace@xxxxxxxxx>
> > > Cc: stable@xxxxxxxxxxxxxxx # 4.14
> > > Fixes: c92316bf8e948 ("test_firmware: add batched firmware tests")
> > > Fixes: 0a8adf584759c ("test: add firmware_class loader test")
> > > Fixes: eb910947c82f9 ("test: firmware_class: add asynchronous request trigger")
> > > Fixes: 061132d2b9c95 ("test_firmware: add test custom fallback trigger")
> > > Link: https://lore.kernel.org/all/20230606070808.9300-1-mirsad.todorovac@xxxxxxxxxxxx/
> > > Signed-off-by: Mirsad Todorovac <mirsad.todorovac@xxxxxxxxxxxx>
> > >
> > > [ This is the backport of the patch to 4.19 and 4.14 branches. There are no ]
> > > [ semantic differences in the commit. Backport is provided for completenes sake ]
> > > [ so it would apply to all of the supported LTS kernels ]
> >
> > This commit is already in the 4.19.291 release, does it need to be
> > included in there again for some reason?
>
> Hi Mr. Greg,
>
> I think the patchwork did not apply the commit to the 4.14 stable tree.
> Only the 19be3eccd000 ("test_firmware: fix a memory leak with reqs buffer" propagated to 4.14.322.
>
> I would like to have us this chapter (backporting) completed before moving on.

That's fine, but your comment here said that this is for 4.19, but this
is already in 4.19, so I'm confused. I'll queue this up for 4.14.y
now...

thanks,

greg k-h