fix mremap() vs. ioctx_kill() race
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 6 Apr 2015 21:48:54 +0000 (17:48 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 6 Apr 2015 21:50:59 +0000 (17:50 -0400)
commitb2edffdd912b4205899a8efa0974dfbbc3216109
tree64f8f993ab48978b5a3a13912bba685d48b1a04e
parent8f778bbc542ddf8f6243b21d6aca087e709cabdc
fix mremap() vs. ioctx_kill() race

teach ->mremap() method to return an error and have it fail for
aio mappings in process of being killed

Note that in case of ->mremap() failure we need to undo move_page_tables()
we'd already done; we could call ->mremap() first, but then the failure of
move_page_tables() would require undoing whatever _successful_ ->mremap()
has done, which would be a lot more headache in general.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/aio.c
include/linux/fs.h
mm/mremap.c