All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] printk: Export log_buf_len to userland
@ 2022-08-10 20:25 Marc Aurèle La France
  2022-08-15  2:15 ` Sergey Senozhatsky
  0 siblings, 1 reply; 4+ messages in thread
From: Marc Aurèle La France @ 2022-08-10 20:25 UTC (permalink / raw)
  To: Petr Mladek, Sergey Senozhatsky, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1967 bytes --]

Make the kernel log's buffer size available to userland so it can be used with
`dmesg -s`.

This change is not eligible for stable@.

Please Reply-To-All.

Thanks and have a great day.

Marc.

Signed-off-by: Marc Aurèle La France <tsi@tuyoix.net>

diff -aNpRruz -X /etc/diff.excludes linux-5.17.1/include/linux/printk.h devel-5.17.1/include/linux/printk.h
--- linux-5.17.1/include/linux/printk.h	2022-03-28 02:03:22.000000000 -0600
+++ devel-5.17.1/include/linux/printk.h	2022-03-28 07:14:10.803008293 -0600
@@ -318,6 +337,7 @@ extern void __printk_cpu_unlock(void);
 #endif /* CONFIG_SMP */

 extern int kptr_restrict;
+extern u32 log_buf_len;

 /**
  * pr_fmt - used by the pr_*() macros to generate the printk format string
diff -aNpRruz -X /etc/diff.excludes linux-5.17.1/kernel/printk/printk.c devel-5.17.1/kernel/printk/printk.c
--- linux-5.17.1/kernel/printk/printk.c	2022-03-28 02:03:22.000000000 -0600
+++ devel-5.17.1/kernel/printk/printk.c	2022-03-28 07:14:10.803008293 -0600
@@ -404,7 +404,7 @@ static struct latched_seq clear_seq = {
 #define LOG_BUF_LEN_MAX (u32)(1 << 31)
 static char __log_buf[__LOG_BUF_LEN] __aligned(LOG_ALIGN);
 static char *log_buf = __log_buf;
-static u32 log_buf_len = __LOG_BUF_LEN;
+u32 log_buf_len = __LOG_BUF_LEN;

 /*
  * Define the average message size. This only affects the number of
diff -aNpRruz -X /etc/diff.excludes linux-5.17.1/kernel/printk/sysctl.c devel-5.17.1/kernel/printk/sysctl.c
--- linux-5.17.1/kernel/printk/sysctl.c	2022-03-28 02:03:22.000000000 -0600
+++ devel-5.17.1/kernel/printk/sysctl.c	2022-03-28 07:14:10.803008293 -0600
@@ -22,6 +22,13 @@ static int proc_dointvec_minmax_sysadmin(struct ctl_table *table, int write,

 static struct ctl_table printk_sysctls[] = {
 	{
+		.procname	= "log_buf_len",
+		.data		= &log_buf_len,
+		.maxlen		= sizeof(u32),
+		.mode		= 0444,
+		.proc_handler	= proc_dointvec,
+	},
+	{
 		.procname	= "printk",
 		.data		= &console_loglevel,
 		.maxlen		= 4*sizeof(int),

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-08-15 23:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-10 20:25 [PATCH] printk: Export log_buf_len to userland Marc Aurèle La France
2022-08-15  2:15 ` Sergey Senozhatsky
2022-08-15 16:03   ` John Ogness
2022-08-15 20:01     ` Marc Aurèle La France

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.