diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index db7a02e05241a1c89a066922cb06b0b2a4bef457..012f3e40671dcb83865ed08d78146902cc8f9fd8 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1561,6 +1561,11 @@ asmlinkage int vprintk_emit(int facility, int level, case 'd': /* KERN_DEFAULT */ lflags |= LOG_PREFIX; } + /* + * No need to check length here because vscnprintf + * put '\0' at the end of the string. Only valid and + * newly printed level is detected. + */ text_len -= end_of_header - text; text = (char *)end_of_header; }