diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2011-04-26 04:22:15 -0400 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2011-04-26 04:22:59 -0400 |
| commit | 07f9479a40cc778bc1462ada11f95b01360ae4ff (patch) | |
| tree | 0676cf38df3844004bb3ebfd99dfa67a4a8998f5 /net/xfrm/xfrm_output.c | |
| parent | 9d5e6bdb3013acfb311ab407eeca0b6a6a3dedbf (diff) | |
| parent | cd2e49e90f1cae7726c9a2c54488d881d7f1cd1c (diff) | |
Merge branch 'master' into for-next
Fast-forwarded to current state of Linus' tree as there are patches to be
applied for files that didn't exist on the old branch.
Diffstat (limited to 'net/xfrm/xfrm_output.c')
| -rw-r--r-- | net/xfrm/xfrm_output.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_output.c b/net/xfrm/xfrm_output.c index 1aba03f449cc..47bacd8c0250 100644 --- a/net/xfrm/xfrm_output.c +++ b/net/xfrm/xfrm_output.c | |||
| @@ -78,6 +78,8 @@ static int xfrm_output_one(struct sk_buff *skb, int err) | |||
| 78 | 78 | ||
| 79 | spin_unlock_bh(&x->lock); | 79 | spin_unlock_bh(&x->lock); |
| 80 | 80 | ||
| 81 | skb_dst_force(skb); | ||
| 82 | |||
| 81 | err = x->type->output(x, skb); | 83 | err = x->type->output(x, skb); |
| 82 | if (err == -EINPROGRESS) | 84 | if (err == -EINPROGRESS) |
| 83 | goto out_exit; | 85 | goto out_exit; |
| @@ -94,7 +96,7 @@ resume: | |||
| 94 | err = -EHOSTUNREACH; | 96 | err = -EHOSTUNREACH; |
| 95 | goto error_nolock; | 97 | goto error_nolock; |
| 96 | } | 98 | } |
| 97 | skb_dst_set(skb, dst_clone(dst)); | 99 | skb_dst_set(skb, dst); |
| 98 | x = dst->xfrm; | 100 | x = dst->xfrm; |
| 99 | } while (x && !(x->outer_mode->flags & XFRM_MODE_FLAG_TUNNEL)); | 101 | } while (x && !(x->outer_mode->flags & XFRM_MODE_FLAG_TUNNEL)); |
| 100 | 102 | ||
