diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-10-24 02:08:33 +0200 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-10-24 02:08:33 +0200 |
commit | f0b9ad5690ed96f95d91ca19fba2fb2894bae6f0 (patch) | |
tree | d1b649e6f97ac0f1fc9864a296021c71cf69cd21 /net/llc/af_llc.c | |
parent | 272e77de798362c31e6452a46a0e7d5b6aaeb550 (diff) | |
download | kernel_samsung_smdk4412-f0b9ad5690ed96f95d91ca19fba2fb2894bae6f0.zip kernel_samsung_smdk4412-f0b9ad5690ed96f95d91ca19fba2fb2894bae6f0.tar.gz kernel_samsung_smdk4412-f0b9ad5690ed96f95d91ca19fba2fb2894bae6f0.tar.bz2 |
update network codemigrate_3.2
Diffstat (limited to 'net/llc/af_llc.c')
-rw-r--r-- | net/llc/af_llc.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c index e5565c7..f432d7b 100644 --- a/net/llc/af_llc.c +++ b/net/llc/af_llc.c @@ -715,13 +715,11 @@ static int llc_ui_recvmsg(struct kiocb *iocb, struct socket *sock, struct llc_sock *llc = llc_sk(sk); size_t copied = 0; u32 peek_seq = 0; - u32 *seq; + u32 *seq, skb_len; unsigned long used; int target; /* Read at least this many bytes */ long timeo; - msg->msg_namelen = 0; - lock_sock(sk); copied = -ENOTCONN; if (unlikely(sk->sk_type == SOCK_STREAM && sk->sk_state == TCP_LISTEN)) @@ -815,6 +813,7 @@ static int llc_ui_recvmsg(struct kiocb *iocb, struct socket *sock, } continue; found_ok_skb: + skb_len = skb->len; /* Ok so how much can we use? */ used = skb->len - offset; if (len < used) @@ -845,7 +844,7 @@ static int llc_ui_recvmsg(struct kiocb *iocb, struct socket *sock, } /* Partial read */ - if (used + offset < skb->len) + if (used + offset < skb_len) continue; } while (len > 0); |