Majority of AIO stuff this cycle. aio-fsync and aio-poll, mostly. The only thing I'm holding back for a day or so is Adam's aio ioprio - his last-minute fixup is trivial (missing stub in !CONFIG_BLOCK case), but let it sit in -next for decency sake... The following changes since commit 4faa99965e027cc057c5145ce45fa772caa04e8d: fix io_destroy()/aio_complete() race (2018-05-23 22:53:22 -0400) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.aio-1 for you to fetch changes up to 1da92779e2e8f309d5aecbbed346e7f812b174e8: aio: sanitize the limit checking in io_submit(2) (2018-05-29 23:20:17 -0400) ---------------------------------------------------------------- Al Viro (6): aio: take list removal to (some) callers of aio_complete() aio: all callers of aio_{read,write,fsync,poll} treat 0 and -EIOCBQUEUED the same way aio_read_events_ring(): make a bit more readable aio: shift copyin of iocb into io_submit_one() aio: fold do_io_submit() into callers aio: sanitize the limit checking in io_submit(2) Christoph Hellwig (41): aio: don't print the page size at boot time aio: remove an outdated BUG_ON and comment in aio_complete aio: sanitize ki_list handling aio: remove the extra get_file/fput pair in io_submit_one aio: refactor read/write iocb setup aio: implement IOCB_CMD_FSYNC and IOCB_CMD_FDSYNC aio: implement io_pgetevents Merge branch 'fixes' of https://git.kernel.org/.../viro/vfs into aio-base uapi: turn __poll_t sparse checks on by default fs: unexport poll_schedule_timeout fs: cleanup do_pollfd fs: update documentation to mention __poll_t and match the code fs: add new vfs_poll and file_can_poll helpers fs: introduce new ->get_poll_head and ->poll_mask methods aio: simplify KIOCB_KEY handling aio: simplify cancellation aio: implement IOCB_CMD_POLL aio: try to complete poll iocbs without context switch net: refactor socket_poll net: add support for ->poll_mask in proto_ops net: remove sock_no_poll net/tcp: convert to ->poll_mask net/unix: convert to ->poll_mask net: convert datagram_poll users tp ->poll_mask net/dccp: convert to ->poll_mask net/atm: convert to ->poll_mask net/vmw_vsock: convert to ->poll_mask net/tipc: convert to ->poll_mask net/sctp: convert to ->poll_mask net/bluetooth: convert to ->poll_mask net/caif: convert to ->poll_mask net/nfc: convert to ->poll_mask net/phonet: convert to ->poll_mask net/iucv: convert to ->poll_mask net/rxrpc: convert to ->poll_mask crypto: af_alg: convert to ->poll_mask pipe: convert to ->poll_mask eventfd: switch to ->poll_mask timerfd: convert to ->poll_mask random: convert to ->poll_mask aio: add missing break for the IOCB_CMD_FDSYNC case Documentation/core-api/kernel-api.rst | 13 + .../bindings/serial/amlogic,meson-uart.txt | 2 +- .../devicetree/bindings/serial/mvebu-uart.txt | 2 +- .../bindings/serial/renesas,sci-serial.txt | 2 + .../devicetree/bindings/thermal/exynos-thermal.txt | 23 +- .../devicetree/bindings/thermal/thermal.txt | 16 +- .../bindings/timer/nuvoton,npcm7xx-timer.txt | 21 + .../devicetree/bindings/timer/nxp,tpm-timer.txt | 2 +- Documentation/devicetree/bindings/usb/usb-xhci.txt | 5 +- .../driver-api/firmware/request_firmware.rst | 16 +- Documentation/driver-api/infrastructure.rst | 2 +- Documentation/driver-api/usb/typec.rst | 2 +- Documentation/filesystems/Locking | 9 +- Documentation/filesystems/vfs.txt | 15 +- Documentation/i2c/dev-interface | 32 +- Documentation/ioctl/ioctl-number.txt | 2 - Documentation/livepatch/shadow-vars.txt | 41 +- Documentation/networking/filter.txt | 6 +- Documentation/networking/ip-sysctl.txt | 23 +- Documentation/power/suspend-and-cpuhotplug.txt | 2 +- Documentation/process/magic-number.rst | 3 - Documentation/trace/ftrace.rst | 14 +- Documentation/virtual/kvm/api.txt | 9 +- Documentation/virtual/kvm/arm/psci.txt | 30 + MAINTAINERS | 68 +- Makefile | 2 +- arch/arm/boot/dts/gemini-nas4220b.dts | 28 +- arch/arm/boot/dts/omap4.dtsi | 8 +- arch/arm/configs/gemini_defconfig | 27 +- arch/arm/configs/socfpga_defconfig | 1 + arch/arm/include/asm/kvm_host.h | 3 + arch/arm/include/uapi/asm/kvm.h | 6 + arch/arm/kvm/guest.c | 13 + arch/arm/mach-omap2/Makefile | 6 +- arch/arm/mach-omap2/pm-asm-offsets.c | 3 + arch/arm/mach-omap2/sleep33xx.S | 1 - arch/arm/mach-omap2/sleep43xx.S | 1 - arch/arm/mach-s3c24xx/mach-jive.c | 4 +- arch/arm64/Makefile | 4 + .../arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 4 + .../dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 12 + .../dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts | 4 + .../boot/dts/amlogic/meson-gxl-s905x-p212.dtsi | 4 + arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 61 ++ .../boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 4 + arch/arm64/boot/dts/amlogic/meson-gxm.dtsi | 17 + arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 2 - .../boot/dts/broadcom/stingray/stingray-sata.dtsi | 80 +-- arch/arm64/include/asm/kvm_host.h | 3 + arch/arm64/include/asm/module.h | 2 +- arch/arm64/include/asm/pgtable.h | 4 +- arch/arm64/include/uapi/asm/kvm.h | 6 + arch/arm64/kernel/cpufeature.c | 1 + arch/arm64/kernel/module-plts.c | 2 +- arch/arm64/kernel/module.c | 2 +- arch/arm64/kernel/ptrace.c | 20 +- arch/arm64/kernel/traps.c | 5 +- arch/arm64/kvm/guest.c | 14 +- arch/arm64/kvm/sys_regs.c | 6 +- arch/arm64/lib/Makefile | 4 + arch/arm64/mm/flush.c | 2 +- arch/arm64/mm/kasan_init.c | 4 +- arch/mips/boot/dts/img/boston.dts | 6 + arch/mips/include/asm/io.h | 4 +- arch/mips/include/asm/uaccess.h | 11 +- arch/mips/lib/memset.S | 11 +- arch/parisc/kernel/Makefile | 2 +- arch/powerpc/include/asm/powernv.h | 2 +- arch/powerpc/kernel/eeh_pe.c | 3 +- arch/powerpc/kernel/idle_book3s.S | 4 +- arch/powerpc/kernel/mce_power.c | 7 +- arch/powerpc/kernel/setup_64.c | 11 + arch/powerpc/kernel/smp.c | 49 +- arch/powerpc/kvm/booke.c | 7 + arch/powerpc/lib/feature-fixups.c | 2 +- arch/powerpc/mm/mem.c | 2 + arch/powerpc/platforms/cell/spufs/sched.c | 2 +- arch/powerpc/platforms/powernv/memtrace.c | 17 - arch/powerpc/platforms/powernv/npu-dma.c | 88 ++- arch/powerpc/platforms/powernv/opal-rtc.c | 8 +- arch/powerpc/sysdev/xive/native.c | 4 + arch/riscv/Kconfig | 4 +- arch/riscv/include/asm/Kbuild | 1 - arch/riscv/kernel/vdso/Makefile | 2 +- arch/s390/Kbuild | 1 + arch/s390/Kconfig | 32 +- arch/s390/boot/Makefile | 6 - arch/s390/boot/compressed/.gitignore | 1 + .../configs/{default_defconfig => debug_defconfig} | 30 +- arch/s390/configs/gcov_defconfig | 661 ------------------- arch/s390/configs/performance_defconfig | 20 +- arch/s390/defconfig | 13 +- arch/s390/include/asm/kexec.h | 23 + arch/s390/include/asm/purgatory.h | 17 + arch/s390/include/asm/setup.h | 40 +- arch/s390/include/asm/thread_info.h | 3 + arch/s390/include/uapi/asm/signal.h | 23 +- arch/s390/kernel/Makefile | 3 + arch/s390/kernel/asm-offsets.c | 5 + arch/s390/kernel/compat_wrapper.c | 1 + arch/s390/kernel/kexec_elf.c | 147 +++++ arch/s390/kernel/kexec_image.c | 76 +++ arch/s390/kernel/machine_kexec_file.c | 245 +++++++ arch/s390/kernel/module.c | 4 +- arch/s390/kernel/nospec-branch.c | 1 + arch/s390/kernel/perf_cpum_cf_events.c | 9 +- arch/s390/kernel/process.c | 10 + arch/s390/kernel/setup.c | 1 + arch/s390/kernel/syscalls/syscall.tbl | 1 + arch/s390/kernel/uprobes.c | 9 + arch/s390/purgatory/.gitignore | 2 + arch/s390/purgatory/Makefile | 37 ++ arch/s390/purgatory/head.S | 279 ++++++++ arch/s390/purgatory/purgatory.c | 42 ++ arch/x86/Kconfig | 4 + arch/x86/entry/entry_64_compat.S | 8 +- arch/x86/entry/syscalls/syscall_32.tbl | 1 + arch/x86/entry/syscalls/syscall_64.tbl | 1 + arch/x86/events/intel/core.c | 9 +- arch/x86/events/intel/uncore_snbep.c | 37 ++ arch/x86/include/asm/asm.h | 2 - arch/x86/include/asm/cpufeatures.h | 1 + arch/x86/include/asm/ftrace.h | 19 +- arch/x86/include/asm/irq_vectors.h | 7 - arch/x86/include/asm/jailhouse_para.h | 2 +- arch/x86/include/asm/kvm_host.h | 1 + arch/x86/include/asm/pgtable.h | 5 + arch/x86/include/asm/pgtable_64_types.h | 8 +- arch/x86/include/asm/processor.h | 2 - arch/x86/include/uapi/asm/msgbuf.h | 31 + arch/x86/include/uapi/asm/shmbuf.h | 42 ++ arch/x86/kernel/acpi/boot.c | 4 + arch/x86/kernel/cpu/intel.c | 3 + arch/x86/kernel/cpu/microcode/core.c | 6 +- arch/x86/kernel/cpu/microcode/intel.c | 2 - arch/x86/kernel/jailhouse.c | 2 +- arch/x86/kernel/kexec-bzimage64.c | 5 +- arch/x86/kernel/ldt.c | 2 +- arch/x86/kernel/pci-nommu.c | 90 --- arch/x86/kernel/setup.c | 6 + arch/x86/kernel/smpboot.c | 47 +- arch/x86/kernel/tsc.c | 2 +- arch/x86/kvm/svm.c | 31 +- arch/x86/kvm/vmx.c | 109 +-- arch/x86/kvm/x86.c | 15 +- arch/x86/kvm/x86.h | 7 - arch/x86/mm/dump_pagetables.c | 11 +- arch/x86/mm/pageattr.c | 44 +- arch/x86/mm/pti.c | 26 +- arch/x86/power/hibernate_64.c | 2 +- block/bfq-iosched.c | 10 +- block/blk-cgroup.c | 28 +- block/blk-core.c | 15 +- block/blk-mq.c | 41 +- block/blk-mq.h | 3 + crypto/af_alg.c | 14 +- crypto/algif_aead.c | 4 +- crypto/algif_hash.c | 2 - crypto/algif_rng.c | 1 - crypto/algif_skcipher.c | 4 +- crypto/api.c | 11 +- crypto/drbg.c | 2 + drivers/acpi/acpi_video.c | 27 +- drivers/acpi/acpi_watchdog.c | 59 +- drivers/acpi/button.c | 24 +- drivers/acpi/scan.c | 2 +- drivers/acpi/sleep.c | 13 + drivers/amba/bus.c | 17 +- drivers/android/binder.c | 8 + drivers/atm/iphase.c | 4 +- drivers/base/dma-coherent.c | 5 +- drivers/base/dma-mapping.c | 6 +- drivers/base/firmware_loader/fallback.c | 4 +- drivers/base/firmware_loader/fallback.h | 2 +- drivers/block/loop.c | 64 +- drivers/block/loop.h | 1 - drivers/block/rbd.c | 101 ++- drivers/block/swim.c | 49 +- drivers/block/swim3.c | 6 +- drivers/bus/Kconfig | 1 + drivers/cdrom/cdrom.c | 2 +- drivers/char/random.c | 201 ++++-- drivers/char/virtio_console.c | 157 ++--- drivers/clocksource/Kconfig | 8 + drivers/clocksource/Makefile | 1 + drivers/clocksource/timer-imx-tpm.c | 45 +- drivers/clocksource/timer-npcm7xx.c | 215 ++++++ drivers/cpufreq/Kconfig.arm | 10 - drivers/cpufreq/brcmstb-avs-cpufreq.c | 323 +-------- drivers/cpufreq/powernv-cpufreq.c | 14 +- drivers/dax/device.c | 2 + drivers/firmware/arm_scmi/clock.c | 2 +- drivers/fpga/altera-ps-spi.c | 2 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 7 +- drivers/gpu/drm/amd/amdkfd/Kconfig | 1 + drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 17 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 7 - .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 5 +- .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 54 +- drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 16 +- .../drm/amd/powerplay/inc/vega12/smu9_driver_if.h | 4 +- drivers/gpu/drm/drm_dp_dual_mode_helper.c | 39 +- drivers/gpu/drm/drm_edid.c | 11 +- drivers/gpu/drm/exynos/exynos_drm_fb.c | 73 +- drivers/gpu/drm/i915/gvt/cmd_parser.c | 1 + drivers/gpu/drm/i915/gvt/display.c | 10 + drivers/gpu/drm/i915/gvt/dmabuf.c | 1 + drivers/gpu/drm/i915/gvt/fb_decoder.c | 27 +- drivers/gpu/drm/i915/gvt/gtt.c | 52 +- drivers/gpu/drm/i915/gvt/gtt.h | 2 +- drivers/gpu/drm/i915/gvt/handlers.c | 1 + drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +- drivers/gpu/drm/i915/i915_drv.c | 27 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- drivers/gpu/drm/i915/i915_pmu.c | 37 +- drivers/gpu/drm/i915/intel_audio.c | 2 +- drivers/gpu/drm/i915/intel_bios.c | 13 +- drivers/gpu/drm/i915/intel_cdclk.c | 16 +- drivers/gpu/drm/i915/intel_drv.h | 4 +- drivers/gpu/drm/i915/intel_fbdev.c | 2 +- drivers/gpu/drm/i915/intel_lrc.c | 9 + drivers/gpu/drm/i915/intel_runtime_pm.c | 11 +- drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 1 + drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 1 + drivers/gpu/drm/msm/disp/mdp_format.c | 3 +- drivers/gpu/drm/msm/disp/mdp_kms.h | 2 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 16 +- drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 109 +++ drivers/gpu/drm/msm/dsi/phy/dsi_phy.h | 2 + drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c | 28 - drivers/gpu/drm/msm/msm_fb.c | 3 +- drivers/gpu/drm/msm/msm_fbdev.c | 11 +- drivers/gpu/drm/msm/msm_gem.c | 20 +- drivers/gpu/drm/msm/msm_kms.h | 5 +- drivers/gpu/drm/qxl/qxl_cmd.c | 6 +- drivers/gpu/drm/qxl/qxl_drv.h | 1 + drivers/gpu/drm/qxl/qxl_ioctl.c | 4 +- drivers/gpu/drm/qxl/qxl_release.c | 18 +- drivers/gpu/drm/sun4i/sun4i_lvds.c | 55 -- drivers/gpu/drm/vc4/vc4_bo.c | 2 + drivers/gpu/drm/vc4/vc4_validate_shaders.c | 1 + drivers/gpu/drm/virtio/virtgpu_vq.c | 4 +- drivers/hid/hid-ids.h | 3 + drivers/hid/hid-input.c | 24 +- drivers/hid/hidraw.c | 5 + drivers/hid/i2c-hid/i2c-hid.c | 13 + drivers/hid/wacom_wac.c | 76 ++- drivers/hwmon/k10temp.c | 17 +- drivers/hwmon/nct6683.c | 4 +- drivers/hwmon/scmi-hwmon.c | 5 +- drivers/i2c/busses/Kconfig | 3 - drivers/i2c/busses/i2c-sprd.c | 22 +- drivers/i2c/i2c-dev.c | 2 +- drivers/input/evdev.c | 7 +- drivers/isdn/mISDN/dsp_hwec.c | 8 +- drivers/isdn/mISDN/l1oip_core.c | 14 +- drivers/isdn/mISDN/socket.c | 3 +- drivers/md/md.c | 6 +- drivers/md/raid1.c | 25 +- drivers/memory/emif-asm-offsets.c | 72 +- drivers/message/fusion/mptsas.c | 1 + drivers/mmc/host/renesas_sdhi_internal_dmac.c | 39 +- drivers/mmc/host/sdhci-pci-core.c | 25 +- drivers/mtd/chips/cfi_cmdset_0001.c | 33 +- drivers/mtd/chips/cfi_cmdset_0002.c | 9 +- drivers/mtd/nand/core.c | 3 - drivers/mtd/nand/raw/marvell_nand.c | 25 +- drivers/mtd/nand/raw/tango_nand.c | 2 +- drivers/mtd/spi-nor/cadence-quadspi.c | 19 +- drivers/net/bonding/bond_main.c | 3 +- drivers/net/dsa/mv88e6xxx/hwtstamp.c | 12 +- drivers/net/ethernet/amd/xgbe/xgbe-common.h | 8 + drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c | 16 + drivers/net/ethernet/amd/xgbe/xgbe-main.c | 1 + drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 24 +- drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 2 + drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 196 +++++- drivers/net/ethernet/amd/xgbe/xgbe.h | 9 + drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 49 +- drivers/net/ethernet/broadcom/bnxt/bnxt_nvm_defs.h | 2 - drivers/net/ethernet/hisilicon/hns/hnae.h | 2 +- drivers/net/ethernet/ibm/ibmvnic.c | 89 ++- drivers/net/ethernet/ibm/ibmvnic.h | 1 - drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 2 +- drivers/net/ethernet/intel/ice/ice_common.c | 22 +- drivers/net/ethernet/intel/ice/ice_hw_autogen.h | 2 - drivers/net/ethernet/intel/ice/ice_main.c | 4 - drivers/net/ethernet/intel/ice/ice_sched.c | 4 +- drivers/net/ethernet/intel/igb/igb_main.c | 17 +- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 2 +- drivers/net/ethernet/marvell/mvpp2.c | 14 +- drivers/net/ethernet/netronome/nfp/flower/cmsg.c | 44 +- drivers/net/ethernet/netronome/nfp/flower/cmsg.h | 2 + drivers/net/ethernet/netronome/nfp/flower/main.c | 6 +- drivers/net/ethernet/netronome/nfp/flower/main.h | 8 +- .../net/ethernet/netronome/nfp/nfpcore/nfp_mutex.c | 5 +- .../net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c | 3 +- drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 11 +- drivers/net/ethernet/sfc/ef10.c | 85 +-- drivers/net/ethernet/sfc/efx.c | 143 ++++ drivers/net/ethernet/sfc/efx.h | 21 + drivers/net/ethernet/sfc/farch.c | 41 +- drivers/net/ethernet/sfc/net_driver.h | 61 ++ drivers/net/ethernet/sfc/rx.c | 122 +++- drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 2 +- drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 7 - drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 +- drivers/net/ethernet/ti/cpsw.c | 2 +- drivers/net/macsec.c | 5 +- drivers/net/phy/marvell.c | 9 + drivers/net/phy/microchip.c | 178 ++++- drivers/net/ppp/pppoe.c | 6 +- drivers/net/ppp/pptp.c | 1 - drivers/net/team/team.c | 38 +- drivers/net/tun.c | 7 +- drivers/net/usb/qmi_wwan.c | 1 + drivers/net/virtio_net.c | 79 ++- drivers/net/vmxnet3/vmxnet3_drv.c | 17 +- drivers/net/vmxnet3/vmxnet3_int.h | 4 +- drivers/nvdimm/Kconfig | 3 +- drivers/nvdimm/dimm_devs.c | 22 +- drivers/nvdimm/of_pmem.c | 2 +- drivers/of/fdt.c | 7 +- drivers/pci/dwc/pcie-kirin.c | 2 +- drivers/pci/host/pci-aardvark.c | 53 +- drivers/pci/pci-driver.c | 5 +- drivers/pci/pci.c | 4 +- drivers/rapidio/devices/rio_mport_cdev.c | 19 +- drivers/rtc/rtc-opal.c | 37 +- drivers/s390/block/dasd_alias.c | 13 +- drivers/s390/block/dasd_diag.c | 1 - drivers/s390/char/sclp_early_core.c | 2 +- drivers/s390/cio/chsc.c | 14 +- drivers/s390/cio/vfio_ccw_fsm.c | 19 +- drivers/s390/net/qeth_core.h | 2 - drivers/s390/net/qeth_core_main.c | 158 ++--- drivers/s390/net/qeth_core_mpc.h | 12 + drivers/s390/net/qeth_l2_main.c | 60 +- drivers/s390/net/smsgiucv.c | 2 +- drivers/scsi/fnic/fnic_trace.c | 2 +- drivers/scsi/megaraid/megaraid_sas_fusion.c | 6 +- drivers/scsi/scsi_debug.c | 33 +- drivers/scsi/scsi_transport_iscsi.c | 29 +- drivers/scsi/sd.c | 2 + drivers/scsi/sd_zbc.c | 140 ++-- drivers/scsi/ufs/ufshcd.c | 40 ++ drivers/slimbus/messaging.c | 2 +- drivers/soc/bcm/raspberrypi-power.c | 2 +- drivers/staging/comedi/drivers/serial2002.c | 4 +- drivers/staging/ipx/af_ipx.c | 2 +- drivers/staging/wilc1000/host_interface.c | 2 +- drivers/target/target_core_pscsi.c | 2 + drivers/tty/n_gsm.c | 23 +- drivers/tty/serial/earlycon.c | 6 +- drivers/tty/serial/imx.c | 19 +- drivers/tty/serial/mvebu-uart.c | 1 - drivers/tty/serial/qcom_geni_serial.c | 10 +- drivers/tty/serial/xilinx_uartps.c | 2 +- drivers/tty/tty_io.c | 5 +- drivers/tty/tty_ldisc.c | 29 +- drivers/uio/uio_hv_generic.c | 72 +- drivers/usb/Kconfig | 1 + drivers/usb/core/hcd.c | 19 +- drivers/usb/core/hub.c | 10 +- drivers/usb/core/phy.c | 93 ++- drivers/usb/core/phy.h | 22 +- drivers/usb/core/quirks.c | 3 + drivers/usb/host/xhci-dbgtty.c | 8 +- drivers/usb/host/xhci-pci.c | 5 +- drivers/usb/host/xhci-plat.c | 32 +- drivers/usb/host/xhci.h | 3 +- drivers/usb/musb/musb_dsps.c | 2 - drivers/usb/musb/musb_host.c | 1 + drivers/usb/serial/Kconfig | 1 + drivers/usb/serial/cp210x.c | 1 + drivers/usb/serial/ftdi_sio.c | 3 +- drivers/usb/serial/usb-serial-simple.c | 7 + drivers/usb/typec/ucsi/Makefile | 2 +- drivers/usb/typec/ucsi/ucsi.c | 2 +- drivers/usb/usbip/stub_main.c | 5 + drivers/usb/usbip/usbip_common.h | 2 +- drivers/usb/usbip/usbip_event.c | 4 - drivers/usb/usbip/vhci_hcd.c | 13 + drivers/vfio/virqfd.c | 2 +- drivers/vhost/vhost.c | 2 +- drivers/virt/vboxguest/vboxguest_core.c | 70 +- drivers/virt/vboxguest/vboxguest_core.h | 9 + drivers/virt/vboxguest/vboxguest_linux.c | 19 +- drivers/virt/vboxguest/vboxguest_utils.c | 17 +- drivers/watchdog/aspeed_wdt.c | 7 + drivers/watchdog/renesas_wdt.c | 6 +- drivers/watchdog/sch311x_wdt.c | 2 +- drivers/watchdog/w83977f_wdt.c | 2 +- drivers/watchdog/wafer5823wdt.c | 2 +- drivers/xen/xen-pciback/conf_space_quirks.c | 2 +- drivers/xen/xen-pciback/pci_stub.c | 8 +- drivers/xen/xenbus/xenbus_dev_frontend.c | 3 +- fs/afs/server.c | 9 +- fs/aio.c | 731 ++++++++++++++------- fs/autofs4/root.c | 2 +- fs/binfmt_elf.c | 8 +- fs/btrfs/ctree.h | 25 + fs/btrfs/delayed-inode.c | 20 +- fs/btrfs/delayed-ref.c | 19 +- fs/btrfs/delayed-ref.h | 1 + fs/btrfs/disk-io.c | 1 + fs/btrfs/extent-tree.c | 73 +- fs/btrfs/file.c | 2 +- fs/btrfs/inode.c | 20 +- fs/btrfs/print-tree.c | 25 +- fs/btrfs/print-tree.h | 2 +- fs/btrfs/qgroup.c | 43 +- fs/btrfs/transaction.c | 1 + fs/btrfs/transaction.h | 14 + fs/ceph/inode.c | 10 +- fs/ceph/xattr.c | 28 +- fs/cifs/cifs_debug.h | 2 +- fs/cifs/cifssmb.c | 3 + fs/cifs/connect.c | 32 +- fs/cifs/dir.c | 9 +- fs/cifs/file.c | 2 +- fs/cifs/smb2ops.c | 22 +- fs/cifs/smb2pdu.c | 13 +- fs/cifs/smb2pdu.h | 2 +- fs/cifs/smbdirect.c | 42 +- fs/cifs/transport.c | 9 +- fs/ecryptfs/crypto.c | 41 +- fs/ecryptfs/file.c | 21 +- fs/ecryptfs/inode.c | 3 +- fs/ecryptfs/keystore.c | 2 +- fs/eventfd.c | 15 +- fs/eventpoll.c | 5 +- fs/ext2/file.c | 4 +- fs/ext4/balloc.c | 9 +- fs/ext4/extents.c | 16 +- fs/ext4/super.c | 1 + fs/fs-writeback.c | 7 +- fs/isofs/compress.c | 19 +- fs/isofs/inode.c | 3 + fs/jbd2/transaction.c | 1 + fs/namespace.c | 2 +- fs/notify/fanotify/fanotify.c | 34 +- fs/notify/fsnotify.c | 25 +- fs/pipe.c | 22 +- fs/proc/base.c | 6 + fs/proc/loadavg.c | 2 +- fs/proc/task_mmu.c | 6 +- fs/quota/dquot.c | 2 +- fs/select.c | 85 ++- fs/timerfd.c | 22 +- fs/udf/unicode.c | 6 + include/asm-generic/vmlinux.lds.h | 2 +- include/crypto/if_alg.h | 3 +- include/drm/drm_hdcp.h | 2 +- include/kvm/arm_psci.h | 16 +- include/linux/aio.h | 2 - include/linux/backing-dev-defs.h | 5 + include/linux/backing-dev.h | 30 +- include/linux/blk-mq.h | 3 + include/linux/blkdev.h | 6 + include/linux/bpf.h | 4 +- include/linux/compat.h | 7 + include/linux/compiler-clang.h | 3 + include/linux/coresight-pmu.h | 13 +- include/linux/device.h | 6 +- include/linux/ethtool.h | 2 + include/linux/fs.h | 2 + include/linux/fsnotify_backend.h | 6 +- include/linux/hid.h | 9 +- include/linux/hrtimer.h | 2 + include/linux/if_vlan.h | 7 +- include/linux/livepatch.h | 19 +- include/linux/microchipphy.h | 8 + include/linux/mtd/flashchip.h | 1 + include/linux/net.h | 1 + include/linux/poll.h | 14 +- include/linux/serial_core.h | 21 +- include/linux/skbuff.h | 3 +- include/linux/stringhash.h | 4 +- include/linux/syscalls.h | 6 + include/linux/textsearch.h | 4 +- include/linux/thread_info.h | 6 +- include/linux/ti-emif-sram.h | 75 +++ include/linux/timekeeper_internal.h | 2 - include/linux/timekeeping.h | 37 +- include/linux/timekeeping32.h | 3 - include/linux/timer.h | 2 - include/linux/tty.h | 2 +- include/linux/vbox_utils.h | 23 - include/linux/virtio.h | 3 + include/net/bluetooth/bluetooth.h | 2 +- include/net/busy_poll.h | 15 + include/net/ife.h | 3 +- include/net/iucv/af_iucv.h | 2 - include/net/llc_conn.h | 1 + include/net/sctp/sctp.h | 3 +- include/net/sock.h | 2 - include/net/tcp.h | 3 +- include/net/udp.h | 2 +- include/scsi/scsi_dbg.h | 2 - include/soc/bcm2835/raspberrypi-firmware.h | 4 +- include/sound/control.h | 7 +- include/trace/events/ufs.h | 27 + include/trace/events/workqueue.h | 2 + include/uapi/asm-generic/unistd.h | 4 +- include/uapi/linux/aio_abi.h | 12 +- include/uapi/linux/kvm.h | 7 + include/uapi/linux/perf_event.h | 18 +- include/uapi/linux/random.h | 3 + include/uapi/linux/sysctl.h | 18 - include/uapi/linux/time.h | 1 - include/uapi/linux/types.h | 4 - include/uapi/linux/virtio_balloon.h | 15 + include/xen/interface/io/sndif.h | 322 ++++++++- kernel/bpf/core.c | 45 +- kernel/bpf/sockmap.c | 3 - kernel/events/callchain.c | 25 +- kernel/events/core.c | 8 +- kernel/fork.c | 3 +- kernel/kprobes.c | 2 +- kernel/livepatch/shadow.c | 108 +-- kernel/module.c | 3 +- kernel/sys_ni.c | 2 + kernel/sysctl_binary.c | 20 +- kernel/time/hrtimer.c | 16 +- kernel/time/posix-cpu-timers.c | 4 +- kernel/time/posix-stubs.c | 2 - kernel/time/posix-timers.c | 26 +- kernel/time/tick-common.c | 15 - kernel/time/tick-internal.h | 6 - kernel/time/tick-oneshot.c | 11 +- kernel/time/tick-sched.c | 19 +- kernel/time/timekeeping.c | 85 ++- kernel/time/timekeeping.h | 1 + kernel/trace/bpf_trace.c | 25 +- kernel/trace/trace.c | 2 +- kernel/trace/trace_entries.h | 2 +- kernel/trace/trace_events_filter.c | 14 +- kernel/trace/trace_kprobe.c | 2 - lib/dma-direct.c | 3 +- lib/kobject.c | 11 +- lib/textsearch.c | 40 +- mm/filemap.c | 9 +- mm/huge_memory.c | 5 +- mm/memcontrol.c | 4 +- mm/migrate.c | 22 +- mm/mmap.c | 11 +- mm/page-writeback.c | 18 +- mm/rmap.c | 3 - net/9p/trans_fd.c | 18 +- net/appletalk/ddp.c | 2 +- net/atm/common.c | 11 +- net/atm/common.h | 2 +- net/atm/pvc.c | 2 +- net/atm/svc.c | 2 +- net/ax25/af_ax25.c | 2 +- net/bluetooth/af_bluetooth.c | 7 +- net/bluetooth/bnep/sock.c | 1 - net/bluetooth/cmtp/sock.c | 1 - net/bluetooth/hci_sock.c | 2 +- net/bluetooth/hidp/sock.c | 1 - net/bluetooth/l2cap_sock.c | 2 +- net/bluetooth/rfcomm/sock.c | 2 +- net/bluetooth/sco.c | 2 +- net/bridge/netfilter/ebtables.c | 11 +- net/caif/caif_socket.c | 12 +- net/caif/chnl_net.c | 2 +- net/can/bcm.c | 2 +- net/can/raw.c | 2 +- net/ceph/messenger.c | 7 + net/ceph/mon_client.c | 14 +- net/core/datagram.c | 13 +- net/core/dev.c | 2 +- net/core/dev_addr_lists.c | 2 +- net/core/neighbour.c | 40 +- net/core/sock.c | 6 - net/dccp/dccp.h | 3 +- net/dccp/ipv4.c | 2 +- net/dccp/ipv6.c | 2 +- net/dccp/proto.c | 13 +- net/decnet/af_decnet.c | 6 +- net/dns_resolver/dns_key.c | 12 +- net/ieee802154/socket.c | 4 +- net/ife/ife.c | 38 +- net/ipv4/af_inet.c | 8 +- net/ipv4/ip_output.c | 8 +- net/ipv4/tcp.c | 31 +- net/ipv4/tcp_input.c | 7 +- net/ipv4/udp.c | 10 +- net/ipv6/af_inet6.c | 4 +- net/ipv6/netfilter/Kconfig | 55 +- net/ipv6/raw.c | 4 +- net/ipv6/route.c | 2 + net/ipv6/seg6_iptunnel.c | 2 +- net/iucv/af_iucv.c | 7 +- net/kcm/kcmsock.c | 10 +- net/key/af_key.c | 2 +- net/l2tp/l2tp_core.c | 40 +- net/l2tp/l2tp_core.h | 3 +- net/l2tp/l2tp_debugfs.c | 18 +- net/l2tp/l2tp_ip.c | 2 +- net/l2tp/l2tp_ip6.c | 2 +- net/l2tp/l2tp_netlink.c | 11 +- net/l2tp/l2tp_ppp.c | 36 +- net/llc/af_llc.c | 16 +- net/llc/llc_c_ac.c | 9 +- net/llc/llc_conn.c | 22 +- net/netfilter/Kconfig | 1 + net/netfilter/ipvs/ip_vs_ctl.c | 8 - net/netfilter/ipvs/ip_vs_sync.c | 155 ++--- net/netfilter/nf_conntrack_expect.c | 5 +- net/netfilter/nf_conntrack_extend.c | 2 + net/netfilter/nf_conntrack_sip.c | 16 +- net/netfilter/nf_tables_api.c | 69 +- net/netfilter/xt_connmark.c | 49 +- net/netlink/af_netlink.c | 2 +- net/netrom/af_netrom.c | 2 +- net/nfc/llcp_sock.c | 9 +- net/nfc/rawsock.c | 4 +- net/packet/af_packet.c | 92 ++- net/packet/internal.h | 10 +- net/phonet/socket.c | 9 +- net/qrtr/qrtr.c | 3 +- net/rose/af_rose.c | 2 +- net/rxrpc/af_rxrpc.c | 10 +- net/sched/act_ife.c | 9 +- net/sctp/ipv6.c | 62 +- net/sctp/protocol.c | 2 +- net/sctp/socket.c | 4 +- net/smc/af_smc.c | 10 +- net/socket.c | 55 +- net/strparser/strparser.c | 9 +- net/tipc/monitor.c | 2 +- net/tipc/name_table.c | 34 +- net/tipc/name_table.h | 2 +- net/tipc/net.c | 2 + net/tipc/netlink.c | 5 +- net/tipc/node.c | 11 +- net/tipc/socket.c | 18 +- net/tipc/subscr.c | 5 +- net/tls/tls_sw.c | 10 +- net/unix/af_unix.c | 30 +- net/vmw_vsock/af_vsock.c | 25 +- net/x25/af_x25.c | 2 +- samples/livepatch/livepatch-shadow-fix1.c | 43 +- samples/livepatch/livepatch-shadow-fix2.c | 33 +- security/commoncap.c | 2 + sound/core/control.c | 2 +- sound/core/pcm_compat.c | 7 +- sound/core/pcm_native.c | 30 +- sound/core/rawmidi_compat.c | 18 +- sound/core/seq/oss/seq_oss_event.c | 15 +- sound/core/seq/oss/seq_oss_midi.c | 2 + sound/core/seq/oss/seq_oss_synth.c | 85 ++- sound/core/seq/oss/seq_oss_synth.h | 3 +- sound/drivers/opl3/opl3_synth.c | 7 +- sound/firewire/dice/dice-stream.c | 2 +- sound/firewire/dice/dice.c | 2 +- sound/pci/asihpi/hpimsginit.c | 13 +- sound/pci/asihpi/hpioctl.c | 4 +- sound/pci/hda/hda_hwdep.c | 12 +- sound/pci/hda/hda_intel.c | 3 +- sound/pci/hda/patch_hdmi.c | 9 +- sound/pci/hda/patch_realtek.c | 8 + sound/pci/rme9652/hdspm.c | 24 +- sound/pci/rme9652/rme9652.c | 6 +- sound/soc/amd/acp-da7219-max98357a.c | 2 +- sound/soc/codecs/adau17x1.c | 26 +- sound/soc/codecs/adau17x1.h | 3 +- sound/soc/codecs/msm8916-wcd-analog.c | 9 +- sound/soc/codecs/rt5514.c | 3 + sound/soc/fsl/fsl_esai.c | 7 + sound/soc/fsl/fsl_ssi.c | 14 +- sound/soc/intel/Kconfig | 22 +- sound/soc/omap/omap-dmic.c | 14 +- sound/soc/sh/rcar/core.c | 4 +- sound/soc/soc-topology.c | 14 +- sound/usb/line6/midi.c | 2 +- sound/usb/mixer.c | 7 +- sound/usb/mixer_maps.c | 3 + sound/usb/stream.c | 2 +- sound/usb/usx2y/us122l.c | 2 +- sound/usb/usx2y/usX2Yhwdep.c | 2 +- sound/usb/usx2y/usx2yhwdeppcm.c | 2 +- tools/arch/arm/include/uapi/asm/kvm.h | 9 + tools/arch/x86/include/asm/required-features.h | 8 +- tools/arch/x86/include/uapi/asm/kvm.h | 19 +- tools/include/linux/compiler.h | 20 +- tools/include/linux/coresight-pmu.h | 13 +- tools/include/uapi/asm-generic/mman-common.h | 3 + tools/include/uapi/linux/bpf.h | 1 + tools/include/uapi/linux/if_link.h | 39 ++ tools/include/uapi/linux/kvm.h | 21 +- tools/include/uapi/linux/perf_event.h | 18 +- tools/include/uapi/sound/asound.h | 1 + tools/lib/subcmd/parse-options.c | 6 +- tools/objtool/Makefile | 4 +- tools/perf/Documentation/perf-config.txt | 5 + tools/perf/Documentation/perf-mem.txt | 42 +- tools/perf/Documentation/perf-sched.txt | 4 +- tools/perf/Documentation/perf-script.txt | 17 +- tools/perf/Documentation/perf-stat.txt | 2 +- tools/perf/Makefile.config | 4 +- tools/perf/arch/arm/include/arch-tests.h | 12 + tools/perf/arch/arm/tests/Build | 2 + tools/perf/arch/arm/tests/arch-tests.c | 16 + tools/perf/arch/arm/util/auxtrace.c | 13 +- tools/perf/arch/arm/util/cs-etm.c | 13 +- tools/perf/arch/arm/util/cs-etm.h | 13 +- tools/perf/arch/arm/util/pmu.c | 13 +- tools/perf/arch/s390/util/auxtrace.c | 1 + tools/perf/arch/s390/util/header.c | 18 - tools/perf/arch/x86/Makefile | 2 +- tools/perf/arch/x86/annotate/instructions.c | 67 +- tools/perf/arch/x86/entry/syscalls/syscall_64.tbl | 712 ++++++++++---------- tools/perf/builtin-help.c | 2 +- tools/perf/builtin-mem.c | 4 +- tools/perf/builtin-script.c | 9 +- tools/perf/builtin-stat.c | 54 +- tools/perf/builtin-version.c | 3 + tools/perf/perf.c | 4 +- tools/perf/pmu-events/arch/s390/mapfile.csv | 10 +- tools/perf/tests/attr/test-record-group-sampling | 3 + tools/perf/tests/bpf-script-example.c | 2 +- tools/perf/tests/bpf-script-test-kbuild.c | 1 - tools/perf/tests/builtin-test.c | 1 + tools/perf/tests/mmap-basic.c | 2 +- .../tests/shell/record+probe_libc_inet_pton.sh | 6 +- tools/perf/trace/beauty/mmap.c | 3 + tools/perf/ui/browsers/annotate.c | 5 + tools/perf/ui/browsers/hists.c | 2 +- tools/perf/util/annotate.c | 26 +- tools/perf/util/annotate.h | 9 + tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 3 +- tools/perf/util/cs-etm.c | 3 +- tools/perf/util/cs-etm.h | 13 +- tools/perf/util/event.c | 4 +- tools/perf/util/evsel.c | 24 +- tools/perf/util/evsel.h | 1 + tools/perf/util/generate-cmdlist.sh | 2 +- tools/perf/util/header.c | 3 +- tools/perf/util/machine.c | 30 +- tools/perf/util/parse-events.y | 8 +- tools/perf/util/pmu.c | 28 +- tools/perf/util/symbol.c | 8 +- tools/perf/util/syscalltbl.c | 6 +- tools/perf/util/trace-event-scripting.c | 4 +- tools/testing/nvdimm/test/nfit.c | 84 ++- tools/testing/selftests/bpf/.gitignore | 3 + tools/testing/selftests/bpf/test_sock.c | 1 + tools/testing/selftests/bpf/test_sock_addr.c | 1 + tools/testing/selftests/bpf/test_sock_addr.sh | 4 +- tools/testing/selftests/filesystems/Makefile | 8 +- tools/testing/selftests/firmware/Makefile | 1 + tools/testing/selftests/firmware/fw_lib.sh | 10 +- tools/testing/selftests/firmware/fw_run_tests.sh | 2 +- .../inter-event/trigger-extended-error-support.tc | 2 +- .../inter-event/trigger-multi-actions-accept.tc | 44 ++ tools/testing/selftests/kvm/Makefile | 5 +- tools/testing/selftests/kvm/include/kvm_util.h | 15 +- tools/testing/selftests/kvm/include/vmx.h | 494 ++++++++++++++ tools/testing/selftests/kvm/lib/kvm_util.c | 20 +- tools/testing/selftests/kvm/lib/sparsebit.c | 4 +- tools/testing/selftests/kvm/lib/vmx.c | 243 +++++++ tools/testing/selftests/kvm/vmx_tsc_adjust_test.c | 231 +++++++ tools/testing/selftests/net/Makefile | 2 +- tools/testing/selftests/x86/test_syscall_vdso.c | 35 +- virt/kvm/arm/arm.c | 15 +- virt/kvm/arm/psci.c | 60 ++ virt/kvm/arm/vgic/vgic-mmio-v2.c | 5 + virt/kvm/arm/vgic/vgic.c | 22 +- virt/kvm/eventfd.c | 2 +- 773 files changed, 10665 insertions(+), 5467 deletions(-) create mode 100644 Documentation/devicetree/bindings/timer/nuvoton,npcm7xx-timer.txt create mode 100644 Documentation/virtual/kvm/arm/psci.txt rename arch/s390/configs/{default_defconfig => debug_defconfig} (97%) delete mode 100644 arch/s390/configs/gcov_defconfig create mode 100644 arch/s390/include/asm/purgatory.h create mode 100644 arch/s390/kernel/kexec_elf.c create mode 100644 arch/s390/kernel/kexec_image.c create mode 100644 arch/s390/kernel/machine_kexec_file.c create mode 100644 arch/s390/purgatory/.gitignore create mode 100644 arch/s390/purgatory/Makefile create mode 100644 arch/s390/purgatory/head.S create mode 100644 arch/s390/purgatory/purgatory.c delete mode 100644 arch/x86/kernel/pci-nommu.c create mode 100644 drivers/clocksource/timer-npcm7xx.c create mode 100644 tools/perf/arch/arm/include/arch-tests.h create mode 100644 tools/perf/arch/arm/tests/arch-tests.c create mode 100644 tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-multi-actions-accept.tc create mode 100644 tools/testing/selftests/kvm/include/vmx.h create mode 100644 tools/testing/selftests/kvm/lib/vmx.c create mode 100644 tools/testing/selftests/kvm/vmx_tsc_adjust_test.c