[PATCH v2] samples/bpf: xdpsock: fix swap.cocci warning

Subsystems: bpf [general] (safe dynamic programs and tools), the rest

STALE1769d

7 messages, 4 authors, 2021-12-13 · open the first message on its own page

[PATCH v2] samples/bpf: xdpsock: fix swap.cocci warning

From: Yihao Han <hidden>
Date: 2021-12-09 09:24:07

Fix following swap.cocci warning:
./samples/bpf/xdpsock_user.c:528:22-23:
WARNING opportunity for swap()

Signed-off-by: Yihao Han <redacted>
---
Change log:
v2:
- Remove temp variable.
---
 samples/bpf/xsk_fwd.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/samples/bpf/xsk_fwd.c b/samples/bpf/xsk_fwd.c
index 1cd97c84c337..db15323728c0 100644
--- a/samples/bpf/xsk_fwd.c
+++ b/samples/bpf/xsk_fwd.c
@@ -651,11 +651,8 @@ static void swap_mac_addresses(void *data)
 	struct ether_header *eth = (struct ether_header *)data;
 	struct ether_addr *src_addr = (struct ether_addr *)&eth->ether_shost;
 	struct ether_addr *dst_addr = (struct ether_addr *)&eth->ether_dhost;
-	struct ether_addr tmp;
 
-	tmp = *src_addr;
-	*src_addr = *dst_addr;
-	*dst_addr = tmp;
+	swap(*src_addr, *dst_addr);
 }
 
 static void *
-- 
2.17.1

RE: [PATCH v2] samples/bpf: xdpsock: fix swap.cocci warning

From: John Fastabend <john.fastabend@gmail.com>
Date: 2021-12-09 20:11:53

Yihao Han wrote:
Fix following swap.cocci warning:
./samples/bpf/xdpsock_user.c:528:22-23:
WARNING opportunity for swap()

Signed-off-by: Yihao Han <redacted>
---
LGTM

Acked-by: John Fastabend <john.fastabend@gmail.com>

Re: [PATCH v2] samples/bpf: xdpsock: fix swap.cocci warning

From: Toke Høiland-Jørgensen <hidden>
Date: 2021-12-10 14:26:40

Yihao Han [off-list ref] writes:
Fix following swap.cocci warning:
./samples/bpf/xdpsock_user.c:528:22-23:
WARNING opportunity for swap()

Signed-off-by: Yihao Han <redacted>
Erm, did this get applied without anyone actually trying to compile
samples? I'm getting build errors as:

  CC  /home/build/linux/samples/bpf/xsk_fwd.o
/home/build/linux/samples/bpf/xsk_fwd.c: In function ‘swap_mac_addresses’:
/home/build/linux/samples/bpf/xsk_fwd.c:658:9: warning: implicit declaration of function ‘swap’; did you mean ‘swab’? [-Wimplicit-function-declaration]
  658 |         swap(*src_addr, *dst_addr);
      |         ^~~~
      |         swab

/usr/bin/ld: /home/build/linux/samples/bpf/xsk_fwd.o: in function `thread_func':
xsk_fwd.c:(.text+0x440): undefined reference to `swap'
collect2: error: ld returned 1 exit status


Could we maybe get samples/bpf added to the BPF CI builds? :)

-Toke

Re: [PATCH v2] samples/bpf: xdpsock: fix swap.cocci warning

From: Andrii Nakryiko <hidden>
Date: 2021-12-10 23:53:38

On Fri, Dec 10, 2021 at 6:26 AM Toke Høiland-Jørgensen [off-list ref] wrote:
Yihao Han [off-list ref] writes:
quoted
Fix following swap.cocci warning:
./samples/bpf/xdpsock_user.c:528:22-23:
WARNING opportunity for swap()

Signed-off-by: Yihao Han <redacted>
Erm, did this get applied without anyone actually trying to compile
samples? I'm getting build errors as:
Good news: I actually do build samples/bpf nowadays after fixing a
bunch of compilation issues recently.

