efivarfs: Don't return -EINTR when rate-limiting reads
authorTony Luck <tony.luck@intel.com>
Thu, 28 May 2020 19:49:05 +0000 (12:49 -0700)
committerArd Biesheuvel <ardb@kernel.org>
Mon, 15 Jun 2020 12:38:56 +0000 (14:38 +0200)
commit4353f03317fd3eb0bd803b61bdb287b68736a728
treef42a3901f5c168a091da25d3ad82f8584be2d36f
parent2096721f1577b51b574fa06a7d91823dffe7267a
efivarfs: Don't return -EINTR when rate-limiting reads

Applications that read EFI variables may see a return
value of -EINTR if they exceed the rate limit and a
signal delivery is attempted while the process is sleeping.

This is quite surprising to the application, which probably
doesn't have code to handle it.

Change the interruptible sleep to a non-interruptible one.

Reported-by: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://lore.kernel.org/r/20200528194905.690-3-tony.luck@intel.com
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
fs/efivarfs/file.c