From: Richard Weinberger <richard@nod.at>
To: linux-kernel@vger.kernel.org
Cc: bhe@redhat.com, sourabhjain@linux.ibm.com,
akpm@linux-foundation.org, senozhatsky@chromium.org,
john.ogness@linutronix.de, rostedt@goodmis.org, pmladek@suse.com,
gregkh@linuxfoundation.org, upstream+linux@sigma-star.at,
Richard Weinberger <richard@nod.at>
Subject: [PATCH] ksysfs: Expose hardware name
Date: Mon, 23 Feb 2026 14:34:48 +0100 [thread overview]
Message-ID: <20260223133448.411343-1-richard@nod.at> (raw)
Userspace tools often require a short, descriptive name of the hardware
platform. Currently, this information is fragmented: Device Tree-based
platforms typically use /proc/device-tree/model, while x86 platforms
combine multiple values from /sys/class/dmi/id/. There is no uniform,
platform-agnostic way to retrieve this string.
The kernel already maintains dump_stack_arch_desc_str[], which contains
the model name or DMI values used for the "Hardware name:" field in
stack traces.
Expose dump_stack_arch_desc_str[] at /sys/kernel/hardware_name to
provide userspace with a consistent interface for identifying the
underlying hardware.
Signed-off-by: Richard Weinberger <richard@nod.at>
---
.../ABI/testing/sysfs-kernel-hardware_name | 8 ++++++++
include/linux/printk.h | 1 +
kernel/ksysfs.c | 13 +++++++++++++
lib/dump_stack.c | 2 +-
4 files changed, 23 insertions(+), 1 deletion(-)
create mode 100644 Documentation/ABI/testing/sysfs-kernel-hardware_name
diff --git a/Documentation/ABI/testing/sysfs-kernel-hardware_name b/Documentation/ABI/testing/sysfs-kernel-hardware_name
new file mode 100644
index 000000000000..21d130da1932
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-kernel-hardware_name
@@ -0,0 +1,8 @@
+What: /sys/kernel/hardware_name
+Date: Feb 2026
+KernelVersion: 7.1
+Contact: Richard Weinberger <richard@nod.at>
+Description:
+ The hardware name as shown in stack traces.
+
+ Access: Read
diff --git a/include/linux/printk.h b/include/linux/printk.h
index 63d516c873b4..b8929495e35e 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -13,6 +13,7 @@ struct console;
extern const char linux_banner[];
extern const char linux_proc_banner[];
+extern char dump_stack_arch_desc_str[128];
extern int oops_in_progress; /* If set, an oops, panic(), BUG() or die() is in progress */
diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c
index a9e6354d9e25..af7265754183 100644
--- a/kernel/ksysfs.c
+++ b/kernel/ksysfs.c
@@ -176,6 +176,16 @@ static ssize_t rcu_normal_store(struct kobject *kobj,
KERNEL_ATTR_RW(rcu_normal);
#endif /* #ifndef CONFIG_TINY_RCU */
+#ifdef CONFIG_PRINTK
+/* hardware name */
+static ssize_t hardware_name_show(struct kobject *kobj,
+ struct kobj_attribute *attr, char *buf)
+{
+ return sysfs_emit(buf, "%s\n", dump_stack_arch_desc_str);
+}
+KERNEL_ATTR_RO(hardware_name);
+#endif
+
/*
* Make /sys/kernel/notes give the raw contents of our kernel .notes section.
*/
@@ -205,6 +215,9 @@ static struct attribute * kernel_attrs[] = {
#ifndef CONFIG_TINY_RCU
&rcu_expedited_attr.attr,
&rcu_normal_attr.attr,
+#endif
+#ifdef CONFIG_PRINTK
+ &hardware_name_attr.attr,
#endif
NULL
};
diff --git a/lib/dump_stack.c b/lib/dump_stack.c
index f0c78b5b5324..bce41e603cff 100644
--- a/lib/dump_stack.c
+++ b/lib/dump_stack.c
@@ -15,7 +15,7 @@
#include <linux/utsname.h>
#include <linux/stop_machine.h>
-static char dump_stack_arch_desc_str[128];
+char dump_stack_arch_desc_str[128];
/**
* dump_stack_set_arch_desc - set arch-specific str to show with task dumps
--
2.51.0
next reply other threads:[~2026-02-23 13:36 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-23 13:34 Richard Weinberger [this message]
2026-02-23 13:49 ` Greg KH
2026-02-23 13:53 ` Richard Weinberger
2026-02-23 13:55 ` John Ogness
2026-02-23 14:20 ` Richard Weinberger
2026-02-25 9:00 ` Steven Rostedt
2026-03-12 14:17 ` Petr Mladek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260223133448.411343-1-richard@nod.at \
--to=richard@nod.at \
--cc=akpm@linux-foundation.org \
--cc=bhe@redhat.com \
--cc=gregkh@linuxfoundation.org \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
--cc=sourabhjain@linux.ibm.com \
--cc=upstream+linux@sigma-star.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®