linux-kernel-test/net/rxrpc
David Howells f9dc575725 rxrpc: Don't access connection from call if pointer is NULL
The call state machine processor sets up the message parameters for a UDP
message that it might need to transmit in advance on the basis that there's
a very good chance it's going to have to transmit either an ACK or an
ABORT.  This requires it to look in the connection struct to retrieve some
of the parameters.

However, if the call is complete, the call connection pointer may be NULL
to dissuade the processor from transmitting a message.  However, there are
some situations where the processor is still going to be called - and it's
still going to set up message parameters whether it needs them or not.

This results in a NULL pointer dereference at:

	net/rxrpc/call_event.c:837

To fix this, skip the message pre-initialisation if there's no connection
attached.

Signed-off-by: David Howells <dhowells@redhat.com>
2016-08-09 17:12:23 +01:00
..
af_rxrpc.c rxrpc: Fix error handling in af_rxrpc_init() 2016-07-12 11:07:38 -07:00
ar-internal.h rxrpc: Fix races between skb free, ACK generation and replying 2016-08-06 00:08:40 -04:00
call_accept.c rxrpc: Fix races between skb free, ACK generation and replying 2016-08-06 00:08:40 -04:00
call_event.c rxrpc: Don't access connection from call if pointer is NULL 2016-08-09 17:12:23 +01:00
call_object.c rxrpc: Need to flag call as being released on connect failure 2016-08-09 17:12:23 +01:00
conn_client.c rxrpc: Use RCU to access a peer's service connection tree 2016-07-06 10:51:14 +01:00
conn_event.c rxrpc: Call channels should have separate call number spaces 2016-07-06 10:43:52 +01:00
conn_object.c rxrpc: Use RCU to access a peer's service connection tree 2016-07-06 10:51:14 +01:00
conn_service.c rxrpc: checking for IS_ERR() instead of NULL 2016-07-15 14:16:25 -07:00
input.c rxrpc: Fix races between skb free, ACK generation and replying 2016-08-06 00:08:40 -04:00
insecure.c rxrpc: Avoid using stack memory in SG lists in rxkad 2016-07-06 10:43:05 +01:00
Kconfig rxrpc: Absorb the rxkad security module 2016-04-11 15:34:41 -04:00
key.c rxrpc: Use structs to hold connection params and protocol info 2016-06-22 09:09:59 +01:00
local_event.c rxrpc: Rework local endpoint management 2016-06-15 15:38:17 +01:00
local_object.c rxrpc: Add RCU destruction for connections and calls 2016-07-06 10:43:51 +01:00
Makefile rxrpc: Split service connection code out into its own file 2016-07-06 10:49:35 +01:00
misc.c rxrpc: Limit the listening backlog 2016-06-10 18:14:47 -07:00
output.c rxrpc: Kill off the rxrpc_transport struct 2016-06-22 14:00:23 +01:00
peer_event.c rxrpc: Use the peer record to distribute network errors 2016-06-15 10:15:16 +01:00
peer_object.c rxrpc: Use RCU to access a peer's service connection tree 2016-07-06 10:51:14 +01:00
proc.c rxrpc: Call channels should have separate call number spaces 2016-07-06 10:43:52 +01:00
recvmsg.c rxrpc: Fix races between skb free, ACK generation and replying 2016-08-06 00:08:40 -04:00
rxkad.c rxrpc: Call channels should have separate call number spaces 2016-07-06 10:43:52 +01:00
security.c rxrpc: Replace conn->trans->{local,peer} with conn->params.{local,peer} 2016-06-22 09:10:00 +01:00
skbuff.c rxrpc: Fix races between skb free, ACK generation and replying 2016-08-06 00:08:40 -04:00
sysctl.c rxrpc: Kill off the rxrpc_transport struct 2016-06-22 14:00:23 +01:00
utils.c rxrpc: Move data_ready peer lookup into rxrpc_find_connection() 2016-07-06 10:51:14 +01:00