Message ID | 1e792b80ae514e944f868c904c30e797e02b418c.1539769397.git.pabeni@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [net] udp6: fix encap return code for resubmitting | expand |
From: Paolo Abeni <pabeni@redhat.com> Date: Wed, 17 Oct 2018 11:44:04 +0200 > The commit eb63f2964dbe ("udp6: add missing checks on edumux packet > processing") used the same return code convention of the ipv4 counterpart, > but ipv6 uses the opposite one: positive values means resubmit. > > This change addresses the issue, using positive return value for > resubmitting. Also update the related comment, which was broken, too. > > Fixes: eb63f2964dbe ("udp6: add missing checks on edumux packet processing") > Signed-off-by: Paolo Abeni <pabeni@redhat.com> > --- > Note: I could not find any in kernel udp6 encap using the above > feature, that would explain why nobody complained so far... Applied.
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 28c4aa5078fc..b36694b6716e 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -766,11 +766,9 @@ static int udp6_unicast_rcv_skb(struct sock *sk, struct sk_buff *skb, ret = udpv6_queue_rcv_skb(sk, skb); - /* a return value > 0 means to resubmit the input, but - * it wants the return to be -protocol, or 0 - */ + /* a return value > 0 means to resubmit the input */ if (ret > 0) - return -ret; + return ret; return 0; }
The commit eb63f2964dbe ("udp6: add missing checks on edumux packet processing") used the same return code convention of the ipv4 counterpart, but ipv6 uses the opposite one: positive values means resubmit. This change addresses the issue, using positive return value for resubmitting. Also update the related comment, which was broken, too. Fixes: eb63f2964dbe ("udp6: add missing checks on edumux packet processing") Signed-off-by: Paolo Abeni <pabeni@redhat.com> --- Note: I could not find any in kernel udp6 encap using the above feature, that would explain why nobody complained so far... --- net/ipv6/udp.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)