Merge tag 'powerpc-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 18 Feb 2024 00:59:31 +0000 (16:59 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 18 Feb 2024 00:59:31 +0000 (16:59 -0800)
Pull powerpc fixes from Michael Ellerman:
 "This is a bit of a big batch for rc4, but just due to holiday hangover
  and because I didn't send any fixes last week due to a late revert
  request. I think next week should be back to normal.

   - Fix ftrace bug on boot caused by exit text sections with
     '-fpatchable-function-entry'

   - Fix accuracy of stolen time on pseries since the switch to
     VIRT_CPU_ACCOUNTING_GEN

   - Fix a crash in the IOMMU code when doing DLPAR remove

   - Set pt_regs->link on scv entry to fix BPF stack unwinding

   - Add missing PPC_FEATURE_BOOKE on 64-bit e5500/e6500, which broke
     gdb

   - Fix boot on some 6xx platforms with STRICT_KERNEL_RWX enabled

   - Fix build failures with KASAN enabled and 32KB stack size

   - Some other minor fixes

  Thanks to Arnd Bergmann, Benjamin Gray, Christophe Leroy, David
  Engraf, Gaurav Batra, Jason Gunthorpe, Jiangfeng Xiao, Matthias
  Schiffer, Nathan Lynch, Naveen N Rao, Nicholas Piggin, Nysal Jan K.A,
  R Nageswara Sastry, Shivaprasad G Bhat, Shrikanth Hegde, Spoorthy,
  Srikar Dronamraju, and Venkat Rao Bagalkote"

* tag 'powerpc-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
  powerpc/iommu: Fix the missing iommu_group_put() during platform domain attach
  powerpc/pseries: fix accuracy of stolen time
  powerpc/ftrace: Ignore ftrace locations in exit text sections
  powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E
  powerpc/kasan: Limit KASAN thread size increase to 32KB
  Revert "powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add"
  powerpc: 85xx: mark local functions static
  powerpc: udbg_memcons: mark functions static
  powerpc/kasan: Fix addr error caused by page alignment
  powerpc/6xx: set High BAT Enable flag on G2_LE cores
  selftests/powerpc/papr_vpd: Check devfd before get_system_loc_code()
  powerpc/64: Set task pt_regs->link to the LR value on scv entry
  powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add
  powerpc/pseries/papr-sysparm: use u8 arrays for payloads

1  2 
arch/powerpc/kernel/iommu.c

index d71eac3b2887b98ff5ea23ec1874243283524f4c,df17b33b89d13157e2e797a89db8e56b1b773aab..a9bebfd56b3b3b542204b548f9a215397b37a3d3
@@@ -1287,20 -1287,22 +1287,22 @@@ spapr_tce_platform_iommu_attach_dev(str
        struct iommu_domain *domain = iommu_get_domain_for_dev(dev);
        struct iommu_group *grp = iommu_group_get(dev);
        struct iommu_table_group *table_group;
 -      int ret = -EINVAL;
  
        /* At first attach the ownership is already set */
-       if (!domain)
+       if (!domain) {
+               iommu_group_put(grp);
                return 0;
+       }
  
 -      if (!grp)
 -              return -ENODEV;
 -
        table_group = iommu_group_get_iommudata(grp);
 -      ret = table_group->ops->take_ownership(table_group);
 +      /*
 +       * The domain being set to PLATFORM from earlier
 +       * BLOCKED. The table_group ownership has to be released.
 +       */
 +      table_group->ops->release_ownership(table_group);
        iommu_group_put(grp);
  
 -      return ret;
 +      return 0;
  }
  
  static const struct iommu_domain_ops spapr_tce_platform_domain_ops = {