<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in .gitignore</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>f4b369c6fe0ceaba2da2daff8c9eb415f85926dd - Merge branch &apos;next&apos; into for-linus</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#f4b369c6fe0ceaba2da2daff8c9eb415f85926dd</link>
        <description>Merge branch &apos;next&apos; into for-linusPrepare input updates for 7.1 merge window.

            List of files:
            /linux/.gitignore</description>
        <pubDate>Mon, 20 Apr 2026 03:28:57 +0200</pubDate>
        <dc:creator>Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>0421ccdfad0d92713a812a5aeb7d07b0ea7213c8 - Merge tag &apos;v7.0-rc3&apos; into next</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#0421ccdfad0d92713a812a5aeb7d07b0ea7213c8</link>
        <description>Merge tag &apos;v7.0-rc3&apos; into nextSync up with the mainline to brig up the latest changes, specificallychanges to ALPS driver.

            List of files:
            /linux/.gitignore</description>
        <pubDate>Thu, 12 Mar 2026 18:44:42 +0100</pubDate>
        <dc:creator>Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>26ff969926a08eee069767ddbbbc301adbcd9676 - Merge tag &apos;rust-7.1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#26ff969926a08eee069767ddbbbc301adbcd9676</link>
        <description>Merge tag &apos;rust-7.1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linuxPull Rust updates from Miguel Ojeda: &quot;Toolchain and infrastructure:   - Bump the minimum Rust version to 1.85.0 (and &apos;bindgen&apos; to 0.71.1).     As proposed in LPC 2025 and the Maintainers Summit [1], we are     going to follow Debian Stable&apos;s Rust versions as our minimum     versions.     Debian Trixie was released on 2025-08-09 with a Rust 1.85.0 and     &apos;bindgen&apos; 0.71.1 toolchain, which is a fair amount of time for e.g.     kernel developers to upgrade.     Other major distributions support a Rust version that is high     enough as well, including:       + Arch Linux.       + Fedora Linux.       + Gentoo Linux.       + Nix.       + openSUSE Slowroll and openSUSE Tumbleweed.       + Ubuntu 25.10 and 26.04 LTS. In addition, 24.04 LTS using         their versioned packages.     The merged patch series comes with the associated cleanups and     simplifications treewide that can be performed thanks to both     bumps, as well as documentation updates.     In addition, start using &apos;bindgen&apos;&apos;s &apos;--with-attribute-custom-enum&apos;     feature to set the &apos;cfi_encoding&apos; attribute for the &apos;lru_status&apos;     enum used in Binder.     Link: https://lwn.net/Articles/1050174/ [1]   - Add experimental Kconfig option (&apos;CONFIG_RUST_INLINE_HELPERS&apos;) that     inlines C helpers into Rust.     Essentially, it performs a step similar to LTO, but just for the     helpers, i.e. very local and fast.     It relies on &apos;llvm-link&apos; and its &apos;--internalize&apos; flag, and requires     a compatible LLVM between Clang and &apos;rustc&apos; (i.e. same major     version, &apos;CONFIG_RUSTC_CLANG_LLVM_COMPATIBLE&apos;). It is only enabled     for two architectures for now.     The result is a measurable speedup in different workloads that     different users have tested. For instance, for the null block     driver, it amounts to a 2%.   - Support global per-version flags.     While we already have per-version flags in many places, we didn&apos;t     have a place to set global ones that depend on the compiler     version, i.e. in &apos;rust_common_flags&apos;, which sometimes is needed to     e.g. tweak the lints set per version.     Use that to allow the &apos;clippy::precedence&apos; lint for Rust &lt; 1.86.0,     since it had a change in behavior.   - Support overriding the crate name and apply it to Rust Binder,     which wanted the module to be called &apos;rust_binder&apos;.   - Add the remaining &apos;__rust_helper&apos; annotations (started in the     previous cycle).  &apos;kernel&apos; crate:   - Introduce the &apos;const_assert!&apos; macro: a more powerful version of     &apos;static_assert!&apos; that can refer to generics inside functions or     implementation bodies, e.g.:         fn f&lt;const N: usize&gt;() {             const_assert!(N &gt; 1);         }         fn g&lt;T&gt;() {             const_assert!(size_of::&lt;T&gt;() &gt; 0, &quot;T cannot be ZST&quot;);         }     In addition, reorganize our set of build-time assertion macros     (&apos;{build,const,static_assert}!&apos;) to live in the &apos;build_assert&apos;     module.     Finally, improve the docs as well to clarify how these are     different from one another and how to pick the right one to use,     and their equivalence (if any) to the existing C ones for extra     clarity.   - &apos;sizes&apos; module: add &apos;SizeConstants&apos; trait.     This gives us typed &apos;SZ_*&apos; constants (avoiding casts) for use in     device address spaces where the address width depends on the     hardware (e.g. 32-bit MMIO windows, 64-bit GPU framebuffers, etc.),     e.g.:         let gpu_heap = 14 * u64::SZ_1M;         let mmio_window = u32::SZ_16M;   - &apos;clk&apos; module: implement &apos;Send&apos; and &apos;Sync&apos; for &apos;Clk&apos; and thus     simplify the users in Tyr and PWM.   - &apos;ptr&apos; module: add &apos;const_align_up&apos;.   - &apos;str&apos; module: improve the documentation of the &apos;c_str!&apos; macro to     explain that one should only use it for non-literal cases (for the     other case we instead use C string literals, e.g. &apos;c&quot;abc&quot;&apos;).   - Disallow the use of &apos;CStr::{as_ptr,from_ptr}&apos; and clean one such     use in the &apos;task&apos; module.   - &apos;sync&apos; module: finish the move of &apos;ARef&apos; and &apos;AlwaysRefCounted&apos;     outside of the &apos;types&apos; module, i.e. update the last remaining     instances and finally remove the re-exports.   - &apos;error&apos; module: clarify that &apos;from_err_ptr&apos; can return &apos;Ok(NULL)&apos;,     including runtime-tested examples.     The intention is to hopefully prevent UB that assumes the result of     the function is not &apos;NULL&apos; if successful. This originated from a     case of UB I noticed in &apos;regulator&apos; that created a &apos;NonNull&apos; on it.  Timekeeping:   - Expand the example section in the &apos;HrTimer&apos; documentation.   - Mark the &apos;ClockSource&apos; trait as unsafe to ensure valid values for     &apos;ktime_get()&apos;.   - Add &apos;Delta::from_nanos()&apos;.  &apos;pin-init&apos; crate:   - Replace the &apos;Zeroable&apos; impls for &apos;Option&lt;NonZero*&gt;&apos; with impls of     &apos;ZeroableOption&apos; for &apos;NonZero*&apos;.   - Improve feature gate handling for unstable features.   - Declutter the documentation of implementations of &apos;Zeroable&apos; for     tuples.   - Replace uses of &apos;addr_of[_mut]!&apos; with &apos;&amp;raw [mut]&apos;.  rust-analyzer:   - Add type annotations to &apos;generate_rust_analyzer.py&apos;.   - Add support for scripts written in Rust (&apos;generate_rust_target.rs&apos;,     &apos;rustdoc_test_builder.rs&apos;, &apos;rustdoc_test_gen.rs&apos;).   - Refactor &apos;generate_rust_analyzer.py&apos; to explicitly identify host     and target crates, improve readability, and reduce duplication.  And some other fixes, cleanups and improvements&quot;* tag &apos;rust-7.1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux: (79 commits)  rust: sizes: add SizeConstants trait for device address space constants  rust: kernel: update `file_with_nul` comment  rust: kbuild: allow `clippy::precedence` for Rust &lt; 1.86.0  rust: kbuild: support global per-version flags  rust: declare cfi_encoding for lru_status  docs: rust: general-information: use real example  docs: rust: general-information: simplify Kconfig example  docs: rust: quick-start: remove GDB/Binutils mention  docs: rust: quick-start: remove Nix &quot;unstable channel&quot; note  docs: rust: quick-start: remove Gentoo &quot;testing&quot; note  docs: rust: quick-start: add Ubuntu 26.04 LTS and remove subsection title  docs: rust: quick-start: update minimum Ubuntu version  docs: rust: quick-start: update Ubuntu versioned packages  docs: rust: quick-start: openSUSE provides `rust-src` package nowadays  rust: kbuild: remove &quot;dummy parameter&quot; workaround for `bindgen` &lt; 0.71.1  rust: kbuild: update `bindgen --rust-target` version and replace comment  rust: rust_is_available: remove warning for `bindgen` &lt; 0.69.5 &amp;&amp; libclang &gt;= 19.1  rust: rust_is_available: remove warning for `bindgen` 0.66.[01]  rust: bump `bindgen` minimum supported version to 0.71.1 (Debian Trixie)  rust: block: update `const_refs_to_static` MSRV TODO comment  ...

            List of files:
            /linux/.gitignore</description>
        <pubDate>Mon, 13 Apr 2026 18:54:20 +0200</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>3a2486cc1da5cf637fe5da4540929d67c4540022 - kbuild: rust: provide an option to inline C helpers into Rust</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#3a2486cc1da5cf637fe5da4540929d67c4540022</link>
        <description>kbuild: rust: provide an option to inline C helpers into RustA new experimental Kconfig option, `RUST_INLINE_HELPERS` is added toallow C helpers (which were created to allow Rust to call intoinline/macro C functions without having to re-implement the logic inRust) to be inlined into Rust crates without performing global LTO.If the option is enabled, the following is performed:* For helpers, instead of compiling them to an object file to be linked  into vmlinux, they&apos;re compiled to LLVM IR bitcode. Two versions are  generated: one for built-in code (`helpers.bc`) and one for modules  (`helpers_module.bc`, with -DMODULE defined). This ensures that C  macros/inlines that behave differently for modules (e.g. static calls)  function correctly when inlined.* When a Rust crate or object is compiled, instead of generating an  object file, LLVM bitcode is generated.* llvm-link is invoked with --internalize to combine the helper bitcode  with the crate bitcode. This step is similar to LTO, but this is much  faster since it only needs to inline the helpers.* clang is invoked to turn the combined bitcode into a final object file.* Since clang may produce LLVM bitcode when LTO is enabled, and objtool  requires ELF input, $(cmd_ld_single) is invoked to ensure the object  is converted to ELF before objtool runs.The --internalize flag tells llvm-link to treat all symbols inhelpers.bc using `internal` linkage [1]. This matches the behavior of`clang` on `static inline` functions, and avoids exporting the symbolfrom the object file.To ensure that RUST_INLINE_HELPERS is not incompatible with BTF, we passthe -g0 flag when building helpers. See commit 5daa0c35a1f0 (&quot;rust:Disallow BTF generation with Rust + LTO&quot;) for details.We have an intended triple mismatch of `aarch64-unknown-none` vs`aarch64-unknown-linux-gnu`, so we pass --suppress-warnings to llvm-linkto suppress it.I considered adding some sort of check that KBUILD_MODNAME is notpresent in helpers_module.bc, but this is actually not so easy to carryout because .bc files store strings in a weird binary format, so youcannot just grep it for a string to check whether it ended up usingKBUILD_MODNAME anywhere.[ Andreas writes:    For the rnull driver, enabling helper inlining with this patch    gives an average speedup of 2% over the set of 120 workloads that    we publish on [2].    Link: https://rust-for-linux.com/null-block-driver [2]  This series also uncovered a pre-existing UB instance thanks to an  `objtool` warning which I noticed while testing the series (details  in the mailing list).      - Miguel ]Link: https://github.com/llvm/llvm-project/pull/170397 [1]Co-developed-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;Signed-off-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;Co-developed-by: Matthew Maurer &lt;mmaurer@google.com&gt;Signed-off-by: Matthew Maurer &lt;mmaurer@google.com&gt;Signed-off-by: Gary Guo &lt;gary@garyguo.net&gt;Co-developed-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Signed-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Tested-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Tested-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Reviewed-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Link: https://patch.msgid.link/20260203-inline-helpers-v2-3-beb8547a03c9@google.com[ Some changes, apart from the rebase:  - Added &quot;(EXPERIMENTAL)&quot; to Kconfig as the commit mentions.  - Added `depends on ARM64 || X86_64` and `!UML` for now, since this is    experimental, other architectures may require other changes (e.g.    the issues I mentioned in the mailing list for ARM and UML) and they    are not really tested so far. So let arch maintainers pick this up    if they think it is worth it.  - Gated the `cmd_ld_single` step also into the new mode, which also    means that any possible future `objcopy` step is done after the    translation, as expected.  - Added `.gitignore` for `.bc` with exception for existing script.  - Added `part-of-*` for helpers bitcode files as discussed, and    dropped `$(if $(filter %_module.bc,$@),-DMODULE)` since `-DMODULE`    is already there (would be duplicated otherwise).  - Moved `LLVM_LINK` to keep binutils list alphabetized.  - Fixed typo in title.  - Dropped second `cmd_ld_single` commit message paragraph.      - Miguel ]Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Tue, 03 Feb 2026 12:34:10 +0100</pubDate>
        <dc:creator>Gary Guo &lt;gary@garyguo.net&gt;</dc:creator>
    </item>
<item>
        <title>cc4adab164b772a34b3340d644b7c4728498581e - Merge tag &apos;v6.19-rc1&apos; into msm-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#cc4adab164b772a34b3340d644b7c4728498581e</link>
        <description>Merge tag &apos;v6.19-rc1&apos; into msm-nextMerge Linux 6.19-rc1 in order to catch up with other changes (e.g. UBWCconfig database defining UBWC_6).Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Tue, 20 Jan 2026 23:06:55 +0100</pubDate>
        <dc:creator>Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;</dc:creator>
    </item>
<item>
        <title>5add3c3c280a35f7e258e9cef7607db5a2e56fdc - Merge drm/drm-next into drm-xe-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#5add3c3c280a35f7e258e9cef7607db5a2e56fdc</link>
        <description>Merge drm/drm-next into drm-xe-nextBackmerging to bring in 6.19-rc1. An important upstream bugfix andto help unblock PTL CI.Signed-off-by: Thomas Hellstr&#246;m &lt;thomas.hellstrom@linux.intel.com&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Fri, 19 Dec 2025 11:51:22 +0100</pubDate>
        <dc:creator>Thomas Hellstr&#246;m &lt;thomas.hellstrom@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>b8304863a3990d0f18c38e5b94191830a63ee1af - Merge drm/drm-next into drm-intel-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#b8304863a3990d0f18c38e5b94191830a63ee1af</link>
        <description>Merge drm/drm-next into drm-intel-nextSync-up some display code needed for Async flips refactor.Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Mon, 15 Dec 2025 14:24:02 +0100</pubDate>
        <dc:creator>Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>7f790dd21a931c61167f7bdc327aecf2cebad327 - Merge drm/drm-next into drm-misc-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#7f790dd21a931c61167f7bdc327aecf2cebad327</link>
        <description>Merge drm/drm-next into drm-misc-nextLet&apos;s kickstart the v6.20 (7.0?) release cycle.Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Mon, 15 Dec 2025 09:27:39 +0100</pubDate>
        <dc:creator>Maxime Ripard &lt;mripard@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>a4a508df2aa34f8650afde54ea804321c618f45f - Merge tag &apos;v6.18&apos; into next</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#a4a508df2aa34f8650afde54ea804321c618f45f</link>
        <description>Merge tag &apos;v6.18&apos; into nextSync up with the mainline to bring in the latest APIs.

            List of files:
            /linux/.gitignore</description>
        <pubDate>Sat, 13 Dec 2025 10:18:20 +0100</pubDate>
        <dc:creator>Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>24f171c7e145f43b9f187578e89b0982ce87e54c - Merge tag &apos;asoc-fix-v6.19-rc1&apos; of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#24f171c7e145f43b9f187578e89b0982ce87e54c</link>
        <description>Merge tag &apos;asoc-fix-v6.19-rc1&apos; of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linusASoC: Fixes for v6.19We&apos;ve been quite busy with fixes since the merge window, though not inany particularly exciting ways - the standout thing is the fix for _SXcontrols which were broken by a change to how we do clamping, otherwiseit&apos;s all fairly run of the mill fixes and quirks.

            List of files:
            /linux/.gitignore</description>
        <pubDate>Sun, 21 Dec 2025 11:11:11 +0100</pubDate>
        <dc:creator>Takashi Iwai &lt;tiwai@suse.de&gt;</dc:creator>
    </item>
<item>
        <title>84318277d6334c6981ab326d4acc87c6a6ddc9b8 - Merge remote-tracking branch &apos;drm/drm-fixes&apos; into drm-misc-fixes</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#84318277d6334c6981ab326d4acc87c6a6ddc9b8</link>
        <description>Merge remote-tracking branch &apos;drm/drm-fixes&apos; into drm-misc-fixesPull in rc1 to include all changes since the merge window closed,and grab all fixes and changes from drm/drm-next.Signed-off-by: Maarten Lankhorst &lt;dev@lankhorst.se&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Mon, 15 Dec 2025 12:53:27 +0100</pubDate>
        <dc:creator>Maarten Lankhorst &lt;dev@lankhorst.se&gt;</dc:creator>
    </item>
<item>
        <title>cb9f145f638d7afa633632a9290d6ad06caeb8ee - Merge remote-tracking branch &apos;drm/drm-next&apos; into msm-next-robclark</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#cb9f145f638d7afa633632a9290d6ad06caeb8ee</link>
        <description>Merge remote-tracking branch &apos;drm/drm-next&apos; into msm-next-robclarkBack-merge drm-next to get caught up.Signed-off-by: Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Sat, 01 Nov 2025 13:47:30 +0100</pubDate>
        <dc:creator>Rob Clark &lt;robin.clark@oss.qualcomm.com&gt;</dc:creator>
    </item>
<item>
        <title>82ee50252dc891e3f3b32d923bb4f656d300b772 - Merge drm/drm-next into drm-xe-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#82ee50252dc891e3f3b32d923bb4f656d300b772</link>
        <description>Merge drm/drm-next into drm-xe-nextBackmerging to bring in 6.18-rc1.Signed-off-by: Thomas Hellstr&#246;m &lt;thomas.hellstrom@linux.intel.com&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Tue, 14 Oct 2025 11:31:49 +0200</pubDate>
        <dc:creator>Thomas Hellstr&#246;m &lt;thomas.hellstrom@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>2acee98fcc61052d63fab4539fcb6ee677555645 - Merge drm/drm-next into drm-intel-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#2acee98fcc61052d63fab4539fcb6ee677555645</link>
        <description>Merge drm/drm-next into drm-intel-nextSync to v6.18-rc1.Signed-off-by: Jani Nikula &lt;jani.nikula@intel.com&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Tue, 14 Oct 2025 09:37:11 +0200</pubDate>
        <dc:creator>Jani Nikula &lt;jani.nikula@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>9b966ae42235a88eaea714be09ff3d698535bdfe - Merge drm/drm-next into drm-misc-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#9b966ae42235a88eaea714be09ff3d698535bdfe</link>
        <description>Merge drm/drm-next into drm-misc-nextUpdating drm-misc-next to the state of v6.18-rc1.Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Mon, 13 Oct 2025 09:19:19 +0200</pubDate>
        <dc:creator>Thomas Zimmermann &lt;tzimmermann@suse.de&gt;</dc:creator>
    </item>
<item>
        <title>f088104d837a991c65e51fa30bb4196169b3244d - Merge drm/drm-next into drm-intel-gt-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#f088104d837a991c65e51fa30bb4196169b3244d</link>
        <description>Merge drm/drm-next into drm-intel-gt-nextBackmerge in order to get the commit:  048832a3f400 (&quot;drm/i915: Refactor shmem_pwrite() to use kiocb and write_iter&quot;)To drm-intel-gt-next as there are followup fixes to be applied.Signed-off-by: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Tue, 16 Sep 2025 12:53:20 +0200</pubDate>
        <dc:creator>Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>784faa8eca8270671e0ed6d9d21f04bbb80fc5f7 - Merge tag &apos;rust-6.19&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#784faa8eca8270671e0ed6d9d21f04bbb80fc5f7</link>
        <description>Merge tag &apos;rust-6.19&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linuxPull Rust updates from Miguel Ojeda: &quot;Toolchain and infrastructure:   - Add support for &apos;syn&apos;.     Syn is a parsing library for parsing a stream of Rust tokens into a     syntax tree of Rust source code.     Currently this library is geared toward use in Rust procedural     macros, but contains some APIs that may be useful more generally.     &apos;syn&apos; allows us to greatly simplify writing complex macros such as     &apos;pin-init&apos; (Benno has already prepared the &apos;syn&apos;-based version). We     will use it in the &apos;macros&apos; crate too.     &apos;syn&apos; is the most downloaded Rust crate (according to crates.io),     and it is also used by the Rust compiler itself. While the amount     of code is substantial, there should not be many updates needed for     these crates, and even if there are, they should not be too big,     e.g. +7k -3k lines across the 3 crates in the last year.     &apos;syn&apos; requires two smaller dependencies: &apos;quote&apos; and &apos;proc-macro2&apos;.     I only modified their code to remove a third dependency     (&apos;unicode-ident&apos;) and to add the SPDX identifiers. The code can be     easily verified to exactly match upstream with the provided     scripts.     They are all licensed under &quot;Apache-2.0 OR MIT&quot;, like the other     vendored &apos;alloc&apos; crate we had for a while.     Please see the merge commit with the cover letter for more context.   - Allow &apos;unreachable_pub&apos; and &apos;clippy::disallowed_names&apos; for     doctests.     Examples (i.e. doctests) may want to do things like show public     items and use names such as &apos;foo&apos;.     Nevertheless, we still try to keep examples as close to real code     as possible (this is part of why running Clippy on doctests is     important for us, e.g. for safety comments, which userspace Rust     does not support yet but we are stricter).  &apos;kernel&apos; crate:   - Replace our custom &apos;CStr&apos; type with &apos;core::ffi::CStr&apos;.     Using the standard library type reduces our custom code footprint,     and we retain needed custom functionality through an extension     trait and a new &apos;fmt!&apos; macro which replaces the previous &apos;core&apos;     import.     This started in 6.17 and continued in 6.18, and we finally land the     replacement now. This required quite some stamina from Tamir, who     split the changes in steps to prepare for the flag day change here.   - Replace &apos;kernel::c_str!&apos; with C string literals.     C string literals were added in Rust 1.77, which produce &apos;&amp;CStr&apos;s     (the &apos;core&apos; one), so now we can write:         c&quot;hi&quot;     instead of:         c_str!(&quot;hi&quot;)   - Add &apos;num&apos; module for numerical features.     It includes the &apos;Integer&apos; trait, implemented for all primitive     integer types.     It also includes the &apos;Bounded&apos; integer wrapping type: an integer     value that requires only the &apos;N&apos; least significant bits of the     wrapped type to be encoded:         // An unsigned 8-bit integer, of which only the 4 LSBs are used.         let v = Bounded::&lt;u8, 4&gt;::new::&lt;15&gt;();         assert_eq!(v.get(), 15);     &apos;Bounded&apos; is useful to e.g. enforce guarantees when working with     bitfields that have an arbitrary number of bits.     Values can also be constructed from simple non-constant expressions     or, for more complex ones, validated at runtime.     &apos;Bounded&apos; also comes with comparison and arithmetic operations     (with both their backing type and other &apos;Bounded&apos;s with a     compatible backing type), casts to change the backing type,     extending/shrinking and infallible/fallible conversions from/to     primitives as applicable.   - &apos;rbtree&apos; module: add immutable cursor (&apos;Cursor&apos;).     It enables to use just an immutable tree reference where     appropriate. The existing fully-featured mutable cursor is renamed     to &apos;CursorMut&apos;.  kallsyms:   - Fix wrong &quot;big&quot; kernel symbol type read from procfs.  &apos;pin-init&apos; crate:   - A couple minor fixes (Benno asked me to pick these patches up for     him this cycle).  Documentation:   - Quick Start guide: add Debian 13 (Trixie).     Debian Stable is now able to build Linux, since Debian 13 (released     2025-08-09) packages Rust 1.85.0, which is recent enough.     We are planning to propose that the minimum supported Rust version     in Linux follows Debian Stable releases, with Debian 13 being the     first one we upgrade to, i.e. Rust 1.85.  MAINTAINERS:   - Add entry for the new &apos;num&apos; module.   - Remove Alex as Rust maintainer: he hasn&apos;t had the time to     contribute for a few years now, so it is a no-op change in     practice.  And a few other cleanups and improvements&quot;* tag &apos;rust-6.19&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux: (53 commits)  rust: macros: support `proc-macro2`, `quote` and `syn`  rust: syn: enable support in kbuild  rust: syn: add `README.md`  rust: syn: remove `unicode-ident` dependency  rust: syn: add SPDX License Identifiers  rust: syn: import crate  rust: quote: enable support in kbuild  rust: quote: add `README.md`  rust: quote: add SPDX License Identifiers  rust: quote: import crate  rust: proc-macro2: enable support in kbuild  rust: proc-macro2: add `README.md`  rust: proc-macro2: remove `unicode_ident` dependency  rust: proc-macro2: add SPDX License Identifiers  rust: proc-macro2: import crate  rust: kbuild: support using libraries in `rustc_procmacro`  rust: kbuild: support skipping flags in `rustc_test_library`  rust: kbuild: add proc macro library support  rust: kbuild: simplify `--cfg` handling  rust: kbuild: introduce `core-flags` and `core-skip_flags`  ...

            List of files:
            /linux/.gitignore</description>
        <pubDate>Wed, 03 Dec 2025 23:16:49 +0100</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>54e3eae855629702c566bd2e130d9f40e7f35bde - Merge patch series &quot;`syn` support&quot;</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#54e3eae855629702c566bd2e130d9f40e7f35bde</link>
        <description>Merge patch series &quot;`syn` support&quot;This patch series introduces support for `syn` (and its dependencies):    Syn is a parsing library for parsing a stream of Rust tokens into a    syntax tree of Rust source code.    Currently this library is geared toward use in Rust procedural    macros, but contains some APIs that may be useful more generally.It is the most downloaded Rust crate (according to crates.io), and itis also used by the Rust compiler itself. Having such support allows togreatly simplify writing complex macros such as `pin-init`. We will useit in the `macros` crate too.Benno has already prepared the `pin-init` version based on this, and ontop of that, we will be able to simplify the `macros` crate too. I thinkJesung is working on updating the `TryFrom` and `Into` upcoming derivemacros to use `syn` too.The series starts with a few preparation commits (two fixes were alreadymerged in mainline that were discovered by this series), then each crateis added. Finally, support for using the new crates from our `macros`crate is introduced.This has been a long time coming, e.g. even before Rust for Linux wasmerged into the Linux kernel, Gary and Benno have wanted to use `syn`.The first iterations of this, from 2022 and 2023 (with `serde` too,another popular crate), are at:    https://github.com/Rust-for-Linux/linux/pull/910    https://github.com/Rust-for-Linux/linux/pull/1007After those, we considered picking these from the distributions wherepossible. However, after discussing it, it is not really worth thecomplexity: vendoring makes things less complex and is less fragile.In particular, we avoid having to support and test several versions,we avoid having to introduce Cargo just to properly fetch the rightversions from the registry, we can easily customize the crates if needed(e.g. dropping the `unicode_idents` dependency like it is done in thisseries) and we simplify the configuration of the build for users forwhich the &quot;default&quot; paths/registries would not have worked.Moreover, nowadays, the ~57k lines introduced are not that much comparedto years ago (it dwarfed the actual Rust kernel code). Moreover, backthen it wasn&apos;t clear the Rust experiment would be a success, so it wouldhave been a bit pointless/risky to add many lines for nothing. Our macroneeds were also smaller in the early days.So, finally, in Kangrejos 2025 we discussed going with the original,simpler approach. Thus here it is the result.There should not be many updates needed for these, and even if thereare, they should not be too big, e.g. +7k -3k lines across the 3 cratesin the last year.Note that `syn` does not have all the features enabled, since we do notneed them so far, but they can easily be enabled just adding them to thelist.Link: https://patch.msgid.link/20251124151837.2184382-1-ojeda@kernel.orgSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Mon, 24 Nov 2025 17:16:04 +0100</pubDate>
        <dc:creator>Miguel Ojeda &lt;ojeda@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>7dbe46c0b11dded16cf9c5f85c1a3f260422cee5 - rust: kbuild: add proc macro library support</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#7dbe46c0b11dded16cf9c5f85c1a3f260422cee5</link>
        <description>rust: kbuild: add proc macro library supportAdd the proc macro library rule that produces `.rlib` files to be usedby proc macros such as the `macros` crate.Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Tested-by: Gary Guo &lt;gary@garyguo.net&gt;Tested-by: Jesung Yang &lt;y.j3ms.n@gmail.com&gt;Link: https://patch.msgid.link/20251124151837.2184382-4-ojeda@kernel.orgSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Mon, 24 Nov 2025 16:18:15 +0100</pubDate>
        <dc:creator>Miguel Ojeda &lt;ojeda@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>2ace52718376fdb56aca863da2eebe70d7e2ddb1 - Merge branch &apos;objtool/core&apos;</title>
        <link>http://kernelsources.org:8080/source/history/linux/.gitignore#2ace52718376fdb56aca863da2eebe70d7e2ddb1</link>
        <description>Merge branch &apos;objtool/core&apos;Bring in the UDB and objtool data annotations to avoid conflicts while further extending the bug exceptions.Signed-off-by: Peter Zijlstra &lt;peterz@infradead.org&gt;

            List of files:
            /linux/.gitignore</description>
        <pubDate>Fri, 21 Nov 2025 11:21:20 +0100</pubDate>
        <dc:creator>Peter Zijlstra &lt;peterz@infradead.org&gt;</dc:creator>
    </item>
</channel>
</rss>
