summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/proc/kmsg.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/proc/kmsg.c b/fs/proc/kmsg.c
index 9cfb5d6d3c5e..211b1fe2a825 100644
--- a/fs/proc/kmsg.c
+++ b/fs/proc/kmsg.c
@@ -33,6 +33,8 @@ static int kmsg_release(struct inode * inode, struct file * file)
static ssize_t kmsg_read(struct file *file, char __user *buf,
size_t count, loff_t *ppos)
{
+ if ((file->f_flags & O_NONBLOCK) && !do_syslog(9, 0, 0))
+ return -EAGAIN;
return do_syslog(2, buf, count);
}