Re: [RESEND PATCH] selftests/bpf: Fix bpf selftest build error

From: Alexei Starovoitov
Date: Tue Jun 03 2025 - 13:50:35 EST


On Tue, Jun 3, 2025 at 10:33 AM T.J. Mercier <tjmercier@xxxxxxxxxx> wrote:
>
> On Mon, May 12, 2025 at 2:12 AM Saket Kumar Bhaskar <skb99@xxxxxxxxxxxxx> 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.
> >
> > Fixes: 97d06802d10a ("sysfs: constify bin_attribute argument of bin_attribute::read/write()")
> > Reported-by: Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx>
> > Closes: https://lore.kernel.org/all/e915da49-2b9a-4c4c-a34f-877f378129f6@xxxxxxxxxxxxx/
> > Tested-by: Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx>
> > Signed-off-by: Saket Kumar Bhaskar <skb99@xxxxxxxxxxxxx>
> > ---
> >
> > [RESEND]:
> > - Added Fixes and Tested-by tag.
> > - Added Greg as receipent for driver-core tree.
> >
> > Original patch: https://lore.kernel.org/all/20250509122348.649064-1-skb99@xxxxxxxxxxxxx/
> >
> > 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
> >
> >
>
> The build is broken in Linus's tree right now. We also now need:
>
> @@ -567,7 +567,7 @@ static void testmod_unregister_uprobe(void)
>
> static ssize_t
> bpf_testmod_uprobe_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)
> {
>
> Should I send a separate patch, or can we update this and get it to Linus?

It was fixed in bpf tree couple days ago.