Message ID | 20220120123440.9088-1-gal@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 48cec899e357cfb92d022a9c0df6bbe72a7f6951 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] tcp: Add a stub for sk_defer_free_flush() | expand |
On Thu, Jan 20, 2022 at 4:34 AM Gal Pressman <gal@nvidia.com> wrote: > > When compiling the kernel with CONFIG_INET disabled, the > sk_defer_free_flush() should be defined as a nop. > > This resolves the following compilation error: > ld: net/core/sock.o: in function `sk_defer_free_flush': > ./include/net/tcp.h:1378: undefined reference to `__sk_defer_free_flush' Yes, this is one way to fix this, thanks. Reviewed-by: Eric Dumazet <edumazet@google.com>
On Thu, 20 Jan 2022 04:39:19 -0800 Eric Dumazet wrote: > On Thu, Jan 20, 2022 at 4:34 AM Gal Pressman <gal@nvidia.com> wrote: > > When compiling the kernel with CONFIG_INET disabled, the > > sk_defer_free_flush() should be defined as a nop. > > > > This resolves the following compilation error: > > ld: net/core/sock.o: in function `sk_defer_free_flush': > > ./include/net/tcp.h:1378: undefined reference to `__sk_defer_free_flush' > > Yes, this is one way to fix this, thanks. Yeah.. isn't it better to move __sk_defer_free_flush and co. out of TCP code?
On Thu, Jan 20, 2022 at 8:05 AM Jakub Kicinski <kuba@kernel.org> wrote: > > On Thu, 20 Jan 2022 04:39:19 -0800 Eric Dumazet wrote: > > On Thu, Jan 20, 2022 at 4:34 AM Gal Pressman <gal@nvidia.com> wrote: > > > When compiling the kernel with CONFIG_INET disabled, the > > > sk_defer_free_flush() should be defined as a nop. > > > > > > This resolves the following compilation error: > > > ld: net/core/sock.o: in function `sk_defer_free_flush': > > > ./include/net/tcp.h:1378: undefined reference to `__sk_defer_free_flush' > > > > Yes, this is one way to fix this, thanks. > > Yeah.. isn't it better to move __sk_defer_free_flush and co. > out of TCP code? sk->defer_list is currently only fed from tcp_eat_recv_skb(), I guess we can leave the code, until we have another user than TCP ?
On Thu, 20 Jan 2022 08:13:24 -0800 Eric Dumazet wrote: > On Thu, Jan 20, 2022 at 8:05 AM Jakub Kicinski <kuba@kernel.org> wrote: > > On Thu, 20 Jan 2022 04:39:19 -0800 Eric Dumazet wrote: > > > Yes, this is one way to fix this, thanks. > > > > Yeah.. isn't it better to move __sk_defer_free_flush and co. > > out of TCP code? > > sk->defer_list is currently only fed from tcp_eat_recv_skb(), > I guess we can leave the code, until we have another user than TCP ? I was mostly thinking of a way to avoid the #ifdef-inery but I guess it's not too bad
Hello: This patch was applied to netdev/net.git (master) by Jakub Kicinski <kuba@kernel.org>: On Thu, 20 Jan 2022 14:34:40 +0200 you wrote: > When compiling the kernel with CONFIG_INET disabled, the > sk_defer_free_flush() should be defined as a nop. > > This resolves the following compilation error: > ld: net/core/sock.o: in function `sk_defer_free_flush': > ./include/net/tcp.h:1378: undefined reference to `__sk_defer_free_flush' > > [...] Here is the summary with links: - [net] tcp: Add a stub for sk_defer_free_flush() https://git.kernel.org/netdev/net/c/48cec899e357 You are awesome, thank you!
diff --git a/include/net/tcp.h b/include/net/tcp.h index 44e442bf23f9..b9fc978fb2ca 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -1369,6 +1369,7 @@ static inline bool tcp_checksum_complete(struct sk_buff *skb) bool tcp_add_backlog(struct sock *sk, struct sk_buff *skb); +#ifdef CONFIG_INET void __sk_defer_free_flush(struct sock *sk); static inline void sk_defer_free_flush(struct sock *sk) @@ -1377,6 +1378,9 @@ static inline void sk_defer_free_flush(struct sock *sk) return; __sk_defer_free_flush(sk); } +#else +static inline void sk_defer_free_flush(struct sock *sk) {} +#endif int tcp_filter(struct sock *sk, struct sk_buff *skb); void tcp_set_state(struct sock *sk, int state);