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 ---