Re: [RESEND PATCH] selftests/bpf: Fix bpf selftest build error
From: T.J. Mercier
Date: Tue Jun 03 2025 - 13:55:39 EST
On Tue, Jun 3, 2025 at 10:50 AM Song Liu <song@xxxxxxxxxx> wrote:
>
> 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?
>
> A fix is already in the bpf tree, with this fix as well:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git/commit/?id=4b65d5ae971430287855a89635a184c489bd02a5
>
> Thanks,
> Song
Thanks, I was looking for it in driver-core.