]> git.baikalelectronics.ru Git - kernel.git/commit
rxrpc: Reduce the rxrpc_local::services list to a pointer
authorDavid Howells <dhowells@redhat.com>
Thu, 29 Sep 2016 21:37:15 +0000 (22:37 +0100)
committerDavid Howells <dhowells@redhat.com>
Thu, 29 Sep 2016 21:57:47 +0000 (22:57 +0100)
commit38da5b9ec8469eb9223723b920cb26e45b91b070
treefb2447d0038b67d5ee980ab075047db2311ee308
parent25a3bbd2c6b5644e2a4ec1141c686fe3a05f1140
rxrpc: Reduce the rxrpc_local::services list to a pointer

Reduce the rxrpc_local::services list to just a pointer as we don't permit
multiple service endpoints to bind to a single transport endpoints (this is
excluded by rxrpc_lookup_local()).

The reason we don't allow this is that if you send a request to an AFS
filesystem service, it will try to talk back to your cache manager on the
port you sent from (this is how file change notifications are handled).  To
prevent someone from stealing your CM callbacks, we don't let AF_RXRPC
sockets share a UDP socket if at least one of them has a service bound.

Signed-off-by: David Howells <dhowells@redhat.com>
net/rxrpc/af_rxrpc.c
net/rxrpc/ar-internal.h
net/rxrpc/call_accept.c
net/rxrpc/local_object.c
net/rxrpc/security.c