[PATCH] udp: Unbreak modules that rely on external __skb_recv_udp() availability

Subsystems: networking [general], the rest, user datagram protocol (udp)

STALE2892d

3 messages, 2 authors, 2018-10-08 · open the first message on its own page

[PATCH] udp: Unbreak modules that rely on external __skb_recv_udp() availability

From: Jiri Kosina <jikos@kernel.org>
Date: 2018-10-04 11:37:38

From: Jiri Kosina <redacted>

Commit 2276f58ac589 ("udp: use a separate rx queue for packet reception")
turned static inline __skb_recv_udp() from being a trivial helper around
__skb_recv_datagram() into a UDP specific implementaion, making it
EXPORT_SYMBOL_GPL() at the same time.

There are external modules that got broken by __skb_recv_udp() not being
visible to them. Let's unbreak them by making __skb_recv_udp EXPORT_SYMBOL().

Rationale (one of those) why this is actually "technically correct" thing 
to do: __skb_recv_udp() used to be an inline wrapper around 
__skb_recv_datagram(), which itself (still, and correctly so, I believe) 
is EXPORT_SYMBOL().

Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Eric Dumazet <edumazet@google.com>
Fixes: 2276f58ac589 ("udp: use a separate rx queue for packet reception")
Signed-off-by: Jiri Kosina <redacted>
---
 net/ipv4/udp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 7d69dd6fa7e8..c32a4c16b7ff 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -1627,7 +1627,7 @@ struct sk_buff *__skb_recv_udp(struct sock *sk, unsigned int flags,
 	*err = error;
 	return NULL;
 }
-EXPORT_SYMBOL_GPL(__skb_recv_udp);
+EXPORT_SYMBOL(__skb_recv_udp);
 
 /*
  * 	This should be easy, if there is something there we
-- 
Jiri Kosina
SUSE Labs

Re: [PATCH] udp: Unbreak modules that rely on external __skb_recv_udp() availability

From: David Miller <davem@davemloft.net>
Date: 2018-10-08 03:34:27

From: Jiri Kosina <jikos@kernel.org>
Date: Thu, 4 Oct 2018 13:37:32 +0200 (CEST)
From: Jiri Kosina <redacted>

Commit 2276f58ac589 ("udp: use a separate rx queue for packet reception")
turned static inline __skb_recv_udp() from being a trivial helper around
__skb_recv_datagram() into a UDP specific implementaion, making it
EXPORT_SYMBOL_GPL() at the same time.

There are external modules that got broken by __skb_recv_udp() not being
visible to them. Let's unbreak them by making __skb_recv_udp EXPORT_SYMBOL().

Rationale (one of those) why this is actually "technically correct" thing 
to do: __skb_recv_udp() used to be an inline wrapper around 
__skb_recv_datagram(), which itself (still, and correctly so, I believe) 
is EXPORT_SYMBOL().

Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Eric Dumazet <edumazet@google.com>
Fixes: 2276f58ac589 ("udp: use a separate rx queue for packet reception")
Signed-off-by: Jiri Kosina <redacted>
Applied...

But waiting from 4.13 until now to bring this up is really pushing it...

Re: [PATCH] udp: Unbreak modules that rely on external __skb_recv_udp() availability

From: Jiri Kosina <jikos@kernel.org>
Date: 2018-10-08 05:15:33

On Sun, 7 Oct 2018, David Miller wrote:
quoted
From: Jiri Kosina <redacted>

Commit 2276f58ac589 ("udp: use a separate rx queue for packet reception")
turned static inline __skb_recv_udp() from being a trivial helper around
__skb_recv_datagram() into a UDP specific implementaion, making it
EXPORT_SYMBOL_GPL() at the same time.

There are external modules that got broken by __skb_recv_udp() not being
visible to them. Let's unbreak them by making __skb_recv_udp EXPORT_SYMBOL().

Rationale (one of those) why this is actually "technically correct" thing 
to do: __skb_recv_udp() used to be an inline wrapper around 
__skb_recv_datagram(), which itself (still, and correctly so, I believe) 
is EXPORT_SYMBOL().

Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Eric Dumazet <edumazet@google.com>
Fixes: 2276f58ac589 ("udp: use a separate rx queue for packet reception")
Signed-off-by: Jiri Kosina <redacted>
Applied...
Thanks.
But waiting from 4.13 until now to bring this up is really pushing it...
Well, we been hit by this in distro kernel that got 2276f58ac589 
backported only recently, so that's why.

Thanks again,

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