lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230727163132.745099-1-leitao@debian.org>
Date:   Thu, 27 Jul 2023 09:31:32 -0700
From:   Breno Leitao <leitao@...ian.org>
To:     "David S. Miller" <davem@...emloft.net>,
        Eric Dumazet <edumazet@...gle.com>,
        Jakub Kicinski <kuba@...nel.org>,
        Paolo Abeni <pabeni@...hat.com>
Cc:     leit@...a.com,
        netdev@...r.kernel.org (open list:NETWORKING DRIVERS),
        linux-kernel@...r.kernel.org (open list)
Subject: [PATCH net-next] netconsole: Enable compile time configuration

Enable netconsole features to be set at compilation time. Create two
Kconfig options that allow users to set extended logs and release
prepending features enabled at compilation time.

Right now, the user needs to pass command line parameters to netconsole,
such as "+"/"r" to enable extended logs and version prepending features.

With these two options, the user could set the default values for the
features at compile time, and don't need to pass it in the command line
to get them enabled.

Signed-off-by: Breno Leitao <leitao@...ian.org>
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 368c6f5b327e..4d0c3c532e72 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -332,6 +332,26 @@ config NETCONSOLE_DYNAMIC
 	  at runtime through a userspace interface exported using configfs.
 	  See <file:Documentation/networking/netconsole.rst> for details.

+config NETCONSOLE_EXTENDED_LOG
+	bool "Enable kernel extended message"
+	depends on NETCONSOLE
+	default n
+	help
+	  Enable extended log support for netconsole. Log messages are
+	  transmitted with extended metadata header in the following format
+	  which is the same as /dev/kmsg.
+	  See <file:Documentation/networking/netconsole.rst> for details.
+
+config NETCONSOLE_APPEND_RELEASE
+	bool "Enable kernel release version in the message"
+	depends on NETCONSOLE_EXTENDED_LOG
+	default n
+	help
+	  Enable kernel release to be prepended to each netcons message. The
+	  kernel version is prepended to the first message, so, the peer knows what
+	  kernel version is send the messages.
+	  See <file:Documentation/networking/netconsole.rst> for details.
+
 config NETPOLL
 	def_bool NETCONSOLE

diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index 87f18aedd3bd..3a74f8c9cfdb 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -181,6 +181,11 @@ static struct netconsole_target *alloc_param_target(char *target_config)
 	if (!nt)
 		goto fail;

+	if (IS_ENABLED(CONFIG_NETCONSOLE_EXTENDED_LOG))
+		nt->extended = true;
+	if (IS_ENABLED(CONFIG_NETCONSOLE_APPEND_RELEASE))
+		nt->extended = true;
+
 	nt->np.name = "netconsole";
 	strscpy(nt->np.dev_name, "eth0", IFNAMSIZ);
 	nt->np.local_port = 6665;
---
 drivers/net/Kconfig      | 20 ++++++++++++++++++++
 drivers/net/netconsole.c |  5 +++++
 2 files changed, 25 insertions(+)

diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 368c6f5b327e..4d0c3c532e72 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -332,6 +332,26 @@ config NETCONSOLE_DYNAMIC
 	  at runtime through a userspace interface exported using configfs.
 	  See <file:Documentation/networking/netconsole.rst> for details.
 
+config NETCONSOLE_EXTENDED_LOG
+	bool "Enable kernel extended message"
+	depends on NETCONSOLE
+	default n
+	help
+	  Enable extended log support for netconsole. Log messages are
+	  transmitted with extended metadata header in the following format
+	  which is the same as /dev/kmsg.
+	  See <file:Documentation/networking/netconsole.rst> for details.
+
+config NETCONSOLE_APPEND_RELEASE
+	bool "Enable kernel release version in the message"
+	depends on NETCONSOLE_EXTENDED_LOG
+	default n
+	help
+	  Enable kernel release to be prepended to each netcons message. The
+	  kernel version is prepended to the first message, so, the peer knows what
+	  kernel version is send the messages.
+	  See <file:Documentation/networking/netconsole.rst> for details.
+
 config NETPOLL
 	def_bool NETCONSOLE
 
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index 87f18aedd3bd..c84bcf97d4e4 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -181,6 +181,11 @@ static struct netconsole_target *alloc_param_target(char *target_config)
 	if (!nt)
 		goto fail;
 
+	if (IS_ENABLED(CONFIG_NETCONSOLE_EXTENDED_LOG))
+		nt->extended = true;
+	if (IS_ENABLED(CONFIG_NETCONSOLE_APPEND_RELEASE))
+		nt->release = true;
+
 	nt->np.name = "netconsole";
 	strscpy(nt->np.dev_name, "eth0", IFNAMSIZ);
 	nt->np.local_port = 6665;
-- 
2.34.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