aboutsummaryrefslogtreecommitdiffstats
path: root/net/switchdev/switchdev.c
diff options
context:
space:
mode:
authorRobert Doebbelin <[email protected]>2016-03-07 08:50:56 +0000
committerMiklos Szeredi <[email protected]>2016-03-14 14:02:50 +0000
commit7cabc61e01a0a8b663bd2b4c982aa53048218734 (patch)
tree474f0a6e0cde183d19ccb0c9b14d2358e1944012 /net/switchdev/switchdev.c
parentLinux 4.5 (diff)
downloadkernel-7cabc61e01a0a8b663bd2b4c982aa53048218734.tar.gz
kernel-7cabc61e01a0a8b663bd2b4c982aa53048218734.zip
fuse: do not use iocb after it may have been freed
There's a race in fuse_direct_IO(), whereby is_sync_kiocb() is called on an iocb that could have been freed if async io has already completed. The fix in this case is simple and obvious: cache the result before starting io. It was discovered by KASan: kernel: ================================================================== kernel: BUG: KASan: use after free in fuse_direct_IO+0xb1a/0xcc0 at addr ffff88036c414390 Signed-off-by: Robert Doebbelin <[email protected]> Signed-off-by: Miklos Szeredi <[email protected]> Fixes: bcba24ccdc82 ("fuse: enable asynchronous processing direct IO") Cc: <[email protected]> # 3.10+
Diffstat (limited to 'net/switchdev/switchdev.c')
0 files changed, 0 insertions, 0 deletions