|
@@ -6656,6 +6656,14 @@ trace_printk_seq(struct trace_seq *s)
|
|
|
if (s->seq.len >= TRACE_MAX_PRINT)
|
|
|
s->seq.len = TRACE_MAX_PRINT;
|
|
|
|
|
|
+ /*
|
|
|
+ * More paranoid code. Although the buffer size is set to
|
|
|
+ * PAGE_SIZE, and TRACE_MAX_PRINT is 1000, this is just
|
|
|
+ * an extra layer of protection.
|
|
|
+ */
|
|
|
+ if (WARN_ON_ONCE(s->seq.len >= s->seq.size))
|
|
|
+ s->seq.len = s->seq.size - 1;
|
|
|
+
|
|
|
/* should be zero ended, but we are paranoid. */
|
|
|
s->buffer[s->seq.len] = 0;
|
|
|
|