diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2019-05-31 18:48:45 -0400 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-05-31 18:48:45 -0400 |
| commit | 24e8a2ca1f74574ad2ed1ac7af0260dd90fd911e (patch) | |
| tree | c863dd43c84579d853f3a2ae0ee6ead46c967703 /net/ipv4/tcp_bpf.c | |
| parent | 66f61c92889ff3ca365161fb29dd36d6354682ba (diff) | |
| parent | d724c9e54939a597592de3659541da11fc7aa112 (diff) | |
Merge tag 'kvm-ppc-fixes-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into kvm-master
PPC KVM fixes for 5.2
- Several bug fixes for the new XIVE-native code.
- Replace kvm->lock by other mutexes in several places where we hold a
vcpu mutex, to avoid lock order inversions.
- Fix a lockdep warning on guest entry for radix-mode guests.
- Fix a bug causing user-visible corruption of SPRG3 on the host.
Diffstat (limited to 'net/ipv4/tcp_bpf.c')
| -rw-r--r-- | net/ipv4/tcp_bpf.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/tcp_bpf.c b/net/ipv4/tcp_bpf.c index 1bb7321a256d..3d1e15401384 100644 --- a/net/ipv4/tcp_bpf.c +++ b/net/ipv4/tcp_bpf.c | |||
| @@ -27,7 +27,10 @@ static int tcp_bpf_wait_data(struct sock *sk, struct sk_psock *psock, | |||
| 27 | int flags, long timeo, int *err) | 27 | int flags, long timeo, int *err) |
| 28 | { | 28 | { |
| 29 | DEFINE_WAIT_FUNC(wait, woken_wake_function); | 29 | DEFINE_WAIT_FUNC(wait, woken_wake_function); |
| 30 | int ret; | 30 | int ret = 0; |
| 31 | |||
| 32 | if (!timeo) | ||
| 33 | return ret; | ||
| 31 | 34 | ||
| 32 | add_wait_queue(sk_sleep(sk), &wait); | 35 | add_wait_queue(sk_sleep(sk), &wait); |
| 33 | sk_set_bit(SOCKWQ_ASYNC_WAITDATA, sk); | 36 | sk_set_bit(SOCKWQ_ASYNC_WAITDATA, sk); |
| @@ -528,8 +531,6 @@ static void tcp_bpf_remove(struct sock *sk, struct sk_psock *psock) | |||
| 528 | { | 531 | { |
| 529 | struct sk_psock_link *link; | 532 | struct sk_psock_link *link; |
| 530 | 533 | ||
| 531 | sk_psock_cork_free(psock); | ||
| 532 | __sk_psock_purge_ingress_msg(psock); | ||
| 533 | while ((link = sk_psock_link_pop(psock))) { | 534 | while ((link = sk_psock_link_pop(psock))) { |
| 534 | sk_psock_unlink(sk, link); | 535 | sk_psock_unlink(sk, link); |
| 535 | sk_psock_free_link(link); | 536 | sk_psock_free_link(link); |
