1. 25 May, 2021 1 commit
  2. 24 May, 2021 8 commits
    • Thomas Gleixner's avatar
      perf/hisi: Use irq_set_affinity() · 77b06ddc
      Thomas Gleixner authored
      These drivers use irq_set_affinity_hint() to set the affinity for the PMU
      interrupts, which relies on the undocumented side effect that this function
      actually sets the affinity under the hood.
      
      Setting an hint is clearly not a guarantee and for these PMU interrupts an
      affinity hint, which is supposed to guide userspace for setting affinity,
      is beyond pointless, because the affinity of these interrupts cannot be
      modified from user space.
      
      Aside of that the error checks are bogus because the only error which is
      returned from irq_set_affinity_hint() is when there is no irq descriptor
      for the interrupt number, but not when the affinity set fails. That's on
      purpose because the hint can point to an offline CPU.
      
      Replace the mindless abuse with irq_set_affinity().
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Shaokun Zhang <zhangshaokun@hisilicon.com>
      Cc: Will Deacon <will@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20210518093118.813375875@linutronix.deSigned-off-by: default avatarWill Deacon <will@kernel.org>
      77b06ddc
    • Thomas Gleixner's avatar
      perf/imx_ddr: Use irq_set_affinity() · ba4489fb
      Thomas Gleixner authored
      The driver uses irq_set_affinity_hint() to set the affinity for the PMU
      interrupts, which relies on the undocumented side effect that this function
      actually sets the affinity under the hood.
      
      Setting an hint is clearly not a guarantee and for these PMU interrupts an
      affinity hint, which is supposed to guide userspace for setting affinity,
      is beyond pointless, because the affinity of these interrupts cannot be
      modified from user space.
      
      Aside of that the error checks are bogus because the only error which is
      returned from irq_set_affinity_hint() is when there is no irq descriptor
      for the interrupt number, but not when the affinity set fails. That's on
      purpose because the hint can point to an offline CPU.
      
      Replace the mindless abuse with irq_set_affinity().
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Frank Li <Frank.li@nxp.com>
      Cc: Will Deacon <will@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
      Cc: Fabio Estevam <festevam@gmail.com>
      Cc: NXP Linux Team <linux-imx@nxp.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20210518093118.699566062@linutronix.deSigned-off-by: default avatarWill Deacon <will@kernel.org>
      ba4489fb
    • Thomas Gleixner's avatar
      perf/arm-smmuv3: Use irq_set_affinity() · 26210545
      Thomas Gleixner authored
      The driver uses irq_set_affinity_hint() to set the affinity for the PMU
      interrupts, which relies on the undocumented side effect that this function
      actually sets the affinity under the hood.
      
      Setting an hint is clearly not a guarantee and for these PMU interrupts an
      affinity hint, which is supposed to guide userspace for setting affinity,
      is beyond pointless, because the affinity of these interrupts cannot be
      modified from user space.
      
      Aside of that the error checks are bogus because the only error which is
      returned from irq_set_affinity_hint() is when there is no irq descriptor
      for the interrupt number, but not when the affinity set fails. That's on
      purpose because the hint can point to an offline CPU.
      
      Replace the mindless abuse with irq_set_affinity().
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20210518093118.603636289@linutronix.deSigned-off-by: default avatarWill Deacon <will@kernel.org>
      26210545
    • Thomas Gleixner's avatar
      perf/arm-dsu: Use irq_set_affinity() · 41ea2817
      Thomas Gleixner authored
      The driver uses irq_set_affinity_hint() to set the affinity for the PMU
      interrupts, which relies on the undocumented side effect that this function
      actually sets the affinity under the hood.
      
      Setting an hint is clearly not a guarantee and for these PMU interrupts an
      affinity hint, which is supposed to guide userspace for setting affinity,
      is beyond pointless, because the affinity of these interrupts cannot be
      modified from user space.
      
      Aside of that the error checks are bogus because the only error which is
      returned from irq_set_affinity_hint() is when there is no irq descriptor
      for the interrupt number, but not when the affinity set fails. That's on
      purpose because the hint can point to an offline CPU.
      
      Replace the mindless abuse with irq_set_affinity().
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20210518093118.505110632@linutronix.deSigned-off-by: default avatarWill Deacon <will@kernel.org>
      41ea2817
    • Thomas Gleixner's avatar
      perf/arm-dmc620: Use irq_set_affinity() · 1ceeb8d4
      Thomas Gleixner authored
      The driver uses irq_set_affinity_hint() to set the affinity for the PMU
      interrupts, which relies on the undocumented side effect that this function
      actually sets the affinity under the hood.
      
      Setting an hint is clearly not a guarantee and for these PMU interrupts an
      affinity hint, which is supposed to guide userspace for setting affinity,
      is beyond pointless, because the affinity of these interrupts cannot be
      modified from user space.
      
      Aside of that the error checks are bogus because the only error which is
      returned from irq_set_affinity_hint() is when there is no irq descriptor
      for the interrupt number, but not when the affinity set fails. That's on
      purpose because the hint can point to an offline CPU.
      
      Replace the mindless abuse with irq_set_affinity().
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20210518093118.395086573@linutronix.deSigned-off-by: default avatarWill Deacon <will@kernel.org>
      1ceeb8d4
    • Thomas Gleixner's avatar
      perf/arm-cmn: Use irq_set_affinity() · 8ec25d34
      Thomas Gleixner authored
      The driver uses irq_set_affinity_hint() to set the affinity for the PMU
      interrupts, which relies on the undocumented side effect that this function
      actually sets the affinity under the hood.
      
      Setting an hint is clearly not a guarantee and for these PMU interrupts an
      affinity hint, which is supposed to guide userspace for setting affinity,
      is beyond pointless, because the affinity of these interrupts cannot be
      modified from user space.
      
      Aside of that the error checks are bogus because the only error which is
      returned from irq_set_affinity_hint() is when there is no irq descriptor
      for the interrupt number, but not when the affinity set fails. That's on
      purpose because the hint can point to an offline CPU.
      
      Replace the mindless abuse with irq_set_affinity().
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20210518093118.277228577@linutronix.deSigned-off-by: default avatarWill Deacon <will@kernel.org>
      8ec25d34
    • Thomas Gleixner's avatar
      perf/arm-ccn: Use irq_set_affinity() · 84fca8ba
      Thomas Gleixner authored
      The driver uses irq_set_affinity_hint() to set the affinity for the PMU
      interrupts, which relies on the undocumented side effect that this function
      actually sets the affinity under the hood.
      
      Setting an hint is clearly not a guarantee and for these PMU interrupts an
      affinity hint, which is supposed to guide userspace for setting affinity,
      is beyond pointless, because the affinity of these interrupts cannot be
      modified from user space.
      
      Aside of that the error checks are bogus because the only error which is
      returned from irq_set_affinity_hint() is when there is no irq descriptor
      for the interrupt number, but not when the affinity set fails. That's on
      purpose because the hint can point to an offline CPU.
      
      Replace the mindless abuse with irq_set_affinity().
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20210518093118.128250213@linutronix.deSigned-off-by: default avatarWill Deacon <will@kernel.org>
      84fca8ba
    • Will Deacon's avatar
      Merge tag 'irq-export-set-affinity' of... · da3862e7
      Will Deacon authored
      Merge tag 'irq-export-set-affinity' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into for-next/perf
      
      Export irq_set_affinity() for cleaning up drivers/perf
      
      Pull export of irq_set_affinity() from Thomas Gleixner, so we can convert
      all new and exiting Arm PMU drivers to the new interface.
      
      * tag 'irq-export-set-affinity' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Export affinity setter for modules
      da3862e7
  3. 23 May, 2021 18 commits
  4. 22 May, 2021 4 commits
    • Linus Torvalds's avatar
      Merge tag 'block-5.13-2021-05-22' of git://git.kernel.dk/linux-block · 4ff2473b
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Fix BLKRRPART and deletion race (Gulam, Christoph)
      
       - NVMe pull request (Christoph):
            - nvme-tcp corruption and timeout fixes (Sagi Grimberg, Keith
              Busch)
            - nvme-fc teardown fix (James Smart)
            - nvmet/nvme-loop memory leak fixes (Wu Bo)"
      
      * tag 'block-5.13-2021-05-22' of git://git.kernel.dk/linux-block:
        block: fix a race between del_gendisk and BLKRRPART
        block: prevent block device lookups at the beginning of del_gendisk
        nvme-fc: clear q_live at beginning of association teardown
        nvme-tcp: rerun io_work if req_list is not empty
        nvme-tcp: fix possible use-after-completion
        nvme-loop: fix memory leak in nvme_loop_create_ctrl()
        nvmet: fix memory leak in nvmet_alloc_ctrl()
      4ff2473b
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.13-2021-05-22' of git://git.kernel.dk/linux-block · b9231dfb
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "One fix for a regression with poll in this merge window, and another
        just hardens the io-wq exit path a bit"
      
      * tag 'io_uring-5.13-2021-05-22' of git://git.kernel.dk/linux-block:
        io_uring: fortify tctx/io_wq cleanup
        io_uring: don't modify req->poll for rw
      b9231dfb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.13b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 23d72926
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
      
       - a fix for a boot regression when running as PV guest on hardware
         without NX support
      
       - a small series fixing a bug in the Xen pciback driver when
         configuring a PCI card with multiple virtual functions
      
      * tag 'for-linus-5.13b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen-pciback: reconfigure also from backend watch handler
        xen-pciback: redo VF placement in the virtual topology
        x86/Xen: swap NX determination and GDT setup on BSP
      23d72926
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.13-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · a3969ef4
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
      
       - Fix some math errors in the realtime allocator when extent size hints
         are applied.
      
       - Fix unnecessary short writes to realtime files when free space is
         fragmented.
      
       - Fix a crash when using scrub tracepoints.
      
       - Restore ioctl uapi definitions that were accidentally removed in
         5.13-rc1.
      
      * tag 'xfs-5.13-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: restore old ioctl definitions
        xfs: fix deadlock retry tracepoint arguments
        xfs: retry allocations when locality-based search fails
        xfs: adjust rt allocation minlen when extszhint > rtextsize
      a3969ef4
  5. 21 May, 2021 9 commits
    • Linus Torvalds's avatar
      Merge tag 'for-5.13-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 45af60e7
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A few more fixes:
      
         - fix unaligned compressed writes in zoned mode
      
         - fix false positive lockdep warning when cloning inline extent
      
         - remove wrong BUG_ON in tree-log error handling"
      
      * tag 'for-5.13-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: zoned: fix parallel compressed writes
        btrfs: zoned: pass start block to btrfs_use_zone_append
        btrfs: do not BUG_ON in link_to_fixup_dir
        btrfs: release path before starting transaction when cloning inline extent
      45af60e7
    • Linus Torvalds's avatar
      Merge tag '5.13-rc3-smb3' of git://git.samba.org/sfrench/cifs-2.6 · 8bb14ca1
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Seven smb3 fixes: one for stable, three others fix problems found in
        testing handle leases, and a compounded request fix"
      
      * tag '5.13-rc3-smb3' of git://git.samba.org/sfrench/cifs-2.6:
        Fix KASAN identified use-after-free issue.
        Defer close only when lease is enabled.
        Fix kernel oops when CONFIG_DEBUG_ATOMIC_SLEEP is enabled.
        cifs: Fix inconsistent indenting
        cifs: fix memory leak in smb2_copychunk_range
        SMB3: incorrect file id in requests compounded with open
        cifs: remove deadstore in cifs_close_all_deferred_files()
      8bb14ca1
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · e8085a07
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - add missing MODULE_DEVICE_TABLE in gpio-cadence
      
       - fix a kernel doc validator error in gpio-xilinx
      
       - don't set parent IRQ affinity in gpio-tegra186
      
      * tag 'gpio-fixes-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: tegra186: Don't set parent IRQ affinity
        gpio: xilinx: Correct kernel doc for xgpio_probe()
        gpio: cadence: Add missing MODULE_DEVICE_TABLE
      e8085a07
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 011ff616
      Linus Torvalds authored
      Pull MMC host fixes from Ulf Hansson:
      
       - Fix SD-card detection on Intel NUC10i3FNK4 (GL9755)
      
       - Replace WARN_ONCE with dev_warn_once for scatterlist offsets
      
       - Extend check of scatterlist size alignment with SD_IO_RW_EXTENDED
      
      * tag 'mmc-v5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sdhci-pci-gli: increase 1.8V regulator wait
        mmc: meson-gx: also check SD_IO_RW_EXTENDED for scatterlist size alignment
        mmc: meson-gx: make replace WARN_ONCE with dev_warn_once about scatterlist offset alignment
      011ff616
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 5328bf8b
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Another batch of removing unneeded type references in schemas
      
       - Fix some out of date filename references
      
       - Convert renesas,drif schema to use DT graph schema
      
      * tag 'devicetree-fixes-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: More removals of type references on common properties
        dt-bindings: media: renesas,drif: Use graph schema
        leds: Fix reference file name of documentation
        dt-bindings: phy: cadence-torrent: update reference file of docs
      5328bf8b
    • Linus Torvalds's avatar
      Merge branch 'for-v5.13-rc3' of... · a0e31f3a
      Linus Torvalds authored
      Merge branch 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull siginfo fix from Eric Biederman:
       "During the merge window an issue with si_perf and the siginfo ABI came
        up. The alpha and sparc siginfo structure layout had changed with the
        addition of SIGTRAP TRAP_PERF and the new field si_perf.
      
        The reason only alpha and sparc were affected is that they are the
        only architectures that use si_trapno.
      
        Looking deeper it was discovered that si_trapno is used for only a few
        select signals on alpha and sparc, and that none of the other
        _sigfault fields past si_addr are used at all. Which means technically
        no regression on alpha and sparc.
      
        While the alignment concerns might be dismissed the abuse of si_errno
        by SIGTRAP TRAP_PERF does have the potential to cause regressions in
        existing userspace.
      
        While we still have time before userspace starts using and depending
        on the new definition siginfo for SIGTRAP TRAP_PERF this set of
        changes cleans up siginfo_t.
      
         - The si_trapno field is demoted from magic alpha and sparc status
           and made an ordinary union member of the _sigfault member of
           siginfo_t. Without moving it of course.
      
         - si_perf is replaced with si_perf_data and si_perf_type ending the
           abuse of si_errno.
      
         - Unnecessary additions to signalfd_siginfo are removed"
      
      * 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        signalfd: Remove SIL_PERF_EVENT fields from signalfd_siginfo
        signal: Deliver all of the siginfo perf data in _perf
        signal: Factor force_sig_perf out of perf_sigtrap
        signal: Implement SIL_FAULT_TRAPNO
        siginfo: Move si_trapno inside the union inside _si_fault
      a0e31f3a
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · c1f47ebc
      Linus Torvalds authored
      Pull module fix from Jessica Yu:
       "When CONFIG_MODULE_UNLOAD=n, module exit sections get sorted into the
        init region of the module in order to satisfy the requirements of
        jump_labels and static_calls.
      
        Previously, the exit section check was done in module_init_section(),
        but the solution there is not completely arch-indepedent as ARM is a
        special case and supplies its own module_init_section() function.
      
        Instead of pushing this logic further to the arch-specific code,
        switch to an arch-independent solution to check for module exit
        sections in the core module loader code in layout_sections() instead"
      
      * tag 'modules-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: check for exit sections in layout_sections() instead of module_init_section()
      c1f47ebc
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/openrisc/linux · 93bb533a
      Linus Torvalds authored
      Pull OpenRISC fixes from Stafford Horne:
       "A few fixes that came in around the time of the merge window"
      
      * tag 'for-linus' of git://github.com/openrisc/linux:
        openrisc: Define memory barrier mb
        openrisc: mm/init.c: remove unused variable 'end' in paging_init()
        openrisc: mm/init.c: remove unused memblock_region variable in map_ram()
        openrisc: Fix a memory leak
      93bb533a
    • Jan Beulich's avatar
      xen-pciback: reconfigure also from backend watch handler · c81d3d24
      Jan Beulich authored
      When multiple PCI devices get assigned to a guest right at boot, libxl
      incrementally populates the backend tree. The writes for the first of
      the devices trigger the backend watch. In turn xen_pcibk_setup_backend()
      will set the XenBus state to Initialised, at which point no further
      reconfigures would happen unless a device got hotplugged. Arrange for
      reconfigure to also get triggered from the backend watch handler.
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Link: https://lore.kernel.org/r/2337cbd6-94b9-4187-9862-c03ea12e0c61@suse.comSigned-off-by: default avatarJuergen Gross <jgross@suse.com>
      c81d3d24