rxrpc: Don't negate call->error before returning it
authorDavid Howells <dhowells@redhat.com>
Tue, 29 Aug 2017 09:18:43 +0000 (10:18 +0100)
committerDavid Howells <dhowells@redhat.com>
Tue, 29 Aug 2017 09:55:20 +0000 (10:55 +0100)
call->error is stored as 0 or a negative error code.  Don't negate this
value (ie. make it positive) before returning it from a kernel function
(though it should still be negated before passing to userspace through a
control message).

Signed-off-by: David Howells <dhowells@redhat.com>
net/rxrpc/sendmsg.c

index b0d2cda..bc7f024 100644 (file)
@@ -61,7 +61,7 @@ static int rxrpc_wait_for_tx_window(struct rxrpc_sock *rx,
                          call->cong_cwnd + call->cong_extra))
                        break;
                if (call->state >= RXRPC_CALL_COMPLETE) {
-                       ret = -call->error;
+                       ret = call->error;
                        break;
                }
                if (signal_pending(current)) {
@@ -364,8 +364,8 @@ out:
 
 call_terminated:
        rxrpc_free_skb(skb, rxrpc_skb_tx_freed);
-       _leave(" = %d", -call->error);
-       return -call->error;
+       _leave(" = %d", call->error);
+       return call->error;
 
 maybe_error:
        if (copied)
@@ -660,7 +660,7 @@ int rxrpc_kernel_send_data(struct socket *sock, struct rxrpc_call *call,
                break;
        case RXRPC_CALL_COMPLETE:
                read_lock_bh(&call->state_lock);
-               ret = -call->error;
+               ret = call->error;
                read_unlock_bh(&call->state_lock);
                break;
        default: