Re: [PATCH v2] firmware: fix sending -ERESTARTSYS due to signal on fallback

From: Andy Lutomirski
Date: Wed May 24 2017 - 18:00:47 EST


On Wed, May 24, 2017 at 2:40 PM, Luis R. Rodriguez <mcgrof@xxxxxxxxxx> wrote:
> From: Martin Fuzzey <mfuzzey@xxxxxxxxxxx>
>
> Commit 0cb64249ca500 ("firmware_loader: abort request if wait_for_completion
> is interrupted") added via 4.0 added support to abort the fallback mechanism
> when a signal was detected and wait_for_completion_interruptible() returned
> -ERESTARTSYS. Although the abort was effective we were unfortunately never
> really propagating this error though and as such userspace could not know
> why the abort happened.

Can you give a simple example of what's going on and why it matters?

ERESTARTSYS and friends are highly magical, and I'm not convinced that
allowing _request_firmware_load to return -ERESTARTSYS is actually a
good idea. What if there are system calls that can't handle this
style of restart that start being restarted as a result?