Skip to content

Conversation

@kernel-patches-daemon-bpf-rc
Copy link

Pull request for series with
subject: bpf: avoid warning for unused register_bpf_struct_ops()
version: 1
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=1030401

@kernel-patches-daemon-bpf-rc
Copy link
Author

Upstream branch: 835a507
series: https://patchwork.kernel.org/project/netdevbpf/list/?series=1030401
version: 1

The macro originally introduced in commit f6be98d ("bpf, net:
switch to dynamic registration") causes a warning in the new smc code
because of the way it evaluates the arguments:

In file included from include/linux/bpf_verifier.h:7,
                 from net/smc/smc_hs_bpf.c:13:
net/smc/smc_hs_bpf.c: In function 'bpf_smc_hs_ctrl_init':
include/linux/bpf.h:2076:50: error: statement with no effect [-Werror=unused-value]
 2076 | #define register_bpf_struct_ops(st_ops, type) ({ (void *)(st_ops); 0; })
      |                                                  ^~~~~~~~~~~~~~~~
net/smc/smc_hs_bpf.c:139:16: note: in expansion of macro 'register_bpf_struct_ops'
  139 |         return register_bpf_struct_ops(&bpf_smc_hs_ctrl_ops, smc_hs_ctrl);
      |                ^~~~~~~~~~~~~~~~~~~~~~~

Work around this using an inline function that takes the argument,
the same way as the normal implementation. Since the second argument to
register_bpf_struct_ops() is a type rather than an object, this still
has to be a macro, but it can call a new inline helper internally like
the normal one does.

Fixes: 15f295f ("net/smc: bpf: Introduce generic hook for handshake flow")
Cc: Kui-Feng Lee <[email protected]>
Cc: Martin KaFai Lau <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
@kernel-patches-daemon-bpf-rc
Copy link
Author

Upstream branch: 835a507
series: https://patchwork.kernel.org/project/netdevbpf/list/?series=1030401
version: 1

@kernel-patches-daemon-bpf-rc
Copy link
Author

At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=1030401 irrelevant now. Closing PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants