linux-stable/net/rxrpc
David Howells 2341e07757 rxrpc: Simplify connect() implementation and simplify sendmsg() op
Simplify the RxRPC connect() implementation.  It will just note the
destination address it is given, and if a sendmsg() comes along with no
address, this will be assigned as the address.  No transport struct will be
held internally, which will allow us to remove this later.

Simplify sendmsg() also.  Whilst a call is active, userspace refers to it
by a private unique user ID specified in a control message.  When sendmsg()
sees a user ID that doesn't map to an extant call, it creates a new call
for that user ID and attempts to add it.  If, when we try to add it, the
user ID is now registered, we now reject the message with -EEXIST.  We
should never see this situation unless two threads are racing, trying to
create a call with the same ID - which would be an error.

It also isn't required to provide sendmsg() with an address - provided the
control message data holds a user ID that maps to a currently active call.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-06-09 23:30:12 -07:00
..
af_rxrpc.c rxrpc: Simplify connect() implementation and simplify sendmsg() op 2016-06-09 23:30:12 -07:00
ar-accept.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
ar-ack.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
ar-call.c rxrpc: Simplify connect() implementation and simplify sendmsg() op 2016-06-09 23:30:12 -07:00
ar-connection.c rxrpc: Simplify connect() implementation and simplify sendmsg() op 2016-06-09 23:30:12 -07:00
ar-connevent.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
ar-error.c rxrpc: Don't try to map ICMP to error as the lower layer already did that 2016-03-04 16:02:03 +00:00
ar-input.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
ar-internal.h rxrpc: Simplify connect() implementation and simplify sendmsg() op 2016-06-09 23:30:12 -07:00
ar-key.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
ar-local.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
ar-output.c rxrpc: Simplify connect() implementation and simplify sendmsg() op 2016-06-09 23:30:12 -07:00
ar-peer.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
ar-proc.c rxrpc: Differentiate local and remote abort codes in structs 2016-04-11 15:34:40 -04:00
ar-recvmsg.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
ar-security.c rxrpc: Create a null security type and get rid of conditional calls 2016-04-11 15:34:41 -04:00
ar-skbuff.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
ar-transport.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
insecure.c rxrpc: Create a null security type and get rid of conditional calls 2016-04-11 15:34:41 -04:00
Kconfig rxrpc: Absorb the rxkad security module 2016-04-11 15:34:41 -04:00
Makefile rxrpc: Create a null security type and get rid of conditional calls 2016-04-11 15:34:41 -04:00
misc.c rxrpc: Static arrays of strings should be const char *const[] 2016-04-11 15:34:40 -04:00
rxkad.c rxrpc: Use pr_<level> and pr_fmt, reduce object size a few KB 2016-06-03 19:41:31 -04:00
sysctl.c rxrpc: Replace all unsigned with unsigned int 2016-03-13 15:14:57 -04:00