forked from Minki/linux
Merge branch 'sockmap-fixes'
Daniel Borkmann says: ==================== Two sockmap fixes in bpf_tcp_sendmsg(), and one fix for the sockmap kernel selftest. Thanks! ==================== Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
commit
bf9bae0ea6
@ -1048,12 +1048,12 @@ static int bpf_tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
|
||||
timeo = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT);
|
||||
|
||||
while (msg_data_left(msg)) {
|
||||
struct sk_msg_buff *m;
|
||||
struct sk_msg_buff *m = NULL;
|
||||
bool enospc = false;
|
||||
int copy;
|
||||
|
||||
if (sk->sk_err) {
|
||||
err = sk->sk_err;
|
||||
err = -sk->sk_err;
|
||||
goto out_err;
|
||||
}
|
||||
|
||||
@ -1116,8 +1116,11 @@ wait_for_sndbuf:
|
||||
set_bit(SOCK_NOSPACE, &sk->sk_socket->flags);
|
||||
wait_for_memory:
|
||||
err = sk_stream_wait_memory(sk, &timeo);
|
||||
if (err)
|
||||
if (err) {
|
||||
if (m && m != psock->cork)
|
||||
free_start_sg(sk, m);
|
||||
goto out_err;
|
||||
}
|
||||
}
|
||||
out_err:
|
||||
if (err < 0)
|
||||
|
@ -354,7 +354,7 @@ static int msg_loop(int fd, int iov_count, int iov_length, int cnt,
|
||||
while (s->bytes_recvd < total_bytes) {
|
||||
if (txmsg_cork) {
|
||||
timeout.tv_sec = 0;
|
||||
timeout.tv_usec = 1000;
|
||||
timeout.tv_usec = 300000;
|
||||
} else {
|
||||
timeout.tv_sec = 1;
|
||||
timeout.tv_usec = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user