diff options
| author | Ingo Molnar <mingo@kernel.org> | 2019-02-28 02:27:17 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2019-02-28 02:27:17 -0500 |
| commit | 9ed8f1a6e7670aadd5aef30456a90b456ed1b185 (patch) | |
| tree | b93479f7f70187b68d29b747ce02c720ddb11f42 /net/smc/af_smc.c | |
| parent | 43f4e6279f05eefac058a3524e184cecae463bfe (diff) | |
| parent | 7d762d69145a54d169f58e56d6dac57a5508debc (diff) | |
Merge branch 'linus' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/smc/af_smc.c')
| -rw-r--r-- | net/smc/af_smc.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c index c4e56602e0c6..b04a813fc865 100644 --- a/net/smc/af_smc.c +++ b/net/smc/af_smc.c | |||
| @@ -1505,6 +1505,11 @@ static int smc_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, | |||
| 1505 | 1505 | ||
| 1506 | smc = smc_sk(sk); | 1506 | smc = smc_sk(sk); |
| 1507 | lock_sock(sk); | 1507 | lock_sock(sk); |
| 1508 | if (sk->sk_state == SMC_CLOSED && (sk->sk_shutdown & RCV_SHUTDOWN)) { | ||
| 1509 | /* socket was connected before, no more data to read */ | ||
| 1510 | rc = 0; | ||
| 1511 | goto out; | ||
| 1512 | } | ||
| 1508 | if ((sk->sk_state == SMC_INIT) || | 1513 | if ((sk->sk_state == SMC_INIT) || |
| 1509 | (sk->sk_state == SMC_LISTEN) || | 1514 | (sk->sk_state == SMC_LISTEN) || |
| 1510 | (sk->sk_state == SMC_CLOSED)) | 1515 | (sk->sk_state == SMC_CLOSED)) |
| @@ -1840,7 +1845,11 @@ static ssize_t smc_splice_read(struct socket *sock, loff_t *ppos, | |||
| 1840 | 1845 | ||
| 1841 | smc = smc_sk(sk); | 1846 | smc = smc_sk(sk); |
| 1842 | lock_sock(sk); | 1847 | lock_sock(sk); |
| 1843 | 1848 | if (sk->sk_state == SMC_CLOSED && (sk->sk_shutdown & RCV_SHUTDOWN)) { | |
| 1849 | /* socket was connected before, no more data to read */ | ||
| 1850 | rc = 0; | ||
| 1851 | goto out; | ||
| 1852 | } | ||
| 1844 | if (sk->sk_state == SMC_INIT || | 1853 | if (sk->sk_state == SMC_INIT || |
| 1845 | sk->sk_state == SMC_LISTEN || | 1854 | sk->sk_state == SMC_LISTEN || |
| 1846 | sk->sk_state == SMC_CLOSED) | 1855 | sk->sk_state == SMC_CLOSED) |
