Explorar o código

RDMA/cxgb3: Don't reuse skbs that are non-linear or cloned

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Steve Wise %!s(int64=18) %!d(string=hai) anos
pai
achega
1f6a849b7c
Modificáronse 1 ficheiros con 1 adicións e 2 borrados
  1. 1 2
      drivers/infiniband/hw/cxgb3/iwch_cm.c

+ 1 - 2
drivers/infiniband/hw/cxgb3/iwch_cm.c

@@ -305,8 +305,7 @@ static int status2errno(int status)
  */
  */
 static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp)
 static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp)
 {
 {
-	if (skb) {
-		BUG_ON(skb_cloned(skb));
+	if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) {
 		skb_trim(skb, 0);
 		skb_trim(skb, 0);
 		skb_get(skb);
 		skb_get(skb);
 	} else {
 	} else {