xfrm: fix error checking in xfrm_output_gso
Subsystems (3)
PATCH 1/1 xfrm: fix error checking in xfrm_output_gso
xfrm_output2() returns 1 on success. This bug makes xfrm_output_gso() drop all segments except the first one.
Signed-off-by Zheng Yan <[email protected]>
---
net/xfrm/xfrm_output.c +1 -1
@@ -159,7 +159,7 @@ static int xfrm_output_gso(struct sk_buff *skb) segs->next =NULL ; err =xfrm_output2 (segs); -if (unlikely (err)) { +if (unlikely (err <0 )) {while ((segs = nskb)) { nskb = segs->next; segs->next =NULL ;
Quoted 10 lines · Zheng
xfrm_output2()returns 1 on success. This bug makesxfrm_output_gso()drop all segments except the first one.Signed-off-by Zheng Yan <[email protected]>---
net/xfrm/xfrm_output.c +0
-0
net/xfrm/xfrm_output.c static int xfrm_output_gso(struct sk_buff *skb) · line 165
Quoted 8 lines
net/xfrm/xfrm_output.c +1
-1@@ -159,7 +159,7 @@ static int xfrm_output_gso(struct sk_buff *skb) segs->next =NULL ; err =xfrm_output2 (segs); -if (unlikely (err)) { +if (unlikely (err <0 )) {while ((segs = nskb)) { nskb = segs->next; segs->next =NULL ;
Return 1 means collision, please ignore this patch. Thanks