summaryrefslogtreecommitdiff
path: root/fs/efivarfs/file.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2018-02-26 08:39:26 +0100
committerIngo Molnar <mingo@kernel.org>2018-02-26 08:41:15 +0100
commit3f7df3efeb415610d27aecc282ff96d4a22f0168 (patch)
tree0f66382746a1311043a25320243ff5f4b10c282e /fs/efivarfs/file.c
parent39b9552281abfcdfc54162897018890dafe7ffef (diff)
parent4a3928c6f8a53fa1aed28ccba227742486e8ddcb (diff)
downloadlwn-3f7df3efeb415610d27aecc282ff96d4a22f0168.tar.gz
lwn-3f7df3efeb415610d27aecc282ff96d4a22f0168.zip
Merge tag 'v4.16-rc3' into x86/mm, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'fs/efivarfs/file.c')
-rw-r--r--fs/efivarfs/file.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/efivarfs/file.c b/fs/efivarfs/file.c
index 5f22e74bbade..8e568428c88b 100644
--- a/fs/efivarfs/file.c
+++ b/fs/efivarfs/file.c
@@ -8,6 +8,7 @@
*/
#include <linux/efi.h>
+#include <linux/delay.h>
#include <linux/fs.h>
#include <linux/slab.h>
#include <linux/mount.h>
@@ -74,6 +75,11 @@ static ssize_t efivarfs_file_read(struct file *file, char __user *userbuf,
ssize_t size = 0;
int err;
+ while (!__ratelimit(&file->f_cred->user->ratelimit)) {
+ if (!msleep_interruptible(50))
+ return -EINTR;
+ }
+
err = efivar_entry_size(var, &datasize);
/*