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

From: T.J. Mercier
Date: Tue Jun 03 2025 - 13:33:11 EST


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?