From: Daniel Borkmann Date: Tue, 1 Dec 2020 14:22:59 +0000 (+0100) Subject: net, xdp, xsk: fix __sk_mark_napi_id_once napi_id error X-Git-Tag: accepted/tizen/unified/20230118.172025~8321^2~124^2~16 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ba0581749fec389e55c9d761f2716f8fcbefced5;p=platform%2Fkernel%2Flinux-rpi.git net, xdp, xsk: fix __sk_mark_napi_id_once napi_id error Stephen reported the following build error for !CONFIG_NET_RX_BUSY_POLL built kernels: In file included from fs/select.c:32: include/net/busy_poll.h: In function 'sk_mark_napi_id_once': include/net/busy_poll.h:150:36: error: 'const struct sk_buff' has no member named 'napi_id' 150 | __sk_mark_napi_id_once_xdp(sk, skb->napi_id); | ^~ Fix it by wrapping a CONFIG_NET_RX_BUSY_POLL around the helpers. Fixes: b02e5a0ebb17 ("xsk: Propagate napi_id to XDP socket Rx path") Reported-by: Stephen Rothwell Signed-off-by: Stephen Rothwell Signed-off-by: Daniel Borkmann Cc: Björn Töpel Link: https://lore.kernel.org/linux-next/20201201190746.7d3357fb@canb.auug.org.au --- diff --git a/include/net/busy_poll.h b/include/net/busy_poll.h index 45b3e04..73af4a6 100644 --- a/include/net/busy_poll.h +++ b/include/net/busy_poll.h @@ -135,7 +135,7 @@ static inline void sk_mark_napi_id(struct sock *sk, const struct sk_buff *skb) sk_rx_queue_set(sk, skb); } -static inline void __sk_mark_napi_id_once_xdp(struct sock *sk, unsigned int napi_id) +static inline void __sk_mark_napi_id_once(struct sock *sk, unsigned int napi_id) { #ifdef CONFIG_NET_RX_BUSY_POLL if (!READ_ONCE(sk->sk_napi_id)) @@ -147,13 +147,17 @@ static inline void __sk_mark_napi_id_once_xdp(struct sock *sk, unsigned int napi static inline void sk_mark_napi_id_once(struct sock *sk, const struct sk_buff *skb) { - __sk_mark_napi_id_once_xdp(sk, skb->napi_id); +#ifdef CONFIG_NET_RX_BUSY_POLL + __sk_mark_napi_id_once(sk, skb->napi_id); +#endif } static inline void sk_mark_napi_id_once_xdp(struct sock *sk, const struct xdp_buff *xdp) { - __sk_mark_napi_id_once_xdp(sk, xdp->rxq->napi_id); +#ifdef CONFIG_NET_RX_BUSY_POLL + __sk_mark_napi_id_once(sk, xdp->rxq->napi_id); +#endif } #endif /* _LINUX_NET_BUSY_POLL_H */