diff options
author | Dave Airlie <airlied@redhat.com> | 2016-12-05 17:11:48 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-12-05 17:11:48 +1000 |
commit | f03ee46be9401e3434f52bb15e92d1e640f76438 (patch) | |
tree | f0a1819bd3e44902578b80e1a03d1dde1c6099b8 /net/xfrm/xfrm_policy.c | |
parent | 0d5320fc194128a1a584a7e91a606cb3af2ded80 (diff) | |
parent | 3e5de27e940d00d8d504dfb96625fb654f641509 (diff) | |
download | linux-f03ee46be9401e3434f52bb15e92d1e640f76438.tar.bz2 |
Backmerge tag 'v4.9-rc8' into drm-next
Linux 4.9-rc8
Daniel requested this so we could apply some follow on fixes cleanly to -next.
Diffstat (limited to 'net/xfrm/xfrm_policy.c')
-rw-r--r-- | net/xfrm/xfrm_policy.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index fd6986634e6f..5bf7e1bfeac7 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c @@ -1268,12 +1268,14 @@ static struct xfrm_policy *xfrm_sk_policy_lookup(const struct sock *sk, int dir, err = security_xfrm_policy_lookup(pol->security, fl->flowi_secid, policy_to_flow_dir(dir)); - if (!err && !xfrm_pol_hold_rcu(pol)) - goto again; - else if (err == -ESRCH) + if (!err) { + if (!xfrm_pol_hold_rcu(pol)) + goto again; + } else if (err == -ESRCH) { pol = NULL; - else + } else { pol = ERR_PTR(err); + } } else pol = NULL; } |