1. 07 Mar, 2024 9 commits
  2. 23 Feb, 2024 3 commits
  3. 22 Feb, 2024 1 commit
  4. 20 Feb, 2024 1 commit
    • Dan Williams's avatar
      sysfs: Introduce a mechanism to hide static attribute_groups · 70317fd2
      Dan Williams authored
      Add a mechanism for named attribute_groups to hide their directory at
      sysfs_update_group() time, or otherwise skip emitting the group
      directory when the group is first registered. It piggybacks on
      is_visible() in a similar manner as SYSFS_PREALLOC, i.e. special flags
      in the upper bits of the returned mode. To use it, specify a symbol
      prefix to DEFINE_SYSFS_GROUP_VISIBLE(), and then pass that same prefix
      to SYSFS_GROUP_VISIBLE() when assigning the @is_visible() callback:
      
      	DEFINE_SYSFS_GROUP_VISIBLE($prefix)
      
      	struct attribute_group $prefix_group = {
      		.name = $name,
      		.is_visible = SYSFS_GROUP_VISIBLE($prefix),
      	};
      
      SYSFS_GROUP_VISIBLE() expects a definition of $prefix_group_visible()
      and $prefix_attr_visible(), where $prefix_group_visible() just returns
      true / false and $prefix_attr_visible() behaves as normal.
      
      The motivation for this capability is to centralize PCI device
      authentication in the PCI core with a named sysfs group while keeping
      that group hidden for devices and platforms that do not meet the
      requirements. In a PCI topology, most devices will not support
      authentication, a small subset will support just PCI CMA (Component
      Measurement and Authentication), a smaller subset will support PCI CMA +
      PCIe IDE (Link Integrity and Encryption), and only next generation
      server hosts will start to include a platform TSM (TEE Security
      Manager).
      
      Without this capability the alternatives are:
      
      * Check if all attributes are invisible and if so, hide the directory.
        Beyond trouble getting this to work [1], this is an ABI change for
        scenarios if userspace happens to depend on group visibility absent any
        attributes. I.e. this new capability avoids regression since it does
        not retroactively apply to existing cases.
      
      * Publish an empty /sys/bus/pci/devices/$pdev/tsm/ directory for all PCI
        devices (i.e. for the case when TSM platform support is present, but
        device support is absent). Unfortunate that this will be a vestigial
        empty directory in the vast majority of cases.
      
      * Reintroduce usage of runtime calls to sysfs_{create,remove}_group()
        in the PCI core. Bjorn has already indicated that he does not want to
        see any growth of pci_sysfs_init() [2].
      
      * Drop the named group and simulate a directory by prefixing all
        TSM-related attributes with "tsm_". Unfortunate to not use the naming
        capability of a sysfs group as intended.
      
      In comparison, there is a small potential for regression if for some
      reason an @is_visible() callback had dependencies on how many times it
      was called. Additionally, it is no longer an error to update a group
      that does not have its directory already present, and it is no longer a
      WARN() to remove a group that was never visible.
      
      Link: https://lore.kernel.org/all/2024012321-envious-procedure-4a58@gregkh/ [1]
      Link: https://lore.kernel.org/linux-pci/20231019200110.GA1410324@bhelgaas/ [2]
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Link: https://lore.kernel.org/r/2024013028-deflator-flaring-ec62@gregkhSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      70317fd2
  5. 19 Feb, 2024 2 commits
    • Dan Williams's avatar
      sysfs: Introduce a mechanism to hide static attribute_groups · d87c295f
      Dan Williams authored
      Add a mechanism for named attribute_groups to hide their directory at
      sysfs_update_group() time, or otherwise skip emitting the group
      directory when the group is first registered. It piggybacks on
      is_visible() in a similar manner as SYSFS_PREALLOC, i.e. special flags
      in the upper bits of the returned mode. To use it, specify a symbol
      prefix to DEFINE_SYSFS_GROUP_VISIBLE(), and then pass that same prefix
      to SYSFS_GROUP_VISIBLE() when assigning the @is_visible() callback:
      
      	DEFINE_SYSFS_GROUP_VISIBLE($prefix)
      
      	struct attribute_group $prefix_group = {
      		.name = $name,
      		.is_visible = SYSFS_GROUP_VISIBLE($prefix),
      	};
      
      SYSFS_GROUP_VISIBLE() expects a definition of $prefix_group_visible()
      and $prefix_attr_visible(), where $prefix_group_visible() just returns
      true / false and $prefix_attr_visible() behaves as normal.
      
      The motivation for this capability is to centralize PCI device
      authentication in the PCI core with a named sysfs group while keeping
      that group hidden for devices and platforms that do not meet the
      requirements. In a PCI topology, most devices will not support
      authentication, a small subset will support just PCI CMA (Component
      Measurement and Authentication), a smaller subset will support PCI CMA +
      PCIe IDE (Link Integrity and Encryption), and only next generation
      server hosts will start to include a platform TSM (TEE Security
      Manager).
      
      Without this capability the alternatives are:
      
      * Check if all attributes are invisible and if so, hide the directory.
        Beyond trouble getting this to work [1], this is an ABI change for
        scenarios if userspace happens to depend on group visibility absent any
        attributes. I.e. this new capability avoids regression since it does
        not retroactively apply to existing cases.
      
      * Publish an empty /sys/bus/pci/devices/$pdev/tsm/ directory for all PCI
        devices (i.e. for the case when TSM platform support is present, but
        device support is absent). Unfortunate that this will be a vestigial
        empty directory in the vast majority of cases.
      
      * Reintroduce usage of runtime calls to sysfs_{create,remove}_group()
        in the PCI core. Bjorn has already indicated that he does not want to
        see any growth of pci_sysfs_init() [2].
      
      * Drop the named group and simulate a directory by prefixing all
        TSM-related attributes with "tsm_". Unfortunate to not use the naming
        capability of a sysfs group as intended.
      
      In comparison, there is a small potential for regression if for some
      reason an @is_visible() callback had dependencies on how many times it
      was called. Additionally, it is no longer an error to update a group
      that does not have its directory already present, and it is no longer a
      WARN() to remove a group that was never visible.
      
      Link: https://lore.kernel.org/all/2024012321-envious-procedure-4a58@gregkh/ [1]
      Link: https://lore.kernel.org/linux-pci/20231019200110.GA1410324@bhelgaas/ [2]
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Link: https://lore.kernel.org/r/2024013028-deflator-flaring-ec62@gregkhSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d87c295f
    • Greg Kroah-Hartman's avatar
      Merge 6.8-rc5 into driver-core-next · 07749061
      Greg Kroah-Hartman authored
      We need the driver core changes in here as well.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      07749061
  6. 18 Feb, 2024 6 commits
    • Linus Torvalds's avatar
      Linux 6.8-rc5 · b401b621
      Linus Torvalds authored
      b401b621
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.8-2' of... · 6c160f16
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Reformat nested if-conditionals in Makefiles with 4 spaces
      
       - Fix CONFIG_DEBUG_INFO_BTF builds for big endian
      
       - Fix modpost for module srcversion
      
       - Fix an escape sequence warning in gen_compile_commands.py
      
       - Fix kallsyms to ignore ARMv4 thunk symbols
      
      * tag 'kbuild-fixes-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kallsyms: ignore ARMv4 thunks along with others
        modpost: trim leading spaces when processing source files list
        gen_compile_commands: fix invalid escape sequence warning
        kbuild: Fix changing ELF file type for output of gen_btf for big endian
        docs: kconfig: Fix grammar and formatting
        kbuild: use 4-space indentation when followed by conditionals
      6c160f16
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ddac3d8b
      Linus Torvalds authored
      Pull x86 fix from Borislav Petkov:
      
       - Use a GB page for identity mapping only when memory of this size is
         requested so that mapping of reserved regions is prevented which
         would otherwise lead to system crashes on UV machines
      
      * tag 'x86_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
      ddac3d8b
    • Linus Torvalds's avatar
      Merge tag 'irq_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7cb7c32d
      Linus Torvalds authored
      Pull irq fixes from Borislav Petkov:
      
       - Fix GICv4.1 affinity update
      
       - Restore a quirk for ACPI-based GICv4 systems
      
       - Handle non-coherent GICv4 redistributors properly
      
       - Prevent spurious interrupts on Broadcom devices using GIC v3
         architecture
      
       - Other minor fixes
      
      * tag 'irq_urgent_for_v6.8_rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update
        irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems
        irqchip/gic-v3-its: Handle non-coherent GICv4 redistributors
        irqchip/qcom-mpm: Fix IS_ERR() vs NULL check in qcom_mpm_init()
        irqchip/loongson-eiointc: Use correct struct type in eiointc_domain_alloc()
        irqchip/irq-brcmstb-l2: Add write memory barrier before exit
      7cb7c32d
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 626721ed
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Two fixes for i801 and qcom-geni devices. Meanwhile, a fix from Arnd
        addresses a compilation error encountered during compile test on
        powerpc"
      
      * tag 'i2c-for-6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: i801: Fix block process call transactions
        i2c: pasemi: split driver into two separate modules
        i2c: qcom-geni: Correct I2C TRE sequence
      626721ed
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · c02197fc
      Linus Torvalds authored
      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
      c02197fc
  7. 17 Feb, 2024 14 commits
  8. 16 Feb, 2024 4 commits