[PATCH v3 0/2] Add support to dump printk buffer to console via sysrq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

This patch series does two things:

1) Add function to dump the printk buffer messages directly to
consoles. To do this properly, access to printk private items
like PRINTK_MESSAGE_MAX is required. So, the function is
implemented in printk.c as suggested by John Ogness. This
function may sleep as it needs console related locks.

2) Add code in sysrq.c to call the above mentioned function
when sysrq+D is pressed. As the above function may sleep,
it cannot be called from interrupt context. A work is queued
in the system unbound workqueue to call the function when
the key is pressed.

Link to previous discussion:
- https://lore.kernel.org/linux-serial/20231221133953.1507021-1-sreenath.vijayan@xxxxxxxx/

Changelog:
V2 -> V3:
- split the implementation into two commits
- added function in printk.c to dump printk buffer to consoles
- added Suggested-by tag
- removed code to dump printk buffer from sysrq.c and called
  new function

V1 -> V2:
- modified kernel ring buffer to printk ring buffer
- allocated buf dynamically to prevent stack frame size warnings
- used buf of size 2048 to match PRINTK_MESSAGE_MAX and added comment

-- Sreenath

Sreenath Vijayan (2):
  printk: Add function to dump printk buffer directly to consoles
  tty/sysrq: Dump printk ring buffer messages via sysrq

 Documentation/admin-guide/sysrq.rst |  2 ++
 drivers/tty/sysrq.c                 | 20 ++++++++++++++++-
 include/linux/printk.h              |  4 ++++
 kernel/printk/printk.c              | 33 +++++++++++++++++++++++++++++
 4 files changed, 58 insertions(+), 1 deletion(-)

-- 
2.43.0





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux