diff options
author | Alexey Khoroshilov <khoroshilov@ispras.ru> | 2016-09-02 23:46:53 +0300 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-09-16 21:14:08 +0300 |
commit | 5e102b3b4fa944815aead89e63eec2a35069a07b (patch) | |
tree | 4524b72cbb25dcea49c7e977c5c6bc577b8db9e8 | |
parent | 16170d9c102764f76c58aad244e947f4e3f44590 (diff) | |
download | linux-5e102b3b4fa944815aead89e63eec2a35069a07b.tar.xz |
IB/rxe: fix GFP_KERNEL in spinlock context
There is skb_clone(skb, GFP_KERNEL) in spinlock context
in rxe_rcv_mcast_pkt().
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Acked-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r-- | drivers/infiniband/sw/rxe/rxe_recv.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_recv.c b/drivers/infiniband/sw/rxe/rxe_recv.c index 3d464c23e08b..144d2f129fcd 100644 --- a/drivers/infiniband/sw/rxe/rxe_recv.c +++ b/drivers/infiniband/sw/rxe/rxe_recv.c @@ -312,7 +312,7 @@ static void rxe_rcv_mcast_pkt(struct rxe_dev *rxe, struct sk_buff *skb) * make a copy of the skb to post to the next qp */ skb_copy = (mce->qp_list.next != &mcg->qp_list) ? - skb_clone(skb, GFP_KERNEL) : NULL; + skb_clone(skb, GFP_ATOMIC) : NULL; pkt->qp = qp; rxe_add_ref(qp); |