1. 13 Feb, 2023 21 commits
  2. 06 Feb, 2023 4 commits
    • Marc Zyngier's avatar
      Merge branch irq/misc-6.3 into irq/irqchip-next · df2d85d0
      Marc Zyngier authored
      * irq/misc-6.3:
        : .
        : - Cleanup Kconfig dependencies for LS_SCFG_MSI
        :
        : - Improve save/restore for the loongson-liointc irqchip
        :
        : - Correctly initialise status and enable registers for one
        :   of the ASpeed controllers
        : .
        irqchip/ls-scfg-msi: Simplify Kconfig dependencies
        irqchip/loongson-liointc: Save/restore int_edge/int_pol registers during S3/S4
        irqchip/aspeed-scu-ic: Correctly initialise status and enable registers
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      df2d85d0
    • Marc Zyngier's avatar
      Merge branch irq/refcount into irq/irqchip-next · 5f61c693
      Marc Zyngier authored
      * irq/refcount:
        : .
        : Set of OF refcount fixes from  Miaoqian Lin, adding an
        : of_node_put() call after of_irq_find_parent() calls.
        : .
        irqchip/ti-sci: Fix refcount leak in ti_sci_intr_irq_domain_probe
        irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe
        irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains
        irqchip: Fix refcount leak in platform_irqchip_probe
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      5f61c693
    • Marc Zyngier's avatar
      Merge branch irq/ipi-mux into irq/irqchip-next · 6360ec8f
      Marc Zyngier authored
      * irq/ipi-mux:
        : .
        : Extract the IPI muxing facility from the Apple AIC driver and
        : move it over to core code. The riscv irqchip code will eventually
        : make use of this.
        : .
        genirq/ipi-mux: Use irq_domain_alloc_irqs()
        irqchip/apple-aic: Move over to core ipi-mux
        genirq: Add mechanism to multiplex a single HW IPI
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      6360ec8f
    • Marc Zyngier's avatar
      genirq/ipi-mux: Use irq_domain_alloc_irqs() · 3d812a0f
      Marc Zyngier authored
      Using __irq_domain_alloc_irqs() is an unnecessary complexity. Use
      irq_domain_alloc_irqs(), which is simpler and makes the code more
      readable.
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      3d812a0f
  3. 05 Feb, 2023 9 commits
  4. 15 Jan, 2023 4 commits
  5. 14 Jan, 2023 2 commits
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 7c698440
      Linus Torvalds authored
      Pull iommu fixes from Joerg Roedel:
      
       - Core: Fix an iommu-group refcount leak
      
       - Fix overflow issue in IOVA alloc path
      
       - ARM-SMMU fixes from Will:
          - Fix VFIO regression on NXP SoCs by reporting IOMMU_CAP_CACHE_COHERENCY
          - Fix SMMU shutdown paths to avoid device unregistration race
      
       - Error handling fix for Mediatek IOMMU driver
      
      * tag 'iommu-fixes-v6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe()
        iommu/iova: Fix alloc iova overflows issue
        iommu: Fix refcount leak in iommu_device_claim_dma_owner
        iommu/arm-smmu-v3: Don't unregister on shutdown
        iommu/arm-smmu: Don't unregister on shutdown
        iommu/arm-smmu: Report IOMMU_CAP_CACHE_COHERENCY even betterer
      7c698440
    • Linus Torvalds's avatar
      Merge tag 'fixes-2023-01-14' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · 4f43ade4
      Linus Torvalds authored
      Pull memblock fix from Mike Rapoport:
       "memblock: always release pages to the buddy allocator in
        memblock_free_late()
      
        If CONFIG_DEFERRED_STRUCT_PAGE_INIT is enabled, memblock_free_pages()
        only releases pages to the buddy allocator if they are not in the
        deferred range. This is correct for free pages (as defined by
        for_each_free_mem_pfn_range_in_zone()) because free pages in the
        deferred range will be initialized and released as part of the
        deferred init process.
      
        memblock_free_pages() is called by memblock_free_late(), which is used
        to free reserved ranges after memblock_free_all() has run. All pages
        in reserved ranges have been initialized at that point, and
        accordingly, those pages are not touched by the deferred init process.
      
        This means that currently, if the pages that memblock_free_late()
        intends to release are in the deferred range, they will never be
        released to the buddy allocator. They will forever be reserved.
      
        In addition, memblock_free_pages() calls kmsan_memblock_free_pages(),
        which is also correct for free pages but is not correct for reserved
        pages. KMSAN metadata for reserved pages is initialized by
        kmsan_init_shadow(), which runs shortly before memblock_free_all().
      
        For both of these reasons, memblock_free_pages() should only be called
        for free pages, and memblock_free_late() should call
        __free_pages_core() directly instead.
      
        One case where this issue can occur in the wild is EFI boot on x86_64.
        The x86 EFI code reserves all EFI boot services memory ranges via
        memblock_reserve() and frees them later via memblock_free_late()
        (efi_reserve_boot_services() and efi_free_boot_services(),
        respectively).
      
        If any of those ranges happens to fall within the deferred init range,
        the pages will not be released and that memory will be unavailable.
      
        For example, on an Amazon EC2 t3.micro VM (1 GB) booting via EFI:
      
          v6.2-rc2:
          Node 0, zone      DMA
                spanned  4095
                present  3999
                managed  3840
          Node 0, zone    DMA32
                spanned  246652
                present  245868
                managed  178867
      
          v6.2-rc2 + patch:
          Node 0, zone      DMA
                spanned  4095
                present  3999
                managed  3840
          Node 0, zone    DMA32
                spanned  246652
                present  245868
                managed  222816   # +43,949 pages"
      
      * tag 'fixes-2023-01-14' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        mm: Always release pages to the buddy allocator in memblock_free_late().
      4f43ade4