mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
af_unix: Set error only when needed in unix_stream_sendmsg().
We will introduce skb drop reason for AF_UNIX, then we need to set an errno and a drop reason for each path. Let's set an error only when it's needed in unix_stream_sendmsg(). Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
e26ee0a736
commit
6c444255b1
|
|
@ -2254,8 +2254,8 @@ static int unix_stream_sendmsg(struct socket *sock, struct msghdr *msg,
|
|||
|
||||
wait_for_unix_gc(scm.fp);
|
||||
|
||||
err = -EOPNOTSUPP;
|
||||
if (msg->msg_flags & MSG_OOB) {
|
||||
err = -EOPNOTSUPP;
|
||||
#if IS_ENABLED(CONFIG_AF_UNIX_OOB)
|
||||
if (len)
|
||||
len--;
|
||||
|
|
@ -2268,10 +2268,11 @@ static int unix_stream_sendmsg(struct socket *sock, struct msghdr *msg,
|
|||
err = READ_ONCE(sk->sk_state) == TCP_ESTABLISHED ? -EISCONN : -EOPNOTSUPP;
|
||||
goto out_err;
|
||||
} else {
|
||||
err = -ENOTCONN;
|
||||
other = unix_peer(sk);
|
||||
if (!other)
|
||||
if (!other) {
|
||||
err = -ENOTCONN;
|
||||
goto out_err;
|
||||
}
|
||||
}
|
||||
|
||||
if (READ_ONCE(sk->sk_shutdown) & SEND_SHUTDOWN)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user