Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1475443 > unrolled thread

[PATCH] IB/rxe: fix GFP_KERNEL in spinlock context

Started byAlexey Khoroshilov <khoroshilov@ispras.ru>
First post2016-09-02 22:50 +0200
Last post2016-09-04 12:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] IB/rxe: fix GFP_KERNEL in spinlock context Alexey Khoroshilov <khoroshilov@ispras.ru> - 2016-09-02 22:50 +0200
    Re: [PATCH] IB/rxe: fix GFP_KERNEL in spinlock context Moni Shoua <monis@mellanox.com> - 2016-09-04 12:10 +0200

#1475443 — [PATCH] IB/rxe: fix GFP_KERNEL in spinlock context

FromAlexey Khoroshilov <khoroshilov@ispras.ru>
Date2016-09-02 22:50 +0200
Subject[PATCH] IB/rxe: fix GFP_KERNEL in spinlock context
Message-ID<sd3zs-4hL-5@gated-at.bofh.it>
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>
---
 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

[toc] | [next] | [standalone]


#1475905

FromMoni Shoua <monis@mellanox.com>
Date2016-09-04 12:10 +0200
Message-ID<sdCxc-4ou-13@gated-at.bofh.it>
In reply to#1475443
On Fri, Sep 2, 2016 at 11:46 PM, Alexey Khoroshilov
<khoroshilov@ispras.ru> 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 <khoroshilov@ispras.ru>
> ---
>  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 <monis@mellanox.com>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web