<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Kconfig</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>9b400d17 - kbuild: Introduce Kconfig symbol for linking vmlinux with relocations</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#9b400d17</link>
        <description>kbuild: Introduce Kconfig symbol for linking vmlinux with relocationsSome architectures build vmlinux with static relocations preserved, butstrip them again from the final vmlinux image. Arch specific toolsconsume these static relocations in order to construct relocation tablesfor KASLR.The fact that vmlinux is created, consumed and subsequently updated goesagainst the typical, declarative paradigm used by Make, which is basedon rules and dependencies. So as a first step towards cleaning this up,introduce a Kconfig symbol to declare that the arch wants to consume thestatic relocations emitted into vmlinux. This will be wired up furtherin subsequent patches.Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Tue, 11 Mar 2025 11:06:19 +0000</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ardb@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>365841e1 - vdso: Add generic architecture-specific data storage</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#365841e1</link>
        <description>vdso: Add generic architecture-specific data storageSome architectures need to expose architecture-specific data to the vDSO.Enable the generic vDSO storage mechanism to both store and map thisdata. Some architectures require more than a single page, like LoongArch,so prepare for that usecase, too.Signed-off-by: Thomas Wei&#223;schuh &lt;thomas.weissschuh@linutronix.de&gt;Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Link: https://lore.kernel.org/all/20250204-vdso-store-rng-v3-7-13a4669dfc8c@linutronix.de

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Tue, 04 Feb 2025 12:05:39 +0000</pubDate>
        <dc:creator>Thomas Wei&#223;schuh &lt;thomas.weissschuh@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>e419ddea - m68k: Use kernel&apos;s generic muldi3 libgcc function</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#e419ddea</link>
        <description>m68k: Use kernel&apos;s generic muldi3 libgcc functionUse the kernels own generic lib/muldi3.c implementation of muldi3 for68K machines. Some 68K CPUs support 64bit multiplies so move the archspecific umul_ppmm() macro into a header file that is included bylib/muldi3.c. That way it can take advantage of the single instructionwhen available.There does not appear to be any existing mechanism for the genericlib/muldi3.c code to pick up an external arch definition of umul_ppmm().Create an arch specific libgcc.h that can optionally be included bythe system include/linux/libgcc.h to allow for this.Somewhat oddly there is also a similar definition of umul_ppmm() inthe non-architecture code in lib/crypto/mpi/longlong.h for a wide rangeor machines. Its presence ends up complicating the include setup andmeans not being able to use something like compiler.h instead. Actuallythere is a few other defines of umul_ppmm() macros spread around invarious architectures, but not directly usable for the m68k case.Signed-off-by: Greg Ungerer &lt;gerg@linux-m68k.org&gt;Link: https://lore.kernel.org/20231113133209.1367286-1-gerg@linux-m68k.orgReviewed-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;Reviewed-by: Arnd Bergmann &lt;arnd@arndb.de&gt;Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Mon, 13 Nov 2023 13:32:09 +0000</pubDate>
        <dc:creator>Greg Ungerer &lt;gerg@linux-m68k.org&gt;</dc:creator>
    </item>
