2022-08-31 22:33:43

by David Disseldorp

[permalink] [raw]
Subject: [PATCH] module/decompress: generate sysfs string at compile time

compression_show() before (with noinline):
0xffffffff810b5ff0 <+0>: mov %rdx,%rdi
0xffffffff810b5ff3 <+3>: mov $0xffffffff81b55629,%rsi
0xffffffff810b5ffa <+10>: mov $0xffffffff81b0cde2,%rdx
0xffffffff810b6001 <+17>: call 0xffffffff811b8fd0 <sysfs_emit>
0xffffffff810b6006 <+22>: cltq
0xffffffff810b6008 <+24>: ret

After:
0xffffffff810b5ff0 <+0>: mov $0xffffffff81b0cde2,%rsi
0xffffffff810b5ff7 <+7>: mov %rdx,%rdi
0xffffffff810b5ffa <+10>: call 0xffffffff811b8fd0 <sysfs_emit>
0xffffffff810b5fff <+15>: cltq
0xffffffff810b6001 <+17>: ret

Signed-off-by: David Disseldorp <[email protected]>
---
kernel/module/decompress.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Feel free to drop the to-be-expected commit message body if desired.

diff --git a/kernel/module/decompress.c b/kernel/module/decompress.c
index 4d0bcb3d9e449..c033572d83f0e 100644
--- a/kernel/module/decompress.c
+++ b/kernel/module/decompress.c
@@ -256,7 +256,7 @@ void module_decompress_cleanup(struct load_info *info)
static ssize_t compression_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buf)
{
- return sysfs_emit(buf, "%s\n", __stringify(MODULE_COMPRESSION));
+ return sysfs_emit(buf, __stringify(MODULE_COMPRESSION) "\n");
}

static struct kobj_attribute module_compression_attr = __ATTR_RO(compression);
--
2.35.3