summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/printk/nmi.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/printk/nmi.c b/kernel/printk/nmi.c
index 16bab471c7e2..152533edc56f 100644
--- a/kernel/printk/nmi.c
+++ b/kernel/printk/nmi.c
@@ -67,7 +67,8 @@ static int vprintk_nmi(const char *fmt, va_list args)
67again: 67again:
68 len = atomic_read(&s->len); 68 len = atomic_read(&s->len);
69 69
70 if (len >= sizeof(s->buffer)) { 70 /* The trailing '\0' is not counted into len. */
71 if (len >= sizeof(s->buffer) - 1) {
71 atomic_inc(&nmi_message_lost); 72 atomic_inc(&nmi_message_lost);
72 return 0; 73 return 0;
73 } 74 }
@@ -79,7 +80,7 @@ again:
79 if (!len) 80 if (!len)
80 smp_rmb(); 81 smp_rmb();
81 82
82 add = vsnprintf(s->buffer + len, sizeof(s->buffer) - len, fmt, args); 83 add = vscnprintf(s->buffer + len, sizeof(s->buffer) - len, fmt, args);
83 84
84 /* 85 /*
85 * Do it once again if the buffer has been flushed in the meantime. 86 * Do it once again if the buffer has been flushed in the meantime.