Re: [PATCH] firmware: request_firmware() should propagate -ERESTARTSYS

From: Greg Kroah-Hartman
Date: Tue May 23 2017 - 09:31:29 EST


On Tue, May 23, 2017 at 03:16:07PM +0200, Martin Fuzzey wrote:
> When -ERESTARTSYS is returned by wait_* due to a signal this should
> be returned from request_firmware() so that the syscall may be
> restarted if necessary.
>
> Without this it is not possible to distinguish the case of
> request_firmware() failing due to a timeout with that due to a signal.
>
> In my particular case request_firmware() was being called from
> a sysfs .store() callback and the writing process was the
> Android init process which received a SIGCHLD causing
> request_firmware() to fail.
>
> Signed-off-by: Martin Fuzzey <mfuzzey@xxxxxxxxxxx>
> ---
> drivers/base/firmware_class.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)

Nice find, should this go to the stable kernels as well?

thanks,

greg k-h