Loading kernel/bpf/sockmap.c +6 −3 Original line number Diff line number Diff line Loading @@ -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; } Loading Loading @@ -1116,9 +1116,12 @@ static int bpf_tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) 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) err = sk_stream_error(sk, msg->msg_flags, err); Loading tools/testing/selftests/bpf/test_sockmap.c +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
kernel/bpf/sockmap.c +6 −3 Original line number Diff line number Diff line Loading @@ -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; } Loading Loading @@ -1116,9 +1116,12 @@ static int bpf_tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) 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) err = sk_stream_error(sk, msg->msg_flags, err); Loading
tools/testing/selftests/bpf/test_sockmap.c +1 −1 Original line number Diff line number Diff line Loading @@ -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