Bad news: seems like I didn't pay too much attention after building
samples/bpf for this particular patch, sorry about that. I've dropped
this patch, samples/bpf builds for me. We should be good now.

  CC  /home/build/linux/samples/bpf/xsk_fwd.o
/home/build/linux/samples/bpf/xsk_fwd.c: In function ‘swap_mac_addresses’:
/home/build/linux/samples/bpf/xsk_fwd.c:658:9: warning: implicit declaration of function ‘swap’; did you mean ‘swab’? [-Wimplicit-function-declaration]
  658 |         swap(*src_addr, *dst_addr);
      |         ^~~~
      |         swab

/usr/bin/ld: /home/build/linux/samples/bpf/xsk_fwd.o: in function `thread_func':
xsk_fwd.c:(.text+0x440): undefined reference to `swap'
collect2: error: ld returned 1 exit status


Could we maybe get samples/bpf added to the BPF CI builds? :)
Maybe we could, if someone dedicated their effort towards making this happen.
-Toke

Re: [PATCH v2] samples/bpf: xdpsock: fix swap.cocci warning

From: Toke Høiland-Jørgensen <hidden>
Date: 2021-12-11 18:08:10

Andrii Nakryiko [off-list ref] writes:
On Fri, Dec 10, 2021 at 6:26 AM Toke Høiland-Jørgensen [off-list ref] wrote:
quoted
Yihao Han [off-list ref] writes:
quoted
Fix following swap.cocci warning:
./samples/bpf/xdpsock_user.c:528:22-23:
WARNING opportunity for swap()

Signed-off-by: Yihao Han <redacted>
Erm, did this get applied without anyone actually trying to compile
samples? I'm getting build errors as:
Good news: I actually do build samples/bpf nowadays after fixing a
bunch of compilation issues recently.
Awesome!
Bad news: seems like I didn't pay too much attention after building
samples/bpf for this particular patch, sorry about that. I've dropped
this patch, samples/bpf builds for me. We should be good now.
Yup, looks good, thanks!
quoted
  CC  /home/build/linux/samples/bpf/xsk_fwd.o
/home/build/linux/samples/bpf/xsk_fwd.c: In function ‘swap_mac_addresses’:
/home/build/linux/samples/bpf/xsk_fwd.c:658:9: warning: implicit declaration of function ‘swap’; did you mean ‘swab’? [-Wimplicit-function-declaration]
  658 |         swap(*src_addr, *dst_addr);
      |         ^~~~
      |         swab

/usr/bin/ld: /home/build/linux/samples/bpf/xsk_fwd.o: in function `thread_func':
xsk_fwd.c:(.text+0x440): undefined reference to `swap'
collect2: error: ld returned 1 exit status


Could we maybe get samples/bpf added to the BPF CI builds? :)
Maybe we could, if someone dedicated their effort towards making this
happen.
Is it documented anywhere what that would entail? Is it just a matter of
submitting a change to https://github.com/kernel-patches/vmtest ?

-Toke

Re: [PATCH v2] samples/bpf: xdpsock: fix swap.cocci warning

From: Andrii Nakryiko <hidden>
Date: 2021-12-12 19:48:12

On Sat, Dec 11, 2021 at 10:07 AM Toke Høiland-Jørgensen [off-list ref] wrote:
Andrii Nakryiko [off-list ref] writes:
quoted
On Fri, Dec 10, 2021 at 6:26 AM Toke Høiland-Jørgensen [off-list ref] wrote:
quoted
Yihao Han [off-list ref] writes:
quoted
Fix following swap.cocci warning:
./samples/bpf/xdpsock_user.c:528:22-23:
WARNING opportunity for swap()

Signed-off-by: Yihao Han <redacted>
Erm, did this get applied without anyone actually trying to compile
samples? I'm getting build errors as:
Good news: I actually do build samples/bpf nowadays after fixing a
bunch of compilation issues recently.
Awesome!
quoted
Bad news: seems like I didn't pay too much attention after building
samples/bpf for this particular patch, sorry about that. I've dropped
this patch, samples/bpf builds for me. We should be good now.
Yup, looks good, thanks!
quoted
quoted
  CC  /home/build/linux/samples/bpf/xsk_fwd.o
