1. 19 May, 2024 28 commits
    • Samuel Holland's avatar
      selftests/fpu: allow building on other architectures · 790a4a3d
      Samuel Holland authored
      Now that ARCH_HAS_KERNEL_FPU_SUPPORT provides a common way to compile and
      run floating-point code, this test is no longer x86-specific.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-16-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      790a4a3d
    • Samuel Holland's avatar
      selftests/fpu: move FP code to a separate translation unit · 9613736d
      Samuel Holland authored
      This ensures no compiler-generated floating-point code can appear outside
      kernel_fpu_{begin,end}() sections, and some architectures enforce this
      separation.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-15-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      9613736d
    • Samuel Holland's avatar
      drm/amd/display: use ARCH_HAS_KERNEL_FPU_SUPPORT · a28e4b67
      Samuel Holland authored
      Now that all previously-supported architectures select
      ARCH_HAS_KERNEL_FPU_SUPPORT, this code can depend on that symbol instead
      of the existing list of architectures.  It can also take advantage of the
      common kernel-mode FPU API and method of adjusting CFLAGS.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-14-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      a28e4b67
    • Michael Ellerman's avatar
      drm/amd/display: only use hard-float, not altivec on powerpc · 06a990b6
      Michael Ellerman authored
      The compiler flags enable altivec, but that is not required; hard-float is
      sufficient for the code to build and function.
      
      Drop altivec from the compiler flags and adjust the enable/disable code to
      only enable FPU use.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-13-samuel.holland@sifive.comSigned-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      06a990b6
    • Samuel Holland's avatar
      riscv: add support for kernel-mode FPU · 77acc6b5
      Samuel Holland authored
      This is motivated by the amdgpu DRM driver, which needs floating-point
      code to support recent hardware.  That code is not performance-critical,
      so only provide a minimal non-preemptible implementation for now.
      
      Support is limited to riscv64 because riscv32 requires runtime (libgcc)
      assistance to convert between doubles and 64-bit integers.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-12-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Acked-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      Reviewed-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      77acc6b5
    • Samuel Holland's avatar
      x86: implement ARCH_HAS_KERNEL_FPU_SUPPORT · b0b8a15b
      Samuel Holland authored
      x86 already provides kernel_fpu_begin() and kernel_fpu_end(), but in a
      different header.  Add a wrapper header, and export the CFLAGS adjustments
      as found in lib/Makefile.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-11-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      b0b8a15b
    • Samuel Holland's avatar
      powerpc: implement ARCH_HAS_KERNEL_FPU_SUPPORT · 01db473e
      Samuel Holland authored
      PowerPC provides an equivalent to the common kernel-mode FPU API, but in a
      different header and using different function names.  The PowerPC API also
      requires a non-preemptible context.  Add a wrapper header, and export the
      CFLAGS adjustments.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-9-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      01db473e
    • Samuel Holland's avatar
      LoongArch: implement ARCH_HAS_KERNEL_FPU_SUPPORT · 372f6623
      Samuel Holland authored
      LoongArch already provides kernel_fpu_begin() and kernel_fpu_end() in
      asm/fpu.h, so it only needs to add kernel_fpu_available() and export the
      CFLAGS adjustments.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-8-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Acked-by: default avatarWANG Xuerui <git@xen0n.name>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      372f6623
    • Samuel Holland's avatar
      lib/raid6: use CC_FLAGS_FPU for NEON CFLAGS · 4be07393
      Samuel Holland authored
      Now that CC_FLAGS_FPU is exported and can be used anywhere in the source
      tree, use it instead of duplicating the flags here.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-7-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      4be07393
    • Samuel Holland's avatar
      arm64: crypto: use CC_FLAGS_FPU for NEON CFLAGS · 71770895
      Samuel Holland authored
      Now that CC_FLAGS_FPU is exported and can be used anywhere in the source
      tree, use it instead of duplicating the flags here.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-6-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      71770895
    • Samuel Holland's avatar
      arm64: implement ARCH_HAS_KERNEL_FPU_SUPPORT · 71883ae3
      Samuel Holland authored
      arm64 provides an equivalent to the common kernel-mode FPU API, but in a
      different header and using different function names.  Add a wrapper
      header, and export CFLAGS adjustments as found in lib/raid6/Makefile.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-5-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      71883ae3
    • Samuel Holland's avatar
      ARM: crypto: use CC_FLAGS_FPU for NEON CFLAGS · c4162431
      Samuel Holland authored
      Now that CC_FLAGS_FPU is exported and can be used anywhere in the source
      tree, use it instead of duplicating the flags here.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-4-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      c4162431
    • Samuel Holland's avatar
      ARM: implement ARCH_HAS_KERNEL_FPU_SUPPORT · cb2b7b7d
      Samuel Holland authored
      ARM provides an equivalent to the common kernel-mode FPU API, but in a
      different header and using different function names.  Add a wrapper
      header, and export CFLAGS adjustments as found in lib/raid6/Makefile.
      
      [samuel.holland@sifive.com: ARM: do not select ARCH_HAS_KERNEL_FPU_SUPPORT]
        Link: https://lkml.kernel.org/r/20240509013727.648600-1-samuel.holland@sifive.com
      Link: https://lkml.kernel.org/r/20240329072441.591471-3-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Cc: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
      Cc: Ard Biesheuvel <ardb@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      cb2b7b7d
    • Samuel Holland's avatar
      arch: add ARCH_HAS_KERNEL_FPU_SUPPORT · 6cbd1d6d
      Samuel Holland authored
      Several architectures provide an API to enable the FPU and run
      floating-point SIMD code in kernel space.  However, the function names,
      header locations, and semantics are inconsistent across architectures, and
      FPU support may be gated behind other Kconfig options.
      
      provide a standard way for architectures to declare that kernel space
      FPU support is available. Architectures selecting this option must
      implement what is currently the most common API (kernel_fpu_begin() and
      kernel_fpu_end(), plus a new function kernel_fpu_available()) and
      provide the appropriate CFLAGS for compiling floating-point C code.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-2-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Suggested-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: WANG Xuerui <git@xen0n.name>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      6cbd1d6d
    • Samuel Holland's avatar
      x86/fpu: fix asm/fpu/types.h include guard · b11b998e
      Samuel Holland authored
      Patch series "Unified cross-architecture kernel-mode FPU API", v4.
      
      This series unifies the kernel-mode FPU API across several architectures
      by wrapping the existing functions (where needed) in consistently-named
      functions placed in a consistent header location, with mostly the same
      semantics: they can be called from preemptible or non-preemptible task
      context, and are not assumed to be reentrant.  Architectures are also
      expected to provide CFLAGS adjustments for compiling FPU-dependent code. 
      For the moment, SIMD/vector units are out of scope for this common API.
      
      This allows us to remove the ifdeffery and duplicated Makefile logic at
      each FPU user.  It then implements the common API on RISC-V, and converts
      a couple of users to the new API: the AMDGPU DRM driver, and the FPU self
      test.
      
      The underlying goal of this series is to allow using newer AMD GPUs (e.g. 
      Navi) on RISC-V boards such as SiFive's HiFive Unmatched.  Those GPUs need
      CONFIG_DRM_AMD_DC_FP to initialize, which requires kernel-mode FPU
      support.
      
      
      This patch (of 15):
      
      The include guard should match the filename, or it will conflict with
      the newly-added asm/fpu.h.
      
      Link: https://lkml.kernel.org/r/20240329072441.591471-1-samuel.holland@sifive.com
      Link: https://lkml.kernel.org/r/20240329072441.591471-10-samuel.holland@sifive.comSigned-off-by: default avatarSamuel Holland <samuel.holland@sifive.com>
      Acked-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Acked-by: Christian König <christian.koenig@amd.com> 
      Cc: Borislav Petkov (AMD) <bp@alien8.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Huacai Chen <chenhuacai@kernel.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will@kernel.org>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Palmer Dabbelt <palmer@rivosinc.com>
      Cc: WANG Xuerui <git@xen0n.name>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      b11b998e
    • Arnd Bergmann's avatar
      kbuild: enable -Wcast-function-type-strict unconditionally · bd2a70e9
      Arnd Bergmann authored
      All known function cast warnings are now addressed, so the warning can be
      enabled globally to catch new ones more quickly.
      
      Link: https://lkml.kernel.org/r/20240415122037.1983124-6-arnd@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      bd2a70e9
    • Arnd Bergmann's avatar
      kbuild: enable -Wformat-truncation on clang · 908dd508
      Arnd Bergmann authored
      This warning option still produces output on gcc but is now clean when
      building with clang, so enable it conditionally on the compiler for now.
      
      As far as I can tell, the remaining warnings with gcc are the result of
      analysing the code more deeply across inlining, while clang only does this
      within a function.
      
      Link: https://lore.kernel.org/lkml/20240326230511.GA2796782@dev-arch.thelio-3990X/
      Link: https://lore.kernel.org/linux-patches/20231002-disable-wformat-truncation-overflow-non-kprintf-v1-1-35179205c8d9@kernel.org/
      Link: https://lkml.kernel.org/r/20240415122037.1983124-5-arnd@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      908dd508
    • Arnd Bergmann's avatar
      kbuild: turn on -Wrestrict by default · 06bb7fc0
      Arnd Bergmann authored
      All known -Wrestrict warnings are addressed now, so don't disable the
      warning any more.
      
      Link: https://lkml.kernel.org/r/20240415122037.1983124-4-arnd@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      06bb7fc0
    • Arnd Bergmann's avatar
      kbuild: remove redundant extra warning flags · 2c1460d3
      Arnd Bergmann authored
      There is no point in turning individual options off and then on again, or
      vice versa, as the last one always wins.  Now that -Wextra always gets
      passed first, remove all the redundant lines about warnings that are
      implied by either -Wall or -Wextra, and keep only the last one that
      disables it in some configurations.
      
      This should not have any effect but keep the Makefile more readable and
      the command line shorter.
      
      Link: https://lkml.kernel.org/r/20240415122037.1983124-3-arnd@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      2c1460d3
    • Arnd Bergmann's avatar
      kbuild: turn on -Wextra by default · f5982cce
      Arnd Bergmann authored
      Patch series "kbuild: enable more warnings by default", v3.
      
      All the warning fixes I sent for these warnings have been merged into
      mainline or linux-next, so let's turn them on by default.
      
      
      This patch (of 6):
      
      The -Wextra option controls a number of different warnings that differ
      slightly by compiler version.  Some are useful in general, others are
      better left at W=1 or higher.  Based on earlier work, the ones that should
      be disabled by default are left for the higher warning levels already, and
      a lot of the useful ones have no remaining output when enabled.
      
      Move the -Wextra option up into the set of default-enabled warnings and
      just rely on the individual ones getting disabled as needed.
      
      The -Wunused warning was always grouped with this, so turn it on by
      default as well, except for the -Wunused-parameter warning that really has
      no value at all for the kernel since many interfaces have intentionally
      unused arguments.
      
      Link: https://lkml.kernel.org/r/20240415122037.1983124-1-arnd@kernel.org
      Link: https://lkml.kernel.org/r/20240415122037.1983124-2-arnd@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarNathan Chancellor <nathan@kernel.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Masahiro Yamada <masahiroy@kernel.org>
      Cc: Nicolas Schier <nicolas@fjasle.eu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      f5982cce
    • Linus Torvalds's avatar
      Merge tag 'mm-nonmm-stable-2024-05-19-11-56' of... · eb6a9339
      Linus Torvalds authored
      Merge tag 'mm-nonmm-stable-2024-05-19-11-56' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull non-mm updates from Andrew Morton:
       "Mainly singleton patches, documented in their respective changelogs.
        Notable series include:
      
         - Some maintenance and performance work for ocfs2 in Heming Zhao's
           series "improve write IO performance when fragmentation is high".
      
         - Some ocfs2 bugfixes from Su Yue in the series "ocfs2 bugs fixes
           exposed by fstests".
      
         - kfifo header rework from Andy Shevchenko in the series "kfifo:
           Clean up kfifo.h".
      
         - GDB script fixes from Florian Rommel in the series "scripts/gdb:
           Fixes for $lx_current and $lx_per_cpu".
      
         - After much discussion, a coding-style update from Barry Song
           explaining one reason why inline functions are preferred over
           macros. The series is "codingstyle: avoid unused parameters for a
           function-like macro""
      
      * tag 'mm-nonmm-stable-2024-05-19-11-56' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (62 commits)
        fs/proc: fix softlockup in __read_vmcore
        nilfs2: convert BUG_ON() in nilfs_finish_roll_forward() to WARN_ON()
        scripts: checkpatch: check unused parameters for function-like macro
        Documentation: coding-style: ask function-like macros to evaluate parameters
        nilfs2: use __field_struct() for a bitwise field
        selftests/kcmp: remove unused open mode
        nilfs2: remove calls to folio_set_error() and folio_clear_error()
        kernel/watchdog_perf.c: tidy up kerneldoc
        watchdog: allow nmi watchdog to use raw perf event
        watchdog: handle comma separated nmi_watchdog command line
        nilfs2: make superblock data array index computation sparse friendly
        squashfs: remove calls to set the folio error flag
        squashfs: convert squashfs_symlink_read_folio to use folio APIs
        scripts/gdb: fix detection of current CPU in KGDB
        scripts/gdb: make get_thread_info accept pointers
        scripts/gdb: fix parameter handling in $lx_per_cpu
        scripts/gdb: fix failing KGDB detection during probe
        kfifo: don't use "proxy" headers
        media: stih-cec: add missing io.h
        media: rc: add missing io.h
        ...
      eb6a9339
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-05-19' of https://evilpiepirate.org/git/bcachefs · 16dbfae8
      Linus Torvalds authored
      Pull bcachefs updates from Kent Overstreet:
      
       - More safety fixes, primarily found by syzbot
      
       - Run the upgrade/downgrade paths in nochnages mode. Nochanges mode is
         primarily for testing fsck/recovery in dry run mode, so it shouldn't
         change anything besides disabling writes and holding dirty metadata
         in memory.
      
         The idea here was to reduce the amount of activity if we can't write
         anything out, so that bringing up a filesystem in "super ro" mode
         would be more lilkely to work for data recovery - but norecovery is
         the correct option for this.
      
       - btree_trans->locked; we now track whether a btree_trans has any btree
         nodes locked, and this is used for improved assertions related to
         trans_unlock() and trans_relock(). We'll also be using it for
         improving how we work with lockdep in the future: we don't want
         lockdep to be tracking individual btree node locks because we take
         too many for lockdep to track, and it's not necessary since we have a
         cycle detector.
      
       - Trigger improvements that are prep work for online fsck
      
       - BTREE_TRIGGER_check_repair; this regularizes how we do some repair
         work for extents that goes with running triggers in fsck, and fixes
         some subtle issues with transaction restarts there.
      
       - bch2_snapshot_equiv() has now been ripped out of fsck.c; snapshot
         equivalence classes are for when snapshot deletion leaves behind
         redundant snapshot nodes, but snapshot deletion now cleans this up
         right away, so the abstraction doesn't need to leak.
      
       - Improvements to how we resume writing to the journal in recovery. The
         code for picking the new place to write when reading the journal is
         greatly simplified and we also store the position in the superblock
         for when we don't read the journal; this means that we preserve more
         of the journal for list_journal debugging.
      
       - Improvements to sysfs btree_cache and btree_node_cache, for debugging
         memory reclaim.
      
       - We now detect when we've blocked for 10 seconds on the allocator in
         the write path and dump some useful info.
      
       - Safety fixes for devices references: this is a big series that
         changes almost all device lookups to properly check if the device
         exists and take a reference to it.
      
         Previously we assumed that if a bkey exists that references a device
         then the device must exist, and this was enforced in .invalid
         methods, but this was incorrect because it meant device removal
         relied on accounting being correct to not leave keys pointing to
         invalid devices, and that's not something we can assume.
      
         Getting the "pointer to invalid device" checks out of our .invalid()
         methods fixes some long standing device removal bugs; the only
         outstanding bug with device removal now is a race between the discard
         path and deleting alloc info, which should be easily fixed.
      
       - The allocator now prefers not to expand the new
         member_info.btree_allocated bitmap, meaning if repair ever requires
         scanning for btree nodes (because of a corrupt interior nodes) we
         won't have to scan the whole device(s).
      
       - New coding style document, which among other things talks about the
         correct usage of assertions
      
      * tag 'bcachefs-2024-05-19' of https://evilpiepirate.org/git/bcachefs: (155 commits)
        bcachefs: add no_invalid_checks flag
        bcachefs: add counters for failed shrinker reclaim
        bcachefs: Fix sb_field_downgrade validation
        bcachefs: Plumb bch_validate_flags to sb_field_ops.validate()
        bcachefs: s/bkey_invalid_flags/bch_validate_flags
        bcachefs: fsync() should not return -EROFS
        bcachefs: Invalid devices are now checked for by fsck, not .invalid methods
        bcachefs: kill bch2_dev_bkey_exists() in bch2_check_fix_ptrs()
        bcachefs: kill bch2_dev_bkey_exists() in bch2_read_endio()
        bcachefs: bch2_dev_get_ioref() checks for device not present
        bcachefs: bch2_dev_get_ioref2(); io_read.c
        bcachefs: bch2_dev_get_ioref2(); debug.c
        bcachefs: bch2_dev_get_ioref2(); journal_io.c
        bcachefs: bch2_dev_get_ioref2(); io_write.c
        bcachefs: bch2_dev_get_ioref2(); btree_io.c
        bcachefs: bch2_dev_get_ioref2(); backpointers.c
        bcachefs: bch2_dev_get_ioref2(); alloc_background.c
        bcachefs: for_each_bset() declares loop iter
        bcachefs: Move BCACHEFS_STATFS_MAGIC value to UAPI magic.h
        bcachefs: Improve sysfs internal/btree_cache
        ...
      16dbfae8
    • Linus Torvalds's avatar
      Merge tag 'turbostat-for-Linux-6.10-merge-window' of... · a90f1cd1
      Linus Torvalds authored
      Merge tag 'turbostat-for-Linux-6.10-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
      
      Pull turbostat updates from Len Brown:
      
       - Survive sparse die id's seen in Linux-6.9
      
       - Handle clustered-uncore topology in new/upcoming hardware
      
       - For non-root use, add ability to see software C-state counters
      
       - Enable reading core and package hardware cstate via perf, and prefer
         perf over the MSR driver access for these counters
      
      * tag 'turbostat-for-Linux-6.10-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
        tools/power turbostat: version 2024.05.10
        tools/power turbostat: Ignore pkg_cstate_limit when it is not available
        tools/power turbostat: Fix order of strings in pkg_cstate_limit_strings
        tools/power turbostat: Read Package-cstates via perf
        tools/power turbostat: Read Core-cstates via perf
        tools/power turbostat: Avoid possible memory corruption due to sparse topology IDs
        tools/power turbostat: Add columns for clustered uncore frequency
        tools/power turbostat: Enable non-privileged users to read sysfs counters
        tools/power turbostat: Replace _Static_assert with BUILD_BUG_ON
        tools/power turbostat: Add ARL-H support
        tools/power turbostat: Enhance ARL/LNL support
        tools/power turbostat: Survive sparse die_id
        tools/power turbostat: Remember global max_die_id
        tools/power turbostat: Harden probe_intel_uncore_frequency()
        tools/power turbostat: Add "snapshot:" Makefile target
      a90f1cd1
    • Linus Torvalds's avatar
      Merge tag 'kgdb-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux · a7605628
      Linus Torvalds authored
      Pull kgdb updates from Daniel Thompson:
       "Nine patches this cycle and they split into just three topics:
      
         - Adopt coccinelle's recommendation to adopt str_plural()
      
         - A set of seven patches to refactor kdb_read() to improve both code
           clarity and its discipline with respect to fixed size buffers.
      
           This isn't just a refactor. Between them these also fix a cursor
           movement redraw problem and two buffer overflows (one latent and
           one real, albeit difficult to tickle).
      
         - Fix an NMI-safety problem when enqueuing kdb's keyboard reset code
      
        I wrote eight of the nine patches in this collection so many thanks to
        Doug Anderson for the reviews. The changes that affects
        drivers/tty/serial is acked by Greg KH"
      
      * tag 'kgdb-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux:
        serial: kgdboc: Fix NMI-safety problems from keyboard reset code
        kdb: Simplify management of tmpbuffer in kdb_read()
        kdb: Replace double memcpy() with memmove() in kdb_read()
        kdb: Use format-specifiers rather than memset() for padding in kdb_read()
        kdb: Merge identical case statements in kdb_read()
        kdb: Fix console handling when editing and tab-completing commands
        kdb: Use format-strings rather than '\0' injection in kdb_read()
        kdb: Fix buffer overflow during tab-complete
        kdb: Use str_plural() to fix Coccinelle warning
      a7605628
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 41c14f1a
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
      
       - Fix a NOP-patching bug that resulted in valid but suboptimal
         NOP sequences in certain cases
      
       - Fix build warnings related to fall-through control flow
      
      * tag 'x86-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/alternatives: Use the correct length when optimizing NOPs
        x86/boot: Address clang -Wimplicit-fallthrough in vsprintf()
        x86/boot: Add a fallthrough annotation
      41c14f1a
    • Linus Torvalds's avatar
      Merge tag 'sched-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8dde191a
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
      
       - Fix a sched_balance_newidle setting bug
      
       - Fix bug in the setting of /sys/fs/cgroup/test/cpu.max.burst
      
       - Fix variable-shadowing build warning
      
       - Extend sched-domains debug output
      
       - Fix documentation
      
       - Fix comments
      
      * tag 'sched-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/core: Fix incorrect initialization of the 'burst' parameter in cpu_max_write()
        sched/fair: Remove stale FREQUENCY_UTIL comment
        sched/fair: Fix initial util_avg calculation
        docs: cgroup-v1: Clarify that domain levels are system-specific
        sched/debug: Dump domains' level
        sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level
        arch/topology: Fix variable naming to avoid shadowing
      8dde191a
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fe0d43f2
      Linus Torvalds authored
      Pull perf event updates from Ingo Molnar:
      
       - Extend the x86 instruction decoder with APX and
         other new instructions
      
       - Misc cleanups
      
      * tag 'perf-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/cstate: Remove unused 'struct perf_cstate_msr'
        perf/x86/rapl: Rename 'maxdie' to nr_rapl_pmu and 'dieid' to rapl_pmu_idx
        x86/insn: Add support for APX EVEX instructions to the opcode map
        x86/insn: Add support for APX EVEX to the instruction decoder logic
        x86/insn: x86/insn: Add support for REX2 prefix to the instruction decoder opcode map
        x86/insn: Add support for REX2 prefix to the instruction decoder logic
        x86/insn: Add misc new Intel instructions
        x86/insn: Add VEX versions of VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS
        x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map
        x86/insn: Add Key Locker instructions to the opcode map
      fe0d43f2
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2024-05-17-19-19' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · 61307b7b
      Linus Torvalds authored
      Pull mm updates from Andrew Morton:
       "The usual shower of singleton fixes and minor series all over MM,
        documented (hopefully adequately) in the respective changelogs.
        Notable series include:
      
         - Lucas Stach has provided some page-mapping cleanup/consolidation/
           maintainability work in the series "mm/treewide: Remove pXd_huge()
           API".
      
         - In the series "Allow migrate on protnone reference with
           MPOL_PREFERRED_MANY policy", Donet Tom has optimized mempolicy's
           MPOL_PREFERRED_MANY mode, yielding almost doubled performance in
           one test.
      
         - In their series "Memory allocation profiling" Kent Overstreet and
           Suren Baghdasaryan have contributed a means of determining (via
           /proc/allocinfo) whereabouts in the kernel memory is being
           allocated: number of calls and amount of memory.
      
         - Matthew Wilcox has provided the series "Various significant MM
           patches" which does a number of rather unrelated things, but in
           largely similar code sites.
      
         - In his series "mm: page_alloc: freelist migratetype hygiene"
           Johannes Weiner has fixed the page allocator's handling of
           migratetype requests, with resulting improvements in compaction
           efficiency.
      
         - In the series "make the hugetlb migration strategy consistent"
           Baolin Wang has fixed a hugetlb migration issue, which should
           improve hugetlb allocation reliability.
      
         - Liu Shixin has hit an I/O meltdown caused by readahead in a
           memory-tight memcg. Addressed in the series "Fix I/O high when
           memory almost met memcg limit".
      
         - In the series "mm/filemap: optimize folio adding and splitting"
           Kairui Song has optimized pagecache insertion, yielding ~10%
           performance improvement in one test.
      
         - Baoquan He has cleaned up and consolidated the early zone
           initialization code in the series "mm/mm_init.c: refactor
           free_area_init_core()".
      
         - Baoquan has also redone some MM initializatio code in the series
           "mm/init: minor clean up and improvement".
      
         - MM helper cleanups from Christoph Hellwig in his series "remove
           follow_pfn".
      
         - More cleanups from Matthew Wilcox in the series "Various
           page->flags cleanups".
      
         - Vlastimil Babka has contributed maintainability improvements in the
           series "memcg_kmem hooks refactoring".
      
         - More folio conversions and cleanups in Matthew Wilcox's series:
      	"Convert huge_zero_page to huge_zero_folio"
      	"khugepaged folio conversions"
      	"Remove page_idle and page_young wrappers"
      	"Use folio APIs in procfs"
      	"Clean up __folio_put()"
      	"Some cleanups for memory-failure"
      	"Remove page_mapping()"
      	"More folio compat code removal"
      
         - David Hildenbrand chipped in with "fs/proc/task_mmu: convert
           hugetlb functions to work on folis".
      
         - Code consolidation and cleanup work related to GUP's handling of
           hugetlbs in Peter Xu's series "mm/gup: Unify hugetlb, part 2".
      
         - Rick Edgecombe has developed some fixes to stack guard gaps in the
           series "Cover a guard gap corner case".
      
         - Jinjiang Tu has fixed KSM's behaviour after a fork+exec in the
           series "mm/ksm: fix ksm exec support for prctl".
      
         - Baolin Wang has implemented NUMA balancing for multi-size THPs.
           This is a simple first-cut implementation for now. The series is
           "support multi-size THP numa balancing".
      
         - Cleanups to vma handling helper functions from Matthew Wilcox in
           the series "Unify vma_address and vma_pgoff_address".
      
         - Some selftests maintenance work from Dev Jain in the series
           "selftests/mm: mremap_test: Optimizations and style fixes".
      
         - Improvements to the swapping of multi-size THPs from Ryan Roberts
           in the series "Swap-out mTHP without splitting".
      
         - Kefeng Wang has significantly optimized the handling of arm64's
           permission page faults in the series
      	"arch/mm/fault: accelerate pagefault when badaccess"
      	"mm: remove arch's private VM_FAULT_BADMAP/BADACCESS"
      
         - GUP cleanups from David Hildenbrand in "mm/gup: consistently call
           it GUP-fast".
      
         - hugetlb fault code cleanups from Vishal Moola in "Hugetlb fault
           path to use struct vm_fault".
      
         - selftests build fixes from John Hubbard in the series "Fix
           selftests/mm build without requiring "make headers"".
      
         - Memory tiering fixes/improvements from Ho-Ren (Jack) Chuang in the
           series "Improved Memory Tier Creation for CPUless NUMA Nodes".
           Fixes the initialization code so that migration between different
           memory types works as intended.
      
         - David Hildenbrand has improved follow_pte() and fixed an errant
           driver in the series "mm: follow_pte() improvements and acrn
           follow_pte() fixes".
      
         - David also did some cleanup work on large folio mapcounts in his
           series "mm: mapcount for large folios + page_mapcount() cleanups".
      
         - Folio conversions in KSM in Alex Shi's series "transfer page to
           folio in KSM".
      
         - Barry Song has added some sysfs stats for monitoring multi-size
           THP's in the series "mm: add per-order mTHP alloc and swpout
           counters".
      
         - Some zswap cleanups from Yosry Ahmed in the series "zswap
           same-filled and limit checking cleanups".
      
         - Matthew Wilcox has been looking at buffer_head code and found the
           documentation to be lacking. The series is "Improve buffer head
           documentation".
      
         - Multi-size THPs get more work, this time from Lance Yang. His
           series "mm/madvise: enhance lazyfreeing with mTHP in madvise_free"
           optimizes the freeing of these things.
      
         - Kemeng Shi has added more userspace-visible writeback
           instrumentation in the series "Improve visibility of writeback".
      
         - Kemeng Shi then sent some maintenance work on top in the series
           "Fix and cleanups to page-writeback".
      
         - Matthew Wilcox reduces mmap_lock traffic in the anon vma code in
           the series "Improve anon_vma scalability for anon VMAs". Intel's
           test bot reported an improbable 3x improvement in one test.
      
         - SeongJae Park adds some DAMON feature work in the series
      	"mm/damon: add a DAMOS filter type for page granularity access recheck"
      	"selftests/damon: add DAMOS quota goal test"
      
         - Also some maintenance work in the series
      	"mm/damon/paddr: simplify page level access re-check for pageout"
      	"mm/damon: misc fixes and improvements"
      
         - David Hildenbrand has disabled some known-to-fail selftests ni the
           series "selftests: mm: cow: flag vmsplice() hugetlb tests as
           XFAIL".
      
         - memcg metadata storage optimizations from Shakeel Butt in "memcg:
           reduce memory consumption by memcg stats".
      
         - DAX fixes and maintenance work from Vishal Verma in the series
           "dax/bus.c: Fixups for dax-bus locking""
      
      * tag 'mm-stable-2024-05-17-19-19' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (426 commits)
        memcg, oom: cleanup unused memcg_oom_gfp_mask and memcg_oom_order
        selftests/mm: hugetlb_madv_vs_map: avoid test skipping by querying hugepage size at runtime
        mm/hugetlb: add missing VM_FAULT_SET_HINDEX in hugetlb_wp
        mm/hugetlb: add missing VM_FAULT_SET_HINDEX in hugetlb_fault
        selftests: cgroup: add tests to verify the zswap writeback path
        mm: memcg: make alloc_mem_cgroup_per_node_info() return bool
        mm/damon/core: fix return value from damos_wmark_metric_value
        mm: do not update memcg stats for NR_{FILE/SHMEM}_PMDMAPPED
        selftests: cgroup: remove redundant enabling of memory controller
        Docs/mm/damon/maintainer-profile: allow posting patches based on damon/next tree
        Docs/mm/damon/maintainer-profile: change the maintainer's timezone from PST to PT
        Docs/mm/damon/design: use a list for supported filters
        Docs/admin-guide/mm/damon/usage: fix wrong schemes effective quota update command
        Docs/admin-guide/mm/damon/usage: fix wrong example of DAMOS filter matching sysfs file
        selftests/damon: classify tests for functionalities and regressions
        selftests/damon/_damon_sysfs: use 'is' instead of '==' for 'None'
        selftests/damon/_damon_sysfs: find sysfs mount point from /proc/mounts
        selftests/damon/_damon_sysfs: check errors from nr_schemes file reads
        mm/damon/core: initialize ->esz_bp from damos_quota_init_priv()
        selftests/damon: add a test for DAMOS quota goal
        ...
      61307b7b
  2. 18 May, 2024 12 commits
    • Linus Torvalds's avatar
      Merge tag '6.10-rc-smb-fix' of git://git.samba.org/sfrench/cifs-2.6 · 0450d208
      Linus Torvalds authored
      Pull smb client fix from Steve French:
       "An important fix to address recent netfs regression (data corruption)"
      
      * tag '6.10-rc-smb-fix' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix data corruption in read after invalidate
      0450d208
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 7991c92f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - more folio conversion patches
      
       - add support for FS_IOC_GETFSSYSFSPATH
      
       - mballoc cleaups and add more kunit tests
      
       - sysfs cleanups and bug fixes
      
       - miscellaneous bug fixes and cleanups
      
      * tag 'ext4_for_linus-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)
        ext4: fix error pointer dereference in ext4_mb_load_buddy_gfp()
        jbd2: add prefix 'jbd2' for 'shrink_type'
        jbd2: use shrink_type type instead of bool type for __jbd2_journal_clean_checkpoint_list()
        ext4: fix uninitialized ratelimit_state->lock access in __ext4_fill_super()
        ext4: remove calls to to set/clear the folio error flag
        ext4: propagate errors from ext4_sb_bread() in ext4_xattr_block_cache_find()
        ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find()
        jbd2: remove redundant assignement to variable err
        ext4: remove the redundant folio_wait_stable()
        ext4: fix potential unnitialized variable
        ext4: convert ac_buddy_page to ac_buddy_folio
        ext4: convert ac_bitmap_page to ac_bitmap_folio
        ext4: convert ext4_mb_init_cache() to take a folio
        ext4: convert bd_buddy_page to bd_buddy_folio
        ext4: convert bd_bitmap_page to bd_bitmap_folio
        ext4: open coding repeated check in next_linear_group
        ext4: use correct criteria name instead stale integer number in comment
        ext4: call ext4_mb_mark_free_simple to free continuous bits in found chunk
        ext4: add test_mb_mark_used_cost to estimate cost of mb_mark_used
        ext4: keep "prefetch_grp" and "nr" consistent
        ...
      7991c92f
    • Linus Torvalds's avatar
      Merge tag 'nfsd-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 61ea647e
      Linus Torvalds authored
      Pull nfsd updates from Chuck Lever:
       "This is a light release containing mostly optimizations, code clean-
        ups, and minor bug fixes. This development cycle has focused on non-
        upstream kernel work:
      
         1. Continuing to build upstream CI for NFSD, based on kdevops
      
         2. Backporting NFSD filecache-related fixes to selected LTS kernels
      
        One notable new feature in v6.10 NFSD is the addition of a new netlink
        protocol dedicated to configuring NFSD. A new user space tool,
        nfsdctl, is to be added to nfs-utils. Lots more to come here.
      
        As always I am very grateful to NFSD contributors, reviewers, testers,
        and bug reporters who participated during this cycle"
      
      * tag 'nfsd-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: (29 commits)
        NFSD: Force all NFSv4.2 COPY requests to be synchronous
        SUNRPC: Fix gss_free_in_token_pages()
        NFS/knfsd: Remove the invalid NFS error 'NFSERR_OPNOTSUPP'
        knfsd: LOOKUP can return an illegal error value
        nfsd: set security label during create operations
        NFSD: Add COPY status code to OFFLOAD_STATUS response
        NFSD: Record status of async copy operation in struct nfsd4_copy
        SUNRPC: Remove comment for sp_lock
        NFSD: add listener-{set,get} netlink command
        SUNRPC: add a new svc_find_listener helper
        SUNRPC: introduce svc_xprt_create_from_sa utility routine
        NFSD: add write_version to netlink command
        NFSD: convert write_threads to netlink command
        NFSD: allow callers to pass in scope string to nfsd_svc
        NFSD: move nfsd_mutex handling into nfsd_svc callers
        lockd: host: Remove unnecessary statements'host = NULL;'
        nfsd: don't create nfsv4recoverydir in nfsdfs when not used.
        nfsd: optimise recalculate_deny_mode() for a common case
        nfsd: add tracepoint in mark_client_expired_locked
        nfsd: new tracepoint for check_slot_seqid
        ...
      61ea647e
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 25f48746
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "Aside from the usual things this has an arch update for
        __iowrite64_copy() used by the RDMA drivers.
      
        This API was intended to generate large 64 byte MemWr TLPs on PCI.
        These days most processors had done this by just repeating writel() in
        a loop. S390 and some new ARM64 designs require a special helper to
        get this to generate.
      
         - Small improvements and fixes for erdma, efa, hfi1, bnxt_re
      
         - Fix a UAF crash after module unload on leaking restrack entry
      
         - Continue adding full RDMA support in mana with support for EQs,
           GID's and CQs
      
         - Improvements to the mkey cache in mlx5
      
         - DSCP traffic class support in hns and several bug fixes
      
         - Cap the maximum number of MADs in the receive queue to avoid OOM
      
         - Another batch of rxe bug fixes from large scale testing
      
         - __iowrite64_copy() optimizations for write combining MMIO memory
      
         - Remove NULL checks before dev_put/hold()
      
         - EFA support for receive with immediate
      
         - Fix a recent memleaking regression in a cma error path"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (70 commits)
        RDMA/cma: Fix kmemleak in rdma_core observed during blktests nvme/rdma use siw
        RDMA/IPoIB: Fix format truncation compilation errors
        bnxt_re: avoid shift undefined behavior in bnxt_qplib_alloc_init_hwq
        RDMA/efa: Support QP with unsolicited write w/ imm. receive
        IB/hfi1: Remove generic .ndo_get_stats64
        IB/hfi1: Do not use custom stat allocator
        RDMA/hfi1: Use RMW accessors for changing LNKCTL2
        RDMA/mana_ib: implement uapi for creation of rnic cq
        RDMA/mana_ib: boundary check before installing cq callbacks
        RDMA/mana_ib: introduce a helper to remove cq callbacks
        RDMA/mana_ib: create and destroy RNIC cqs
        RDMA/mana_ib: create EQs for RNIC CQs
        RDMA/core: Remove NULL check before dev_{put, hold}
        RDMA/ipoib: Remove NULL check before dev_{put, hold}
        RDMA/mlx5: Remove NULL check before dev_{put, hold}
        RDMA/mlx5: Track DCT, DCI and REG_UMR QPs as diver_detail resources.
        RDMA/core: Add an option to display driver-specific QPs in the rdmatool
        RDMA/efa: Add shutdown notifier
        RDMA/mana_ib: Fix missing ret value
        IB/mlx5: Use __iowrite64_copy() for write combining stores
        ...
      25f48746
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 56172ac1
      Linus Torvalds authored
      Pull HSI update from Sebastian Reichel:
      
       - convert to platform remove callback returning void
      
      * tag 'hsi-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: omap_ssi_port: Convert to platform remove callback returning void
        HSI: omap_ssi_core: Convert to platform remove callback returning void
      56172ac1
    • Linus Torvalds's avatar
      Merge tag 'for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 85d46148
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
      
       - core: simplify POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR handling
      
       - test-power: add POWER_SUPPLY_PROP_CHARGE_BEHAVIOUR support
      
       - chrome EC drivers: add ID based probing
      
       - bq27xxx: simplify update loop to reduce I2C traffic
      
       - max8903 binding: fix GPIO polarity description
      
      * tag 'for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
        dt-bindings: power: supply: max8903: specify flt-gpios as input
        power: supply: bq27xxx: Move health reading out of update loop
        power: supply: bq27xxx: Move cycle count reading out of update loop
        power: supply: bq27xxx: Move energy reading out of update loop
        power: supply: bq27xxx: Move charge reading out of update loop
        power: supply: bq27xxx: Move time reading out of update loop
        power: supply: bq27xxx: Move temperature reading out of update loop
        power: supply: cros_pchg: provide ID table for avoiding fallback match
        power: supply: cros_usbpd: provide ID table for avoiding fallback match
        power: supply: core: simplify charge_behaviour formatting
        power: supply: test-power: implement charge_behaviour property
      85d46148
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 619b92b9
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "I'm actually surprised this time. There aren't any new Qualcomm SoC
        clk drivers. And there's zero diff in the core clk framework.
      
        Instead we have new clk drivers for STM and Sophgo, with
        Samsung^WGoogle in third for the diffstat because they introduced HSI0
        and HSI2 clk drivers for Google's GS101 SoC (high speed interface
        things like PCIe, UFS, and MMC).
      
        Beyond those big diffs there's the usual updates to various clk
        drivers for incorrect parent descriptions or mising
        MODULE_DEVICE_TABLE()s, etc. Nothing in particular stands out as super
        interesting here.
      
        New Drivers:
         - STM32MP257 SoC clk driver
         - Airoha EN7581 SoC clk driver
         - Sophgo CV1800B, CV1812H and SG2000 SoC clk driver
         - Loongson-2k0500 and Loongson-2k2000 SoC clk driver
         - Add HSI0 and HSI2 clock controllers for Google GS101
         - Add i.MX95 BLK CTL clock driver
      
        Updates:
         - Allocate clk_ops dynamically for SCMI clk driver
         - Add support in qcom RCG and RCG2 for multiple configurations for
           the same frequency
         - Use above support for IPQ8074 NSS port 5 and 6 clocks to resolve
           issues
         - Fix the Qualcomm APSS IPQ5018 PLL to fix boot failures of some
           boards
         - Cleanups and fixes for Qualcomm Stromer PLLs
         - Reduce max CPU frequency on Qualcomm APSS IPQ5018
         - Fix Kconfig dependencies of Qualcomm SM8650 GPU and SC8280XP camera
           clk drivers
         - Make Qualcomm MSM8998 Venus clocks functional
         - Cleanup downstream remnants related to DisplayPort across Qualcomm
           SM8450, SM6350, SM8550, and SM8650
         - Reuse the Huayra APSS register map on Qualcomm MSM8996 CBF PLL
         - Use a specific Qualcomm QCS404 compatible for the otherwise generic
           HFPLL
         - Remove Qualcomm SM8150 CPUSS AHB clk as it is unused
         - Remove an unused field in the Qualcomm RPM clk driver
         - Add missing MODULE_DEVICE_TABLE to Qualcomm MSM8917 and MSM8953
           global clock controller drivers
         - Allow choice of manual or firmware-driven control over PLLs, needed
           to fully implement CPU clock controllers on Exynos850
         - Correct PLL clock IDs on ExynosAutov9
         - Propagate certain clock rates to allow setting proper SPI clock
           rates on Google GS101
         - Mark certain Google GS101 clocks critical
         - Convert old S3C64xx clock controller bindings to DT schema
         - Add new PLL rate and missing mux on Rockchip rk3568
         - Add missing reset line on Rockchip rk3588
         - Removal of an unused field in struct rockchip_mmc_clock
         - Amlogic s4/a1: add regmap maximum register for proper debugfs dump
         - Amlogic s4: add MODULE_DEVICE_TABLE() on pll and periph controllers
         - Amlogic pll driver: print clock name on lock error to help debug
         - Amlogic vclk: finish dsi clock path support
         - Amlogic license: fix occurence "GPL v2" as reported by checkpatch
         - Add PM runtime support to i.MX8MP Audiomix
         - Add DT schema for i.MX95 Display Master Block Control
         - Convert to platform remove callback returning void for i.MX8MP
           Audiomix
         - Add SPI (MSIOF) and external interrupt (INTC-EX) clocks on Renesas
           R-Car V4M
         - Add interrupt controller (PLIC) clock and reset on Renesas RZ/Five
         - Prepare power domain support for Renesas RZ/G2L family members, and
           add actual support on Renesas RZ/G3S SoC
         - Add thermal, serial (SCIF), and timer (CMT/TMU) clocks on Renesas
           R-Car V4M
         - Add additional constraints to Allwinner A64 PLL MIPI clock
         - Fix autoloading sunxi-ng clocks when build as a module"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (118 commits)
        clk: samsung: Don't register clkdev lookup for the fixed rate clocks
        clk, reset: microchip: mpfs: fix incorrect preprocessor conditions
        clk: qcom: clk-alpha-pll: fix rate setting for Stromer PLLs
        clk: qcom: apss-ipq-pll: fix PLL rate for IPQ5018
        clk: qcom: Fix SM_GPUCC_8650 dependencies
        clk: qcom: Fix SC_CAMCC_8280XP dependencies
        dt-bindings: clocks: stm32mp25: add access-controllers description
        clock, reset: microchip: move all mpfs reset code to the reset subsystem
        clk: samsung: gs101: drop unused HSI2 clock parent data
        clk: rockchip: rk3568: Add PLL rate for 724 MHz
        clk: rockchip: Remove an unused field in struct rockchip_mmc_clock
        dt-bindings: clock: fixed: Define a preferred node name
        clk: meson: s4: fix module autoloading
        clk: samsung: gs101: mark some apm UASC and XIU clocks critical
        clk: imx: imx8mp: Convert to platform remove callback returning void
        clk: imx: imx8mp: Switch to RUNTIME_PM_OPS()
        clk: bcm: rpi: Assign ->num before accessing ->hws
        clk: bcm: dvp: Assign ->num before accessing ->hws
        clk: samsung: gs101: add support for cmu_hsi2
        clk: samsung: gs101: add support for cmu_hsi0
        ...
      619b92b9
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · ff9a7930
      Linus Torvalds authored
      Pull Kbuild updates from Masahiro Yamada:
      
       - Avoid 'constexpr', which is a keyword in C23
      
       - Allow 'dtbs_check' and 'dt_compatible_check' run independently of
         'dt_binding_check'
      
       - Fix weak references to avoid GOT entries in position-independent code
         generation
      
       - Convert the last use of 'optional' property in arch/sh/Kconfig
      
       - Remove support for the 'optional' property in Kconfig
      
       - Remove support for Clang's ThinLTO caching, which does not work with
         the .incbin directive
      
       - Change the semantics of $(src) so it always points to the source
         directory, which fixes Makefile inconsistencies between upstream and
         downstream
      
       - Fix 'make tar-pkg' for RISC-V to produce a consistent package
      
       - Provide reasonable default coverage for objtool, sanitizers, and
         profilers
      
       - Remove redundant OBJECT_FILES_NON_STANDARD, KASAN_SANITIZE, etc.
      
       - Remove the last use of tristate choice in drivers/rapidio/Kconfig
      
       - Various cleanups and fixes in Kconfig
      
      * tag 'kbuild-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (46 commits)
        kconfig: use sym_get_choice_menu() in sym_check_prop()
        rapidio: remove choice for enumeration
        kconfig: lxdialog: remove initialization with A_NORMAL
        kconfig: m/nconf: merge two item_add_str() calls
        kconfig: m/nconf: remove dead code to display value of bool choice
        kconfig: m/nconf: remove dead code to display children of choice members
        kconfig: gconf: show checkbox for choice correctly
        kbuild: use GCOV_PROFILE and KCSAN_SANITIZE in scripts/Makefile.modfinal
        Makefile: remove redundant tool coverage variables
        kbuild: provide reasonable defaults for tool coverage
        modules: Drop the .export_symbol section from the final modules
        kconfig: use menu_list_for_each_sym() in sym_check_choice_deps()
        kconfig: use sym_get_choice_menu() in conf_write_defconfig()
        kconfig: add sym_get_choice_menu() helper
        kconfig: turn defaults and additional prompt for choice members into error
        kconfig: turn missing prompt for choice members into error
        kconfig: turn conf_choice() into void function
        kconfig: use linked list in sym_set_changed()
        kconfig: gconf: use MENU_CHANGED instead of SYMBOL_CHANGED
        kconfig: gconf: remove debug code
        ...
      ff9a7930
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 0cc6f45c
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
       "Core:
         - IOMMU memory usage observability - This will make the memory used
           for IO page tables explicitly visible.
         - Simplify arch_setup_dma_ops()
      
        Intel VT-d:
         - Consolidate domain cache invalidation
         - Remove private data from page fault message
         - Allocate DMAR fault interrupts locally
         - Cleanup and refactoring
      
        ARM-SMMUv2:
         - Support for fault debugging hardware on Qualcomm implementations
         - Re-land support for the ->domain_alloc_paging() callback
      
        ARM-SMMUv3:
         - Improve handling of MSI allocation failure
         - Drop support for the "disable_bypass" cmdline option
         - Major rework of the CD creation code, following on directly from
           the STE rework merged last time around.
         - Add unit tests for the new STE/CD manipulation logic
      
        AMD-Vi:
         - Final part of SVA changes with generic IO page fault handling
      
        Renesas IPMMU:
         - Add support for R8A779H0 hardware
      
        ... and a couple smaller fixes and updates across the sub-tree"
      
      * tag 'iommu-updates-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (80 commits)
        iommu/arm-smmu-v3: Make the kunit into a module
        arm64: Properly clean up iommu-dma remnants
        iommu/amd: Enable Guest Translation after reading IOMMU feature register
        iommu/vt-d: Decouple igfx_off from graphic identity mapping
        iommu/amd: Fix compilation error
        iommu/arm-smmu-v3: Add unit tests for arm_smmu_write_entry
        iommu/arm-smmu-v3: Build the whole CD in arm_smmu_make_s1_cd()
        iommu/arm-smmu-v3: Move the CD generation for SVA into a function
        iommu/arm-smmu-v3: Allocate the CD table entry in advance
        iommu/arm-smmu-v3: Make arm_smmu_alloc_cd_ptr()
        iommu/arm-smmu-v3: Consolidate clearing a CD table entry
        iommu/arm-smmu-v3: Move the CD generation for S1 domains into a function
        iommu/arm-smmu-v3: Make CD programming use arm_smmu_write_entry()
        iommu/arm-smmu-v3: Add an ops indirection to the STE code
        iommu/arm-smmu-qcom: Don't build debug features as a kernel module
        iommu/amd: Add SVA domain support
        iommu: Add ops->domain_alloc_sva()
        iommu/amd: Initial SVA support for AMD IOMMU
        iommu/amd: Add support for enable/disable IOPF
        iommu/amd: Add IO page fault notifier handler
        ...
      0cc6f45c
    • Linus Torvalds's avatar
      Merge tag 'random-6.10-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · f0cd69b8
      Linus Torvalds authored
      Pull random number generator updates from Jason Donenfeld:
      
       - The vmgenid driver can now be bound using device tree, rather than
         just ACPI.
      
         The improvement, from Sudan Landge, lets Amazon's Firecracker VMM
         make use of the virtual device without having to expose an otherwise
         unused ACPI stack in their "micro VM".
      
      * tag 'random-6.10-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
        virt: vmgenid: add support for devicetree bindings
        dt-bindings: rng: Add vmgenid support
        virt: vmgenid: change implementation to use a platform driver
      f0cd69b8
    • Linus Torvalds's avatar
      Merge tag 'landlock-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux · 2fc0e789
      Linus Torvalds authored
      Pull landlock updates from Mickaël Salaün:
       "This brings ioctl control to Landlock, contributed by Günther Noack.
        This also adds him as a Landlock reviewer, and fixes an issue in the
        sample"
      
      * tag 'landlock-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
        MAINTAINERS: Add Günther Noack as Landlock reviewer
        fs/ioctl: Add a comment to keep the logic in sync with LSM policies
        MAINTAINERS: Notify Landlock maintainers about changes to fs/ioctl.c
        landlock: Document IOCTL support
        samples/landlock: Add support for LANDLOCK_ACCESS_FS_IOCTL_DEV
        selftests/landlock: Exhaustive test for the IOCTL allow-list
        selftests/landlock: Check IOCTL restrictions for named UNIX domain sockets
        selftests/landlock: Test IOCTLs on named pipes
        selftests/landlock: Test ioctl(2) and ftruncate(2) with open(O_PATH)
        selftests/landlock: Test IOCTL with memfds
        selftests/landlock: Test IOCTL support
        landlock: Add IOCTL access right for character and block devices
        samples/landlock: Fix incorrect free in populate_ruleset_net
      2fc0e789
    • Linus Torvalds's avatar
      Merge tag 'net-accept-more-20240515' of git://git.kernel.dk/linux · 89721e30
      Linus Torvalds authored
      Pull more io_uring updates from Jens Axboe:
       "This adds support for IORING_CQE_F_SOCK_NONEMPTY for io_uring accept
        requests.
      
        This is very similar to previous work that enabled the same hint for
        doing receives on sockets. By far the majority of the work here is
        refactoring to enable the networking side to pass back whether or not
        the socket had more pending requests after accepting the current one,
        the last patch just wires it up for io_uring.
      
        Not only does this enable applications to know whether there are more
        connections to accept right now, it also enables smarter logic for
        io_uring multishot accept on whether to retry immediately or wait for
        a poll trigger"
      
      * tag 'net-accept-more-20240515' of git://git.kernel.dk/linux:
        io_uring/net: wire up IORING_CQE_F_SOCK_NONEMPTY for accept
        net: pass back whether socket was empty post accept
        net: have do_accept() take a struct proto_accept_arg argument
        net: change proto and proto_ops accept type
      89721e30