Skip to content
  1. Sep 10, 2020
    • Leon Romanovsky's avatar
      RDMA/core: Delete function indirection for alloc/free kernel CQ · 7e3c66c9
      Leon Romanovsky authored
      
      
      The ib_alloc_cq*() and ib_free_cq*() are solely kernel verbs to manage CQs
      and doesn't need extra indirection just to call same functions with
      constant parameter NULL as udata.
      
      Link: https://lore.kernel.org/r/20200907120921.476363-6-leon@kernel.org
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      7e3c66c9
    • Leon Romanovsky's avatar
      RDMA: Restore ability to fail on SRQ destroy · 119181d1
      Leon Romanovsky authored
      In similar way to other IB objects, restore the ability to return error on
      SRQ destroy. Strictly speaking, this change is not necessary, and provided
      here to ensure a symmetrical interface like other destroy functions.
      
      Fixes: 68e326de
      
       ("RDMA: Handle SRQ allocations by IB/core")
      Link: https://lore.kernel.org/r/20200907120921.476363-5-leon@kernel.org
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      119181d1
    • Leon Romanovsky's avatar
      RDMA/mlx5: Issue FW command to destroy SRQ on reentry · fd89099d
      Leon Romanovsky authored
      
      
      The HW release can fail and leave the system in limbo state, where SRQ is
      removed from the table, but can't be destroyed later.  In every reentry,
      the initial xa_erase_irq() check will fail.
      
      Rewrite the erase logic to keep index, but don't store the entry
      itself. By doing it, we can safely reinsert entry back in the case of
      destroy failure.
      
      Link: https://lore.kernel.org/r/20200907120921.476363-4-leon@kernel.org
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      fd89099d
    • Leon Romanovsky's avatar
      RDMA: Restore ability to fail on AH destroy · 9a9ebf8c
      Leon Romanovsky authored
      Like any other IB verbs objects, AH are refcounted by ib_core. The release
      of those objects are controlled by ib_core with promise that AH destroy
      can't fail.
      
      Being SW object for now, this change makes dealloc_ah() to behave like any
      other destroy IB flows.
      
      Fixes: d3456914
      
       ("RDMA: Handle AH allocations by IB/core")
      Link: https://lore.kernel.org/r/20200907120921.476363-3-leon@kernel.org
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      9a9ebf8c
    • Leon Romanovsky's avatar
      RDMA: Restore ability to fail on PD deallocate · 91a7c58f
      Leon Romanovsky authored
      The IB verbs objects are counted by the kernel and ib_core ensures that
      deallocate PD will success so it will be called once all other objects
      that depends on PD will be released. This is achieved by managing various
      reference counters on such objects.
      
      The mlx5 driver didn't follow this standard flow when allowed DEVX objects
      that are not managed by ib_core to be interleaved with the ones under
      ib_core responsibility.
      
      In such interleaved scenarios deallocate command can fail and ib_core will
      leave uobject in internal DB and attempt to clean it later to free
      resources anyway.
      
      This change partially restores returned value from dealloc_pd() for all
      drivers, but keeping in mind that non-DEVX devices and kernel verbs paths
      shouldn't fail.
      
      Fixes: 21a428a0
      
       ("RDMA: Handle PD allocations by IB/core")
      Link: https://lore.kernel.org/r/20200907120921.476363-2-leon@kernel.org
      Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      91a7c58f
    • Md Haris Iqbal's avatar
      RDMA/rtrs-srv: Incorporate ib_register_client into rtrs server init · 558d52b2
      Md Haris Iqbal authored
      The rnbd_server module's communication manager (cm) initialization depends
      on the registration of the "network namespace subsystem" of the RDMA CM
      agent module. As such, when the kernel is configured to load the
      rnbd_server and the RDMA cma module during initialization; and if the
      rnbd_server module is initialized before RDMA cma module, a null ptr
      dereference occurs during the RDMA bind operation.
      
      Call trace:
      
        Call Trace:
         ? xas_load+0xd/0x80
         xa_load+0x47/0x80
         cma_ps_find+0x44/0x70
         rdma_bind_addr+0x782/0x8b0
         ? get_random_bytes+0x35/0x40
         rtrs_srv_cm_init+0x50/0x80
         rtrs_srv_open+0x102/0x180
         ? rnbd_client_init+0x6e/0x6e
         rnbd_srv_init_module+0x34/0x84
         ? rnbd_client_init+0x6e/0x6e
         do_one_initcall+0x4a/0x200
         kernel_init_freeable+0x1f1/0x26e
         ? rest_init+0xb0/0xb0
         kernel_init+0xe/0x100
         ret_from_fork+0x22/0x30
        Modules linked in:
        CR2: 0000000000000015
      
      All this happens cause the cm init is in the call chain of the module
      init, which is not a preferred practice.
      
      So remove the call to rdma_create_id() from the module init call chain.
      Instead register rtrs-srv as an ib client, which makes sure that the
      rdma_create_id() is called only when an ib device is added.
      
      Fixes: 9cb83748
      
       ("RDMA/rtrs: server: main functionality")
      Link: https://lore.kernel.org/r/20200907103106.104530-1-haris.iqbal@cloud.ionos.com
      Reported-by: default avatarkernel test robot <rong.a.chen@intel.com>
      Signed-off-by: default avatarMd Haris Iqbal <haris.iqbal@cloud.ionos.com>
      Reviewed-by: default avatarJack Wang <jinpu.wang@cloud.ionos.com>
      Reviewed-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      558d52b2
    • Lijun Ou's avatar
      RDMA/hns: Avoid unncessary initialization · a2f3d447
      Lijun Ou authored
      
      
      Some variables have been initialized when used. As a result, here removes
      some unncessary initial assignment.
      
      Link: https://lore.kernel.org/r/1599547944-30671-1-git-send-email-oulijun@huawei.com
      Signed-off-by: default avatarLijun Ou <oulijun@huawei.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      a2f3d447
    • Jason Gunthorpe's avatar
      RDMA/core: Change how failing destroy is handled during uobj abort · f553246f
      Jason Gunthorpe authored
      
      
      Currently it triggers a WARN_ON and then goes ahead and destroys the
      uobject anyhow, leaking any driver memory.
      
      The only place that leaks driver memory should be during FD close() in
      uverbs_destroy_ufile_hw().
      
      Drivers are only allowed to fail destroy uobjects if they guarantee
      destroy will eventually succeed. uverbs_destroy_ufile_hw() provides the
      loop to give the driver that chance.
      
      Link: https://lore.kernel.org/r/20200902081708.746631-1-leon@kernel.org
      Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      f553246f
  2. Sep 03, 2020
  3. Sep 01, 2020
  4. Aug 31, 2020
    • Jason Gunthorpe's avatar
      Merge tag 'v5.9-rc3' into rdma.git for-next · 6989aa62
      Jason Gunthorpe authored
      
      
      Required due to dependencies in following patches.
      
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      6989aa62
    • Bob Pearson's avatar
      RDMA/rxe: Address an issue with hardened user copy · 7672dac3
      Bob Pearson authored
      
      
      Change rxe pools to use kzalloc instead of kmem_cache to allocate memory
      for rxe objects. The pools are not really necessary and they trigger
      hardened user copy warnings as the ioctl framework copies the QP number
      directly to userspace.
      
      Also the general project to move object alloation to the core code will
      eventually clean these out anyhow.
      
      Link: https://lore.kernel.org/r/20200827163535.2632-1-rpearson@hpe.com
      Signed-off-by: default avatarBob Pearson <rpearson@hpe.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      7672dac3
    • Bob Pearson's avatar
      RDMA/rxe: Add SPDX hdrs to rxe source files · 63fa15db
      Bob Pearson authored
      
      
      Add SPDX headers to all rxe .c and .h files.
      
      Link: https://lore.kernel.org/r/20200827145439.2273-1-rpearson@hpe.com
      Signed-off-by: default avatarBob Pearson <rpearson@hpe.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      63fa15db
    • Jason Gunthorpe's avatar
      RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() · 61690d01
      Jason Gunthorpe authored
      The original function returns unsigned long and 0 on failure.
      
      Fixes: 4a353399
      
       ("RDMA/umem: Add API to find best driver supported page size in an MR")
      Link: https://lore.kernel.org/r/0-v1-982a13cc5c6d+501ae-fix_best_pgsz_stub_jgg@nvidia.com
      Reviewed-by: default avatarGal Pressman <galpress@amazon.com>
      Acked-by: default avatarShiraz Saleem <shiraz.saleem@intel.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      61690d01
    • Jason Gunthorpe's avatar
      RDMA/core: Trigger a WARN_ON if the driver causes uobjects to become leaked · 5d985d72
      Jason Gunthorpe authored
      
      
      Drivers that fail destroy can cause uverbs to leak uobjects. Drivers are
      required to always eventually destroy their ubojects, so trigger a WARN_ON
      to detect this driver bug.
      
      Link: https://lore.kernel.org/r/0-v1-b1e0ed400ba9+f7-warn_destroy_ufile_hw_jgg@nvidia.com
      Reviewed-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      Reviewed-by: default avatarGal Pressman <galpress@amazon.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      5d985d72
    • Weihang Li's avatar
      RDMA/hns: Get udp sport num dynamically instead of using a fixed value · 074bf2c2
      Weihang Li authored
      
      
      The UDP source port number in RoCE v2 is used to create entropy for
      network routers (ECMP), load balancers and 802.3ad link aggregation
      switching that are not aware of RoCE IB headers. Considering that the IB
      core has achieved a new interface to get a hashed value of it, the fixed
      value of it in QPC and UD WQE in hns driver could be fixed and the port
      number is to be set dynamically now.
      
      For QPC of RC, the value could be hashed from flow_lable if the user pass
      it in or from remote qpn and local qpn. For WQE of UD, it is set according
      to fl or as a random value.
      
      Link: https://lore.kernel.org/r/1598002289-8611-1-git-send-email-liweihang@huawei.com
      Signed-off-by: default avatarWeihang Li <liweihang@huawei.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      074bf2c2
    • Linus Torvalds's avatar
      Linux 5.9-rc3 · f75aef39
      Linus Torvalds authored
      v5.9-rc3
      f75aef39
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · e43327c7
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
      
       - fix regression in af_alg that affects iwd
      
       - restore polling delay in qat
      
       - fix double free in ingenic on error path
      
       - fix potential build failure in sa2ul due to missing Kconfig dependency
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: af_alg - Work around empty control messages without MSG_MORE
        crypto: sa2ul - add Kconfig selects to fix build error
        crypto: ingenic - Drop kfree for memory allocated with devm_kzalloc
        crypto: qat - add delay before polling mailbox
      e43327c7
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dcc5c6f0
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "Three interrupt related fixes for X86:
      
         - Move disabling of the local APIC after invoking fixup_irqs() to
           ensure that interrupts which are incoming are noted in the IRR and
           not ignored.
      
         - Unbreak affinity setting.
      
           The rework of the entry code reused the regular exception entry
           code for device interrupts. The vector number is pushed into the
           errorcode slot on the stack which is then lifted into an argument
           and set to -1 because that's regs->orig_ax which is used in quite
           some places to check whether the entry came from a syscall.
      
           But it was overlooked that orig_ax is used in the affinity cleanup
           code to validate whether the interrupt has arrived on the new
           target. It turned out that this vector check is pointless because
           interrupts are never moved from one vector to another on the same
           CPU. That check is a historical leftover from the time where x86
           supported multi-CPU affinities, but not longer needed with the now
           strict single CPU affinity. Famous last words ...
      
         - Add a missing check for an empty cpumask into the matrix allocator.
      
           The affinity change added a warning to catch the case where an
           interrupt is moved on the same CPU to a different vector. This
           triggers because a condition with an empty cpumask returns an
           assignment from the allocator as the allocator uses for_each_cpu()
           without checking the cpumask for being empty. The historical
           inconsistent for_each_cpu() behaviour of ignoring the cpumask and
           unconditionally claiming that CPU0 is in the mask struck again.
           Sigh.
      
        plus a new entry into the MAINTAINER file for the HPE/UV platform"
      
      * tag 'x86-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq/matrix: Deal with the sillyness of for_each_cpu() on UP
        x86/irq: Unbreak interrupt affinity setting
        x86/hotplug: Silence APIC only after all interrupts are migrated
        MAINTAINERS: Add entry for HPE Superdome Flex (UV) maintainers
      dcc5c6f0
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d2283cdc
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A set of fixes for interrupt chip drivers:
      
         - Revert the platform driver conversion of interrupt chip drivers as
           it turned out to create more problems than it solves.
      
         - Fix a trivial typo in the new module helpers which made probing
           reliably fail.
      
         - Small fixes in the STM32 and MIPS Ingenic drivers
      
         - The TI firmware rework which had badly managed dependencies and had
           to wait post rc1"
      
      * tag 'irq-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/ingenic: Leave parent IRQ unmasked on suspend
        irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by mistake
        irqchip: Revert modular support for drivers using IRQCHIP_PLATFORM_DRIVER helperse
        irqchip: Fix probing deferal when using IRQCHIP_PLATFORM_DRIVER helpers
        arm64: dts: k3-am65: Update the RM resource types
        arm64: dts: k3-am65: ti-sci-inta/intr: Update to latest bindings
        arm64: dts: k3-j721e: ti-sci-inta/intr: Update to latest bindings
        irqchip/ti-sci-inta: Add support for INTA directly connecting to GIC
        irqchip/ti-sci-inta: Do not store TISCI device id in platform device id field
        dt-bindings: irqchip: Convert ti, sci-inta bindings to yaml
        dt-bindings: irqchip: ti, sci-inta: Update docs to support different parent.
        irqchip/ti-sci-intr: Add support for INTR being a parent to INTR
        dt-bindings: irqchip: Convert ti, sci-intr bindings to yaml
        dt-bindings: irqchip: ti, sci-intr: Update bindings to drop the usage of gic as parent
        firmware: ti_sci: Add support for getting resource with subtype
        firmware: ti_sci: Drop unused structure ti_sci_rm_type_map
        firmware: ti_sci: Drop the device id to resource type translation
      d2283cdc
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0063a82d
      Linus Torvalds authored
      Pull scheduler fix from Thomas Gleixner:
       "A single fix for the scheduler:
      
         - Make is_idle_task() __always_inline to prevent the compiler from
           putting it out of line into the wrong section because it's used
           inside noinstr sections"
      
      * tag 'sched-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Use __always_inline on is_idle_task()
      0063a82d
    • Linus Torvalds's avatar
      Merge tag 'locking-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b69bea8a
      Linus Torvalds authored
      Pull locking fixes from Thomas Gleixner:
       "A set of fixes for lockdep, tracing and RCU:
      
         - Prevent recursion by using raw_cpu_* operations
      
         - Fixup the interrupt state in the cpu idle code to be consistent
      
         - Push rcu_idle_enter/exit() invocations deeper into the idle path so
           that the lock operations are inside the RCU watching sections
      
         - Move trace_cpu_idle() into generic code so it's called before RCU
           goes idle.
      
         - Handle raw_local_irq* vs. local_irq* operations correctly
      
         - Move the tracepoints out from under the lockdep recursion handling
           which turned out to be fragile and inconsistent"
      
      * tag 'locking-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        lockdep,trace: Expose tracepoints
        lockdep: Only trace IRQ edges
        mips: Implement arch_irqs_disabled()
        arm64: Implement arch_irqs_disabled()
        nds32: Implement arch_irqs_disabled()
        locking/lockdep: Cleanup
        x86/entry: Remove unused THUNKs
        cpuidle: Move trace_cpu_idle() into generic code
        cpuidle: Make CPUIDLE_FLAG_TLB_FLUSHED generic
        sched,idle,rcu: Push rcu_idle deeper into the idle path
        cpuidle: Fixup IRQ state
        lockdep: Use raw_cpu_*() for per-cpu variables
      b69bea8a
    • Linus Torvalds's avatar
      Merge tag '5.9-rc2-smb-fix' of git://git.samba.org/sfrench/cifs-2.6 · 3edd8db2
      Linus Torvalds authored
      Pull cfis fix from Steve French:
       "DFS fix for referral problem when using SMB1"
      
      * tag '5.9-rc2-smb-fix' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix check of tcon dfs in smb1
      3edd8db2
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 8bb5021c
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Revert our removal of PROT_SAO, at least one user expressed an
         interest in using it on Power9. Instead don't allow it to be used in
         guests unless enabled explicitly at compile time.
      
       - A fix for a crash introduced by a recent change to FP handling.
      
       - Revert a change to our idle code that left Power10 with no idle
         support.
      
       - One minor fix for the new scv system call path to set PPR.
      
       - Fix a crash in our "generic" PMU if branch stack events were enabled.
      
       - A fix for the IMC PMU, to correctly identify host kernel samples.
      
       - The ADB_PMU powermac code was found to be incompatible with
         VMAP_STACK, so make them incompatible in Kconfig until the code can
         be fixed.
      
       - A build fix in drivers/video/fbdev/controlfb.c, and a documentation
         fix.
      
      Thanks to Alexey Kardashevskiy, Athira Rajeev, Christophe Leroy,
      Giuseppe Sacco, Madhavan Srinivasan, Milton Miller, Nicholas Piggin,
      Pratik Rajesh Sampat, Randy Dunlap, Shawn Anastasio, Vaidyanathan
      Srinivasan.
      
      * tag 'powerpc-5.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/32s: Disable VMAP stack which CONFIG_ADB_PMU
        Revert "powerpc/powernv/idle: Replace CPU feature check with PVR check"
        powerpc/perf: Fix reading of MSR[HV/PR] bits in trace-imc
        powerpc/perf: Fix crashes with generic_compat_pmu & BHRB
        powerpc/64s: Fix crash in load_fp_state() due to fpexc_mode
        powerpc/64s: scv entry should set PPR
        Documentation/powerpc: fix malformed table in syscall64-abi
        video: fbdev: controlfb: Fix build for COMPILE_TEST=y && PPC_PMAC=n
        selftests/powerpc: Update PROT_SAO test to skip ISA 3.1
        powerpc/64s: Disallow PROT_SAO in LPARs by default
        Revert "powerpc/64s: Remove PROT_SAO support"
      8bb5021c
    • Linus Torvalds's avatar
      Merge tag 'usb-5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 6f0306d1
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Let's try this again...  Here are some USB fixes for 5.9-rc3.
      
        This differs from the previous pull request for this release in that
        the usb gadget patch now does not break some systems, and actually
        does what it was intended to do. Many thanks to Marek Szyprowski for
        quickly noticing and testing the patch from Andy Shevchenko to resolve
        this issue.
      
        Additionally, some more new USB quirks have been added to get some new
        devices to work properly based on user reports.
      
        Other than that, the patches are all here, and they contain:
      
         - usb gadget driver fixes
      
         - xhci driver fixes
      
         - typec fixes
      
         - new quirks and ids
      
         - fixes for USB patches that went into 5.9-rc1.
      
        All of these have been tested in linux-next with no reported issues"
      
      * tag 'usb-5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (33 commits)
        usb: storage: Add unusual_uas entry for Sony PSZ drives
        USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
        usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
        USB: gadget: u_f: Unbreak offset calculation in VLAs
        USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D
        usb: typec: tcpm: Fix Fix source hard reset response for TDA 2.3.1.1 and TDA 2.3.1.2 failures
        USB: PHY: JZ4770: Fix static checker warning.
        USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
        USB: gadget: u_f: add overflow checks to VLA macros
        xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed
        xhci: Do warm-reset when both CAS and XDEV_RESUME are set
        usb: host: xhci: fix ep context print mismatch in debugfs
        usb: uas: Add quirk for PNY Pro Elite
        tools: usb: move to tools buildsystem
        USB: Fix device driver race
        USB: Also match device drivers using the ->match vfunc
        usb: host: xhci-tegra: fix tegra_xusb_get_phy()
        usb: host: xhci-tegra: otg usb2/usb3 port init
        usb: hcd: Fix use after free in usb_hcd_pci_remove()
        usb: typec: ucsi: Hold con->lock for the entire duration of ucsi_register_port()
        ...
      6f0306d1
    • Linus Torvalds's avatar
      Merge tag 'edac_urgent_for_v5.9_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · 42df60fc
      Linus Torvalds authored
      Pull EDAC fix from Borislav Petkov:
       "A fix to properly clear ghes_edac driver state on driver remove so
        that a subsequent load can probe the system properly (Shiju Jose)"
      
      * tag 'edac_urgent_for_v5.9_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC/ghes: Fix NULL pointer dereference in ghes_edac_register()
      42df60fc
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.9-2' of git://git.infradead.org/users/hch/dma-mapping · c4011283
      Linus Torvalds authored
      Pull dma-mapping fix from Christoph Hellwig:
       "Fix a possibly uninitialized variable (Dan Carpenter)"
      
      * tag 'dma-mapping-5.9-2' of git://git.infradead.org/users/hch/dma-mapping:
        dma-pool: Fix an uninitialized variable bug in atomic_pool_expand()
      c4011283
    • Thomas Gleixner's avatar
      genirq/matrix: Deal with the sillyness of for_each_cpu() on UP · 784a0830
      Thomas Gleixner authored
      Most of the CPU mask operations behave the same way, but for_each_cpu() and
      it's variants ignore the cpumask argument and claim that CPU0 is always in
      the mask. This is historical, inconsistent and annoying behaviour.
      
      The matrix allocator uses for_each_cpu() and can be called on UP with an
      empty cpumask. The calling code does not expect that this succeeds but
      until commit e027ffff ("x86/irq: Unbreak interrupt affinity setting")
      this went unnoticed. That commit added a WARN_ON() to catch cases which
      move an interrupt from one vector to another on the same CPU. The warning
      triggers on UP.
      
      Add a check for the cpumask being empty to prevent this.
      
      Fixes: 2f75d9e1
      
       ("genirq: Implement bitmap matrix allocator")
      Reported-by: default avatarkernel test robot <rong.a.chen@intel.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: stable@vger.kernel.org
      784a0830
  5. Aug 30, 2020
    • Linus Torvalds's avatar
      Merge tag 'fallthrough-fixes-5.9-rc3' of... · 1127b219
      Linus Torvalds authored
      Merge tag 'fallthrough-fixes-5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux
      
      Pull fallthrough fixes from Gustavo A. R. Silva:
       "Fix some minor issues introduced by the recent treewide fallthrough
        conversions:
      
         - Fix identation issue
      
         - Fix erroneous fallthrough annotation
      
         - Remove unnecessary fallthrough annotation
      
         - Fix code comment changed by fallthrough conversion"
      
      * tag 'fallthrough-fixes-5.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
        arm64/cpuinfo: Remove unnecessary fallthrough annotation
        media: dib0700: Fix identation issue in dib8096_set_param_override()
        afs: Remove erroneous fallthough annotation
        iio: dpot-dac: fix code comment in dpot_dac_read_raw()
      1127b219
    • Linus Torvalds's avatar
      fsldma: fix very broken 32-bit ppc ioread64 functionality · 0a4c56c8
      Linus Torvalds authored
      Commit ef91bb19
      
       ("kernel.h: Silence sparse warning in
      lower_32_bits") caused new warnings to show in the fsldma driver, but
      that commit was not to blame: it only exposed some very incorrect code
      that tried to take the low 32 bits of an address.
      
      That made no sense for multiple reasons, the most notable one being that
      that code was intentionally limited to only 32-bit ppc builds, so "only
      low 32 bits of an address" was completely nonsensical.  There were no
      high bits to mask off to begin with.
      
      But even more importantly fropm a correctness standpoint, turning the
      address into an integer then caused the subsequent address arithmetic to
      be completely wrong too, and the "+1" actually incremented the address
      by one, rather than by four.
      
      Which again was incorrect, since the code was reading two 32-bit values
      and trying to make a 64-bit end result of it all.  Surprisingly, the
      iowrite64() did not suffer from the same odd and incorrect model.
      
      This code has never worked, but it's questionable whether anybody cared:
      of the two users that actually read the 64-bit value (by way of some C
      preprocessor hackery and eventually the 'get_cdar()' inline function),
      one of them explicitly ignored the value, and the other one might just
      happen to work despite the incorrect value being read.
      
      This patch at least makes it not fail the build any more, and makes the
      logic superficially sane.  Whether it makes any difference to the code
      _working_ or not shall remain a mystery.
      
      Compile-tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0a4c56c8
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · e77aee13
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "A core fix for ACPI matching and two driver bugfixes"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: iproc: Fix shifting 31 bits
        i2c: rcar: in slave mode, clear NACK earlier
        i2c: acpi: Remove dead code, i.e. i2c_acpi_match_device()
        i2c: core: Don't fail PRP0001 enumeration when no ID table exist
      e77aee13
    • Linus Torvalds's avatar
      Merge tag 's390-5.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 1b46b921
      Linus Torvalds authored
      Pull s390 fixes from Vasily Gorbik:
      
       - Disable preemption trace in percpu macros since the lockdep code
         itself uses percpu variables now and it causes recursions.
      
       - Fix kernel space 4-level paging broken by recent vmem rework.
      
      * tag 's390-5.9-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/vmem: fix vmem_add_range for 4-level paging
        s390: don't trace preemption in percpu macros
      1b46b921