]> asedeno.scripts.mit.edu Git - linux.git/commit
rxrpc: Fix missing security check on incoming calls
authorDavid Howells <dhowells@redhat.com>
Fri, 20 Dec 2019 16:17:16 +0000 (16:17 +0000)
committerDavid Howells <dhowells@redhat.com>
Fri, 20 Dec 2019 16:21:32 +0000 (16:21 +0000)
commit063c60d39180cec7c9317f5acfc3071f8fecd705
tree771d26b217eeed8115116b8fb23a90963d6eea36
parent13b7955a0252e15265386b229b814152f109b234
rxrpc: Fix missing security check on incoming calls

Fix rxrpc_new_incoming_call() to check that we have a suitable service key
available for the combination of service ID and security class of a new
incoming call - and to reject calls for which we don't.

This causes an assertion like the following to appear:

rxrpc: Assertion failed - 6(0x6) == 12(0xc) is false
kernel BUG at net/rxrpc/call_object.c:456!

Where call->state is RXRPC_CALL_SERVER_SECURING (6) rather than
RXRPC_CALL_COMPLETE (12).

Fixes: 248f219cb8bc ("rxrpc: Rewrite the data and ack handling code")
Reported-by: Marc Dionne <marc.dionne@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
net/rxrpc/ar-internal.h
net/rxrpc/call_accept.c
net/rxrpc/conn_event.c
net/rxrpc/conn_service.c
net/rxrpc/rxkad.c
net/rxrpc/security.c