aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_input.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/xfrm/xfrm_input.c')
-rw-r--r--net/xfrm/xfrm_input.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c
index 2515cd2bc5db..8ac9d32fb79d 100644
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
@@ -429,7 +429,8 @@ resume:
429 nf_reset(skb); 429 nf_reset(skb);
430 430
431 if (decaps) { 431 if (decaps) {
432 skb->sp->olen = 0; 432 if (skb->sp)
433 skb->sp->olen = 0;
433 skb_dst_drop(skb); 434 skb_dst_drop(skb);
434 gro_cells_receive(&gro_cells, skb); 435 gro_cells_receive(&gro_cells, skb);
435 return 0; 436 return 0;
@@ -440,7 +441,8 @@ resume:
440 441
441 err = x->inner_mode->afinfo->transport_finish(skb, xfrm_gro || async); 442 err = x->inner_mode->afinfo->transport_finish(skb, xfrm_gro || async);
442 if (xfrm_gro) { 443 if (xfrm_gro) {
443 skb->sp->olen = 0; 444 if (skb->sp)
445 skb->sp->olen = 0;
444 skb_dst_drop(skb); 446 skb_dst_drop(skb);
445 gro_cells_receive(&gro_cells, skb); 447 gro_cells_receive(&gro_cells, skb);
446 return err; 448 return err;