Commit 5ab5a377 authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Greg Kroah-Hartman
Browse files

kheaders: Simplify attribute through __BIN_ATTR_SIMPLE_RO()



The utility macro from the sysfs core is sufficient to implement this
attribute. Make use of it.

Signed-off-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Link: https://lore.kernel.org/r/20241221-sysfs-const-bin_attr-kheaders-v2-1-8205538aa012@weissschuh.net


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e62fedef
Loading
Loading
Loading
Loading
+3 −16
Original line number Diff line number Diff line
@@ -29,25 +29,12 @@ asm (
extern char kernel_headers_data[];
extern char kernel_headers_data_end[];

static ssize_t
ikheaders_read(struct file *file,  struct kobject *kobj,
	       struct bin_attribute *bin_attr,
	       char *buf, loff_t off, size_t len)
{
	memcpy(buf, &kernel_headers_data[off], len);
	return len;
}

static struct bin_attribute kheaders_attr __ro_after_init = {
	.attr = {
		.name = "kheaders.tar.xz",
		.mode = 0444,
	},
	.read = &ikheaders_read,
};
static struct bin_attribute kheaders_attr __ro_after_init =
	__BIN_ATTR_SIMPLE_RO(kheaders.tar.xz, 0444);

static int __init ikheaders_init(void)
{
	kheaders_attr.private = kernel_headers_data;
	kheaders_attr.size = (kernel_headers_data_end -
			      kernel_headers_data);
	return sysfs_create_bin_file(kernel_kobj, &kheaders_attr);