1. 10 Apr, 2020 21 commits
  2. 09 Apr, 2020 13 commits
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · c0cc2711
      Linus Torvalds authored
      Pull module updates from Jessica Yu:
       "Only a small cleanup this time around: a trivial conversion of
        zero-length arrays to flexible arrays"
      
      * tag 'modules-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        kernel: module: Replace zero-length array with flexible-array member
      c0cc2711
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 87ebc45d
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Ensure that the compiler and linker versions are aligned so that ld
         doesn't complain about not understanding a .note.gnu.property section
         (emitted when pointer authentication is enabled).
      
       - Force -mbranch-protection=none when the feature is not enabled, in
         case a compiler may choose a different default value.
      
       - Remove CONFIG_DEBUG_ALIGN_RODATA. It was never in defconfig and
         rarely enabled.
      
       - Fix checking 16-bit Thumb-2 instructions checking mask in the
         emulation of the SETEND instruction (it could match the bottom half
         of a 32-bit Thumb-2 instruction).
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: armv8_deprecated: Fix undef_hook mask for thumb setend
        arm64: remove CONFIG_DEBUG_ALIGN_RODATA feature
        arm64: Always force a branch protection mode when the compiler has one
        arm64: Kconfig: ptrauth: Add binutils version check to fix mismatch
        init/kconfig: Add LD_VERSION Kconfig
      87ebc45d
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · e4da01d8
      Linus Torvalds authored
      Pull more powerpc updates from Michael Ellerman:
       "The bulk of this is the series to make CONFIG_COMPAT user-selectable,
        it's been around for a long time but was blocked behind the
        syscall-in-C series.
      
        Plus there's also a few fixes and other minor things.
      
        Summary:
      
         - A fix for a crash in machine check handling on pseries (ie. guests)
      
         - A small series to make it possible to disable CONFIG_COMPAT, and
           turn it off by default for ppc64le where it's not used.
      
         - A few other miscellaneous fixes and small improvements.
      
        Thanks to: Alexey Kardashevskiy, Anju T Sudhakar, Arnd Bergmann,
        Christophe Leroy, Dan Carpenter, Ganesh Goudar, Geert Uytterhoeven,
        Geoff Levand, Mahesh Salgaonkar, Markus Elfring, Michal Suchanek,
        Nicholas Piggin, Stephen Boyd, Wen Xiong"
      
      * tag 'powerpc-5.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        selftests/powerpc: Always build the tm-poison test 64-bit
        powerpc: Improve ppc_save_regs()
        Revert "powerpc/64: irq_work avoid interrupt when called with hardware irqs enabled"
        powerpc/time: Replace <linux/clk-provider.h> by <linux/of_clk.h>
        powerpc/pseries/ddw: Extend upper limit for huge DMA window for persistent memory
        powerpc/perf: split callchain.c by bitness
        powerpc/64: Make COMPAT user-selectable disabled on littleendian by default.
        powerpc/64: make buildable without CONFIG_COMPAT
        powerpc/perf: consolidate valid_user_sp -> invalid_user_sp
        powerpc/perf: consolidate read_user_stack_32
        powerpc: move common register copy functions from signal_32.c to signal.c
        powerpc: Add back __ARCH_WANT_SYS_LLSEEK macro
        powerpc/ps3: Set CONFIG_UEVENT_HELPER=y in ps3_defconfig
        powerpc/ps3: Remove an unneeded NULL check
        powerpc/ps3: Remove duplicate error message
        powerpc/powernv: Re-enable imc trace-mode in kernel
        powerpc/perf: Implement a global lock to avoid races between trace, core and thread imc events.
        powerpc/pseries: Fix MCE handling on pseries
        selftests/eeh: Skip ahci adapters
        powerpc/64s: Fix doorbell wakeup msgclr optimisation
      e4da01d8
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 6cff4821
      Linus Torvalds authored
      Pull m68knommu update from Greg Ungerer:
       "Only a single commit, to remove all use of the obsolete setup_irq()
        calls within the m68knommu architecture code"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: Replace setup_irq() by request_irq()
      6cff4821
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · eab40026
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
       "This contains a handful of new features:
      
         - Partial support for the Kendryte K210.
      
           There are still a few outstanding issues that I have patches for,
           but I don't actually have a board to test them so they're not
           included yet.
      
         - SBI v0.2 support.
      
         - Fixes to support for building with LLVM-based toolchains. The
           resulting images are known not to boot yet.
      
        I don't anticipate a part two, but I'll probably have something early
        in the RCs to finish up the K210 support"
      
      * tag 'riscv-for-linus-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (38 commits)
        riscv: create a loader.bin boot image for Kendryte SoC
        riscv: Kendryte K210 default config
        riscv: Add Kendryte K210 device tree
        riscv: Select required drivers for Kendryte SOC
        riscv: Add Kendryte K210 SoC support
        riscv: Add SOC early init support
        riscv: Unaligned load/store handling for M_MODE
        RISC-V: Support cpu hotplug
        RISC-V: Add supported for ordered booting method using HSM
        RISC-V: Add SBI HSM extension definitions
        RISC-V: Export SBI error to linux error mapping function
        RISC-V: Add cpu_ops and modify default booting method
        RISC-V: Move relocate and few other functions out of __init
        RISC-V: Implement new SBI v0.2 extensions
        RISC-V: Introduce a new config for SBI v0.1
        RISC-V: Add SBI v0.2 extension definitions
        RISC-V: Add basic support for SBI v0.2
        RISC-V: Mark existing SBI as 0.1 SBI.
        riscv: Use macro definition instead of magic number
        riscv: Add support to dump the kernel page tables
        ...
      eab40026
    • Linus Torvalds's avatar
      Merge tag '9p-for-5.7-2' of git://github.com/martinetd/linux · 5d30bcac
      Linus Torvalds authored
      Pull 9p documentation update from Dominique Martinet:
       "Document the new O_NONBLOCK short read behavior"
      
      * tag '9p-for-5.7-2' of git://github.com/martinetd/linux:
        9p: document short read behaviour with O_NONBLOCK
      5d30bcac
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-5.7-rc1' of git://github.com/ceph/ceph-client · fcc95f06
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "The main items are:
      
         - support for asynchronous create and unlink (Jeff Layton).
      
           Creates and unlinks are satisfied locally, without waiting for a
           reply from the MDS, provided the client has been granted
           appropriate caps (new in v15.y.z ("Octopus") release). This can be
           a big help for metadata heavy workloads such as tar and rsync.
           Opt-in with the new nowsync mount option.
      
         - multiple blk-mq queues for rbd (Hannes Reinecke and myself).
      
           When the driver was converted to blk-mq, we settled on a single
           blk-mq queue because of a global lock in libceph and some other
           technical debt. These have since been addressed, so allocate a
           queue per CPU to enhance parallelism.
      
         - don't hold onto caps that aren't actually needed (Zheng Yan).
      
           This has been our long-standing behavior, but it causes issues with
           some active/standby applications (synchronous I/O, stalls if the
           standby goes down, etc).
      
         - .snap directory timestamps consistent with ceph-fuse (Luis
           Henriques)"
      
      * tag 'ceph-for-5.7-rc1' of git://github.com/ceph/ceph-client: (49 commits)
        ceph: fix snapshot directory timestamps
        ceph: wait for async creating inode before requesting new max size
        ceph: don't skip updating wanted caps when cap is stale
        ceph: request new max size only when there is auth cap
        ceph: cleanup return error of try_get_cap_refs()
        ceph: return ceph_mdsc_do_request() errors from __get_parent()
        ceph: check all mds' caps after page writeback
        ceph: update i_requested_max_size only when sending cap msg to auth mds
        ceph: simplify calling of ceph_get_fmode()
        ceph: remove delay check logic from ceph_check_caps()
        ceph: consider inode's last read/write when calculating wanted caps
        ceph: always renew caps if mds_wanted is insufficient
        ceph: update dentry lease for async create
        ceph: attempt to do async create when possible
        ceph: cache layout in parent dir on first sync create
        ceph: add new MDS req field to hold delegated inode number
        ceph: decode interval_sets for delegated inos
        ceph: make ceph_fill_inode non-static
        ceph: perform asynchronous unlink if we have sufficient caps
        ceph: don't take refs to want mask unless we have all bits
        ...
      fcc95f06
    • Linus Torvalds's avatar
      Merge tag 'ovl-update-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · c6b80eb8
      Linus Torvalds authored
      Pull overlayfs update from Miklos Szeredi:
      
       - Fix failure to copy-up files from certain NFSv4 mounts
      
       - Sort out inconsistencies between st_ino and i_ino (used in /proc/locks)
      
       - Allow consistent (POSIX-y) inode numbering in more cases
      
       - Allow virtiofs to be used as upper layer
      
       - Miscellaneous cleanups and fixes
      
      * tag 'ovl-update-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: document xino expected behavior
        ovl: enable xino automatically in more cases
        ovl: avoid possible inode number collisions with xino=on
        ovl: use a private non-persistent ino pool
        ovl: fix WARN_ON nlink drop to zero
        ovl: fix a typo in comment
        ovl: replace zero-length array with flexible-array member
        ovl: ovl_obtain_alias(): don't call d_instantiate_anon() for old
        ovl: strict upper fs requirements for remote upper fs
        ovl: check if upper fs supports RENAME_WHITEOUT
        ovl: allow remote upper
        ovl: decide if revalidate needed on a per-dentry basis
        ovl: separate detection of remote upper layer from stacked overlay
        ovl: restructure dentry revalidation
        ovl: ignore failure to copy up unknown xattrs
        ovl: document permission model
        ovl: simplify i_ino initialization
        ovl: factor out helper ovl_get_root()
        ovl: fix out of date comment and unreachable code
        ovl: fix value of i_ino for lower hardlink corner case
      c6b80eb8
    • Linus Torvalds's avatar
      Merge tag 'iomap-5.7-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 9744b923
      Linus Torvalds authored
      Pull iomap fix from Darrick Wong:
       "Fix a problem in readahead where we can crash if we can't allocate a
        full bio due to GFP_NORETRY"
      
      * tag 'iomap-5.7-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: Handle memory allocation failure in readahead
      9744b923
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · d8fc9cde
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes a Kconfig dependency for hisilicon as well as a double free
        in marvell/octeontx"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: marvell/octeontx - fix double free of ptr
        crypto: hisilicon - Fix build error
      d8fc9cde
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-5.7-rc1' of git://www.linux-watchdog.org/linux-watchdog · 5602b0af
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - add TI K3 RTI watchdog
      
       - add stop_on_reboot parameter to control reboot policy
      
       - wm831x_wdt: Remove GPIO handling
      
       - several small fixes, improvements and clean-ups
      
      * tag 'linux-watchdog-5.7-rc1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: Add K3 RTI watchdog support
        dt-bindings: watchdog: Add support for TI K3 RTI watchdog
        watchdog: ziirave_wdt: change name to be more specific
        watchdog: orion: use 0 for unset heartbeat
        watchdog: npcm: remove whitespaces
        watchdog: reset last_hw_keepalive time at start
        watchdog: imx2_wdt: Drop .remove callback
        watchdog: Add stop_on_reboot parameter to control reboot policy
        watchdog: wm831x_wdt: Remove GPIO handling
        watchdog: imx7ulp: Remove unused include of init.h
        watchdog: imx_sc_wdt: Remove unused includes
        watchdog: qcom: Use irq flags from firmware
        watchdog: pm8916_wdt: Add system sleep callbacks
        watchdog: qcom-wdt: disable pretimeout on timer platform
      5602b0af
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v5.7' of... · 413a103c
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform updates from Benson Leung:
      
        cros-usbpd-notify and cros_ec_typec:
         - Add a new notification driver that handles and dispatches USB PD
           related events to other drivers.
         - Add a Type C connector class driver for cros_ec
      
        CrOS EC:
         - Introduce a new cros_ec_cmd_xfer_status helper
      
        Sensors/iio:
         - A series from Gwendal that adds Cros EC sensor hub FIFO support
      
        Wilco EC:
         - Fix a build warning.
         - Platform data shouldn't include kernel.h
      
        Misc:
         - i2c api conversion complete, with i2c_new_client_device instead of
           i2c_new_device in chromeos_laptop.
         - Replace zero-length array with flexible-array member in
           cros_ec_chardev and wilco_ec
         - Update new structure for SPI transfer delays in cros_ec_spi
      
      * tag 'tag-chrome-platform-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux: (34 commits)
        platform/chrome: cros_ec_spi: Wait for USECS, not NSECS
        iio: cros_ec: Use Hertz as unit for sampling frequency
        iio: cros_ec: Report hwfifo_watermark_max
        iio: cros_ec: Expose hwfifo_timeout
        iio: cros_ec: Remove pm function
        iio: cros_ec: Register to cros_ec_sensorhub when EC supports FIFO
        iio: expose iio_device_set_clock
        iio: cros_ec: Move function description to .c file
        platform/chrome: cros_ec_sensorhub: Add median filter
        platform/chrome: cros_ec_sensorhub: Add code to spread timestmap
        platform/chrome: cros_ec_sensorhub: Add FIFO support
        platform/chrome: cros_ec_sensorhub: Add the number of sensors in sensorhub
        platform/chrome: chromeos_laptop: make I2C API conversion complete
        platform/chrome: wilco_ec: event: Replace zero-length array with flexible-array member
        platform/chrome: cros_ec_chardev: Replace zero-length array with flexible-array member
        platform/chrome: cros_ec_typec: Update port info from EC
        platform/chrome: Add Type C connector class driver
        platform/chrome: cros_usbpd_notify: Pull PD_HOST_EVENT status
        platform/chrome: cros_usbpd_notify: Amend ACPI driver to plat
        platform/chrome: cros_usbpd_notify: Add driver data struct
        ...
      413a103c
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 9b06860d
      Linus Torvalds authored
      Pull libnvdimm and dax updates from Dan Williams:
       "There were multiple touches outside of drivers/nvdimm/ this round to
        add cross arch compatibility to the devm_memremap_pages() interface,
        enhance numa information for persistent memory ranges, and add a
        zero_page_range() dax operation.
      
        This cycle I switched from the patchwork api to Konstantin's b4 script
        for collecting tags (from x86, PowerPC, filesystem, and device-mapper
        folks), and everything looks to have gone ok there. This has all
        appeared in -next with no reported issues.
      
        Summary:
      
         - Add support for region alignment configuration and enforcement to
           fix compatibility across architectures and PowerPC page size
           configurations.
      
         - Introduce 'zero_page_range' as a dax operation. This facilitates
           filesystem-dax operation without a block-device.
      
         - Introduce phys_to_target_node() to facilitate drivers that want to
           know resulting numa node if a given reserved address range was
           onlined.
      
         - Advertise a persistence-domain for of_pmem and papr_scm. The
           persistence domain indicates where cpu-store cycles need to reach
           in the platform-memory subsystem before the platform will consider
           them power-fail protected.
      
         - Promote numa_map_to_online_node() to a cross-kernel generic
           facility.
      
         - Save x86 numa information to allow for node-id lookups for reserved
           memory ranges, deploy that capability for the e820-pmem driver.
      
         - Pick up some miscellaneous minor fixes, that missed v5.6-final,
           including a some smatch reports in the ioctl path and some unit
           test compilation fixups.
      
         - Fixup some flexible-array declarations"
      
      * tag 'libnvdimm-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (29 commits)
        dax: Move mandatory ->zero_page_range() check in alloc_dax()
        dax,iomap: Add helper dax_iomap_zero() to zero a range
        dax: Use new dax zero page method for zeroing a page
        dm,dax: Add dax zero_page_range operation
        s390,dcssblk,dax: Add dax zero_page_range operation to dcssblk driver
        dax, pmem: Add a dax operation zero_page_range
        pmem: Add functions for reading/writing page to/from pmem
        libnvdimm: Update persistence domain value for of_pmem and papr_scm device
        tools/test/nvdimm: Fix out of tree build
        libnvdimm/region: Fix build error
        libnvdimm/region: Replace zero-length array with flexible-array member
        libnvdimm/label: Replace zero-length array with flexible-array member
        ACPI: NFIT: Replace zero-length array with flexible-array member
        libnvdimm/region: Introduce an 'align' attribute
        libnvdimm/region: Introduce NDD_LABELING
        libnvdimm/namespace: Enforce memremap_compat_align()
        libnvdimm/pfn: Prevent raw mode fallback if pfn-infoblock valid
        libnvdimm: Out of bounds read in __nd_ioctl()
        acpi/nfit: improve bounds checking for 'func'
        mm/memremap_pages: Introduce memremap_compat_align()
        ...
      9b06860d
  3. 08 Apr, 2020 6 commits
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 0906d8b9
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - ARM-SMMU support for the TLB range invalidation command in SMMUv3.2
      
       - ARM-SMMU introduction of command batching helpers to batch up CD and
         ATC invalidation
      
       - ARM-SMMU support for PCI PASID, along with necessary PCI symbol
         exports
      
       - Introduce a generic (actually rename an existing) IOMMU related
         pointer in struct device and reduce the IOMMU related pointers
      
       - Some fixes for the OMAP IOMMU driver to make it build on 64bit
         architectures
      
       - Various smaller fixes and improvements
      
      * tag 'iommu-updates-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (39 commits)
        iommu: Move fwspec->iommu_priv to struct dev_iommu
        iommu/virtio: Use accessor functions for iommu private data
        iommu/qcom: Use accessor functions for iommu private data
        iommu/mediatek: Use accessor functions for iommu private data
        iommu/renesas: Use accessor functions for iommu private data
        iommu/arm-smmu: Use accessor functions for iommu private data
        iommu/arm-smmu: Refactor master_cfg/fwspec usage
        iommu/arm-smmu-v3: Use accessor functions for iommu private data
        iommu: Introduce accessors for iommu private data
        iommu/arm-smmu: Fix uninitilized variable warning
        iommu: Move iommu_fwspec to struct dev_iommu
        iommu: Rename struct iommu_param to dev_iommu
        iommu/tegra-gart: Remove direct access of dev->iommu_fwspec
        drm/msm/mdp5: Remove direct access of dev->iommu_fwspec
        ACPI/IORT: Remove direct access of dev->iommu_fwspec
        iommu: Define dev_iommu_fwspec_get() for !CONFIG_IOMMU_API
        iommu/virtio: Reject IOMMU page granule larger than PAGE_SIZE
        iommu/virtio: Fix freeing of incomplete domains
        iommu/virtio: Fix sparse warning
        iommu/vt-d: Add build dependency on IOASID
        ...
      0906d8b9
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 0339eb95
      Linus Torvalds authored
      Pull more kvm updates from Paolo Bonzini:
       "s390:
         - nested virtualization fixes
      
        x86:
         - split svm.c
      
         - miscellaneous fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: VMX: fix crash cleanup when KVM wasn't used
        KVM: X86: Filter out the broadcast dest for IPI fastpath
        KVM: s390: vsie: Fix possible race when shadowing region 3 tables
        KVM: s390: vsie: Fix delivery of addressing exceptions
        KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks
        KVM: nVMX: don't clear mtf_pending when nested events are blocked
        KVM: VMX: Remove unnecessary exception trampoline in vmx_vmenter
        KVM: SVM: Split svm_vcpu_run inline assembly to separate file
        KVM: SVM: Move SEV code to separate file
        KVM: SVM: Move AVIC code to separate file
        KVM: SVM: Move Nested SVM Implementation to nested.c
        kVM SVM: Move SVM related files to own sub-directory
      0339eb95
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 9bb71526
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
      
       - Some bug fixes
      
       - The new vdpa subsystem with two first drivers
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio-balloon: Revert "virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM"
        vdpa: move to drivers/vdpa
        virtio: Intel IFC VF driver for VDPA
        vdpasim: vDPA device simulator
        vhost: introduce vDPA-based backend
        virtio: introduce a vDPA based transport
        vDPA: introduce vDPA bus
        vringh: IOTLB support
        vhost: factor out IOTLB
        vhost: allow per device message handler
        vhost: refine vhost and vringh kconfig
        virtio-balloon: Switch back to OOM handler for VIRTIO_BALLOON_F_DEFLATE_ON_OOM
        virtio-net: Introduce hash report feature
        virtio-net: Introduce RSS receive steering feature
        virtio-net: Introduce extended RSC feature
        tools/virtio: option to build an out of tree module
      9bb71526
    • Fredrik Strupe's avatar
      arm64: armv8_deprecated: Fix undef_hook mask for thumb setend · fc226601
      Fredrik Strupe authored
      For thumb instructions, call_undef_hook() in traps.c first reads a u16,
      and if the u16 indicates a T32 instruction (u16 >= 0xe800), a second
      u16 is read, which then makes up the the lower half-word of a T32
      instruction. For T16 instructions, the second u16 is not read,
      which makes the resulting u32 opcode always have the upper half set to
      0.
      
      However, having the upper half of instr_mask in the undef_hook set to 0
      masks out the upper half of all thumb instructions - both T16 and T32.
      This results in trapped T32 instructions with the lower half-word equal
      to the T16 encoding of setend (b650) being matched, even though the upper
      half-word is not 0000 and thus indicates a T32 opcode.
      
      An example of such a T32 instruction is eaa0b650, which should raise a
      SIGILL since T32 instructions with an eaa prefix are unallocated as per
      Arm ARM, but instead works as a SETEND because the second half-word is set
      to b650.
      
      This patch fixes the issue by extending instr_mask to include the
      upper u32 half, which will still match T16 instructions where the upper
      half is 0, but not T32 instructions.
      
      Fixes: 2d888f48
      
       ("arm64: Emulate SETEND for AArch32 tasks")
      Cc: <stable@vger.kernel.org> # 4.0.x-
      Reviewed-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
      Signed-off-by: default avatarFredrik Strupe <fredrik@strupe.net>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      fc226601
    • Hillf Danton's avatar
      mm/gup: Let __get_user_pages_locked() return -EINTR for fatal signal · ae46d2aa
      Hillf Danton authored
      __get_user_pages_locked() will return 0 instead of -EINTR after commit
      4426e945 ("mm/gup: allow VM_FAULT_RETRY for multiple times") which
      added extra code to allow gup detect fatal signal faster.
      
      Restore the original -EINTR behavior.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Fixes: 4426e945
      
       ("mm/gup: allow VM_FAULT_RETRY for multiple times")
      Reported-by: syzbot+3be1a33f04dc782e9fd5@syzkaller.appspotmail.com
      Signed-off-by: default avatarHillf Danton <hdanton@sina.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ae46d2aa
    • Dominique Martinet's avatar
      9p: document short read behaviour with O_NONBLOCK · c6f14141
      Dominique Martinet authored
      Regular files opened with O_NONBLOCK allow read to return after a single
      round-trip with the server instead of trying to fill buffer.
      Add a few lines in 9p documentation to describe that.
      
      Link: http://lkml.kernel.org/r/1586193572-1375-1-git-send-email-asmadeus@codewreck.org
      
      Signed-off-by: default avatarDominique Martinet <dominique.martinet@cea.fr>
      c6f14141