rxrpc: Differentiate local and remote abort codes in structs
authorDavid Howells <dhowells@redhat.com>
Thu, 7 Apr 2016 16:23:30 +0000 (17:23 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 11 Apr 2016 19:34:40 +0000 (15:34 -0400)
commitdc44b3a09aec9ac57c1e7410677c87c0e6453624
treef1d8e6b201aec9bad334ab6e9df06ccce6bdfd36
parent5b3e87f19e71b7a2f789c40de04704886932b5cf
rxrpc: Differentiate local and remote abort codes in structs

In the rxrpc_connection and rxrpc_call structs, there's one field to hold
the abort code, no matter whether that value was generated locally to be
sent or was received from the peer via an abort packet.

Split the abort code fields in two for cleanliness sake and add an error
field to hold the Linux error number to the rxrpc_call struct too
(sometimes this is generated in a context where we can't return it to
userspace directly).

Furthermore, add a skb mark to indicate a packet that caused a local abort
to be generated so that recvmsg() can pick up the correct abort code.  A
future addition will need to be to indicate to userspace the difference
between aborts via a control message.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
fs/afs/rxrpc.c
include/net/af_rxrpc.h
net/rxrpc/ar-ack.c
net/rxrpc/ar-call.c
net/rxrpc/ar-connevent.c
net/rxrpc/ar-input.c
net/rxrpc/ar-internal.h
net/rxrpc/ar-output.c
net/rxrpc/ar-proc.c
net/rxrpc/ar-recvmsg.c