aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-10-06 08:11:49 +0100
committerDavid Howells <dhowells@redhat.com>2016-10-06 08:11:49 +0100
commit7212a57e8eaa2572481398532d7be0c2685362b9 (patch)
tree225fe38d7c4a16d5cb4b03b2f918f9650fe48826
parentrxrpc: Fix duplicate const (diff)
downloadlinux-dev-7212a57e8eaa2572481398532d7be0c2685362b9.tar.xz
linux-dev-7212a57e8eaa2572481398532d7be0c2685362b9.zip
rxrpc: Fix oops on incoming call to serviceless endpoint
If an call comes in to a local endpoint that isn't listening for any incoming calls at the moment, an oops will happen. We need to check that the local endpoint's service pointer isn't NULL before we dereference it. Signed-off-by: David Howells <dhowells@redhat.com>
-rw-r--r--net/rxrpc/call_accept.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/rxrpc/call_accept.c b/net/rxrpc/call_accept.c
index 3cac231d8405..22cd8a18c481 100644
--- a/net/rxrpc/call_accept.c
+++ b/net/rxrpc/call_accept.c
@@ -337,7 +337,7 @@ struct rxrpc_call *rxrpc_new_incoming_call(struct rxrpc_local *local,
/* Get the socket providing the service */
rx = rcu_dereference(local->service);
- if (service_id == rx->srx.srx_service)
+ if (rx && service_id == rx->srx.srx_service)
goto found_service;
trace_rxrpc_abort("INV", sp->hdr.cid, sp->hdr.callNumber, sp->hdr.seq,