public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 6/7] Add /sys/kernel/notes
@ 2007-07-11 19:04 Roland McGrath
  2007-07-11 19:16 ` Linus Torvalds
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Roland McGrath @ 2007-07-11 19:04 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds; +Cc: linux-kernel


This patch adds the /sys/kernel/notes magic file.  Reading this delivers
the contents of the kernel's .notes section.  This lets userland easily
glean any detailed information about the running kernel's build that was
stored there at compile time.

Signed-off-by: Roland McGrath <roland@redhat.com>
---
 kernel/ksysfs.c |   30 +++++++++++++++++++++++++++++-
 1 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c
index 559deca..873fc17 100644
--- a/kernel/ksysfs.c
+++ b/kernel/ksysfs.c
@@ -62,6 +62,28 @@ static ssize_t kexec_crash_loaded_show(struct kset *kset, char *page)
 KERNEL_ATTR_RO(kexec_crash_loaded);
 #endif /* CONFIG_KEXEC */
 
+/*
+ * Make /sys/kernel/notes give the raw contents of our kernel .notes section.
+ */
+extern const char __start_notes __attribute__((weak));
+extern const char __stop_notes __attribute__((weak));
+#define	notes_size (&__stop_notes - &__start_notes)
+
+static ssize_t notes_read(struct kobject *kobj,
+			  char *buf, loff_t off, size_t count)
+{
+	memcpy(buf, &__start_notes + off, count);
+	return count;
+}
+
+static struct bin_attribute notes_attr = {
+	.attr = {
+		.name = "notes",
+		.mode = S_IRUGO,
+	},
+	.read = &notes_read,
+};
+
 decl_subsys(kernel, NULL, NULL);
 EXPORT_SYMBOL_GPL(kernel_subsys);
 
@@ -88,6 +110,12 @@ static int __init ksysfs_init(void)
 		error = sysfs_create_group(&kernel_subsys.kobj,
 					   &kernel_attr_group);
 
+	if (!error && notes_size > 0) {
+		notes_attr.size = notes_size;
+		error = sysfs_create_bin_file(&kernel_subsys.kobj,
+					      &notes_attr);
+	}
+
 	return error;
 }
 

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

end of thread, other threads:[~2007-07-12  2:42 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-11 19:04 [PATCH 6/7] Add /sys/kernel/notes Roland McGrath
2007-07-11 19:16 ` Linus Torvalds
2007-07-11 20:51   ` Roland McGrath
2007-07-11 21:45     ` Linus Torvalds
2007-07-11 22:04       ` Roland McGrath
2007-07-11 22:17         ` Linus Torvalds
2007-07-11 22:42           ` Roland McGrath
2007-07-11 22:48             ` Linus Torvalds
2007-07-11 23:45 ` Andrew Morton
2007-07-12  0:37   ` Roland McGrath
2007-07-11 23:57 ` Jeremy Fitzhardinge
2007-07-12  0:42   ` Roland McGrath
2007-07-12  2:41     ` Jeremy Fitzhardinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox