1. 17 Jul, 2020 14 commits
    • 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
    • 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
    • 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
  2. 16 Jul, 2020 26 commits
    • 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
    • Jens Axboe's avatar
      Merge branch 'nvme-5.8' of git://git.infradead.org/nvme into block-5.8 · 1f273e25
      Jens Axboe authored
      Pull NVMe fix from Christoph.
      
      * 'nvme-5.8' of git://git.infradead.org/nvme:
        nvme: explicitly update mpath disk capacity on revalidation
      1f273e25
    • Rafael J. Wysocki's avatar
      Merge branch 'opp/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm · a6c99daa
      Rafael J. Wysocki authored
      Pull an operating performance points (OPP) framework fix for 5.8-rc6 from
      Viresh Kumar:
      
      "This fixes freeing of the OPP entries for the legacy OPP table type (v1)."
      
      * 'opp/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm:
        opp: Increase parsed_static_opps in _of_add_opp_table_v1()
      a6c99daa
    • Anthony Iliopoulos's avatar
      nvme: explicitly update mpath disk capacity on revalidation · 05b29021
      Anthony Iliopoulos authored
      Commit 3b4b1972 ("nvme: fix possible deadlock when I/O is
      blocked") reverted multipath head disk revalidation due to deadlocks
      caused by holding the bd_mutex during revalidate.
      
      Updating the multipath disk blockdev size is still required though for
      userspace to be able to observe any resizing while the device is
      mounted. Directly update the bdev inode size to avoid unnecessarily
      holding the bdev->bd_mutex.
      
      Fixes: 3b4b1972 ("nvme: fix possible deadlock when I/O is
      blocked")
      Signed-off-by: default avatarAnthony Iliopoulos <ailiop@suse.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      05b29021
    • Will Deacon's avatar
      arm64: Use test_tsk_thread_flag() for checking TIF_SINGLESTEP · 5afc7855
      Will Deacon authored
      Rather than open-code test_tsk_thread_flag() at each callsite, simply
      replace the couple of offenders with calls to test_tsk_thread_flag()
      directly.
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      5afc7855
    • Will Deacon's avatar
      arm64: ptrace: Use NO_SYSCALL instead of -1 in syscall_trace_enter() · d83ee6e3
      Will Deacon authored
      Setting a system call number of -1 is special, as it indicates that the
      current system call should be skipped.
      
      Use NO_SYSCALL instead of -1 when checking for this scenario, which is
      different from the -1 returned due to a seccomp failure.
      
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Keno Fischer <keno@juliacomputing.com>
      Cc: Luis Machado <luis.machado@linaro.org>
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      d83ee6e3
    • Will Deacon's avatar
      arm64: syscall: Expand the comment about ptrace and syscall(-1) · 139dbe5d
      Will Deacon authored
      If a task executes syscall(-1), we intercept this early and force x0 to
      be -ENOSYS so that we don't need to distinguish this scenario from one
      where the scno is -1 because a tracer wants to skip the system call
      using ptrace. With the return value set, the return path is the same as
      the skip case.
      
      Although there is a one-line comment noting this in el0_svc_common(), it
      misses out most of the detail. Expand the comment to describe a bit more
      about what is going on.
      
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Keno Fischer <keno@juliacomputing.com>
      Cc: Luis Machado <luis.machado@linaro.org>
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      139dbe5d
    • Will Deacon's avatar
      arm64: ptrace: Add a comment describing our syscall entry/exit trap ABI · 59ee987e
      Will Deacon authored
      Our tracehook logic for syscall entry/exit raises a SIGTRAP back to the
      tracer following a ptrace request such as PTRACE_SYSCALL. As part of this
      procedure, we clobber the reported value of one of the tracee's general
      purpose registers (x7 for native tasks, r12 for compat) to indicate
      whether the stop occurred on syscall entry or exit. This is a slightly
      unfortunate ABI, as it prevents the tracer from accessing the real
      register value and is at odds with other similar stops such as seccomp
      traps.
      
      Since we're stuck with this ABI, expand the comment in our tracehook
      logic to acknowledge the issue and describe the behaviour in more detail.
      
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Luis Machado <luis.machado@linaro.org>
      Reported-by: default avatarKeno Fischer <keno@juliacomputing.com>
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      59ee987e
    • Will Deacon's avatar
      arm64: compat: Ensure upper 32 bits of x0 are zero on syscall return · 15956689
      Will Deacon authored
      Although we zero the upper bits of x0 on entry to the kernel from an
      AArch32 task, we do not clear them on the exception return path and can
      therefore expose 64-bit sign extended syscall return values to userspace
      via interfaces such as the 'perf_regs' ABI, which deal exclusively with
      64-bit registers.
      
      Explicitly clear the upper 32 bits of x0 on return from a compat system
      call.
      
      Cc: <stable@vger.kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Keno Fischer <keno@juliacomputing.com>
      Cc: Luis Machado <luis.machado@linaro.org>
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      15956689
    • Will Deacon's avatar
      arm64: ptrace: Override SPSR.SS when single-stepping is enabled · 3a5a4366
      Will Deacon authored
      Luis reports that, when reverse debugging with GDB, single-step does not
      function as expected on arm64:
      
        | I've noticed, under very specific conditions, that a PTRACE_SINGLESTEP
        | request by GDB won't execute the underlying instruction. As a consequence,
        | the PC doesn't move, but we return a SIGTRAP just like we would for a
        | regular successful PTRACE_SINGLESTEP request.
      
      The underlying problem is that when the CPU register state is restored
      as part of a reverse step, the SPSR.SS bit is cleared and so the hardware
      single-step state can transition to the "active-pending" state, causing
      an unexpected step exception to be taken immediately if a step operation
      is attempted.
      
      In hindsight, we probably shouldn't have exposed SPSR.SS in the pstate
      accessible by the GPR regset, but it's a bit late for that now. Instead,
      simply prevent userspace from configuring the bit to a value which is
      inconsistent with the TIF_SINGLESTEP state for the task being traced.
      
      Cc: <stable@vger.kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Keno Fischer <keno@juliacomputing.com>
      Link: https://lore.kernel.org/r/1eed6d69-d53d-9657-1fc9-c089be07f98c@linaro.orgReported-by: default avatarLuis Machado <luis.machado@linaro.org>
      Tested-by: default avatarLuis Machado <luis.machado@linaro.org>
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      3a5a4366
    • Will Deacon's avatar
      arm64: ptrace: Consistently use pseudo-singlestep exceptions · ac2081cd
      Will Deacon authored
      Although the arm64 single-step state machine can be fast-forwarded in
      cases where we wish to generate a SIGTRAP without actually executing an
      instruction, this has two major limitations outside of simply skipping
      an instruction due to emulation.
      
      1. Stepping out of a ptrace signal stop into a signal handler where
         SIGTRAP is blocked. Fast-forwarding the stepping state machine in
         this case will result in a forced SIGTRAP, with the handler reset to
         SIG_DFL.
      
      2. The hardware implicitly fast-forwards the state machine when executing
         an SVC instruction for issuing a system call. This can interact badly
         with subsequent ptrace stops signalled during the execution of the
         system call (e.g. SYSCALL_EXIT or seccomp traps), as they may corrupt
         the stepping state by updating the PSTATE for the tracee.
      
      Resolve both of these issues by injecting a pseudo-singlestep exception
      on entry to a signal handler and also on return to userspace following a
      system call.
      
      Cc: <stable@vger.kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Tested-by: default avatarLuis Machado <luis.machado@linaro.org>
      Reported-by: default avatarKeno Fischer <keno@juliacomputing.com>
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      ac2081cd
    • Qi Liu's avatar
      drivers/perf: Fix kernel panic when rmmod PMU modules during perf sampling · bdc5c744
      Qi Liu authored
      When users try to remove PMU modules during perf sampling, kernel panic
      will happen because the pmu->read() is a NULL pointer here.
      
      INFO on HiSilicon hip08 platform as follow:
      pc : hisi_uncore_pmu_event_update+0x30/0xa4 [hisi_uncore_pmu]
      lr : hisi_uncore_pmu_read+0x20/0x2c [hisi_uncore_pmu]
      sp : ffff800010103e90
      x29: ffff800010103e90 x28: ffff0027db0c0e40
      x27: ffffa29a76f129d8 x26: ffffa29a77ceb000
      x25: ffffa29a773a5000 x24: ffffa29a77392000
      x23: ffffddffe5943f08 x22: ffff002784285960
      x21: ffff002784285800 x20: ffff0027d2e76c80
      x19: ffff0027842859e0 x18: ffff80003498bcc8
      x17: ffffa29a76afe910 x16: ffffa29a7583f530
      x15: 16151a1512061a1e x14: 0000000000000000
      x13: ffffa29a76f1e238 x12: 0000000000000001
      x11: 0000000000000400 x10: 00000000000009f0
      x9 : ffff8000107b3e70 x8 : ffff0027db0c1890
      x7 : ffffa29a773a7000 x6 : 00000007f5131013
      x5 : 00000007f5131013 x4 : 09f257d417c00000
      x3 : 00000002187bd7ce x2 : ffffa29a38f0f0d8
      x1 : ffffa29a38eae268 x0 : ffff0027d2e76c80
      Call trace:
      hisi_uncore_pmu_event_update+0x30/0xa4 [hisi_uncore_pmu]
      hisi_uncore_pmu_read+0x20/0x2c [hisi_uncore_pmu]
      __perf_event_read+0x1a0/0x1f8
      flush_smp_call_function_queue+0xa0/0x160
      generic_smp_call_function_single_interrupt+0x18/0x20
      handle_IPI+0x31c/0x4dc
      gic_handle_irq+0x2c8/0x310
      el1_irq+0xcc/0x180
      arch_cpu_idle+0x4c/0x20c
      default_idle_call+0x20/0x30
      do_idle+0x1b4/0x270
      cpu_startup_entry+0x28/0x30
      secondary_start_kernel+0x1a4/0x1fc
      
      To solve the above issue, current module should be registered to kernel,
      so that try_module_get() can be invoked when perf sampling starts. This
      adds the reference counting of module and could prevent users from removing
      modules during sampling.
      Reported-by: default avatarHaifeng Wang <wang.wanghaifeng@huawei.com>
      Signed-off-by: default avatarQi Liu <liuqi115@huawei.com>
      Reviewed-by: default avatarJohn Garry <john.garry@huawei.com>
      Link: https://lore.kernel.org/r/1594891165-8228-1-git-send-email-liuqi115@huawei.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      bdc5c744
    • PeiSen Hou's avatar
      ALSA: hda/realtek - fixup for yet another Intel reference board · 5734e509
      PeiSen Hou authored
      Add headset_jack for the intel reference board support with
      10ec:1230.
      Signed-off-by: default avatarPeiSen Hou <pshou@realtek.com.tw>
      Link: https://lore.kernel.org/r/20200716090134.9811-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      5734e509
    • Kailang Yang's avatar
      ALSA: hda/realtek - Enable Speaker for ASUS UX563 · 158ae2f5
      Kailang Yang authored
      ASUS UX563 speaker can't output.
      Add quirk to link suitable model will enable it.
      This model also could enable headset Mic.
      Signed-off-by: default avatarKailang Yang <kailang@realtek.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/96dee3ab01a04c28a7b44061e88009dd@realtek.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      158ae2f5
    • Kailang Yang's avatar
      ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534 · 473fbe13
      Kailang Yang authored
      ASUS UX533 and UX534 speaker still can't output.
      End User feedback speaker didn't have output.
      Add this COEF value will enable it.
      
      Fixes: 4e051106 ("ALSA: hda/realtek: Enable audio jacks of ASUS UX533FD with ALC294")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarKailang Yang <kailang@realtek.com>
      Link: https://lore.kernel.org/r/80334402a93b48e385f8f4841b59ae09@realtek.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      473fbe13
    • Amir Goldstein's avatar
      ovl: fix lookup of indexed hardlinks with metacopy · 4518dfcf
      Amir Goldstein authored
      We recently moved setting inode flag OVL_UPPERDATA to ovl_lookup().
      
      When looking up an overlay dentry, upperdentry may be found by index
      and not by name.  In that case, we fail to read the metacopy xattr
      and falsly set the OVL_UPPERDATA on the overlay inode.
      
      This caused a regression in xfstest overlay/033 when run with
      OVERLAY_MOUNT_OPTIONS="-o metacopy=on".
      
      Fixes: 28166ab3 ("ovl: initialize OVL_UPPERDATA in ovl_lookup()")
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      4518dfcf
    • Amir Goldstein's avatar
      ovl: fix unneeded call to ovl_change_flags() · 81a33c1e
      Amir Goldstein authored
      The check if user has changed the overlay file was wrong, causing unneeded
      call to ovl_change_flags() including taking f_lock on every file access.
      
      Fixes: d9899030 ("ovl: do not generate duplicate fsnotify events for "fake" path")
      Cc: <stable@vger.kernel.org> # v4.19+
      Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      81a33c1e
    • Walter Lozano's avatar
      opp: Increase parsed_static_opps in _of_add_opp_table_v1() · 6544abc5
      Walter Lozano authored
      Currently, when using _of_add_opp_table_v2 parsed_static_opps is
      increased and this value is used in _opp_remove_all_static() to
      check if there are static opp entries that need to be freed.
      Unfortunately this does not happen when using _of_add_opp_table_v1(),
      which leads to warnings.
      
      This patch increases parsed_static_opps in _of_add_opp_table_v1() in a
      similar way as in _of_add_opp_table_v2().
      
      Fixes: 03758d60 ("opp: Replace list_kref with a local counter")
      Cc: v5.6+ <stable@vger.kernel.org> # v5.6+
      Signed-off-by: default avatarWalter Lozano <walter.lozano@collabora.com>
      [ Viresh: Do the operation with lock held and set the value to 1 instead
      	  of incrementing it ]
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      6544abc5
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of... · f8456690
      Linus Torvalds authored
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux into master
      
      Pull clk fixes from Stephen Boyd:
       "A couple build fixes for issues exposed this merge window and a fix
        for the eMMC clk on AST2600 SoCs that fixes the rate that is
        calculated by the clk framework"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: Specify IOMEM dependency for HSDK pll driver
        clk: AST2600: Add mux for EMMC clock
        clk: mvebu: ARMADA_AP_CPU_CLK needs to select ARMADA_AP_CP_HELPER
      f8456690