/home/build/linux/samples/bpf/xsk_fwd.c: In function ‘swap_mac_addresses’:
/home/build/linux/samples/bpf/xsk_fwd.c:658:9: warning: implicit declaration of function ‘swap’; did you mean ‘swab’? [-Wimplicit-function-declaration]
  658 |         swap(*src_addr, *dst_addr);
      |         ^~~~
      |         swab

/usr/bin/ld: /home/build/linux/samples/bpf/xsk_fwd.o: in function `thread_func':
xsk_fwd.c:(.text+0x440): undefined reference to `swap'
collect2: error: ld returned 1 exit status


Could we maybe get samples/bpf added to the BPF CI builds? :)
Maybe we could, if someone dedicated their effort towards making this
happen.
Is it documented anywhere what that would entail? Is it just a matter of
submitting a change to https://github.com/kernel-patches/vmtest ?
I think the right way would be to build samples/bpf from
selftests/bpf's Makefile. At the very least we should not require make
headers_install (I never understood that with samples/bpf, all those
up-to-date UAPI headers are right there in the same repo). Once that
is done, at the very least we'll build tests samples/bpf during CI
runs.
-Toke

Re: [PATCH v2] samples/bpf: xdpsock: fix swap.cocci warning

From: Toke Høiland-Jørgensen <hidden>
Date: 2021-12-13 12:09:48

Andrii Nakryiko [off-list ref] writes:
On Sat, Dec 11, 2021 at 10:07 AM Toke Høiland-Jørgensen [off-list ref] wrote:
quoted
Andrii Nakryiko [off-list ref] writes:
quoted
On Fri, Dec 10, 2021 at 6:26 AM Toke Høiland-Jørgensen [off-list ref] wrote:
quoted
Yihao Han [off-list ref] writes:
quoted
Fix following swap.cocci warning:
./samples/bpf/xdpsock_user.c:528:22-23:
WARNING opportunity for swap()

Signed-off-by: Yihao Han <redacted>
Erm, did this get applied without anyone actually trying to compile
samples? I'm getting build errors as:
Good news: I actually do build samples/bpf nowadays after fixing a
bunch of compilation issues recently.
Awesome!
quoted
Bad news: seems like I didn't pay too much attention after building
samples/bpf for this particular patch, sorry about that. I've dropped
this patch, samples/bpf builds for me. We should be good now.
Yup, looks good, thanks!
quoted
quoted
  CC  /home/build/linux/samples/bpf/xsk_fwd.o
/home/build/linux/samples/bpf/xsk_fwd.c: In function ‘swap_mac_addresses’:
/home/build/linux/samples/bpf/xsk_fwd.c:658:9: warning: implicit declaration of function ‘swap’; did you mean ‘swab’? [-Wimplicit-function-declaration]
  658 |         swap(*src_addr, *dst_addr);
      |         ^~~~
      |         swab

/usr/bin/ld: /home/build/linux/samples/bpf/xsk_fwd.o: in function `thread_func':
xsk_fwd.c:(.text+0x440): undefined reference to `swap'
collect2: error: ld returned 1 exit status


Could we maybe get samples/bpf added to the BPF CI builds? :)
Maybe we could, if someone dedicated their effort towards making this
happen.
Is it documented anywhere what that would entail? Is it just a matter of
submitting a change to https://github.com/kernel-patches/vmtest ?
I think the right way would be to build samples/bpf from
selftests/bpf's Makefile. At the very least we should not require make
headers_install (I never understood that with samples/bpf, all those
up-to-date UAPI headers are right there in the same repo). Once that
is done, at the very least we'll build tests samples/bpf during CI
runs.
Alright, sounds fair. I'll look into that, but probably before the
holidays :)

-Toke
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help