Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 61614
b: refs/heads/master
c: da1a679
h: refs/heads/master
v: v3
  • Loading branch information
Roland McGrath authored and Linus Torvalds committed Jul 19, 2007
1 parent e4784da commit 9e3e8e0
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 86ead9caf9a9f265f6065c46080d046230e25d78
refs/heads/master: da1a679cde9b12d6e331f43d2d92a234f2d1f9b0
28 changes: 28 additions & 0 deletions trunk/kernel/ksysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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, struct bin_attribute *bin_attr,
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);

Expand All @@ -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;
}

Expand Down

0 comments on commit 9e3e8e0

Please sign in to comment.