diff mbox series

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

Message ID 20241205-sysfs-const-bin_attr-simple-v1-4-4a4e4ced71e3@weissschuh.net (mailing list archive)
State Handled Elsewhere, archived
Headers show
Series sysfs: constify bin_attribute argument of sysfs_bin_attr_simple_read() | expand

Commit Message

Thomas Weißschuh Dec. 5, 2024, 5:35 p.m. UTC
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(-)

Comments

Andrii Nakryiko Dec. 9, 2024, 5:45 p.m. UTC | #1
On Thu, Dec 5, 2024 at 9:35 AM Thomas Weißschuh <linux@weissschuh.net> 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>

> 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
>
diff mbox series

Patch

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) {