Re: [PATCH 4/4] btf: Switch module BTF attribute to sysfs_bin_attr_simple_read()

From
Andrii Nakryiko <hidden>
Date
2024-12-09 17:45:38
Also in
bpf, linux-modules, lkml, platform-driver-x86
Reply to
Thomas Weißschuh, 2024-12-05
On Thu, Dec 5, 2024 at 9:35 AM Thomas Weißschuh [off-list ref] wrote:
The generic function from the sysfs core can replace the custom one.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
 kernel/bpf/btf.c | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)
LGTM

Acked-by: Andrii Nakryiko <andrii@kernel.org>
quoted hunk ↗ jump to hunk
diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
index e7a59e6462a9331d0acb17a88a4ebf641509c050..69caa86ae6085dce17e95107c4497d2d8cf81544 100644
--- a/kernel/bpf/btf.c
+++ b/kernel/bpf/btf.c
@@ -7870,17 +7870,6 @@ struct btf_module {
 static LIST_HEAD(btf_modules);
 static DEFINE_MUTEX(btf_module_mutex);

-static ssize_t
-btf_module_read(struct file *file, struct kobject *kobj,
-               struct bin_attribute *bin_attr,
-               char *buf, loff_t off, size_t len)
-{
-       const struct btf *btf = bin_attr->private;
-
-       memcpy(buf, btf->data + off, len);
-       return len;
-}
-
 static void purge_cand_cache(struct btf *btf);

 static int btf_module_notify(struct notifier_block *nb, unsigned long op,
@@ -7941,8 +7930,8 @@ static int btf_module_notify(struct notifier_block *nb, unsigned long op,
                        attr->attr.name = btf->name;
                        attr->attr.mode = 0444;
                        attr->size = btf->data_size;
-                       attr->private = btf;
-                       attr->read = btf_module_read;
+                       attr->private = btf->data;
+                       attr->read_new = sysfs_bin_attr_simple_read;

                        err = sysfs_create_bin_file(btf_kobj, attr);
                        if (err) {

--
2.47.1
  
Thread (9 messages) 9 messages, 3 authors, last reply 2024-12-13
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help