printk.c (11dd60447e3b1018f9cae66737cb902b519d3454) | printk.c (66ee59af630fd8d5f4f56fb28162857e629aa0ab) |
---|---|
1/* 2 * linux/kernel/printk.c 3 * 4 * Copyright (C) 1991, 1992 Linus Torvalds 5 * 6 * Modified to make sys_syslog() more flexible: added commands to 7 * return the last 4k of kernel messages, regardless of whether 8 * they've been read or not. Added option to suppress kernel printk's --- 507 unchanged lines hidden (view full) --- 516}; 517 518static ssize_t devkmsg_write(struct kiocb *iocb, struct iov_iter *from) 519{ 520 char *buf, *line; 521 int i; 522 int level = default_message_loglevel; 523 int facility = 1; /* LOG_USER */ | 1/* 2 * linux/kernel/printk.c 3 * 4 * Copyright (C) 1991, 1992 Linus Torvalds 5 * 6 * Modified to make sys_syslog() more flexible: added commands to 7 * return the last 4k of kernel messages, regardless of whether 8 * they've been read or not. Added option to suppress kernel printk's --- 507 unchanged lines hidden (view full) --- 516}; 517 518static ssize_t devkmsg_write(struct kiocb *iocb, struct iov_iter *from) 519{ 520 char *buf, *line; 521 int i; 522 int level = default_message_loglevel; 523 int facility = 1; /* LOG_USER */ |
524 size_t len = iocb->ki_nbytes; | 524 size_t len = iov_iter_count(from); |
525 ssize_t ret = len; 526 527 if (len > LOG_LINE_MAX) 528 return -EINVAL; 529 buf = kmalloc(len+1, GFP_KERNEL); 530 if (buf == NULL) 531 return -ENOMEM; 532 --- 1273 unchanged lines hidden (view full) --- 1806EXPORT_SYMBOL(printk_emit); 1807 1808int vprintk_default(const char *fmt, va_list args) 1809{ 1810 int r; 1811 1812#ifdef CONFIG_KGDB_KDB 1813 if (unlikely(kdb_trap_printk)) { | 525 ssize_t ret = len; 526 527 if (len > LOG_LINE_MAX) 528 return -EINVAL; 529 buf = kmalloc(len+1, GFP_KERNEL); 530 if (buf == NULL) 531 return -ENOMEM; 532 --- 1273 unchanged lines hidden (view full) --- 1806EXPORT_SYMBOL(printk_emit); 1807 1808int vprintk_default(const char *fmt, va_list args) 1809{ 1810 int r; 1811 1812#ifdef CONFIG_KGDB_KDB 1813 if (unlikely(kdb_trap_printk)) { |
1814 r = vkdb_printf(KDB_MSGSRC_PRINTK, fmt, args); | 1814 r = vkdb_printf(fmt, args); |
1815 return r; 1816 } 1817#endif 1818 r = vprintk_emit(0, LOGLEVEL_DEFAULT, NULL, 0, fmt, args); 1819 1820 return r; 1821} 1822EXPORT_SYMBOL_GPL(vprintk_default); --- 636 unchanged lines hidden (view full) --- 2459 2460 /* 2461 * See if this console matches one we selected on 2462 * the command line. 2463 */ 2464 for (i = 0, c = console_cmdline; 2465 i < MAX_CMDLINECONSOLES && c->name[0]; 2466 i++, c++) { | 1815 return r; 1816 } 1817#endif 1818 r = vprintk_emit(0, LOGLEVEL_DEFAULT, NULL, 0, fmt, args); 1819 1820 return r; 1821} 1822EXPORT_SYMBOL_GPL(vprintk_default); --- 636 unchanged lines hidden (view full) --- 2459 2460 /* 2461 * See if this console matches one we selected on 2462 * the command line. 2463 */ 2464 for (i = 0, c = console_cmdline; 2465 i < MAX_CMDLINECONSOLES && c->name[0]; 2466 i++, c++) { |
2467 BUILD_BUG_ON(sizeof(c->name) != sizeof(newcon->name)); | |
2468 if (strcmp(c->name, newcon->name) != 0) 2469 continue; 2470 if (newcon->index >= 0 && 2471 newcon->index != c->index) 2472 continue; 2473 if (newcon->index < 0) 2474 newcon->index = c->index; 2475 --- 610 unchanged lines hidden --- | 2467 if (strcmp(c->name, newcon->name) != 0) 2468 continue; 2469 if (newcon->index >= 0 && 2470 newcon->index != c->index) 2471 continue; 2472 if (newcon->index < 0) 2473 newcon->index = c->index; 2474 --- 610 unchanged lines hidden --- |