From 087fb1697f2eae84dac93766ae77e542e0b18769 Mon Sep 17 00:00:00 2001 From: Yuanhan Liu Date: Sat, 16 Jun 2012 12:40:55 +0800 Subject: [PATCH] --- yaml --- r: 311144 b: refs/heads/master c: b56a39ac263e5b8cafedd551a49c2105e68b98c2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/printk.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f2a8c3a1c288..f3de15f8a6fc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4a77a5a06ec66ed05199b301e7c25f42f979afdc +refs/heads/master: b56a39ac263e5b8cafedd551a49c2105e68b98c2 diff --git a/trunk/kernel/printk.c b/trunk/kernel/printk.c index 572730bd8a5c..a2276b916769 100644 --- a/trunk/kernel/printk.c +++ b/trunk/kernel/printk.c @@ -880,7 +880,9 @@ static int syslog_print(char __user *buf, int size) syslog_seq++; raw_spin_unlock_irq(&logbuf_lock); - if (len > 0 && copy_to_user(buf, text, len)) + if (len > size) + len = -EINVAL; + else if (len > 0 && copy_to_user(buf, text, len)) len = -EFAULT; kfree(text);