* [PATCH] net: Fix build when CONFIG_INET is not enabled
@ 2022-02-11 16:40 Ricardo Ribalda
2022-02-11 17:24 ` Eric Dumazet
2022-02-11 19:42 ` kernel test robot
0 siblings, 2 replies; 4+ messages in thread
From: Ricardo Ribalda @ 2022-02-11 16:40 UTC (permalink / raw)
To: David S. Miller, Jakub Kicinski, Eric Dumazet, Hideaki YOSHIFUJI,
David Ahern, netdev, linux-kernel
Cc: Ricardo Ribalda
If the kernel is configured with CONFIG_NET, but without CONFIG_INET we
get the following error when building:
sock.c:(.text+0x4c17): undefined reference to `__sk_defer_free_flush'
Lets move __sk_defer_free_flush to sock.c
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
net/core/sock.c | 14 ++++++++++++++
net/ipv4/tcp.c | 14 --------------
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/net/core/sock.c b/net/core/sock.c
index 4ff806d71921..b93b93497e7e 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -2045,6 +2045,20 @@ static void __sk_destruct(struct rcu_head *head)
sk_prot_free(sk->sk_prot_creator, sk);
}
+void __sk_defer_free_flush(struct sock *sk)
+{
+ struct llist_node *head;
+ struct sk_buff *skb, *n;
+
+ head = llist_del_all(&sk->defer_list);
+ llist_for_each_entry_safe(skb, n, head, ll_node) {
+ prefetch(n);
+ skb_mark_not_on_list(skb);
+ __kfree_skb(skb);
+ }
+}
+EXPORT_SYMBOL(__sk_defer_free_flush);
+
void sk_destruct(struct sock *sk)
{
bool use_call_rcu = sock_flag(sk, SOCK_RCU_FREE);
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 02cb275e5487..bc5b5c29d5c4 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1589,20 +1589,6 @@ void tcp_cleanup_rbuf(struct sock *sk, int copied)
tcp_send_ack(sk);
}
-void __sk_defer_free_flush(struct sock *sk)
-{
- struct llist_node *head;
- struct sk_buff *skb, *n;
-
- head = llist_del_all(&sk->defer_list);
- llist_for_each_entry_safe(skb, n, head, ll_node) {
- prefetch(n);
- skb_mark_not_on_list(skb);
- __kfree_skb(skb);
- }
-}
-EXPORT_SYMBOL(__sk_defer_free_flush);
-
static void tcp_eat_recv_skb(struct sock *sk, struct sk_buff *skb)
{
__skb_unlink(skb, &sk->sk_receive_queue);
--
2.35.1.265.g69c8d7142f-goog
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] net: Fix build when CONFIG_INET is not enabled
2022-02-11 16:40 [PATCH] net: Fix build when CONFIG_INET is not enabled Ricardo Ribalda
@ 2022-02-11 17:24 ` Eric Dumazet
2022-02-11 19:43 ` Ricardo Ribalda
2022-02-11 19:42 ` kernel test robot
1 sibling, 1 reply; 4+ messages in thread
From: Eric Dumazet @ 2022-02-11 17:24 UTC (permalink / raw)
To: Ricardo Ribalda
Cc: David S. Miller, Jakub Kicinski, Hideaki YOSHIFUJI, David Ahern,
netdev, LKML
On Fri, Feb 11, 2022 at 8:40 AM Ricardo Ribalda <ribalda@chromium.org> wrote:
>
> If the kernel is configured with CONFIG_NET, but without CONFIG_INET we
> get the following error when building:
>
> sock.c:(.text+0x4c17): undefined reference to `__sk_defer_free_flush'
>
> Lets move __sk_defer_free_flush to sock.c
>
deja vu ?
commit 48cec899e357cfb92d022a9c0df6bbe72a7f6951
Author: Gal Pressman <gal@nvidia.com>
Date: Thu Jan 20 14:34:40 2022 +0200
tcp: Add a stub for sk_defer_free_flush()
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'
Fixes: 79074a72d335 ("net: Flush deferred skb free on socket destroy")
Reported-by: kernel test robot <lkp@intel.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Gal Pressman <gal@nvidia.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20220120123440.9088-1-gal@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] net: Fix build when CONFIG_INET is not enabled
2022-02-11 16:40 [PATCH] net: Fix build when CONFIG_INET is not enabled Ricardo Ribalda
2022-02-11 17:24 ` Eric Dumazet
@ 2022-02-11 19:42 ` kernel test robot
1 sibling, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-02-11 19:42 UTC (permalink / raw)
To: Ricardo Ribalda, David S. Miller, Jakub Kicinski, Eric Dumazet,
Hideaki YOSHIFUJI, David Ahern, linux-kernel
Cc: kbuild-all, netdev, Ricardo Ribalda
Hi Ricardo,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
[also build test WARNING on net/master horms-ipvs/master linus/master v5.17-rc3 next-20220211]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Ricardo-Ribalda/net-Fix-build-when-CONFIG_INET-is-not-enabled/20220212-004127
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 5b91c5cc0e7be4e41567cb2a6e21a8bb682c7cc5
config: arc-randconfig-r043-20220211 (https://download.01.org/0day-ci/archive/20220212/202202120329.TB5XJjoH-lkp@intel.com/config)
compiler: arc-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/f9b7fbd36ce386e1b9fb64f316878a4e011c1a09
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ricardo-Ribalda/net-Fix-build-when-CONFIG_INET-is-not-enabled/20220212-004127
git checkout f9b7fbd36ce386e1b9fb64f316878a4e011c1a09
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash net/core/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> net/core/sock.c:2061:6: warning: no previous prototype for '__sk_defer_free_flush' [-Wmissing-prototypes]
2061 | void __sk_defer_free_flush(struct sock *sk)
| ^~~~~~~~~~~~~~~~~~~~~
vim +/__sk_defer_free_flush +2061 net/core/sock.c
2060
> 2061 void __sk_defer_free_flush(struct sock *sk)
2062 {
2063 struct llist_node *head;
2064 struct sk_buff *skb, *n;
2065
2066 head = llist_del_all(&sk->defer_list);
2067 llist_for_each_entry_safe(skb, n, head, ll_node) {
2068 prefetch(n);
2069 skb_mark_not_on_list(skb);
2070 __kfree_skb(skb);
2071 }
2072 }
2073 EXPORT_SYMBOL(__sk_defer_free_flush);
2074
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] net: Fix build when CONFIG_INET is not enabled
2022-02-11 17:24 ` Eric Dumazet
@ 2022-02-11 19:43 ` Ricardo Ribalda
0 siblings, 0 replies; 4+ messages in thread
From: Ricardo Ribalda @ 2022-02-11 19:43 UTC (permalink / raw)
To: Eric Dumazet
Cc: David S. Miller, Jakub Kicinski, Hideaki YOSHIFUJI, David Ahern,
netdev, LKML
Hi Eric
I failed to find that patch. I only searched in linus/master. Please
ignore mine.
Thanks.
On Fri, 11 Feb 2022 at 18:24, Eric Dumazet <edumazet@google.com> wrote:
>
> On Fri, Feb 11, 2022 at 8:40 AM Ricardo Ribalda <ribalda@chromium.org> wrote:
> >
> > If the kernel is configured with CONFIG_NET, but without CONFIG_INET we
> > get the following error when building:
> >
> > sock.c:(.text+0x4c17): undefined reference to `__sk_defer_free_flush'
> >
> > Lets move __sk_defer_free_flush to sock.c
> >
>
> deja vu ?
>
> commit 48cec899e357cfb92d022a9c0df6bbe72a7f6951
> Author: Gal Pressman <gal@nvidia.com>
> Date: Thu Jan 20 14:34:40 2022 +0200
>
> tcp: Add a stub for sk_defer_free_flush()
>
> 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'
>
> Fixes: 79074a72d335 ("net: Flush deferred skb free on socket destroy")
> Reported-by: kernel test robot <lkp@intel.com>
> Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
> Signed-off-by: Gal Pressman <gal@nvidia.com>
> Reviewed-by: Eric Dumazet <edumazet@google.com>
> Link: https://lore.kernel.org/r/20220120123440.9088-1-gal@nvidia.com
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--
Ricardo Ribalda
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-02-11 19:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-11 16:40 [PATCH] net: Fix build when CONFIG_INET is not enabled Ricardo Ribalda
2022-02-11 17:24 ` Eric Dumazet
2022-02-11 19:43 ` Ricardo Ribalda
2022-02-11 19:42 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®