diff options
author | Yevgeny Petrilin <yevgenyp@mellanox.co.il> | 2010-09-06 02:20:11 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-09-07 05:48:44 +0400 |
commit | ebc872c7bd7155bcc7db2343155729d13bf4a2ee (patch) | |
tree | c95e65e37519c7267c4f1dea22b84aacbf1d8039 /drivers/net/mlx4/en_rx.c | |
parent | f6c9322c3a0cd50a6996094327347c87cd2f4bd8 (diff) | |
download | linux-ebc872c7bd7155bcc7db2343155729d13bf4a2ee.tar.xz |
mlx4_en: Consider napi_get_frags() failure.
If failed to get skb frags using napi_get_frags(),
the packet is dropped.
Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/mlx4/en_rx.c')
-rw-r--r-- | drivers/net/mlx4/en_rx.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/mlx4/en_rx.c b/drivers/net/mlx4/en_rx.c index c4aad7f2beb9..570f2508fb30 100644 --- a/drivers/net/mlx4/en_rx.c +++ b/drivers/net/mlx4/en_rx.c @@ -591,6 +591,8 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud * - not an IP fragment */ if (dev->features & NETIF_F_GRO) { struct sk_buff *gro_skb = napi_get_frags(&cq->napi); + if (!gro_skb) + goto next; nr = mlx4_en_complete_rx_desc( priv, rx_desc, |