linux/drivers/staging
Jan Kara 0911d0041c mm: avoid returning VM_FAULT_RETRY from ->page_mkwrite handlers
Some ->page_mkwrite handlers may return VM_FAULT_RETRY as its return
code (GFS2 or Lustre can definitely do this).  However VM_FAULT_RETRY
from ->page_mkwrite is completely unhandled by the mm code and results
in locking and writeably mapping the page which definitely is not what
the caller wanted.

Fix Lustre and block_page_mkwrite_ret() used by other filesystems
(notably GFS2) to return VM_FAULT_NOPAGE instead which results in
bailing out from the fault code, the CPU then retries the access, and we
fault again effectively doing what the handler wanted.

Link: http://lkml.kernel.org/r/20170203150729.15863-1-jack@suse.cz
Signed-off-by: Jan Kara <jack@suse.cz>
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-08 15:41:43 -08:00
..
android mm: use vmf->address instead of of vmf->virtual_address 2016-12-14 16:04:09 -08:00
board
clocking-wizard
comedi staging: comedi: comedidev.h: Document usage of 'detach' handler 2016-12-08 21:01:23 +01:00
dgnc staging: dgnc: Fix lines longer than 80 characters 2016-12-07 11:41:17 +01:00
emxx_udc
fbtft
fsl-mc staging: fsl-mc: remove unnecessary info prints from bus driver 2016-12-08 21:00:08 +01:00
fwserial
gdm724x
goldfish
greybus staging: greybus: timesync: validate platform state callback 2017-01-25 11:36:59 +01:00
gs_fpgaboot
i4l
iio
ks7010
lustre mm: avoid returning VM_FAULT_RETRY from ->page_mkwrite handlers 2017-02-08 15:41:43 -08:00
media media updates for v4.10-rc1 2016-12-16 09:39:16 -08:00
most
mt29f_spinand
netlogic
nvec
octeon staging: octeon: Call SET_NETDEV_DEV() 2017-01-03 17:11:50 +01:00
octeon-usb
olpc_dcon
rtl8188eu Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
rtl8192e Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
rtl8192u Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
rtl8712
rts5208
skein
sm750fb
speakup
unisys Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
vc04_services
vme Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
vt6655
vt6656
wilc1000 Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
wlan-ng Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
xgifb
Kconfig staging: slicoss: remove the staging driver 2016-12-06 18:18:30 +01:00
Makefile staging: slicoss: remove the staging driver 2016-12-06 18:18:30 +01:00