tools/testing/selftests/bpf/test_kmods/bpf_testmod.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
On linux-next, build for bpf selftest displays an error due to
mismatch in the expected function signature of bpf_testmod_test_read
and bpf_testmod_test_write.
Commit 97d06802d10a ("sysfs: constify bin_attribute argument of bin_attribute::read/write()")
changed the required type for struct bin_attribute to const struct bin_attribute.
To resolve the error, update corresponding signature for the callback.
Reported-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Closes: https://lore.kernel.org/all/e915da49-2b9a-4c4c-a34f-877f378129f6@linux.ibm.com/
Signed-off-by: Saket Kumar Bhaskar <skb99@linux.ibm.com>
---
tools/testing/selftests/bpf/test_kmods/bpf_testmod.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
index 2e54b95ad898..194c442580ee 100644
--- a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
+++ b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
@@ -385,7 +385,7 @@ int bpf_testmod_fentry_ok;
noinline ssize_t
bpf_testmod_test_read(struct file *file, struct kobject *kobj,
- struct bin_attribute *bin_attr,
+ const struct bin_attribute *bin_attr,
char *buf, loff_t off, size_t len)
{
struct bpf_testmod_test_read_ctx ctx = {
@@ -465,7 +465,7 @@ ALLOW_ERROR_INJECTION(bpf_testmod_test_read, ERRNO);
noinline ssize_t
bpf_testmod_test_write(struct file *file, struct kobject *kobj,
- struct bin_attribute *bin_attr,
+ const struct bin_attribute *bin_attr,
char *buf, loff_t off, size_t len)
{
struct bpf_testmod_test_write_ctx ctx = {
--
2.43.5
On 09/05/25 5:53 pm, Saket Kumar Bhaskar wrote:
> On linux-next, build for bpf selftest displays an error due to
> mismatch in the expected function signature of bpf_testmod_test_read
> and bpf_testmod_test_write.
>
> Commit 97d06802d10a ("sysfs: constify bin_attribute argument of bin_attribute::read/write()")
> changed the required type for struct bin_attribute to const struct bin_attribute.
>
> To resolve the error, update corresponding signature for the callback.
>
> Reported-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
> Closes: https://lore.kernel.org/all/e915da49-2b9a-4c4c-a34f-877f378129f6@linux.ibm.com/
> Signed-off-by: Saket Kumar Bhaskar <skb99@linux.ibm.com>
> ---
> tools/testing/selftests/bpf/test_kmods/bpf_testmod.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> index 2e54b95ad898..194c442580ee 100644
> --- a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> +++ b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> @@ -385,7 +385,7 @@ int bpf_testmod_fentry_ok;
>
> noinline ssize_t
> bpf_testmod_test_read(struct file *file, struct kobject *kobj,
> - struct bin_attribute *bin_attr,
> + const struct bin_attribute *bin_attr,
> char *buf, loff_t off, size_t len)
> {
> struct bpf_testmod_test_read_ctx ctx = {
> @@ -465,7 +465,7 @@ ALLOW_ERROR_INJECTION(bpf_testmod_test_read, ERRNO);
>
> noinline ssize_t
> bpf_testmod_test_write(struct file *file, struct kobject *kobj,
> - struct bin_attribute *bin_attr,
> + const struct bin_attribute *bin_attr,
> char *buf, loff_t off, size_t len)
> {
> struct bpf_testmod_test_write_ctx ctx = {
Tested this patch by applying on top of next-20250508 and if fixes the
build issue. Hence,
Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
commit f48887a98b78880b7711aca311fbbbcaad6c4e3b (tag: next-20250508,
origin/master, origin/HEAD, bpf_arena)
Author: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu May 8 18:45:50 2025 +1000
Add linux-next specific files for 20250508
After this patch:
TEST-OBJ [test_progs-cpuv4] xdp_flowtable.test.o
TEST-OBJ [test_progs-cpuv4] xdp_info.test.o
TEST-OBJ [test_progs-cpuv4] xdp_link.test.o
TEST-OBJ [test_progs-cpuv4] xdp_metadata.test.o
TEST-OBJ [test_progs-cpuv4] xdp_noinline.test.o
TEST-OBJ [test_progs-cpuv4] xdp_perf.test.o
TEST-OBJ [test_progs-cpuv4] xdp_synproxy.test.o
TEST-OBJ [test_progs-cpuv4] xdp_vlan.test.o
TEST-OBJ [test_progs-cpuv4] xdpwall.test.o
TEST-OBJ [test_progs-cpuv4] xfrm_info.test.o
BINARY bench
BINARY test_maps
BINARY test_progs
BINARY test_progs-no_alu32
BINARY test_progs-cpuv4
Before this patch:
CLANG
/root/linux-next/tools/testing/selftests/bpf/tools/build/bpftool/profiler.bpf.o
bpf_testmod.c:494:17: error: initialization of ‘ssize_t (*)(struct file
*, struct kobject *, const struct bin_attribute *, char *, loff_t,
size_t)’ {aka ‘long int (*)(struct file *, struct kobject *, const
struct bin_attribute *, char *, long long int, long unsigned int)’}
from incompatible pointer type ‘ssize_t (*)(struct file *, struct
kobject *, struct bin_attribute *, char *, loff_t, size_t)’ {aka ‘long
int (*)(struct file *, struct kobject *, struct bin_attribute *, char *,
long long int, long unsigned int)’} [-Wincompatible-pointer-types]
494 | .read = bpf_testmod_test_read,
| ^~~~~~~~~~~~~~~~~~~~~
bpf_testmod.c:494:17: note: (near initialization for
‘bin_attr_bpf_testmod_file.read’)
bpf_testmod.c:495:18: error: initialization of ‘ssize_t (*)(struct file
*, struct kobject *, const struct bin_attribute *, char *, loff_t,
size_t)’ {aka ‘long int (*)(struct file *, struct kobject *, const
struct bin_attribute *, char *, long long int, long unsigned int)’}
from incompatible pointer type ‘ssize_t (*)(struct file *, struct
kobject *, struct bin_attribute *, char *, loff_t, size_t)’ {aka ‘long
int (*)(struct file *, struct kobject *, struct bin_attribute *, char *,
long long int, long unsigned int)’} [-Wincompatible-pointer-types]
495 | .write = bpf_testmod_test_write,
| ^~~~~~~~~~~~~~~~~~~~~~
bpf_testmod.c:495:18: note: (near initialization for
‘bin_attr_bpf_testmod_file.write’)
make[4]: *** [/root/linux-next/scripts/Makefile.build:203:
bpf_testmod.o] Error 1
make[3]: *** [/root/linux-next/Makefile:2009: .] Error 2
make[2]: *** [Makefile:248: __sub-make] Error 2
make[1]: *** [Makefile:18: all] Error 2
make: *** [Makefile:282: test_kmods/bpf_testmod.ko] Error 2
Regards,
Venkat.
On Fri, May 9, 2025 at 5:24 AM Saket Kumar Bhaskar <skb99@linux.ibm.com> wrote:
>
> On linux-next, build for bpf selftest displays an error due to
> mismatch in the expected function signature of bpf_testmod_test_read
> and bpf_testmod_test_write.
>
> Commit 97d06802d10a ("sysfs: constify bin_attribute argument of bin_attribute::read/write()")
> changed the required type for struct bin_attribute to const struct bin_attribute.
>
> To resolve the error, update corresponding signature for the callback.
>
> Reported-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
> Closes: https://lore.kernel.org/all/e915da49-2b9a-4c4c-a34f-877f378129f6@linux.ibm.com/
> Signed-off-by: Saket Kumar Bhaskar <skb99@linux.ibm.com>
> ---
> tools/testing/selftests/bpf/test_kmods/bpf_testmod.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> index 2e54b95ad898..194c442580ee 100644
> --- a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> +++ b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> @@ -385,7 +385,7 @@ int bpf_testmod_fentry_ok;
>
> noinline ssize_t
> bpf_testmod_test_read(struct file *file, struct kobject *kobj,
> - struct bin_attribute *bin_attr,
> + const struct bin_attribute *bin_attr,
> char *buf, loff_t off, size_t len)
You didn't even compile it :(
Instead of fixing the build, it breaks the build.
pw-bot: cr
Hi Alexei,
On Fri, 9 May 2025 10:04:18 -0700 Alexei Starovoitov <alexei.starovoitov@gmail.com> wrote:
>
> On Fri, May 9, 2025 at 5:24 AM Saket Kumar Bhaskar <skb99@linux.ibm.com> wrote:
> >
> > On linux-next, build for bpf selftest displays an error due to
> > mismatch in the expected function signature of bpf_testmod_test_read
> > and bpf_testmod_test_write.
> >
> > Commit 97d06802d10a ("sysfs: constify bin_attribute argument of bin_attribute::read/write()")
> > changed the required type for struct bin_attribute to const struct bin_attribute.
> >
> > To resolve the error, update corresponding signature for the callback.
> >
> > Reported-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
> > Closes: https://lore.kernel.org/all/e915da49-2b9a-4c4c-a34f-877f378129f6@linux.ibm.com/
> > Signed-off-by: Saket Kumar Bhaskar <skb99@linux.ibm.com>
> > ---
> > tools/testing/selftests/bpf/test_kmods/bpf_testmod.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> > index 2e54b95ad898..194c442580ee 100644
> > --- a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> > +++ b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> > @@ -385,7 +385,7 @@ int bpf_testmod_fentry_ok;
> >
> > noinline ssize_t
> > bpf_testmod_test_read(struct file *file, struct kobject *kobj,
> > - struct bin_attribute *bin_attr,
> > + const struct bin_attribute *bin_attr,
> > char *buf, loff_t off, size_t len)
>
> You didn't even compile it :(
>
> Instead of fixing the build, it breaks the build.
>
> pw-bot: cr
This patch is only needed in linux-next. It should be applied to the
driver-core tree - since that includes commit 97d06802d10a. It should
also have a Fixes tag referencing commit 97d06802d10a.
--
Cheers,
Stephen Rothwell
On Sat, May 10, 2025 at 11:04:55AM +1000, Stephen Rothwell wrote:
> Hi Alexei,
>
> On Fri, 9 May 2025 10:04:18 -0700 Alexei Starovoitov <alexei.starovoitov@gmail.com> wrote:
> >
> > On Fri, May 9, 2025 at 5:24 AM Saket Kumar Bhaskar <skb99@linux.ibm.com> wrote:
> > >
> > > On linux-next, build for bpf selftest displays an error due to
> > > mismatch in the expected function signature of bpf_testmod_test_read
> > > and bpf_testmod_test_write.
> > >
> > > Commit 97d06802d10a ("sysfs: constify bin_attribute argument of bin_attribute::read/write()")
> > > changed the required type for struct bin_attribute to const struct bin_attribute.
> > >
> > > To resolve the error, update corresponding signature for the callback.
> > >
> > > Reported-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
> > > Closes: https://lore.kernel.org/all/e915da49-2b9a-4c4c-a34f-877f378129f6@linux.ibm.com/
> > > Signed-off-by: Saket Kumar Bhaskar <skb99@linux.ibm.com>
> > > ---
> > > tools/testing/selftests/bpf/test_kmods/bpf_testmod.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> > > index 2e54b95ad898..194c442580ee 100644
> > > --- a/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> > > +++ b/tools/testing/selftests/bpf/test_kmods/bpf_testmod.c
> > > @@ -385,7 +385,7 @@ int bpf_testmod_fentry_ok;
> > >
> > > noinline ssize_t
> > > bpf_testmod_test_read(struct file *file, struct kobject *kobj,
> > > - struct bin_attribute *bin_attr,
> > > + const struct bin_attribute *bin_attr,
> > > char *buf, loff_t off, size_t len)
> >
> > You didn't even compile it :(
> >
> > Instead of fixing the build, it breaks the build.
> >
> > pw-bot: cr
>
> This patch is only needed in linux-next. It should be applied to the
> driver-core tree - since that includes commit 97d06802d10a. It should
> also have a Fixes tag referencing commit 97d06802d10a.
> --
> Cheers,
> Stephen Rothwell
Hi Stephen,
Apologies for missing the Fixes tag. Would you like me to resend the patch with the
Fixes tag included?
Thanks,
Saket
Hi Saket, On Mon, 12 May 2025 10:55:59 +0530 Saket Kumar Bhaskar <skb99@linux.ibm.com> wrote: > > Apologies for missing the Fixes tag. Would you like me to resend the patch with the > Fixes tag included? Yes, please, but send it to Greg (keeping the ccs) so that he can apply it to the driver-core tree. -- Cheers, Stephen Rothwell
© 2016 - 2025 Red Hat, Inc.