summaryrefslogtreecommitdiff
path: root/.mailmap
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2016-05-18 17:42:13 -0700
committerDavid S. Miller <davem@davemloft.net>2016-05-23 13:51:10 -0700
commitc685293aa379b9d17e44fcc2f96a402b7648e838 (patch)
tree7c20c6c980b5df0c3d003eac0f13a0f087d6ecbb /.mailmap
parentbbf178e0a0a323d896611905718db112b1ab1807 (diff)
net/atm: sk_err_soft must be positive
The sk_err and sk_err_soft fields are positive errno values and userspace applications rely on this when using getsockopt(SO_ERROR). ATM code places an -errno into sk_err_soft in sigd_send() and returns it from svc_addparty()/svc_dropparty(). Although I am not familiar with ATM code I came to this conclusion because: 1. sigd_send() msg->type cases as_okay and as_error both have: sk->sk_err = -msg->reply; while the as_addparty and as_dropparty cases have: sk->sk_err_soft = msg->reply; This is the source of the inconsistency. 2. svc_addparty() returns an -errno and assumes sk_err_soft is also an -errno: if (flags & O_NONBLOCK) { error = -EINPROGRESS; goto out; } ... error = xchg(&sk->sk_err_soft, 0); out: release_sock(sk); return error; This shows that sk_err_soft is indeed being treated as an -errno. This patch ensures that sk_err_soft is always a positive errno. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '.mailmap')
0 files changed, 0 insertions, 0 deletions