Home
last modified time | relevance | path

Searched hist:"06 d9532fa6b34f12a6d75711162d47c17c1add72" (Results 1 – 2 of 2) sorted by relevance

/openbmc/linux/net/rxrpc/
H A Dlocal_object.cdiff 06d9532fa6b34f12a6d75711162d47c17c1add72 Tue Aug 13 16:26:36 CDT 2019 David Howells <dhowells@redhat.com> rxrpc: Fix read-after-free in rxrpc_queue_local()

rxrpc_queue_local() attempts to queue the local endpoint it is given and
then, if successful, prints a trace line. The trace line includes the
current usage count - but we're not allowed to look at the local endpoint
at this point as we passed our ref on it to the workqueue.

Fix this by reading the usage count before queuing the work item.

Also fix the reading of local->debug_id for trace lines, which must be done
with the same consideration as reading the usage count.

Fixes: 09d2bf595db4 ("rxrpc: Add a tracepoint to track rxrpc_local refcounting")
Reported-by: syzbot+78e71c5bab4f76a6a719@syzkaller.appspotmail.com
Signed-off-by: David Howells <dhowells@redhat.com>
/openbmc/linux/include/trace/events/
H A Drxrpc.hdiff 06d9532fa6b34f12a6d75711162d47c17c1add72 Tue Aug 13 16:26:36 CDT 2019 David Howells <dhowells@redhat.com> rxrpc: Fix read-after-free in rxrpc_queue_local()

rxrpc_queue_local() attempts to queue the local endpoint it is given and
then, if successful, prints a trace line. The trace line includes the
current usage count - but we're not allowed to look at the local endpoint
at this point as we passed our ref on it to the workqueue.

Fix this by reading the usage count before queuing the work item.

Also fix the reading of local->debug_id for trace lines, which must be done
with the same consideration as reading the usage count.

Fixes: 09d2bf595db4 ("rxrpc: Add a tracepoint to track rxrpc_local refcounting")
Reported-by: syzbot+78e71c5bab4f76a6a719@syzkaller.appspotmail.com
Signed-off-by: David Howells <dhowells@redhat.com>