Merge tag 'stream_open-5.2' of https://lab.nexedi.com/kirr/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 7 May 2019 19:15:13 +0000 (12:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 7 May 2019 19:15:13 +0000 (12:15 -0700)
commit41bc10cabe96bbd0ff3e2813d15f9070bff57a03
treed75b65f4087e3ee68453c0b5d7aa5d698056c03a
parentaa26690fab1380735442e027ce4b17849a24493f
parent438ab720c675a16d53bb18f76a94d25bbe420c45
Merge tag 'stream_open-5.2' of https://lab.nexedi.com/kirr/linux

Pull stream_open conversion from Kirill Smelkov:

 - remove unnecessary double nonseekable_open from drivers/char/dtlk.c
   as noticed by Pavel Machek while reviewing nonseekable_open ->
   stream_open mass conversion.

 - the mass conversion patch promised in commit 10dce8af3422 ("fs:
   stream_open - opener for stream-like files so that read and write can
   run simultaneously without deadlock") and is automatically generated
   by running

        $ make coccicheck MODE=patch COCCI=scripts/coccinelle/api/stream_open.cocci

   I've verified each generated change manually - that it is correct to
   convert - and each other nonseekable_open instance left - that it is
   either not correct to convert there, or that it is not converted due
   to current stream_open.cocci limitations. More details on this in the
   patch.

 - finally, change VFS to pass ppos=NULL into .read/.write for files
   that declare themselves streams. It was suggested by Rasmus Villemoes
   and makes sure that if ppos starts to be erroneously used in a stream
   file, such bug won't go unnoticed and will produce an oops instead of
   creating illusion of position change being taken into account.

   Note: this patch does not conflict with "fuse: Add FOPEN_STREAM to
   use stream_open()" that will be hopefully coming via FUSE tree,
   because fs/fuse/ uses new-style .read_iter/.write_iter, and for these
   accessors position is still passed as non-pointer kiocb.ki_pos .

* tag 'stream_open-5.2' of https://lab.nexedi.com/kirr/linux:
  vfs: pass ppos=NULL to .read()/.write() of FMODE_STREAM files
  *: convert stream-like files from nonseekable_open -> stream_open
  dtlk: remove double call to nonseekable_open
arch/x86/kernel/cpu/microcode/core.c
drivers/s390/char/zcore.c
drivers/s390/crypto/zcrypt_api.c
drivers/spi/spidev.c