<item>
        <title>d5dc9583 - kbuild: Add Propeller configuration for kernel build</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#d5dc9583</link>
        <description>kbuild: Add Propeller configuration for kernel buildAdd the build support for using Clang&apos;s Propeller optimizer. LikeAutoFDO, Propeller uses hardware sampling to gather informationabout the frequency of execution of different code paths within abinary. This information is then used to guide the compiler&apos;soptimization decisions, resulting in a more efficient binary.The support requires a Clang compiler LLVM 19 or later, and thecreate_llvm_prof tool(https://github.com/google/autofdo/releases/tag/v0.30.1). Thiscommit is limited to x86 platforms that support PMU featureslike LBR on Intel machines and AMD Zen3 BRS.Here is an example workflow for building an AutoFDO+Propelleroptimized kernel:1) Build the kernel on the host machine, with AutoFDO and Propeller   build config      CONFIG_AUTOFDO_CLANG=y      CONFIG_PROPELLER_CLANG=y   then      $ make LLVM=1 CLANG_AUTOFDO_PROFILE=&lt;autofdo_profile&gt;&#8220;&lt;autofdo_profile&gt;&#8221; is the profile collected when doing a non-PropellerAutoFDO build. This step builds a kernel that has the same optimizationlevel as AutoFDO, plus a metadata section that records basic blockinformation. This kernel image runs as fast as an AutoFDO optimizedkernel.2) Install the kernel on test/production machines.3) Run the load tests. The &apos;-c&apos; option in perf specifies the sample   event period. We suggest using a suitable prime number,   like 500009, for this purpose.   For Intel platforms:      $ perf record -e BR_INST_RETIRED.NEAR_TAKEN:k -a -N -b -c &lt;count&gt; \        -o &lt;perf_file&gt; -- &lt;loadtest&gt;   For AMD platforms:      The supported system are: Zen3 with BRS, or Zen4 with amd_lbr_v2      # To see if Zen3 support LBR:      $ cat proc/cpuinfo | grep &quot; brs&quot;      # To see if Zen4 support LBR:      $ cat proc/cpuinfo | grep amd_lbr_v2      # If the result is yes, then collect the profile using:      $ perf record --pfm-events RETIRED_TAKEN_BRANCH_INSTRUCTIONS:k -a \        -N -b -c &lt;count&gt; -o &lt;perf_file&gt; -- &lt;loadtest&gt;4) (Optional) Download the raw perf file to the host machine.5) Generate Propeller profile:   $ create_llvm_prof --binary=&lt;vmlinux&gt; --profile=&lt;perf_file&gt; \     --format=propeller --propeller_output_module_name \     --out=&lt;propeller_profile_prefix&gt;_cc_profile.txt \     --propeller_symorder=&lt;propeller_profile_prefix&gt;_ld_profile.txt   &#8220;create_llvm_prof&#8221; is the profile conversion tool, and a prebuilt   binary for linux can be found on   https://github.com/google/autofdo/releases/tag/v0.30.1 (can also build   from source).   &quot;&lt;propeller_profile_prefix&gt;&quot; can be something like   &quot;/home/user/dir/any_string&quot;.   This command generates a pair of Propeller profiles:   &quot;&lt;propeller_profile_prefix&gt;_cc_profile.txt&quot; and   &quot;&lt;propeller_profile_prefix&gt;_ld_profile.txt&quot;.6) Rebuild the kernel using the AutoFDO and Propeller profile files.      CONFIG_AUTOFDO_CLANG=y      CONFIG_PROPELLER_CLANG=y   and      $ make LLVM=1 CLANG_AUTOFDO_PROFILE=&lt;autofdo_profile&gt; \        CLANG_PROPELLER_PROFILE_PREFIX=&lt;propeller_profile_prefix&gt;Co-developed-by: Han Shen &lt;shenhan@google.com&gt;Signed-off-by: Han Shen &lt;shenhan@google.com&gt;Signed-off-by: Rong Xu &lt;xur@google.com&gt;Suggested-by: Sriraman Tallam &lt;tmsriram@google.com&gt;Suggested-by: Krzysztof Pszeniczny &lt;kpszeniczny@google.com&gt;Suggested-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Suggested-by: Stephane Eranian &lt;eranian@google.com&gt;Tested-by: Yonghong Song &lt;yonghong.song@linux.dev&gt;Tested-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Reviewed-by: Kees Cook &lt;kees@kernel.org&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Sat, 02 Nov 2024 17:51:14 +0000</pubDate>
        <dc:creator>Rong Xu &lt;xur@google.com&gt;</dc:creator>
    </item>
<item>
        <title>2e45474a - execmem: add support for cache of large ROX pages</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#2e45474a</link>
        <description>execmem: add support for cache of large ROX pagesUsing large pages to map text areas reduces iTLB pressure and improvesperformance.Extend execmem_alloc() with an ability to use huge pages with ROXpermissions as a cache for smaller allocations.To populate the cache, a writable large page is allocated from vmallocwith VM_ALLOW_HUGE_VMAP, filled with invalid instructions and thenremapped as ROX.The direct map alias of that large page is exculded from the direct map.Portions of that large page are handed out to execmem_alloc() callerswithout any changes to the permissions.When the memory is freed with execmem_free() it is invalidated again sothat it won&apos;t contain stale instructions.An architecture has to implement execmem_fill_trapping_insns() callbackand select ARCH_HAS_EXECMEM_ROX configuration option to be able to use theROX cache.The cache is enabled on per-range basis when an architecture setsEXECMEM_ROX_CACHE flag in definition of an execmem_range.Link: https://lkml.kernel.org/r/20241023162711.2579610-8-rppt@kernel.orgSigned-off-by: Mike Rapoport (Microsoft) &lt;rppt@kernel.org&gt;Reviewed-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;Tested-by: kdevops &lt;kdevops@lists.linux.dev&gt;Cc: Andreas Larsson &lt;andreas@gaisler.com&gt;Cc: Andy Lutomirski &lt;luto@kernel.org&gt;Cc: Ard Biesheuvel &lt;ardb@kernel.org&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Borislav Petkov (AMD) &lt;bp@alien8.de&gt;Cc: Brian Cain &lt;bcain@quicinc.com&gt;Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Cc: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Cc: Christoph Hellwig &lt;hch@lst.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: Dinh Nguyen &lt;dinguyen@kernel.org&gt;Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;Cc: Guo Ren &lt;guoren@kernel.org&gt;Cc: Helge Deller &lt;deller@gmx.de&gt;Cc: Huacai Chen &lt;chenhuacai@kernel.org&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;Cc: John Paul Adrian Glaubitz &lt;glaubitz@physik.fu-berlin.de&gt;Cc: Kent Overstreet &lt;kent.overstreet@linux.dev&gt;Cc: Liam R. Howlett &lt;Liam.Howlett@Oracle.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Cc: Matt Turner &lt;mattst88@gmail.com&gt;Cc: Max Filippov &lt;jcmvbkbc@gmail.com&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Michal Simek &lt;monstr@monstr.eu&gt;Cc: Oleg Nesterov &lt;oleg@redhat.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Richard Weinberger &lt;richard@nod.at&gt;Cc: Russell King &lt;linux@armlinux.org.uk&gt;Cc: Song Liu &lt;song@kernel.org&gt;Cc: Stafford Horne &lt;shorne@gmail.com&gt;Cc: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;Cc: Suren Baghdasaryan &lt;surenb@google.com&gt;Cc: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Uladzislau Rezki (Sony) &lt;urezki@gmail.com&gt;Cc: Vineet Gupta &lt;vgupta@kernel.org&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Wed, 23 Oct 2024 16:27:10 +0000</pubDate>
        <dc:creator>Mike Rapoport (Microsoft) &lt;rppt@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>315ad878 - kbuild: Add AutoFDO support for Clang build</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#315ad878</link>
        <description>kbuild: Add AutoFDO support for Clang buildAdd the build support for using Clang&apos;s AutoFDO. Building the kernelwith AutoFDO does not reduce the optimization level from thecompiler. AutoFDO uses hardware sampling to gather information aboutthe frequency of execution of different code paths within a binary.This information is then used to guide the compiler&apos;s optimizationdecisions, resulting in a more efficient binary. Experimentsshowed that the kernel can improve up to 10% in latency.The support requires a Clang compiler after LLVM 17. This submissionis limited to x86 platforms that support PMU features like LBR onIntel machines and AMD Zen3 BRS. Support for SPE on ARM 1, and BRBE on ARM 1 is part of planned future work.Here is an example workflow for AutoFDO kernel:1) Build the kernel on the host machine with LLVM enabled, for example,       $ make menuconfig LLVM=1    Turn on AutoFDO build config:      CONFIG_AUTOFDO_CLANG=y    With a configuration that has LLVM enabled, use the following    command:       scripts/config -e AUTOFDO_CLANG    After getting the config, build with      $ make LLVM=12) Install the kernel on the test machine.3) Run the load tests. The &apos;-c&apos; option in perf specifies the sample   event period. We suggest     using a suitable prime number,   like 500009, for this purpose.   For Intel platforms:      $ perf record -e BR_INST_RETIRED.NEAR_TAKEN:k -a -N -b -c &lt;count&gt; \        -o &lt;perf_file&gt; -- &lt;loadtest&gt;   For AMD platforms:      The supported system are: Zen3 with BRS, or Zen4 with amd_lbr_v2     For Zen3:      $ cat proc/cpuinfo | grep &quot; brs&quot;      For Zen4:      $ cat proc/cpuinfo | grep amd_lbr_v2      $ perf record --pfm-events RETIRED_TAKEN_BRANCH_INSTRUCTIONS:k -a \        -N -b -c &lt;count&gt; -o &lt;perf_file&gt; -- &lt;loadtest&gt;4) (Optional) Download the raw perf file to the host machine.5) To generate an AutoFDO profile, two offline tools are available:   create_llvm_prof and llvm_profgen. The create_llvm_prof tool is part   of the AutoFDO project and can be found on GitHub   (https://github.com/google/autofdo), version v0.30.1 or later. The   llvm_profgen tool is included in the LLVM compiler itself. It&apos;s   important to note that the version of llvm_profgen doesn&apos;t need to   match the version of Clang. It needs to be the LLVM 19 release or   later, or from the LLVM trunk.      $ llvm-profgen --kernel --binary=&lt;vmlinux&gt; --perfdata=&lt;perf_file&gt; \        -o &lt;profile_file&gt;   or      $ create_llvm_prof --binary=&lt;vmlinux&gt; --profile=&lt;perf_file&gt; \        --format=extbinary --out=&lt;profile_file&gt;   Note that multiple AutoFDO profile files can be merged into one via:      $ llvm-profdata merge -o &lt;profile_file&gt;  &lt;profile_1&gt; ... &lt;profile_n&gt;6) Rebuild the kernel using the AutoFDO profile file with the same config   as step 1, (Note CONFIG_AUTOFDO_CLANG needs to be enabled):      $ make LLVM=1 CLANG_AUTOFDO_PROFILE=&lt;profile_file&gt;Co-developed-by: Han Shen &lt;shenhan@google.com&gt;Signed-off-by: Han Shen &lt;shenhan@google.com&gt;Signed-off-by: Rong Xu &lt;xur@google.com&gt;Suggested-by: Sriraman Tallam &lt;tmsriram@google.com&gt;Suggested-by: Krzysztof Pszeniczny &lt;kpszeniczny@google.com&gt;Suggested-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Suggested-by: Stephane Eranian &lt;eranian@google.com&gt;Tested-by: Yonghong Song &lt;yonghong.song@linux.dev&gt;Tested-by: Yabin Cui &lt;yabinc@google.com&gt;Tested-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Reviewed-by: Kees Cook &lt;kees@kernel.org&gt;Tested-by: Peter Jung &lt;ptr1337@cachyos.org&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Sat, 02 Nov 2024 17:51:08 +0000</pubDate>
        <dc:creator>Rong Xu &lt;xur@google.com&gt;</dc:creator>
    </item>
<item>
        <title>a812eee0 - vdso: Rename struct arch_vdso_data to arch_vdso_time_data</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#a812eee0</link>
        <description>vdso: Rename struct arch_vdso_data to arch_vdso_time_dataThe struct arch_vdso_data is only about vdso time data. So rename it toarch_vdso_time_data to make it obvious.Non time-related data will be migrated out of these structs soon.Signed-off-by: Nam Cao &lt;namcao@linutronix.de&gt;Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Acked-by: Heiko Carstens &lt;hca@linux.ibm.com&gt; # s390Link: https://lore.kernel.org/all/20241010-vdso-generic-base-v1-28-b64f0842d512@linutronix.de

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Thu, 10 Oct 2024 07:01:30 +0000</pubDate>
        <dc:creator>Nam Cao &lt;namcao@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>1198c9c6 - kbuild: Add generic hook for architectures to use before the final vmlinux link</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#1198c9c6</link>
        <description>kbuild: Add generic hook for architectures to use before the final vmlinux linkOn powerpc, we would like to be able to make a pass on vmlinux.o andgenerate a new object file to be linked into vmlinux. Add a generic passin Makefile.vmlinux that architectures can use for this purpose.Architectures need to select CONFIG_ARCH_WANTS_PRE_LINK_VMLINUX and mustprovide arch/&lt;arch&gt;/tools/Makefile with .arch.vmlinux.o target, whichwill be invoked prior to the final vmlinux link step.Acked-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Signed-off-by: Naveen N Rao &lt;naveen@kernel.org&gt;Signed-off-by: Hari Bathini &lt;hbathini@linux.ibm.com&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://patch.msgid.link/20241030070850.1361304-12-hbathini@linux.ibm.com

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Wed, 30 Oct 2024 07:08:44 +0000</pubDate>
        <dc:creator>Naveen N Rao &lt;naveen@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>2313ab74 - cfi: tweak llvm version for HAVE_CFI_ICALL_NORMALIZE_INTEGERS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#2313ab74</link>
        <description>cfi: tweak llvm version for HAVE_CFI_ICALL_NORMALIZE_INTEGERSThe llvm fix [1] did not make it for 19.0.0, but ended up gettingbackported to llvm 19.1.3 [2]. Thus, fix the version requirement tocorrectly specify which versions have the bug.Link: https://github.com/llvm/llvm-project/pull/104826 [1]Link: https://github.com/llvm/llvm-project/pull/113938 [2]Reported-by: kernel test robot &lt;oliver.sang@intel.com&gt;Closes: https://lore.kernel.org/oe-lkp/202410281414.c351044e-oliver.sang@intel.comFixes: 8b8ca9c25fe6 (&quot;cfi: fix conditions for HAVE_CFI_ICALL_NORMALIZE_INTEGERS&quot;)Signed-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Reviewed-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Link: https://lore.kernel.org/r/20241030-cfi-icall-1913-v1-1-ab8a26e13733@google.comSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Wed, 30 Oct 2024 10:31:34 +0000</pubDate>
        <dc:creator>Alice Ryhl &lt;aliceryhl@google.com&gt;</dc:creator>
    </item>
<item>
        <title>8b8ca9c2 - cfi: fix conditions for HAVE_CFI_ICALL_NORMALIZE_INTEGERS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#8b8ca9c2</link>
        <description>cfi: fix conditions for HAVE_CFI_ICALL_NORMALIZE_INTEGERSThe HAVE_CFI_ICALL_NORMALIZE_INTEGERS option has some tricky conditionswhen KASAN or GCOV are turned on, as in that case we need some clang andrustc fixes [1][2] to avoid boot failures. The intent with the currentsetup is that you should be able to override the check and turn on theoption if your clang/rustc has the fix. However, this override does notwork in practice. Thus, use the new RUSTC_LLVM_VERSION to correctlyimplement the check for whether the fix is available.Additionally, remove KASAN_HW_TAGS from the list of incompatibleoptions. The CFI_ICALL_NORMALIZE_INTEGERS option is incompatible withKASAN because LLVM will emit some constructors when using KASAN that areassigned incorrect CFI tags. These constructors are emitted due to useof -fsanitize=kernel-address or -fsanitize=kernel-hwaddress that arerespectively passed when KASAN_GENERIC or KASAN_SW_TAGS are enabled.However, the KASAN_HW_TAGS option relies on hardware support for MTEinstead and does not pass either flag. (Note also that KASAN_HW_TAGSdoes not `select CONSTRUCTORS`.)Link: https://github.com/llvm/llvm-project/pull/104826 [1]Link: https://github.com/rust-lang/rust/pull/129373 [2]Fixes: 4c66f8307ac0 (&quot;cfi: encode cfi normalized integers + kasan/gcov bug in Kconfig&quot;)Signed-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Reviewed-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Link: https://lore.kernel.org/r/20241010-icall-detect-vers-v1-2-8f114956aa88@google.comSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Thu, 10 Oct 2024 09:38:27 +0000</pubDate>
        <dc:creator>Alice Ryhl &lt;aliceryhl@google.com&gt;</dc:creator>
    </item>
<item>
        <title>87195a1e - uprobes: switch to RCU Tasks Trace flavor for better performance</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#87195a1e</link>
        <description>uprobes: switch to RCU Tasks Trace flavor for better performanceThis patch switches uprobes SRCU usage to RCU Tasks Trace flavor, whichis optimized for more lightweight and quick readers (at the expense ofslower writers, which for uprobes is a fine tradeof) and has betterperformance and scalability with number of CPUs.Similarly to baseline vs SRCU, we&apos;ve benchmarked SRCU-basedimplementation vs RCU Tasks Trace implementation.SRCU====uprobe-nop      ( 1 cpus):    3.276 &#177; 0.005M/s  (  3.276M/s/cpu)uprobe-nop      ( 2 cpus):    4.125 &#177; 0.002M/s  (  2.063M/s/cpu)uprobe-nop      ( 4 cpus):    7.713 &#177; 0.002M/s  (  1.928M/s/cpu)uprobe-nop      ( 8 cpus):    8.097 &#177; 0.006M/s  (  1.012M/s/cpu)uprobe-nop      (16 cpus):    6.501 &#177; 0.056M/s  (  0.406M/s/cpu)uprobe-nop      (32 cpus):    4.398 &#177; 0.084M/s  (  0.137M/s/cpu)uprobe-nop      (64 cpus):    6.452 &#177; 0.000M/s  (  0.101M/s/cpu)uretprobe-nop   ( 1 cpus):    2.055 &#177; 0.001M/s  (  2.055M/s/cpu)uretprobe-nop   ( 2 cpus):    2.677 &#177; 0.000M/s  (  1.339M/s/cpu)uretprobe-nop   ( 4 cpus):    4.561 &#177; 0.003M/s  (  1.140M/s/cpu)uretprobe-nop   ( 8 cpus):    5.291 &#177; 0.002M/s  (  0.661M/s/cpu)uretprobe-nop   (16 cpus):    5.065 &#177; 0.019M/s  (  0.317M/s/cpu)uretprobe-nop   (32 cpus):    3.622 &#177; 0.003M/s  (  0.113M/s/cpu)uretprobe-nop   (64 cpus):    3.723 &#177; 0.002M/s  (  0.058M/s/cpu)RCU Tasks Trace===============uprobe-nop      ( 1 cpus):    3.396 &#177; 0.002M/s  (  3.396M/s/cpu)uprobe-nop      ( 2 cpus):    4.271 &#177; 0.006M/s  (  2.135M/s/cpu)uprobe-nop      ( 4 cpus):    8.499 &#177; 0.015M/s  (  2.125M/s/cpu)uprobe-nop      ( 8 cpus):   10.355 &#177; 0.028M/s  (  1.294M/s/cpu)uprobe-nop      (16 cpus):    7.615 &#177; 0.099M/s  (  0.476M/s/cpu)uprobe-nop      (32 cpus):    4.430 &#177; 0.007M/s  (  0.138M/s/cpu)uprobe-nop      (64 cpus):    6.887 &#177; 0.020M/s  (  0.108M/s/cpu)uretprobe-nop   ( 1 cpus):    2.174 &#177; 0.001M/s  (  2.174M/s/cpu)uretprobe-nop   ( 2 cpus):    2.853 &#177; 0.001M/s  (  1.426M/s/cpu)uretprobe-nop   ( 4 cpus):    4.913 &#177; 0.002M/s  (  1.228M/s/cpu)uretprobe-nop   ( 8 cpus):    5.883 &#177; 0.002M/s  (  0.735M/s/cpu)uretprobe-nop   (16 cpus):    5.147 &#177; 0.001M/s  (  0.322M/s/cpu)uretprobe-nop   (32 cpus):    3.738 &#177; 0.008M/s  (  0.117M/s/cpu)uretprobe-nop   (64 cpus):    4.397 &#177; 0.002M/s  (  0.069M/s/cpu)Peak throughput for uprobes increases from 8 mln/s to 10.3 mln/s(+28%!), and for uretprobes from 5.3 mln/s to 5.8 mln/s (+11%), as wehave more work to do on uretprobes side.Even single-thread (no contention) performance is slightly better: 3.276mln/s to 3.396 mln/s (+3.5%) for uprobes, and 2.055 mln/s to 2.174 mln/s(+5.8%) for uretprobes.We also select TASKS_TRACE_RCU for UPROBES in Kconfig due to the newdependency.Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Reviewed-by: Oleg Nesterov &lt;oleg@redhat.com&gt;Link: https://lkml.kernel.org/r/20240910174312.3646590-1-andrii@kernel.org

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Tue, 10 Sep 2024 17:43:12 +0000</pubDate>
        <dc:creator>Andrii Nakryiko &lt;andrii@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>4c66f830 - cfi: encode cfi normalized integers + kasan/gcov bug in Kconfig</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#4c66f830</link>
        <description>cfi: encode cfi normalized integers + kasan/gcov bug in KconfigThere is a bug in the LLVM implementation of KASAN and GCOV that makesthese options incompatible with the CFI_ICALL_NORMALIZE_INTEGERS option.The bug has already been fixed in llvm/clang [1] and rustc [2]. However,Kconfig currently has no way to gate features on the LLVM version insiderustc, so we cannot write down a precise `depends on` clause in thiscase. Instead, a `def_bool` option is defined for whetherCFI_ICALL_NORMALIZE_INTEGERS is available, and its default value is setto false when GCOV or KASAN are turned on. End users using a patchedclang/rustc can turn on the HAVE_CFI_ICALL_NORMALIZE_INTEGERS optiondirectly to override this.An alternative solution is to inspect a binary created by clang or rustcto see whether the faulty CFI tags are in the binary. This would be aprecise check, but it would involve hard-coding the *hashed* version ofthe CFI tag. This is because there&apos;s no way to get clang or rustc tooutput the unhased version of the CFI tag. Relying on the precisehashing algorithm using by CFI seems too fragile, so I have not pursuedthis option. Besides, this kind of hack is exactly what lead to the LLVMbug in the first place.If the CFI_ICALL_NORMALIZE_INTEGERS option is used without CONFIG_RUST,then we actually can perform a precise check today: just compare theclang version number. This works since clang and llvm are always updatedin lockstep. However, encoding this in Kconfig would give theHAVE_CFI_ICALL_NORMALIZE_INTEGERS option a dependency on CONFIG_RUST,which is not possible as the reverse dependency already exists.HAVE_CFI_ICALL_NORMALIZE_INTEGERS is defined to be a `def_bool` insteadof `bool` to avoid asking end users whether they want to turn on theoption. Turning it on explicitly is something only experts should do, somaking it hard to do so is not an issue.I added a `depends on CFI_CLANG` clause to the new Kconfig option. I&apos;mnot sure whether that makes sense or not, but it doesn&apos;t seem to make abig difference.In a future kernel release, I would like to add a Kconfig option similarto CLANG_VERSION/RUSTC_VERSION for inspecting the version of the LLVMinside rustc. Once that feature lands, this logic will be replaced witha precise version check. This check is not being introduced here toavoid introducing a new _VERSION constant in a fix.Link: https://github.com/llvm/llvm-project/pull/104826 [1]Link: https://github.com/rust-lang/rust/pull/129373 [2]Fixes: ce4a2620985c (&quot;cfi: add CONFIG_CFI_ICALL_NORMALIZE_INTEGERS&quot;)Reported-by: kernel test robot &lt;oliver.sang@intel.com&gt;Closes: https://lore.kernel.org/oe-lkp/202409231044.4f064459-oliver.sang@intel.comSigned-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Reviewed-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Link: https://lore.kernel.org/r/20240925-cfi-norm-kasan-fix-v1-1-0328985cdf33@google.comSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Wed, 25 Sep 2024 08:10:18 +0000</pubDate>
        <dc:creator>Alice Ryhl &lt;aliceryhl@google.com&gt;</dc:creator>
    </item>
<item>
        <title>ce4a2620 - cfi: add CONFIG_CFI_ICALL_NORMALIZE_INTEGERS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#ce4a2620</link>
        <description>cfi: add CONFIG_CFI_ICALL_NORMALIZE_INTEGERSIntroduce a Kconfig option for enabling the experimental option tonormalize integer types. This ensures that integer types of the samesize and signedness are considered compatible by the Control FlowIntegrity sanitizer.The security impact of this flag is minimal. When Sami Tolvanen lookedinto it, he found that integer normalization reduced the number ofunique type hashes in the kernel by ~1%, which is acceptable.This option exists for compatibility with Rust, as C and Rust do nothave the same set of integer types. There are cases where C has twodifferent integer types of the same size and signedness, but Rust onlyhas one integer type of that size and signedness. When Rust calls intoC functions using such types in their signature, this results in CFIfailures. One example is &apos;unsigned long long&apos; and &apos;unsigned long&apos; whichare both 64-bit on LP64 targets, so on those targets this flag will giveboth types the same CFI tag.This flag changes the ABI heavily. It is not applied automatically whenCONFIG_RUST is turned on to make sure that the CONFIG_RUST option doesnot change the ABI of C code. For example, some build may need to makeother changes atomically with toggling this flag. Having it be aseparate option makes it possible to first turn on normalized integertags, and then later turn on CONFIG_RUST.Similarly, when turning on CONFIG_RUST in a build, you may need a fewattempts where the RUST=y commit gets reverted a few times. It isinconvenient if reverting RUST=y also requires reverting the changes youmade to support normalized integer tags.To avoid having this flag impact builds that don&apos;t care about this, thenext patch in this series will make CONFIG_RUST turn on this optionusing `select` rather than `depends on`.Signed-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Reviewed-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Tested-by: Gatlin Newhouse &lt;gatlin.newhouse@gmail.com&gt;Acked-by: Kees Cook &lt;kees@kernel.org&gt;Acked-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Link: https://lore.kernel.org/r/20240801-kcfi-v2-1-c93caed3d121@google.comSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Thu, 01 Aug 2024 13:35:17 +0000</pubDate>
        <dc:creator>Alice Ryhl &lt;aliceryhl@google.com&gt;</dc:creator>
    </item>
<item>
        <title>de6c85bf - dma-mapping: clearly mark DMA ops as an architecture feature</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#de6c85bf</link>
        <description>dma-mapping: clearly mark DMA ops as an architecture featureDMA ops are a helper for architectures and not for drivers to overridethe DMA implementation.Unfortunately driver authors keep ignoring this.  Make the fact moreclear by renaming the symbol to ARCH_HAS_DMA_OPS and having the two driversoverriding their dma_ops depend on that.  These drivers should probably bemarked broken, but we can give them a bit of a grace period for that.Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Acked-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt; # for IPU6Acked-by: Robin Murphy &lt;robin.murphy@arm.com&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Wed, 28 Aug 2024 06:02:47 +0000</pubDate>
        <dc:creator>Christoph Hellwig &lt;hch@lst.de&gt;</dc:creator>
    </item>
<item>
        <title>d65d411c - treewide: context_tracking: Rename CONTEXT_* into CT_STATE_*</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#d65d411c</link>
        <description>treewide: context_tracking: Rename CONTEXT_* into CT_STATE_*Context tracking state related symbols currently use a mix of theCONTEXT_ (e.g. CONTEXT_KERNEL) and CT_SATE_ (e.g. CT_STATE_MASK) prefixes.Clean up the naming and make the ctx_state enum use the CT_STATE_ prefix.Suggested-by: Frederic Weisbecker &lt;frederic@kernel.org&gt;Signed-off-by: Valentin Schneider &lt;vschneid@redhat.com&gt;Acked-by: Frederic Weisbecker &lt;frederic@kernel.org&gt;Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Signed-off-by: Neeraj Upadhyay &lt;neeraj.upadhyay@kernel.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Tue, 25 Jul 2023 11:08:50 +0000</pubDate>
        <dc:creator>Valentin Schneider &lt;vschneid@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>14d7c92f - Revert &quot;mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default&quot;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#14d7c92f</link>
        <description>Revert &quot;mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default&quot;This reverts commit 3afb76a66b5559a7b595155803ce23801558a7a9.This was a wrongheaded workaround for an issue that had already beenfixed much better by commit 4ef9ad19e176 (&quot;mm: huge_memory: don&apos;t forcehuge page alignment on 32 bit&quot;).Asking users questions at kernel compile time that they can&apos;t make senseof is not a viable strategy.  And the fact that even the kernel VMmaintainers apparently didn&apos;t catch that this &quot;fix&quot; is not a fix anymore pretty much proves the point that people can&apos;t be expected tounderstand the implications of the question.It may well be the case that we could improve things further, and that__thp_get_unmapped_area() should take the mapping randomization intoaccount even for 64-bit kernels.  Maybe we should not be so eager to useTHP mappings.But in no case should this be a kernel config option.Cc: Rafael Aquini &lt;aquini@redhat.com&gt;Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;Cc: Jiri Slaby &lt;jirislaby@kernel.org&gt;Cc: Suren Baghdasaryan &lt;surenb@google.com&gt;Cc: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Mon, 17 Jun 2024 19:57:03 +0000</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>3afb76a6 - mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#3afb76a6</link>
        <description>mm: mmap: allow for the maximum number of bits for randomizing mmap_base by defaultAn ASLR regression was noticed [1] and tracked down to file-mapped areasbeing backed by THP in recent kernels.  The 21-bit alignment constraintfor such mappings reduces the entropy for randomizing the placement of64-bit library mappings and breaks ASLR completely for 32-bit libraries.The reported issue is easily addressed by increasing vm.mmap_rnd_bits andvm.mmap_rnd_compat_bits.  This patch just provides a simple way to setARCH_MMAP_RND_BITS and ARCH_MMAP_RND_COMPAT_BITS to their maximum valuesallowed by the architecture at build time.[1] https://zolutal.github.io/aslrnt/[akpm@linux-foundation.org: default to `y&apos; if 32-bit, per Rafael]Link: https://lkml.kernel.org/r/20240606180622.102099-1-aquini@redhat.comFixes: 1854bc6e2420 (&quot;mm/readahead: Align file mappings for non-DAX&quot;)Signed-off-by: Rafael Aquini &lt;aquini@redhat.com&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Heiko Carstens &lt;hca@linux.ibm.com&gt;Cc: Mike Rapoport (IBM) &lt;rppt@kernel.org&gt;Cc: Paul E. McKenney &lt;paulmck@kernel.org&gt;Cc: Petr Mladek &lt;pmladek@suse.com&gt;Cc: Samuel Holland &lt;samuel.holland@sifive.com&gt;Cc: &lt;stable@vger.kernel.org&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Thu, 06 Jun 2024 18:06:22 +0000</pubDate>
        <dc:creator>Rafael Aquini &lt;aquini@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>6cbd1d6d - arch: add ARCH_HAS_KERNEL_FPU_SUPPORT</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#6cbd1d6d</link>
        <description>arch: add ARCH_HAS_KERNEL_FPU_SUPPORTSeveral architectures provide an API to enable the FPU and runfloating-point SIMD code in kernel space.  However, the function names,header locations, and semantics are inconsistent across architectures, andFPU support may be gated behind other Kconfig options.provide a standard way for architectures to declare that kernel spaceFPU support is available. Architectures selecting this option mustimplement what is currently the most common API (kernel_fpu_begin() andkernel_fpu_end(), plus a new function kernel_fpu_available()) andprovide the appropriate CFLAGS for compiling floating-point C code.Link: https://lkml.kernel.org/r/20240329072441.591471-2-samuel.holland@sifive.comSigned-off-by: Samuel Holland &lt;samuel.holland@sifive.com&gt;Suggested-by: Christoph Hellwig &lt;hch@lst.de&gt;Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;Acked-by: Christian K&#246;nig &lt;christian.koenig@amd.com&gt; Cc: Alex Deucher &lt;alexander.deucher@amd.com&gt;Cc: Borislav Petkov (AMD) &lt;bp@alien8.de&gt;Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: Huacai Chen &lt;chenhuacai@kernel.org&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Jonathan Corbet &lt;corbet@lwn.net&gt;Cc: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Nathan Chancellor &lt;nathan@kernel.org&gt;Cc: Nicolas Schier &lt;nicolas@fjasle.eu&gt;Cc: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;Cc: Russell King &lt;linux@armlinux.org.uk&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: WANG Xuerui &lt;git@xen0n.name&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Fri, 29 Mar 2024 07:18:16 +0000</pubDate>
        <dc:creator>Samuel Holland &lt;samuel.holland@sifive.com&gt;</dc:creator>
    </item>
<item>
        <title>7582b7be - kprobes: remove dependency on CONFIG_MODULES</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#7582b7be</link>
        <description>kprobes: remove dependency on CONFIG_MODULESkprobes depended on CONFIG_MODULES because it has to allocate memory forcode.Since code allocations are now implemented with execmem, kprobes can beenabled in non-modular kernels.Add #ifdef CONFIG_MODULE guards for the code dealing with kprobes insidemodules, make CONFIG_KPROBES select CONFIG_EXECMEM and drop thedependency of CONFIG_KPROBES on CONFIG_MODULES.Signed-off-by: Mike Rapoport (IBM) &lt;rppt@kernel.org&gt;Acked-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;[mcgrof: rebase in light of NEED_TASKS_RCU ]Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Sun, 05 May 2024 16:06:27 +0000</pubDate>
        <dc:creator>Mike Rapoport (IBM) &lt;rppt@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>223b5e57 - mm/execmem, arch: convert remaining overrides of module_alloc to execmem</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/Kconfig#223b5e57</link>
        <description>mm/execmem, arch: convert remaining overrides of module_alloc to execmemExtend execmem parameters to accommodate more complex overrides ofmodule_alloc() by architectures.This includes specification of a fallback range required by arm, arm64and powerpc, EXECMEM_MODULE_DATA type required by powerpc, support forallocation of KASAN shadow required by s390 and x86 and support forlate initialization of execmem required by arm64.The core implementation of execmem_alloc() takes care of suppressingwarnings when the initial allocation fails but there is a fallback rangedefined.Signed-off-by: Mike Rapoport (IBM) &lt;rppt@kernel.org&gt;Acked-by: Will Deacon &lt;will@kernel.org&gt;Acked-by: Song Liu &lt;song@kernel.org&gt;Tested-by: Liviu Dudau &lt;liviu@dudau.co.uk&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/arch/Kconfig</description>
        <pubDate>Sun, 05 May 2024 16:06:20 +0000</pubDate>
        <dc:creator>Mike Rapoport (IBM) &lt;rppt@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
