All of lore.kernel.org
 help / color / mirror / Atom feed
From: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
To: Saket Kumar Bhaskar <skb99@linux.ibm.com>,
	bpf@vger.kernel.org, linux-kselftest@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-next@vger.kernel.org
Cc: ast@kernel.org, hbathini@linux.ibm.com, maddy@linux.ibm.com,
	andrii@kernel.org, daniel@iogearbox.net, mykolal@fb.com,
	martin.lau@linux.dev, song@kernel.org, yonghong.song@linux.dev,
	john.fastabend@gmail.com, kpsingh@kernel.org, sdf@fomichev.me,
	haoluo@google.com, jolsa@kernel.org, shuah@kernel.org
Subject: Re: [PATCH] selftests/bpf: Fix bpf selftest build error
Date: Mon, 12 May 2025 09:24:10 +0530	[thread overview]
Message-ID: <fb39efbc-9045-4fbd-a5d6-ababc320b9ef@linux.ibm.com> (raw)
In-Reply-To: <20250509122348.649064-1-skb99@linux.ibm.com>


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.


      parent reply	other threads:[~2025-05-12  3:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-09 12:23 [PATCH] selftests/bpf: Fix bpf selftest build error Saket Kumar Bhaskar
2025-05-09 17:04 ` Alexei Starovoitov
2025-05-10  1:04   ` Stephen Rothwell
2025-05-12  5:25     ` Saket Kumar Bhaskar
2025-05-12  6:40       ` Stephen Rothwell
2025-05-12  3:54 ` Venkat Rao Bagalkote [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fb39efbc-9045-4fbd-a5d6-ababc320b9ef@linux.ibm.com \
    --to=venkat88@linux.ibm.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=haoluo@google.com \
    --cc=hbathini@linux.ibm.com \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=kpsingh@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=maddy@linux.ibm.com \
    --cc=martin.lau@linux.dev \
    --cc=mykolal@fb.com \
    --cc=sdf@fomichev.me \
    --cc=shuah@kernel.org \
    --cc=skb99@linux.ibm.com \
    --cc=song@kernel.org \
    --cc=yonghong.song@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.