This is the start of the stable review cycle for the 5.15.37 release. There are 33 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know. Responses should be made by Sun, 01 May 2022 10:40:41 +0000. Anything received after that time might be too late. The whole patch series can be found in one patch at: https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.15.37-rc1.gz or in the git tree and branch at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.15.y and the diffstat can be found below. thanks, greg k-h ------------- Pseudo-Shortlog of commits: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Linux 5.15.37-rc1 Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx> selftests/bpf: Add test for reg2btf_ids out of bounds access Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> mm: gup: make fault_in_safe_writeable() use fixup_user_fault() Filipe Manana <fdmanana@xxxxxxxx> btrfs: fallback to blocking mode when doing async dio over multiple extents Filipe Manana <fdmanana@xxxxxxxx> btrfs: fix deadlock due to page faults during direct IO reads and writes Andreas Gruenbacher <agruenba@xxxxxxxxxx> gfs2: Fix mmap + page fault deadlocks for direct I/O Andreas Gruenbacher <agruenba@xxxxxxxxxx> iov_iter: Introduce nofault flag to disable page faults Andreas Gruenbacher <agruenba@xxxxxxxxxx> gup: Introduce FOLL_NOFAULT flag to disable page faults Andreas Gruenbacher <agruenba@xxxxxxxxxx> iomap: Add done_before argument to iomap_dio_rw Andreas Gruenbacher <agruenba@xxxxxxxxxx> iomap: Support partial direct I/O on user copy failures Andreas Gruenbacher <agruenba@xxxxxxxxxx> iomap: Fix iomap_dio_rw return value for user copies Andreas Gruenbacher <agruenba@xxxxxxxxxx> gfs2: Fix mmap + page fault deadlocks for buffered I/O Andreas Gruenbacher <agruenba@xxxxxxxxxx> gfs2: Eliminate ip->i_gh Andreas Gruenbacher <agruenba@xxxxxxxxxx> gfs2: Move the inode glock locking to gfs2_file_buffered_write Bob Peterson <rpeterso@xxxxxxxxxx> gfs2: Introduce flag for glock holder auto-demotion Andreas Gruenbacher <agruenba@xxxxxxxxxx> gfs2: Clean up function may_grant Andreas Gruenbacher <agruenba@xxxxxxxxxx> gfs2: Add wrapper for iomap_file_buffered_write Andreas Gruenbacher <agruenba@xxxxxxxxxx> iov_iter: Introduce fault_in_iov_iter_writeable Andreas Gruenbacher <agruenba@xxxxxxxxxx> iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable Andreas Gruenbacher <agruenba@xxxxxxxxxx> gup: Turn fault_in_pages_{readable,writeable} into fault_in_{readable,writeable} Muchun Song <songmuchun@xxxxxxxxxxxxx> mm: kfence: fix objcgs vector allocation Dinh Nguyen <dinguyen@xxxxxxxxxx> ARM: dts: socfpga: change qspi to "intel,socfpga-qspi" Dinh Nguyen <dinguyen@xxxxxxxxxx> spi: cadence-quadspi: fix write completion support Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx> bpf: Fix crash due to out of bounds access into reg2btf_ids. Hao Luo <haoluo@xxxxxxxxxx> bpf/selftests: Test PTR_TO_RDONLY_MEM Hao Luo <haoluo@xxxxxxxxxx> bpf: Add MEM_RDONLY for helper args that are pointers to rdonly mem. Hao Luo <haoluo@xxxxxxxxxx> bpf: Make per_cpu_ptr return rdonly PTR_TO_MEM. Hao Luo <haoluo@xxxxxxxxxx> bpf: Convert PTR_TO_MEM_OR_NULL to composable types. Hao Luo <haoluo@xxxxxxxxxx> bpf: Introduce MEM_RDONLY flag Hao Luo <haoluo@xxxxxxxxxx> bpf: Replace PTR_TO_XXX_OR_NULL with PTR_TO_XXX | PTR_MAYBE_NULL Hao Luo <haoluo@xxxxxxxxxx> bpf: Replace RET_XXX_OR_NULL with RET_XXX | PTR_MAYBE_NULL Hao Luo <haoluo@xxxxxxxxxx> bpf: Replace ARG_XXX_OR_NULL with ARG_XXX | PTR_MAYBE_NULL Hao Luo <haoluo@xxxxxxxxxx> bpf: Introduce composable reg, ret and arg types. Willy Tarreau <w@xxxxxx> floppy: disable FDRAWCMD by default ------------- Diffstat: Makefile | 4 +- arch/arm/boot/dts/socfpga.dtsi | 2 +- arch/arm/boot/dts/socfpga_arria10.dtsi | 2 +- arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 2 +- arch/arm64/boot/dts/intel/socfpga_agilex.dtsi | 2 +- arch/powerpc/kernel/kvm.c | 3 +- arch/powerpc/kernel/signal_32.c | 4 +- arch/powerpc/kernel/signal_64.c | 2 +- arch/x86/kernel/fpu/signal.c | 7 +- drivers/block/Kconfig | 16 + drivers/block/floppy.c | 43 +- drivers/gpu/drm/armada/armada_gem.c | 7 +- drivers/spi/spi-cadence-quadspi.c | 24 +- fs/btrfs/file.c | 142 +++++- fs/btrfs/inode.c | 28 ++ fs/btrfs/ioctl.c | 5 +- fs/erofs/data.c | 2 +- fs/ext4/file.c | 5 +- fs/f2fs/file.c | 2 +- fs/fuse/file.c | 2 +- fs/gfs2/bmap.c | 60 +-- fs/gfs2/file.c | 252 ++++++++++- fs/gfs2/glock.c | 330 ++++++++++---- fs/gfs2/glock.h | 20 + fs/gfs2/incore.h | 4 +- fs/iomap/buffered-io.c | 2 +- fs/iomap/direct-io.c | 29 +- fs/ntfs/file.c | 2 +- fs/ntfs3/file.c | 2 +- fs/xfs/xfs_file.c | 6 +- fs/zonefs/super.c | 4 +- include/linux/bpf.h | 101 ++++- include/linux/bpf_verifier.h | 18 + include/linux/iomap.h | 11 +- include/linux/mm.h | 3 +- include/linux/pagemap.h | 58 +-- include/linux/uio.h | 4 +- kernel/bpf/btf.c | 16 +- kernel/bpf/cgroup.c | 2 +- kernel/bpf/helpers.c | 12 +- kernel/bpf/map_iter.c | 4 +- kernel/bpf/ringbuf.c | 2 +- kernel/bpf/syscall.c | 2 +- kernel/bpf/verifier.c | 488 ++++++++++----------- kernel/trace/bpf_trace.c | 22 +- lib/iov_iter.c | 98 ++++- mm/filemap.c | 4 +- mm/gup.c | 120 ++++- mm/kfence/core.c | 11 +- mm/kfence/kfence.h | 3 + net/core/bpf_sk_storage.c | 2 +- net/core/filter.c | 64 +-- net/core/sock_map.c | 2 +- tools/testing/selftests/bpf/prog_tests/ksyms_btf.c | 14 + .../bpf/progs/test_ksyms_btf_write_check.c | 29 ++ tools/testing/selftests/bpf/verifier/calls.c | 19 + 56 files changed, 1472 insertions(+), 652 deletions(-)