[SRU][Cosmic][Bionic][Xenial][PATCH 1/2] net/af_iucv: drop inbound packets with invalid flags
Frank Heimes
frank.heimes at canonical.com
Fri Nov 2 19:20:57 UTC 2018
From: Julian Wiedmann <jwi at linux.ibm.com>
BugLink: http://bugs.launchpad.net/bugs/1800639
net/af_iucv: drop inbound packets with invalid flags
Inbound packets may have any combination of flag bits set in their iucv
header. If we don't know how to handle a specific combination, drop the
skb instead of leaking it.
To clarify what error is returned in this case, replace the hard-coded
0 with the corresponding macro.
Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
(cherry-picked from commit 222440996d6daf635bed6cb35041be22ede3e8a0)
Signed-off-by: Frank Heimes <frank.heimes at canonical.com>
---
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
index a21d8ed..01000c1 100644
--- a/net/iucv/af_iucv.c
+++ b/net/iucv/af_iucv.c
@@ -2155,8 +2155,8 @@ static int afiucv_hs_rcv(struct sk_buff *skb, struct
net_device *dev,
struct sock *sk;
struct iucv_sock *iucv;
struct af_iucv_trans_hdr *trans_hdr;
+ int err = NET_RX_SUCCESS;
char nullstring[8];
- int err = 0;
if (skb->len < (ETH_HLEN + sizeof(struct af_iucv_trans_hdr))) {
WARN_ONCE(1, "AF_IUCV too short skb, len=%d, min=%d",
@@ -2254,7 +2254,7 @@ static int afiucv_hs_rcv(struct sk_buff *skb, struct
net_device *dev,
err = afiucv_hs_callback_rx(sk, skb);
break;
default:
- ;
+ kfree_skb(skb);
}
return err;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20181102/361d0ec6/attachment.html>
More information about the kernel-team
mailing list