On Fri, Sep 2, 2016 at 11:46 PM, Alexey Khoroshilov
<[email protected]> wrote:
> 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 <[email protected]>
> ---
>  drivers/infiniband/sw/rxe/rxe_recv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> 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);
> --
> 2.7.4
>
Acked-by: Moni Shoua <[email protected]>

Reply via email to