Commit 31c73cb5 authored by David S. Miller's avatar David S. Miller

Merge branch 'rmnet-fixes'

Subash Abhinov Kasiviswanathan says:

====================
net: qualcomm: rmnet: Updates 2018-10-02

This series is a set of small fixes for rmnet driver

Patch 1 is a fix for a scenario reported by syzkaller
Patch 2 & 3 are fixes for incorrect allocation flags
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 45ec3185 ec405641
...@@ -113,7 +113,7 @@ rmnet_map_ingress_handler(struct sk_buff *skb, ...@@ -113,7 +113,7 @@ rmnet_map_ingress_handler(struct sk_buff *skb,
struct sk_buff *skbn; struct sk_buff *skbn;
if (skb->dev->type == ARPHRD_ETHER) { if (skb->dev->type == ARPHRD_ETHER) {
if (pskb_expand_head(skb, ETH_HLEN, 0, GFP_KERNEL)) { if (pskb_expand_head(skb, ETH_HLEN, 0, GFP_ATOMIC)) {
kfree_skb(skb); kfree_skb(skb);
return; return;
} }
...@@ -147,7 +147,7 @@ static int rmnet_map_egress_handler(struct sk_buff *skb, ...@@ -147,7 +147,7 @@ static int rmnet_map_egress_handler(struct sk_buff *skb,
} }
if (skb_headroom(skb) < required_headroom) { if (skb_headroom(skb) < required_headroom) {
if (pskb_expand_head(skb, required_headroom, 0, GFP_KERNEL)) if (pskb_expand_head(skb, required_headroom, 0, GFP_ATOMIC))
return -ENOMEM; return -ENOMEM;
} }
...@@ -189,6 +189,9 @@ rx_handler_result_t rmnet_rx_handler(struct sk_buff **pskb) ...@@ -189,6 +189,9 @@ rx_handler_result_t rmnet_rx_handler(struct sk_buff **pskb)
if (!skb) if (!skb)
goto done; goto done;
if (skb->pkt_type == PACKET_LOOPBACK)
return RX_HANDLER_PASS;
dev = skb->dev; dev = skb->dev;
port = rmnet_get_port(dev); port = rmnet_get_port(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment