1. 19 Jul, 2020 3 commits
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2020-07-19' of... · 9413cd77
      Linus Torvalds authored
      Merge tag 'irq-urgent-2020-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into master
      
      Pull irq fixes from Thomas Gleixner:
       "Two fixes for the interrupt subsystem:
      
         - Make the handling of the firmware node consistent and do not free
           the node after the domain has been created successfully. The core
           code stores a pointer to it which can lead to a use after free or
           double free.
      
           This used to "work" because the pointer was not stored when the
           initial code was written, but at some point later it was required
           to store it. Of course nobody noticed that the existing users break
           that way.
      
         - Handle affinity setting on inactive interrupts correctly when
           hierarchical irq domains are enabled.
      
           When interrupts are inactive with the modern hierarchical irqdomain
           design, the interrupt chips are not necessarily in a state where
           affinity changes can be handled. The legacy irq chip design allowed
           this because interrupts are immediately fully initialized at
           allocation time. X86 has a hacky workaround for this, but other
           implementations do not.
      
           This cased malfunction on GIC-V3. Instead of playing whack a mole
           to find all affected drivers, change the core code to store the
           requested affinity setting and then establish it when the interrupt
           is allocated, which makes the X86 hack go away"
      
      * tag 'irq-urgent-2020-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq/affinity: Handle affinity setting on inactive interrupts correctly
        irqdomain/treewide: Keep firmware node unconditionally allocated
      9413cd77
    • Linus Torvalds's avatar
      Merge tag 'usb-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb into master · ce20d7bf
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a few small USB fixes, and one thunderbolt fix, for 5.8-rc6.
      
        Nothing huge in here, just the normal collection of gadget, dwc2/3,
        serial, and other minor USB driver fixes and id additions. Full
        details are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: serial: iuu_phoenix: fix memory corruption
        USB: c67x00: fix use after free in c67x00_giveback_urb
        usb: gadget: function: fix missing spinlock in f_uac1_legacy
        usb: gadget: udc: atmel: fix uninitialized read in debug printk
        usb: gadget: udc: atmel: remove outdated comment in usba_ep_disable()
        usb: dwc2: Fix shutdown callback in platform
        usb: cdns3: trace: fix some endian issues
        usb: cdns3: ep0: fix some endian issues
        usb: gadget: udc: gr_udc: fix memleak on error handling path in gr_ep_init()
        usb: gadget: fix langid kernel-doc warning in usbstring.c
        usb: dwc3: pci: add support for the Intel Jasper Lake
        usb: dwc3: pci: add support for the Intel Tiger Lake PCH -H variant
        usb: chipidea: core: add wakeup support for extcon
        USB: serial: option: add Quectel EG95 LTE modem
        thunderbolt: Fix path indices used in USB3 tunnel discovery
        USB: serial: ch341: add new Product ID for CH340
        USB: serial: option: add GosunCn GM500 series
        USB: serial: cypress_m8: enable Simply Automated UPB PIM
      ce20d7bf
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.8-6' of git://git.infradead.org/users/hch/dma-mapping into master · 8c18fc63
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
       "Ensure we always have fully addressable memory in the dma coherent
        pool (Nicolas Saenz Julienne)"
      
      * tag 'dma-mapping-5.8-6' of git://git.infradead.org/users/hch/dma-mapping:
        dma-pool: do not allocate pool memory from CMA
        dma-pool: make sure atomic pool suits device
        dma-pool: introduce dma_guess_pool()
        dma-pool: get rid of dma_in_atomic_pool()
        dma-direct: provide function to check physical memory area validity
      8c18fc63
  2. 18 Jul, 2020 5 commits
  3. 17 Jul, 2020 21 commits
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.8-3' of git://git.linux-nfs.org/projects/anna/linux-nfs into master · 6a70f89c
      Linus Torvalds authored
      Pull NFS client fixes from Anna Schumaker:
       "A few more NFS client bugfixes for Linux 5.8:
      
        NFS:
         - Fix interrupted slots by using the SEQUENCE operation
      
        SUNRPC:
         - revert d03727b2 to fix unkillable IOs
      
        xprtrdma:
         - Fix double-free in rpcrdma_ep_create()
         - Fix recursion into rpcrdma_xprt_disconnect()
         - Fix return code from rpcrdma_xprt_connect()
         - Fix handling of connect errors
         - Fix incorrect header size calculations"
      
      * tag 'nfs-for-5.8-3' of git://git.linux-nfs.org/projects/anna/linux-nfs:
        SUNRPC reverting d03727b2 ("NFSv4 fix CLOSE not waiting for direct IO compeletion")
        xprtrdma: fix incorrect header size calculations
        NFS: Fix interrupted slots by sending a solo SEQUENCE operation
        xprtrdma: Fix handling of connect errors
        xprtrdma: Fix return code from rpcrdma_xprt_connect()
        xprtrdma: Fix recursion into rpcrdma_xprt_disconnect()
        xprtrdma: Fix double-free in rpcrdma_ep_create()
      6a70f89c
    • Linus Torvalds's avatar
      Merge tag 'arm-fixes-5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc into master · 630c183b
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "This time there are a number of actual code fixes, plus a small set of
        device tree issues getting addressed:
      
        Renesas:
      
          - one defconfig cleanup to allow a later Kconfig change
      
        Intel socfpga:
      
          - enable QSPI devices on some machines
      
          - fix DTC validation warnings
      
        TI OMAP:
      
          - Two DEBUG_ATOMIC_SLEEP fixes for ti-sysc interconnect target
            module driver
      
          - A regression fix for ti-sysc no-idle handling that caused issues
            compared to earlier platform data based booting
      
          - A fix for memory leak for omap_hwmod_allocate_module
      
          - Fix d_can driver probe for am437x
      
        NXP i.MX:
      
          - A couple of fixes on i.MX platform device registration code to
            stop the use of invalid IRQ 0.
      
          - Fix a regression seen on ls1021a platform, caused by commit
            52102a3b ("soc: imx: move cpu code to drivers/soc/imx").
      
          - Fix a misconfiguration of audio SSI on imx6qdl-gw551x board.
      
        Amlogic Meson:
      
          - misc DT fixes
      
          - SoC ID fixes to detect all chips correctly"
      
      * tag 'arm-fixes-5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        arm64: dts: spcfpga: Align GIC, NAND and UART nodenames with dtschema
        ARM: dts: socfpga: Align L2 cache-controller nodename with dtschema
        arm64: dts: stratix10: increase QSPI reg address in nand dts file
        arm64: dts: stratix10: add status to qspi dts node
        arm64: dts: agilex: add status to qspi dts node
        ARM: dts: Fix dcan driver probe failed on am437x platform
        ARM: OMAP2+: Fix possible memory leak in omap_hwmod_allocate_module
        arm64: defconfig: Enable CONFIG_PCIE_RCAR_HOST
        soc: imx: check ls1021a
        ARM: imx: Remove imx_add_imx_dma() unused irq_err argument
        ARM: imx: Provide correct number of resources when registering gpio devices
        ARM: dts: imx6qdl-gw551x: fix audio SSI
        bus: ti-sysc: Do not disable on suspend for no-idle
        bus: ti-sysc: Fix sleeping function called from invalid context for RTC quirk
        bus: ti-sysc: Fix wakeirq sleeping function called from invalid context
        ARM: dts: meson: Align L2 cache-controller nodename with dtschema
        arm64: dts: meson-gxl-s805x: reduce initial Mali450 core frequency
        arm64: dts: meson: add missing gxl rng clock
        soc: amlogic: meson-gx-socinfo: Fix S905X3 and S905D3 ID's
      630c183b
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux into master · a570f419
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "A batch of arm64 fixes.
      
        Although the diffstat is a bit larger than we'd usually have at this
        stage, a decent amount of it is the addition of comments describing
        our syscall tracing behaviour, and also a sweep across all the modular
        arm64 PMU drivers to make them rebust against unloading and unbinding.
      
        There are a couple of minor things kicking around at the moment (CPU
        errata and module PLTs for very large modules), but I'm not expecting
        any significant changes now for us in 5.8.
      
         - Fix kernel text addresses for relocatable images booting using EFI
           and with KASLR disabled so that they match the vmlinux ELF binary.
      
         - Fix unloading and unbinding of PMU driver modules.
      
         - Fix generic mmiowb() when writeX() is called from preemptible
           context (reported by the riscv folks).
      
         - Fix ptrace hardware single-step interactions with signal handlers,
           system calls and reverse debugging.
      
         - Fix reporting of 64-bit x0 register for 32-bit tasks via
           'perf_regs'.
      
         - Add comments describing syscall entry/exit tracing ABI"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        drivers/perf: Prevent forced unbinding of PMU drivers
        asm-generic/mmiowb: Allow mmiowb_set_pending() when preemptible()
        arm64: Use test_tsk_thread_flag() for checking TIF_SINGLESTEP
        arm64: ptrace: Use NO_SYSCALL instead of -1 in syscall_trace_enter()
        arm64: syscall: Expand the comment about ptrace and syscall(-1)
        arm64: ptrace: Add a comment describing our syscall entry/exit trap ABI
        arm64: compat: Ensure upper 32 bits of x0 are zero on syscall return
        arm64: ptrace: Override SPSR.SS when single-stepping is enabled
        arm64: ptrace: Consistently use pseudo-singlestep exceptions
        drivers/perf: Fix kernel panic when rmmod PMU modules during perf sampling
        efi/libstub/arm64: Retain 2MB kernel Image alignment if !KASLR
      a570f419
    • Thomas Gleixner's avatar
      genirq/affinity: Handle affinity setting on inactive interrupts correctly · baedb87d
      Thomas Gleixner authored
      Setting interrupt affinity on inactive interrupts is inconsistent when
      hierarchical irq domains are enabled. The core code should just store the
      affinity and not call into the irq chip driver for inactive interrupts
      because the chip drivers may not be in a state to handle such requests.
      
      X86 has a hacky workaround for that but all other irq chips have not which
      causes problems e.g. on GIC V3 ITS.
      
      Instead of adding more ugly hacks all over the place, solve the problem in
      the core code. If the affinity is set on an inactive interrupt then:
      
          - Store it in the irq descriptors affinity mask
          - Update the effective affinity to reflect that so user space has
            a consistent view
          - Don't call into the irq chip driver
      
      This is the core equivalent of the X86 workaround and works correctly
      because the affinity setting is established in the irq chip when the
      interrupt is activated later on.
      
      Note, that this is only effective when hierarchical irq domains are enabled
      by the architecture. Doing it unconditionally would break legacy irq chip
      implementations.
      
      For hierarchial irq domains this works correctly as none of the drivers can
      have a dependency on affinity setting in inactive state by design.
      
      Remove the X86 workaround as it is not longer required.
      
      Fixes: 02edee15 ("x86/apic/vector: Ignore set_affinity call for inactive interrupts")
      Reported-by: default avatarAli Saidi <alisaidi@amazon.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Tested-by: default avatarAli Saidi <alisaidi@amazon.com>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20200529015501.15771-1-alisaidi@amazon.com
      Link: https://lkml.kernel.org/r/877dv2rv25.fsf@nanos.tec.linutronix.de
      baedb87d
    • Olga Kornievskaia's avatar
      SUNRPC reverting d03727b2 ("NFSv4 fix CLOSE not waiting for direct IO compeletion") · 65caafd0
      Olga Kornievskaia authored
      Reverting commit d03727b2 "NFSv4 fix CLOSE not waiting for
      direct IO compeletion". This patch made it so that fput() by calling
      inode_dio_done() in nfs_file_release() would wait uninterruptably
      for any outstanding directIO to the file (but that wait on IO should
      be killable).
      
      The problem the patch was also trying to address was REMOVE returning
      ERR_ACCESS because the file is still opened, is supposed to be resolved
      by server returning ERR_FILE_OPEN and not ERR_ACCESS.
      Signed-off-by: default avatarOlga Kornievskaia <kolga@netapp.com>
      Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
      65caafd0
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.8-2020-07-17' of git://git.kernel.dk/linux-block into master · 4ebf8d76
      Linus Torvalds authored
      Pull io_uring fix from Jens Axboe:
       "Fix for a case where, with automatic buffer selection, we can leak the
        buffer descriptor for recvmsg"
      
      * tag 'io_uring-5.8-2020-07-17' of git://git.kernel.dk/linux-block:
        io_uring: fix recvmsg memory leak with buffer selection
      4ebf8d76
    • Linus Torvalds's avatar
      Merge tag 'block-5.8-2020-07-17' of git://git.kernel.dk/linux-block into master · c9ea87dc
      Linus Torvalds authored
      Pull block fix from Jens Axboe:
       "Single NVMe multipath capacity fix"
      
      * tag 'block-5.8-2020-07-17' of git://git.kernel.dk/linux-block:
        nvme: explicitly update mpath disk capacity on revalidation
      c9ea87dc
    • Linus Torvalds's avatar
      Merge tag 'fuse-fixes-5.8-rc6' of... · 0dd68a34
      Linus Torvalds authored
      Merge tag 'fuse-fixes-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse into master
      
      Pull fuse fixes from Miklos Szeredi:
      
       - two regressions in this cycle caused by the conversion of writepage
         list to an rb_tree
      
       - two regressions in v5.4 cause by the conversion to the new mount API
      
       - saner behavior of fsconfig(2) for the reconfigure case
      
       - an ancient issue with FS_IOC_{GET,SET}FLAGS ioctls
      
      * tag 'fuse-fixes-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS
        fuse: don't ignore errors from fuse_writepages_fill()
        fuse: clean up condition for writepage sending
        fuse: reject options on reconfigure via fsconfig(2)
        fuse: ignore 'data' argument of mount(..., MS_REMOUNT)
        fuse: use ->reconfigure() instead of ->remount_fs()
        fuse: fix warning in tree_insert() and clean up writepage insertion
        fuse: move rb_erase() before tree_insert()
      0dd68a34
    • Linus Torvalds's avatar
      Merge tag 'ovl-fixes-5.8-rc6' of... · 44fea373
      Linus Torvalds authored
      Merge tag 'ovl-fixes-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs into master
      
      Pull overlayfs fixes from Miklos Szeredi:
      
       - fix a regression introduced in v4.20 in handling a regenerated
         squashfs lower layer
      
       - two regression fixes for this cycle, one of which is Oops inducing
      
       - miscellaneous issues
      
      * tag 'ovl-fixes-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: fix lookup of indexed hardlinks with metacopy
        ovl: fix unneeded call to ovl_change_flags()
        ovl: fix mount option checks for nfs_export with no upperdir
        ovl: force read-only sb on failure to create index dir
        ovl: fix regression with re-formatted lower squashfs
        ovl: fix oops in ovl_indexdir_cleanup() with nfs_export=on
        ovl: relax WARN_ON() when decoding lower directory file handle
        ovl: remove not used argument in ovl_check_origin
        ovl: change ovl_copy_up_flags static
        ovl: inode reference leak in ovl_is_inuse true case.
      44fea373
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v5.8-rc5' of... · 33b9108f
      Linus Torvalds authored
      Merge tag 'spi-fix-v5.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into master
      
      Pull spi fixes from Mark Brown:
       "A couple of small driver specific fixes for fairly minor issues"
      
      * tag 'spi-fix-v5.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: spi-sun6i: sun6i_spi_transfer_one(): fix setting of clock rate
        spi: mediatek: use correct SPI_CFG2_REG MACRO
      33b9108f
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v5.8-rc5' of... · 8da822e8
      Linus Torvalds authored
      Merge tag 'regulator-fix-v5.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into master
      
      Pull regulator fixes from Mark Brown:
       "The more substantial fix here is the rename of the da903x driver which
        fixes a collision with the parent MFD driver name which caused issues
        when things were built as modules.
      
        There's also a fix for a mislableled regulator on the pmi8994 which is
        quite important for systems with that device"
      
      * tag 'regulator-fix-v5.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        MAINTAINERS: remove obsolete entry after file renaming
        regulator: rename da903x to da903x-regulator
        regulator: qcom_smd: Fix pmi8994 label
      8da822e8
    • Linus Torvalds's avatar
      Merge tag 'regmap-fix-v5.8-rc5' of... · ee436955
      Linus Torvalds authored
      Merge tag 'regmap-fix-v5.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into master
      
      Pull regmap fixes from Mark Brown:
       "A couple of substantial fixes here, one from Doug which fixes the
        debugfs code for MMIO regmaps (fortunately not the common case) and
        one from Marc fixing lookups of multiple regmaps for the same device
        (a very unusual case).
      
        There's also a fix for Kconfig to ensure we enable SoundWire properly"
      
      * tag 'regmap-fix-v5.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: debugfs: Don't sleep while atomic for fast_io regmaps
        regmap: add missing dependency on SoundWire
        regmap: dev_get_regmap_match(): fix string comparison
      ee436955
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid into master · 60541fb6
      Linus Torvalds authored
      Pull HID fixes from Jiri Kosina:
      
       - linked list race condition fix in hid-steam driver from Rodrigo Rivas
         Costa
      
       - assorted deviceID-specific quirks and other small cosmetic cleanups
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
        HID: logitech-hidpp: avoid repeated "multiplier = " log messages
        HID: logitech: Use HIDPP_RECEIVER_INDEX instead of 0xff
        HID: quirks: Ignore Simply Automated UPB PIM
        HID: apple: Disable Fn-key key-re-mapping on clone keyboards
        MAINTAINERS: update uhid and hid-wiimote entry
        HID: steam: fixes race in handling device list.
        HID: magicmouse: do not set up autorepeat
        HID: alps: support devices with report id 2
        HID: quirks: Always poll Obins Anne Pro 2 keyboard
        HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor override
      60541fb6
    • Palmer Dabbelt's avatar
      RISC-V: Upgrade smp_mb__after_spinlock() to iorw,iorw · 38b7c2a3
      Palmer Dabbelt authored
      While digging through the recent mmiowb preemption issue it came up that
      we aren't actually preventing IO from crossing a scheduling boundary.
      While it's a bit ugly to overload smp_mb__after_spinlock() with this
      behavior, it's what PowerPC is doing so there's some precedent.
      Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      38b7c2a3
    • Arnd Bergmann's avatar
      Merge tag 'socfpga_fixes_for_v5.8_v2' of... · 2648298a
      Arnd Bergmann authored
      Merge tag 'socfpga_fixes_for_v5.8_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/fixes
      
      arm/arm64: dts: socfpga: fixes for v5.8
      - Add status = "okay" in QSPI
      - Increase QSPI size in reg property
      - Fix dtschema for SoCFPGA platforms
      
      * tag 'socfpga_fixes_for_v5.8_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
        arm64: dts: spcfpga: Align GIC, NAND and UART nodenames with dtschema
        ARM: dts: socfpga: Align L2 cache-controller nodename with dtschema
        arm64: dts: stratix10: increase QSPI reg address in nand dts file
        arm64: dts: stratix10: add status to qspi dts node
        arm64: dts: agilex: add status to qspi dts node
      
      Link: https://lore.kernel.org/r/20200717155758.18233-1-dinguyen@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      2648298a
    • Arnd Bergmann's avatar
      Merge tag 'renesas-fixes-for-v5.8-tag1' of... · f7d96b86
      Arnd Bergmann authored
      Merge tag 'renesas-fixes-for-v5.8-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/fixes
      
      Renesas fixes for v5.8
      
        - Replace CONFIG_PCIE_RCAR by CONFIG_PCIE_RCAR_HOST in the defconfig,
          to unblock a planned Kconfig change.
      
      * tag 'renesas-fixes-for-v5.8-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
        arm64: defconfig: Enable CONFIG_PCIE_RCAR_HOST
      
      Link: https://lore.kernel.org/r/20200717100523.15418-1-geert+renesas@glider.beSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      f7d96b86
    • Linus Torvalds's avatar
      Merge tag 'sound-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound into master · a238ac2d
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "No surprise here, just a few device-specific small fixes: two fixes
        for USB LINE6 and one for USB-audio drivers wrt syzkaller fuzzer
        issues, while the rest are all HD-audio Realtek quirks"
      
      * tag 'sound-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek - fixup for yet another Intel reference board
        ALSA: hda/realtek - Enable Speaker for ASUS UX563
        ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534
        ALSA: hda/realtek: Enable headset mic of Acer TravelMate B311R-31 with ALC256
        ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289
        ALSA: hda/realtek - change to suitable link model for ASUS platform
        ALSA: usb-audio: Fix race against the error recovery URB submission
        ALSA: line6: Sync the pending work cancel at disconnection
        ALSA: line6: Perform sanity check for each URB creation
      a238ac2d
    • Qi Liu's avatar
      drivers/perf: Prevent forced unbinding of PMU drivers · f32ed8eb
      Qi Liu authored
      Forcefully unbinding PMU drivers during perf sampling will lead to
      a kernel panic, because the perf upper-layer framework call a NULL
      pointer in this situation.
      
      To solve this issue, "suppress_bind_attrs" should be set to true, so
      that bind/unbind can be disabled via sysfs and prevent unbinding PMU
      drivers during perf sampling.
      Signed-off-by: default avatarQi Liu <liuqi115@huawei.com>
      Reviewed-by: default avatarJohn Garry <john.garry@huawei.com>
      Link: https://lore.kernel.org/r/1594975763-32966-1-git-send-email-liuqi115@huawei.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      f32ed8eb
    • Will Deacon's avatar
      asm-generic/mmiowb: Allow mmiowb_set_pending() when preemptible() · bd024e82
      Will Deacon authored
      Although mmiowb() is concerned only with serialising MMIO writes occuring
      in contexts where a spinlock is held, the call to mmiowb_set_pending()
      from the MMIO write accessors can occur in preemptible contexts, such
      as during driver probe() functions where ordering between CPUs is not
      usually a concern, assuming that the task migration path provides the
      necessary ordering guarantees.
      
      Unfortunately, the default implementation of mmiowb_set_pending() is not
      preempt-safe, as it makes use of a a per-cpu variable to track its
      internal state. This has been reported to generate the following splat
      on riscv:
      
       | BUG: using smp_processor_id() in preemptible [00000000] code: swapper/0/1
       | caller is regmap_mmio_write32le+0x1c/0x46
       | CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.8.0-rc3-hfu+ #1
       | Call Trace:
       |  walk_stackframe+0x0/0x7a
       |  dump_stack+0x6e/0x88
       |  regmap_mmio_write32le+0x18/0x46
       |  check_preemption_disabled+0xa4/0xaa
       |  regmap_mmio_write32le+0x18/0x46
       |  regmap_mmio_write+0x26/0x44
       |  regmap_write+0x28/0x48
       |  sifive_gpio_probe+0xc0/0x1da
      
      Although it's possible to fix the driver in this case, other splats have
      been seen from other drivers, including the infamous 8250 UART, and so
      it's better to address this problem in the mmiowb core itself.
      
      Fix mmiowb_set_pending() by using the raw_cpu_ptr() to get at the mmiowb
      state and then only updating the 'mmiowb_pending' field if we are not
      preemptible (i.e. we have a non-zero nesting count).
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Paul Walmsley <paul.walmsley@sifive.com>
      Cc: Guo Ren <guoren@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Reported-by: default avatarPalmer Dabbelt <palmer@dabbelt.com>
      Reported-by: default avatarEmil Renner Berthing <kernel@esmil.dk>
      Tested-by: default avatarEmil Renner Berthing <kernel@esmil.dk>
      Reviewed-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      Acked-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      Link: https://lore.kernel.org/r/20200716112816.7356-1-will@kernel.orgSigned-off-by: default avatarWill Deacon <will@kernel.org>
      bd024e82
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2020-07-17-1' of git://anongit.freedesktop.org/drm/drm into master · 88825726
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Weekly fixes pull, big bigger than I'd normally like, but they are
        fairly scattered and small individually.
      
        The vmwgfx one is a black screen regression, otherwise the largest is
        an MST encoder fix for amdgpu which results in a WARN in some cases,
        and a scattering of i915 fixes.
      
        I'm tracking two regressions at the moment that hopefully we get
        nailed down this week for rc7.
      
        dma-buf:
         - sleeping atomic fix
      
        amdgpu:
         - Fix a race condition with KIQ
         - Preemption fix
         - Fix handling of fake MST encoders
         - OLED panel fix
         - Handle allocation failure in stream construction
         - Renoir SMC fix
         - SDMA 5.x fix
      
        i915:
         - FBC w/a stride fix
         - Fix use-after-free fix on module reload
         - Ignore irq enabling on the virtual engines to fix device sleep
         - Use GTT when saving/restoring engine GPR
         - Fix selftest sort function
      
        vmwgfx:
         - black screen fix
      
        aspeed:
         - fbcon init warn fix"
      
      * tag 'drm-fixes-2020-07-17-1' of git://anongit.freedesktop.org/drm/drm:
        drm/amdgpu/sdma5: fix wptr overwritten in ->get_wptr()
        drm/amdgpu/powerplay: Modify SMC message name for setting power profile mode
        drm/amd/display: handle failed allocation during stream construction
        drm/amd/display: OLED panel backlight adjust not work with external display connected
        drm/amdgpu/display: create fake mst encoders ahead of time (v4)
        drm/amdgpu: fix preemption unit test
        drm/amdgpu/gfx10: fix race condition for kiq
        drm/i915: Recalculate FBC w/a stride when needed
        drm/i915: Move cec_notifier to intel_hdmi_connector_unregister, v2.
        drm/i915/gt: Only swap to a random sibling once upon creation
        drm/i915/gt: Ignore irq enabling on the virtual engines
        drm/i915/perf: Use GTT when saving/restoring engine GPR
        drm/i915/selftests: Fix compare functions provided for sorting
        drm/vmwgfx: fix update of display surface when resolution changes
        dmabuf: use spinlock to access dmabuf->name
        drm/aspeed: Call drm_fbdev_generic_setup after drm_dev_register
      88825726
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-5.8-2020-07-15' of... · adbe8a3c
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-5.8-2020-07-15' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
      
      amd-drm-fixes-5.8-2020-07-15:
      
      amdgpu:
      - Fix a race condition with KIQ
      - Preemption fix
      - Fix handling of fake MST encoders
      - OLED panel fix
      - Handle allocation failure in stream construction
      - Renoir SMC fix
      - SDMA 5.x fix
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexdeucher@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200715213914.3994-1-alexander.deucher@amd.com
      adbe8a3c
  4. 16 Jul, 2020 11 commits
    • Arnd Bergmann's avatar
      Merge tag 'omap-for-v5.8/fixes-rc5-signed' of... · b041ef0e
      Arnd Bergmann authored
      Merge tag 'omap-for-v5.8/fixes-rc5-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
      
      Fixes for omaps for v5.8-rc cycle
      
      Few fixes for issues noticed during testing:
      
      - Two DEBUG_ATOMIC_SLEEP fixes for ti-sysc interconnect target module
        driver
      
      - A regression fix for ti-sysc no-idle handling that caused issues
        compared to earlier platform data based booting
      
      - A fix for memory leak for omap_hwmod_allocate_module
      
      - Fix d_can driver probe for am437x
      
      * tag 'omap-for-v5.8/fixes-rc5-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: Fix dcan driver probe failed on am437x platform
        ARM: OMAP2+: Fix possible memory leak in omap_hwmod_allocate_module
        bus: ti-sysc: Do not disable on suspend for no-idle
        bus: ti-sysc: Fix sleeping function called from invalid context for RTC quirk
        bus: ti-sysc: Fix wakeirq sleeping function called from invalid context
      
      Link: https://lore.kernel.org/r/pull-1594840100-132735@atomide.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      b041ef0e
    • Arnd Bergmann's avatar
      Merge tag 'imx-fixes-5.8-2' of... · d943a9c8
      Arnd Bergmann authored
      Merge tag 'imx-fixes-5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes
      
      i.MX fixes for 5.8, round 2:
      
      - A couple of fixes on i.MX platform device registration code to stop
        the use of invalid IRQ 0.
      - Fix a regression seen on ls1021a platform, caused by commit
        52102a3b ("soc: imx: move cpu code to drivers/soc/imx").
      - Fix a misconfiguration of audio SSI on imx6qdl-gw551x board.
      
      * tag 'imx-fixes-5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        soc: imx: check ls1021a
        ARM: imx: Remove imx_add_imx_dma() unused irq_err argument
        ARM: imx: Provide correct number of resources when registering gpio devices
        ARM: dts: imx6qdl-gw551x: fix audio SSI
      
      Link: https://lore.kernel.org/r/20200714145649.GP15718@dragonSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      d943a9c8
    • Arnd Bergmann's avatar
      Merge tag 'amlogic-fixes' of... · c07e902a
      Arnd Bergmann authored
      Merge tag 'amlogic-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/fixes
      
      Amlogic fixes for v5.8-rc
      - misc DT fixes, and SoC ID fixes
      
      * tag 'amlogic-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
        ARM: dts: meson: Align L2 cache-controller nodename with dtschema
        arm64: dts: meson-gxl-s805x: reduce initial Mali450 core frequency
        arm64: dts: meson: add missing gxl rng clock
        soc: amlogic: meson-gx-socinfo: Fix S905X3 and S905D3 ID's
      
      Link: https://lore.kernel.org/r/7hk0zc1ujc.fsf@baylibre.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      c07e902a
    • Douglas Anderson's avatar
      regmap: debugfs: Don't sleep while atomic for fast_io regmaps · 299632e5
      Douglas Anderson authored
      If a regmap has "fast_io" set then its lock function uses a spinlock.
      That doesn't work so well with the functions:
      * regmap_cache_only_write_file()
      * regmap_cache_bypass_write_file()
      
      Both of the above functions have the pattern:
      1. Lock the regmap.
      2. Call:
         debugfs_write_file_bool()
           copy_from_user()
             __might_fault()
               __might_sleep()
      
      Let's reorder things a bit so that we do all of our sleepable
      functions before we grab the lock.
      
      Fixes: d3dc5430 ("regmap: debugfs: Allow writes to cache state settings")
      Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
      Link: https://lore.kernel.org/r/20200715164611.1.I35b3533e8a80efde0cec1cc70f71e1e74b2fa0da@changeidSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      299632e5
    • Linus Torvalds's avatar
      Merge tag 'pm-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm into master · 07a56bb8
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "Add missing handling of a command line switch to the intel_pstate
        driver (Rafael Wysocki) and fix the freeing of the operating
        performance point (OPP) entries for the legacy (v1) OPP table type
        (Walter Lozano)"
      
      * tag 'pm-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        opp: Increase parsed_static_opps in _of_add_opp_table_v1()
        cpufreq: intel_pstate: Fix active mode setting from command line
      07a56bb8
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.8-rc6' of... · 3e543a4d
      Linus Torvalds authored
      Merge tag 'char-misc-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc into master
      
      Pull char/misc fixes from Greg KH:
       "Here are number of small char/misc driver fixes for 5.8-rc6
      
        Not that many complex fixes here, just a number of small fixes for
        reported issues, and some new device ids. Nothing fancy.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (21 commits)
        virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial
        intel_th: Fix a NULL dereference when hub driver is not loaded
        intel_th: pci: Add Emmitsburg PCH support
        intel_th: pci: Add Tiger Lake PCH-H support
        intel_th: pci: Add Jasper Lake CPU support
        virt: vbox: Fix guest capabilities mask check
        virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req numbers to match upstream
        uio_pdrv_genirq: fix use without device tree and no interrupt
        uio_pdrv_genirq: Remove warning when irq is not specified
        coresight: etmv4: Fix CPU power management setup in probe() function
        coresight: cti: Fix error handling in probe
        Revert "zram: convert remaining CLASS_ATTR() to CLASS_ATTR_RO()"
        mei: bus: don't clean driver pointer
        misc: atmel-ssc: lock with mutex instead of spinlock
        phy: sun4i-usb: fix dereference of pointer phy0 before it is null checked
        phy: rockchip: Fix return value of inno_dsidphy_probe()
        phy: ti: j721e-wiz: Constify structs
        phy: ti: am654-serdes: Constify regmap_config
        phy: intel: fix enum type mismatch warning
        phy: intel: Fix compilation error on FIELD_PREP usage
        ...
      3e543a4d
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.8-rc6' of... · 50ad1c21
      Linus Torvalds authored
      Merge tag 'driver-core-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core into master
      
      Pull driver core fixes from Greg KH:
       "Here are 3 driver core fixes for 5.8-rc6.
      
        They resolve some issues found with the deferred probe code for some
        types of devices on some embedded systems. They have been tested a
        bunch and have been in linux-next for a while with no reported issues"
      
      * tag 'driver-core-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        driver core: Avoid deferred probe due to fw_devlink_pause/resume()
        driver core: Rename dev_links_info.defer_sync to defer_hook
        driver core: Don't do deferred probe in parallel with kernel_init thread
      50ad1c21
    • Linus Torvalds's avatar
      Merge tag 'staging-5.8-rc6' of... · 6a058f0b
      Linus Torvalds authored
      Merge tag 'staging-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging into master
      
      Pull IIO and staging driver fixes from Greg KH:
       "Here are some IIO and staging driver fixes for 5.8-rc6.
      
        The majority of fixes are for IIO drivers, resolving a number of small
        reported issues, and there are some counter fixes in here too that
        were tied to the IIO fixes. There's only one staging driver fix here,
        a comedi fix found by code inspection.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: comedi: verify array index is correct before using it
        iio: adc: ad7780: Fix a resource handling path in 'ad7780_probe()'
        iio:pressure:ms5611 Fix buffer element alignment
        iio:humidity:hts221 Fix alignment and data leak issues
        iio:humidity:hdc100x Fix alignment and data leak issues
        iio:magnetometer:ak8974: Fix alignment and data leak issues
        iio: adc: adi-axi-adc: Fix object reference counting
        iio: pressure: zpa2326: handle pm_runtime_get_sync failure
        counter: 104-quad-8: Add lock guards - filter clock prescaler
        counter: 104-quad-8: Add lock guards - differential encoder
        iio: core: add missing IIO_MOD_H2/ETHANOL string identifiers
        iio: magnetometer: ak8974: Fix runtime PM imbalance on error
        iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe()
        iio:health:afe4404 Fix timestamp alignment and prevent data leak.
        iio:health:afe4403 Fix timestamp alignment and prevent data leak.
      6a058f0b
    • Linus Torvalds's avatar
      Merge tag 'tty-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty into master · 7531ee31
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       :Here are some small tty and serial driver fixes for 5.8-rc6.
      
        The largest set of patches in here is a revert of the sysrq changes
        that went into 5.8-rc1 but turned out to cause a noticable overhead
        and cpu usage.
      
        Other than that, there's a few small serial driver fixes to resolve
        reported issues, and finally resolving the spinlock init problem on
        many serial driver consoles.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: core: Initialise spin lock before use in uart_configure_port()
        serial: mxs-auart: add missed iounmap() in probe failure and remove
        serial: sh-sci: Initialize spinlock for uart console
        Revert "tty: xilinx_uartps: Fix missing id assignment to the console"
        serial: core: drop redundant sysrq checks
        serial: core: fix sysrq overhead regression
        Revert "serial: core: Refactor uart_unlock_and_check_sysrq()"
        tty/serial: fix serial_core.c kernel-doc warnings
        tty: serial: cpm_uart: Fix behaviour for non existing GPIOs
      7531ee31
    • Linus Torvalds's avatar
      Merge tag 'thermal-v5.8-rc6' of... · 7e8d2f6d
      Linus Torvalds authored
      Merge tag 'thermal-v5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux into master
      
      Pull thermal fixes from Daniel Lezcano:
      
       - Fix invalid index array access on int340x_thermal leading to a kernel
         panic (Bartosz Szczepanek)
      
       - Fix debug message level to prevent flooding on some platform (Alex
         Hung)
      
       - Fix invalid bank access by reverting "thermal: mediatek: fix register
         index error" (Enric Balletbo i Serra)
      
      * tag 'thermal-v5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux:
        Revert "thermal: mediatek: fix register index error"
        thermal: int3403_thermal: Downgrade error message
        thermal/int340x_thermal: Prevent page fault on .set_mode() op
      7e8d2f6d
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · 1740f21a
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: intel_pstate: Fix active mode setting from command line
      1740f21a