Printk changes for 4.19-rc4

-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJbmj3VAAoJEFKgDEdIgJTyKjAP/ie5PLfZa0A5Epy/JEMFnII3
 ISkEH4DxA2Ymxy6jNLIJMAH67OWJUNmIaIyjSINdiBw+r6i4oS5iLcLdo2chsPaJ
 KUbxdMJ2p46b2zhNvx6COFe6FghVhrtIX4RIZN5ZuWF4ChIP2bMK7/cA4uFtJXeI
 X/Ge6SpYZ4jnSlnw5jSdLCmC/fP6oEALD9r77j454K/TWNAYHFStmsKkjbrBMDlg
 Ja56qfHNdCs+8IoIWONYKPOUiE325OGRjRSH7vE2uC+BecRpt/H6BxAxZIaMstgj
 CeAdTiVvbCF8wbqvuVj0TkQU2hzNFzcPf0YaT07wPJl1ClSgTKCt/bkcOqOcpLQm
 n9+4WfqHsVEmWlBHENuxmHm3jA2p11mWB4R/NqvvZCHifS6gnKv9P4RYrlbSD4KB
 yVba9FF81yotQSO2G76QzuZ1MFjqxNkii5MDGsAGye1iZOWHHHCy3S23AYVXwfJX
 K7RP3sZ2Gora6cTJnsLvJBbPHi7EZoraVzLZUen+ig2slPDsWoCM0gghvB/Kce0G
 ih9zMGMhjLOd54QOlGHlfH67BO1pxle5PJAcraqcctOep4pr+pj/h1GDgsMfF0kI
 +wxk9F+FIC6vtkCd+a/tDxc7C/4ObeiYQp6RGQGm5vw4/9uYhkxu4MX1+ltqHEVl
 hzBOQCd4p2EI/pAMPDm1
 =Dj1C
 -----END PGP SIGNATURE-----

Merge tag 'printk-for-4.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk

Pull printk fix from Petr Mladek:
 "Revert a commit that caused "quiet", "debug", and "loglevel" early
  parameters to be ignored for early boot messages"

* tag 'printk-for-4.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
  Revert "printk: make sure to print log on console."
This commit is contained in:
Linus Torvalds 2018-09-13 19:37:08 -10:00
commit a06b0c82a0

View file

@ -351,7 +351,6 @@ static int console_msg_format = MSG_FORMAT_DEFAULT;
*/ */
enum log_flags { enum log_flags {
LOG_NOCONS = 1, /* suppress print, do not print to console */
LOG_NEWLINE = 2, /* text ended with a newline */ LOG_NEWLINE = 2, /* text ended with a newline */
LOG_PREFIX = 4, /* text started with a prefix */ LOG_PREFIX = 4, /* text started with a prefix */
LOG_CONT = 8, /* text is a fragment of a continuation line */ LOG_CONT = 8, /* text is a fragment of a continuation line */
@ -1881,9 +1880,6 @@ int vprintk_store(int facility, int level,
if (dict) if (dict)
lflags |= LOG_PREFIX|LOG_NEWLINE; lflags |= LOG_PREFIX|LOG_NEWLINE;
if (suppress_message_printing(level))
lflags |= LOG_NOCONS;
return log_output(facility, level, lflags, return log_output(facility, level, lflags,
dict, dictlen, text, text_len); dict, dictlen, text, text_len);
} }
@ -2032,6 +2028,7 @@ static void call_console_drivers(const char *ext_text, size_t ext_len,
const char *text, size_t len) {} const char *text, size_t len) {}
static size_t msg_print_text(const struct printk_log *msg, static size_t msg_print_text(const struct printk_log *msg,
bool syslog, char *buf, size_t size) { return 0; } bool syslog, char *buf, size_t size) { return 0; }
static bool suppress_message_printing(int level) { return false; }
#endif /* CONFIG_PRINTK */ #endif /* CONFIG_PRINTK */
@ -2368,10 +2365,11 @@ void console_unlock(void)
break; break;
msg = log_from_idx(console_idx); msg = log_from_idx(console_idx);
if (msg->flags & LOG_NOCONS) { if (suppress_message_printing(msg->level)) {
/* /*
* Skip record if !ignore_loglevel, and * Skip record we have buffered and already printed
* record has level above the console loglevel. * directly to the console when we received it, and
* record that has level above the console loglevel.
*/ */
console_idx = log_next(console_idx); console_idx = log_next(console_idx);
console_seq++; console_seq++;