diff options
| -rw-r--r-- | net/bridge/br_netfilter.c | 1 | ||||
| -rw-r--r-- | net/xfrm/xfrm_policy.c | 7 |
2 files changed, 5 insertions, 3 deletions
diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c index 6bb0c7eb1ef0..e060aad8624d 100644 --- a/net/bridge/br_netfilter.c +++ b/net/bridge/br_netfilter.c | |||
| @@ -90,6 +90,7 @@ static struct rtable __fake_rtable = { | |||
| 90 | .dev = &__fake_net_device, | 90 | .dev = &__fake_net_device, |
| 91 | .path = &__fake_rtable.u.dst, | 91 | .path = &__fake_rtable.u.dst, |
| 92 | .metrics = {[RTAX_MTU - 1] = 1500}, | 92 | .metrics = {[RTAX_MTU - 1] = 1500}, |
| 93 | .flags = DST_NOXFRM, | ||
| 93 | } | 94 | } |
| 94 | }, | 95 | }, |
| 95 | .rt_flags = 0, | 96 | .rt_flags = 0, |
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index 5e6b05ac1260..8206025d8e46 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
| @@ -782,7 +782,7 @@ int xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl, | |||
| 782 | int nx = 0; | 782 | int nx = 0; |
| 783 | int err; | 783 | int err; |
| 784 | u32 genid; | 784 | u32 genid; |
| 785 | u16 family = dst_orig->ops->family; | 785 | u16 family; |
| 786 | u8 dir = policy_to_flow_dir(XFRM_POLICY_OUT); | 786 | u8 dir = policy_to_flow_dir(XFRM_POLICY_OUT); |
| 787 | u32 sk_sid = security_sk_sid(sk, fl, dir); | 787 | u32 sk_sid = security_sk_sid(sk, fl, dir); |
| 788 | restart: | 788 | restart: |
| @@ -796,13 +796,14 @@ restart: | |||
| 796 | if ((dst_orig->flags & DST_NOXFRM) || !xfrm_policy_list[XFRM_POLICY_OUT]) | 796 | if ((dst_orig->flags & DST_NOXFRM) || !xfrm_policy_list[XFRM_POLICY_OUT]) |
| 797 | return 0; | 797 | return 0; |
| 798 | 798 | ||
| 799 | policy = flow_cache_lookup(fl, sk_sid, family, dir, | 799 | policy = flow_cache_lookup(fl, sk_sid, dst_orig->ops->family, |
| 800 | xfrm_policy_lookup); | 800 | dir, xfrm_policy_lookup); |
| 801 | } | 801 | } |
| 802 | 802 | ||
| 803 | if (!policy) | 803 | if (!policy) |
| 804 | return 0; | 804 | return 0; |
| 805 | 805 | ||
| 806 | family = dst_orig->ops->family; | ||
| 806 | policy->curlft.use_time = (unsigned long)xtime.tv_sec; | 807 | policy->curlft.use_time = (unsigned long)xtime.tv_sec; |
| 807 | 808 | ||
| 808 | switch (policy->action) { | 809 | switch (policy->action) { |
