diff options
author | Alex Shi <alex.shi@linaro.org> | 2017-01-19 22:49:17 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2017-01-19 22:49:17 +0800 |
commit | d661f15677f5205c1d272c2db90b60b2d56b25dd (patch) | |
tree | de3654c1be908381cbe1e46d8ff1afd447851330 /net/l2tp/l2tp_ip.c | |
parent | 659a75a439d055cc48086afc2e101ca6ad8343a4 (diff) | |
parent | 65117109f6344fa46542f85844bc292842116192 (diff) |
Merge branch 'lsk-v4.1-android' of git://android.git.linaro.org/kernel/linaro-android into linux-linaro-lsk-v4.1-androidlsk-v4.1-17.02-android
Diffstat (limited to 'net/l2tp/l2tp_ip.c')
-rw-r--r-- | net/l2tp/l2tp_ip.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c index 44ee0683b14b..1a8281de81d5 100644 --- a/net/l2tp/l2tp_ip.c +++ b/net/l2tp/l2tp_ip.c @@ -251,8 +251,6 @@ static int l2tp_ip_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len) int ret; int chk_addr_ret; - if (!sock_flag(sk, SOCK_ZAPPED)) - return -EINVAL; if (addr_len < sizeof(struct sockaddr_l2tpip)) return -EINVAL; if (addr->l2tp_family != AF_INET) @@ -267,6 +265,9 @@ static int l2tp_ip_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len) read_unlock_bh(&l2tp_ip_lock); lock_sock(sk); + if (!sock_flag(sk, SOCK_ZAPPED)) + goto out; + if (sk->sk_state != TCP_CLOSE || addr_len < sizeof(struct sockaddr_l2tpip)) goto out; |