linux/net/9p
Dominique Martinet e4ca13f7d0 9p/trans_fd: abort p9_read_work if req status changed
p9_read_work would try to handle an errored req even if it got put to
error state by another thread between the lookup (that worked) and the
time it had been fully read.
The request itself is safe to use because we hold a ref to it from the
lookup (for m->rreq, so it was safe to read into the request data buffer
until this point), but the req_list has been deleted at the same time
status changed, and client_cb already has been called as well, so we
should not do either.

Link: http://lkml.kernel.org/r/1539057956-23741-1-git-send-email-asmadeus@codewreck.org
Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
Reported-by: syzbot+2222c34dc40b515f30dc@syzkaller.appspotmail.com
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Cc: Latchesar Ionkov <lucho@ionkov.net>
2018-10-10 09:13:30 +09:00
..
client.c 9p: potential NULL dereference 2018-10-10 09:13:20 +09:00
error.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
Kconfig IB: Revert "remove redundant INFINIBAND kconfig dependencies" 2018-05-28 10:40:16 -06:00
Makefile 9p: Remove p9_idpool 2018-08-29 13:39:57 +09:00
mod.c 9p: Use a slab for allocating requests 2018-08-29 13:39:57 +09:00
protocol.c 9p: p9dirent_read: check network-provided name length 2018-09-08 01:52:29 +09:00
protocol.h net/9p: Convert net/9p protocol dumps to tracepoints 2011-10-24 11:13:12 -05:00
trans_common.c net/9p: correct some comment errors in 9p file system code 2018-05-10 08:21:53 -04:00
trans_common.h net/9p: remove (now-)unused helpers 2015-04-11 22:28:29 -04:00
trans_fd.c 9p/trans_fd: abort p9_read_work if req status changed 2018-10-10 09:13:30 +09:00
trans_rdma.c 9p/rdma: remove useless check in cm_event_handler 2018-09-08 01:52:22 +09:00
trans_virtio.c 9p: Add refcount to p9_req_t 2018-09-08 01:39:47 +09:00
trans_xen.c 9p: Add refcount to p9_req_t 2018-09-08 01:39:47 +09:00