<?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 Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><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/drivers/android/binder/Makefile#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/drivers/android/binder/Makefile</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>7ab26eb5a2b4009344580117ef05981867e0c7d7 - Merge patch series &quot;rust: bump minimum Rust and `bindgen` versions&quot;</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#7ab26eb5a2b4009344580117ef05981867e0c7d7</link>
        <description>Merge patch series &quot;rust: bump minimum Rust and `bindgen` versions&quot;As proposed in the past in e.g. LPC 2025 and the Maintainers Summit [1],we are going to follow Debian Stable&apos;s Rust versions as our minimumsupported version.Debian Trixie was released with a Rust 1.85.0 toolchain [2], which itstill uses to this day [3] (i.e. no update to Rust 1.85.1).Debian Trixie was released with `bindgen` 0.71.1, which it also stilluses to this day [4].Debian Trixie&apos;s release happened on 2025-08-09 [5], which means that afair amount of time has passed since its release for kernel developersto upgrade.Thus bump the minimum to the new versions, i.e.  - Rust: 1.78.0 -&gt; 1.85.0  - bindgen: 0.65.1 -&gt; 0.71.1There are a few main parts to the series, in this order:  - A few cleanups that can be performed before the bumps.  - The Rust bump (and its cleanups).  - The `bindgen` bump (and its cleanups).  - Documentation updates.  - The `cfi_encoding` patch, added here, which needs the bump.  - The per-version flags support and a Clippy cleanup on top.Link: https://lwn.net/Articles/1050174/ [1]Link: https://www.debian.org/releases/trixie/release-notes/whats-new.en.html#desktops-and-well-known-packages [2]Link: https://packages.debian.org/trixie/rustc [3]Link: https://packages.debian.org/trixie/bindgen [4]Link: https://www.debian.org/releases/trixie/ [5]Link: https://patch.msgid.link/20260405235309.418950-1-ojeda@kernel.orgSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux/drivers/android/binder/Makefile</description>
        <pubDate>Tue, 07 Apr 2026 10:40:11 +0200</pubDate>
        <dc:creator>Miguel Ojeda &lt;ojeda@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>9e5946de3a3876113098dc272873802baff022cc - rust: declare cfi_encoding for lru_status</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#9e5946de3a3876113098dc272873802baff022cc</link>
        <description>rust: declare cfi_encoding for lru_statusBy default bindgen will convert &apos;enum lru_status&apos; into a typedef for aninteger. For the most part, an integer of the same size as the enumresults in the correct ABI, but in the specific case of CFI, that is notthe case. The CFI encoding is supposed to be the same as a struct called&apos;lru_status&apos; rather than the name of the underlying native integer type.To fix this, tell bindgen to generate a newtype and set the CFI typeexplicitly. Note that we need to set the CFI attribute explicitly asbindgen is using repr(transparent), which is otherwise identical to theinner type for ABI purposes.This allows us to remove the page range helper C function in Binderwithout risking a CFI failure when list_lru_walk calls the providedfunction pointer.The --with-attribute-custom-enum argument requires bindgen v0.71 orgreater.[ In particular, the feature was added in 0.71.0 [1][2].  In addition, `feature(cfi_encoding)` has been available since  Rust 1.71.0 [3].  Link: https://github.com/rust-lang/rust-bindgen/issues/2520 [1]  Link: https://github.com/rust-lang/rust-bindgen/pull/2866 [2]  Link: https://github.com/rust-lang/rust/pull/105452 [3]    - Miguel ]My testing procedure was to add this to the android17-6.18 branch andverify that rust_shrink_free_page is successfully called without crash,and verify that it does in fact crash when the cfi_encoding is set toother values. Note that I couldn&apos;t test this on android16-6.12 as thatbranch uses a bindgen version that is too old.Signed-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Link: https://patch.msgid.link/20260223-cfi-lru-status-v2-1-89c6448a63a4@google.com[ Rebased on top of the minimum Rust version bump series which provide  the required `bindgen` version. - Miguel ]Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Link: https://patch.msgid.link/20260405235309.418950-32-ojeda@kernel.orgSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux/drivers/android/binder/Makefile</description>
        <pubDate>Mon, 06 Apr 2026 01:53:07 +0200</pubDate>
        <dc:creator>Alice Ryhl &lt;aliceryhl@google.com&gt;</dc:creator>
    </item>
<item>
        <title>a4a508df2aa34f8650afde54ea804321c618f45f - Merge tag &apos;v6.18&apos; into next</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#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/drivers/android/binder/Makefile</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>7362b5b493102c6b71827c2da22117b475528f6d - Merge branch &apos;for-6.19/nintendo&apos; into for-linus</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#7362b5b493102c6b71827c2da22117b475528f6d</link>
        <description>Merge branch &apos;for-6.19/nintendo&apos; into for-linus- switch to WQ_PERCPU workaueues (Marco Crivellari)- reduce potential initialization blocking time of hid-nintendo (Willy Huang)

            List of files:
            /linux/drivers/android/binder/Makefile</description>
        <pubDate>Tue, 02 Dec 2025 14:46:11 +0100</pubDate>
        <dc:creator>Jiri Kosina &lt;jkosina@suse.com&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/drivers/android/binder/Makefile#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/drivers/android/binder/Makefile</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/drivers/android/binder/Makefile#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/drivers/android/binder/Makefile</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/drivers/android/binder/Makefile#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/drivers/android/binder/Makefile</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/drivers/android/binder/Makefile#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/drivers/android/binder/Makefile</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>39e9d5f63075f4d54e3b59b8238478c32af92755 - Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf before 6.18-rc1</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#39e9d5f63075f4d54e3b59b8238478c32af92755</link>
        <description>Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf before 6.18-rc1Cross-merge BPF and other fixes after downstream PR.No conflicts.Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;

            List of files:
            /linux/drivers/android/binder/Makefile</description>
        <pubDate>Sun, 12 Oct 2025 03:27:47 +0200</pubDate>
        <dc:creator>Alexei Starovoitov &lt;ast@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>2ace52718376fdb56aca863da2eebe70d7e2ddb1 - Merge branch &apos;objtool/core&apos;</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#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/drivers/android/binder/Makefile</description>
        <pubDate>Fri, 21 Nov 2025 11:21:20 +0100</pubDate>
        <dc:creator>Peter Zijlstra &lt;peterz@infradead.org&gt;</dc:creator>
    </item>
<item>
        <title>f39b6c468c52745dbca9a842d91c8373fda208ab - Merge tag &apos;v6.18-rc6&apos; into for-linus</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#f39b6c468c52745dbca9a842d91c8373fda208ab</link>
        <description>Merge tag &apos;v6.18-rc6&apos; into for-linusSync up with the mainline to bring in definition ofINPUT_PROP_HAPTIC_TOUCHPAD.

            List of files:
            /linux/drivers/android/binder/Makefile</description>
        <pubDate>Tue, 18 Nov 2025 08:16:55 +0100</pubDate>
        <dc:creator>Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4f38da1f027ea2c9f01bb71daa7a299c191b6940 - spi: Merge up v6.18-rc1</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#4f38da1f027ea2c9f01bb71daa7a299c191b6940</link>
        <description>spi: Merge up v6.18-rc1Ensure my CI has a sensible baseline.

            List of files:
            /linux/drivers/android/binder/Makefile</description>
        <pubDate>Mon, 13 Oct 2025 14:32:13 +0200</pubDate>
        <dc:creator>Mark Brown &lt;broonie@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>ec2e0fb07d789976c601bec19ecced7a501c3705 - Merge tag &apos;asoc-fix-v6.18-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/drivers/android/binder/Makefile#ec2e0fb07d789976c601bec19ecced7a501c3705</link>
        <description>Merge tag &apos;asoc-fix-v6.18-rc1&apos; of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linusASoC: Fixes for v6.18A moderately large collection of driver specific fixes, plus a few newquirks and device IDs.  The NAU8821 changes are a little large but morein mechanical ways than in ways that are complex.

            List of files:
            /linux/drivers/android/binder/Makefile</description>
        <pubDate>Thu, 16 Oct 2025 20:14:24 +0200</pubDate>
        <dc:creator>Takashi Iwai &lt;tiwai@suse.de&gt;</dc:creator>
    </item>
<item>
        <title>48a710760e10a4f36e11233a21860796ba204b1e - Merge drm/drm-fixes into drm-misc-fixes</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#48a710760e10a4f36e11233a21860796ba204b1e</link>
        <description>Merge drm/drm-fixes into drm-misc-fixesUpdating drm-misc-fixes to the state of v6.18-rc1.Signed-off-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;

            List of files:
            /linux/drivers/android/binder/Makefile</description>
        <pubDate>Tue, 14 Oct 2025 10:59:58 +0200</pubDate>
        <dc:creator>Thomas Zimmermann &lt;tzimmermann@suse.de&gt;</dc:creator>
    </item>
<item>
        <title>6093a688a07da07808f0122f9aa2a3eed250d853 - Merge tag &apos;char-misc-6.18-rc1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#6093a688a07da07808f0122f9aa2a3eed250d853</link>
        <description>Merge tag &apos;char-misc-6.18-rc1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-miscPull Char/Misc/IIO/Binder updates from Greg KH: &quot;Here is the big set of char/misc/iio and other driver subsystem  changes for 6.18-rc1.  Loads of different stuff in here, it was a busy development cycle in  lots of different subsystems, with over 27k new lines added to the  tree.  Included in here are:   - IIO updates including new drivers, reworking of existing apis, and     other goodness in the sensor subsystems   - MEI driver updates and additions   - NVMEM driver updates   - slimbus removal for an unused driver and some other minor updates   - coresight driver updates and additions   - MHI driver updates   - comedi driver updates and fixes   - extcon driver updates   - interconnect driver additions   - eeprom driver updates and fixes   - minor UIO driver updates   - tiny W1 driver updates  But the majority of new code is in the rust bindings and additions,  which includes:   - misc driver rust binding updates for read/write support, we can now     write &quot;normal&quot; misc drivers in rust fully, and the sample driver     shows how this can be done.   - Initial framework for USB driver rust bindings, which are disabled     for now in the build, due to limited support, but coming in through     this tree due to dependencies on other rust binding changes that     were in here. I&apos;ll be enabling these back on in the build in the     usb.git tree after -rc1 is out so that developers can continue to     work on these in linux-next over the next development cycle.   - Android Binder driver implemented in Rust.     This is the big one, and was driving a huge majority of the rust     binding work over the past years. Right now there are two binder     drivers in the kernel, selected only at build time as to which one     to use as binder wants to be included in the system at boot time.     The binder C maintainers all agreed on this, as eventually, they     want the C code to be removed from the tree, but it will take a few     releases to get there while both are maintained to ensure that the     rust implementation is fully stable and compliant with the existing     userspace apis.  All of these have been in linux-next for a while&quot;* tag &apos;char-misc-6.18-rc1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (320 commits)  rust: usb: keep usb::Device private for now  rust: usb: don&apos;t retain device context for the interface parent  USB: disable rust bindings from the build for now  samples: rust: add a USB driver sample  rust: usb: add basic USB abstractions  coresight: Add label sysfs node support  dt-bindings: arm: Add label in the coresight components  coresight: tnoc: add new AMBA ID to support Trace Noc V2  coresight: Fix incorrect handling for return value of devm_kzalloc  coresight: tpda: fix the logic to setup the element size  coresight: trbe: Return NULL pointer for allocation failures  coresight: Refactor runtime PM  coresight: Make clock sequence consistent  coresight: Refactor driver data allocation  coresight: Consolidate clock enabling  coresight: Avoid enable programming clock duplicately  coresight: Appropriately disable trace bus clocks  coresight: Appropriately disable programming clocks  coresight: etm4x: Support atclk  coresight: catu: Support atclk  ...

            List of files:
            /linux/drivers/android/binder/Makefile</description>
        <pubDate>Sun, 05 Oct 2025 01:26:32 +0200</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>eafedbc7c050c44744fbdf80bdf3315e860b7513 - rust_binder: add Rust Binder driver</title>
        <link>http://kernelsources.org:8080/source/history/linux/drivers/android/binder/Makefile#eafedbc7c050c44744fbdf80bdf3315e860b7513</link>
        <description>rust_binder: add Rust Binder driverWe&apos;re generally not proponents of rewrites (nasty uncomfortable thingsthat make you late for dinner!). So why rewrite Binder?Binder has been evolving over the past 15+ years to meet the evolvingneeds of Android. Its responsibilities, expectations, and complexityhave grown considerably during that time. While we expect Binder tocontinue to evolve along with Android, there are a number of factorsthat currently constrain our ability to develop/maintain it. Brieflythose are:1. Complexity: Binder is at the intersection of everything in Android and   fulfills many responsibilities beyond IPC. It has become many things   to many people, and due to its many features and their interactions   with each other, its complexity is quite high. In just 6kLOC it must   deliver transactions to the right threads. It must correctly parse   and translate the contents of transactions, which can contain several   objects of different types (e.g., pointers, fds) that can interact   with each other. It controls the size of thread pools in userspace,   and ensures that transactions are assigned to threads in ways that   avoid deadlocks where the threadpool has run out of threads. It must   track refcounts of objects that are shared by several processes by   forwarding refcount changes between the processes correctly.  It must   handle numerous error scenarios and it combines/nests 13 different   locks, 7 reference counters, and atomic variables. Finally, It must   do all of this as fast and efficiently as possible. Minor performance   regressions can cause a noticeably degraded user experience.2. Things to improve: Thousand-line functions [1], error-prone error   handling [2], and confusing structure can occur as a code base grows   organically. After more than a decade of development, this codebase   could use an overhaul.[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/android/binder.c?h=v6.5#n2896[2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/android/binder.c?h=v6.5#n36583. Security critical: Binder is a critical part of Android&apos;s sandboxing   strategy. Even Android&apos;s most de-privileged sandboxes (e.g. the   Chrome renderer, or SW Codec) have direct access to Binder. More than   just about any other component, it&apos;s important that Binder provide   robust security, and itself be robust against security   vulnerabilities.It&apos;s #1 (high complexity) that has made continuing to evolve Binder andresolving #2 (tech debt) exceptionally difficult without causing #3(security issues). For Binder to continue to meet Android&apos;s needs, weneed better ways to manage (and reduce!) complexity without increasingthe risk.The biggest change is obviously the choice of programming language. Wedecided to use Rust because it directly addresses a number of thechallenges within Binder that we have faced during the last years. Itprevents mistakes with ref counting, locking, bounds checking, and alsodoes a lot to reduce the complexity of error handling. Additionally,we&apos;ve been able to use the more expressive type system to encode theownership semantics of the various structs and pointers, which takes thecomplexity of managing object lifetimes out of the hands of theprogrammer, reducing the risk of use-after-frees and similar problems.Rust has many different pointer types that it uses to encode ownershipsemantics into the type system, and this is probably one of the mostimportant aspects of how it helps in Binder. The Binder driver has a lotof different objects that have complex ownership semantics; somepointers own a refcount, some pointers have exclusive ownership, andsome pointers just reference the object and it is kept alive in someother manner. With Rust, we can use a different pointer type for eachkind of pointer, which enables the compiler to enforce that theownership semantics are implemented correctly.Another useful feature is Rust&apos;s error handling. Rust allows for moresimplified error handling with features such as destructors, and you getcompilation failures if errors are not properly handled. This means thateven though Rust requires you to spend more lines of code than C onthings such as writing down invariants that are left implicit in C, theRust driver is still slightly smaller than C binder: Rust is 5.5kLOC andC is 5.8kLOC. (These numbers are excluding blank lines, comments,binderfs, and any debugging facilities in C that are not yet implementedin the Rust driver. The numbers include abstractions in rust/kernel/that are unlikely to be used by other drivers than Binder.)Although this rewrite completely rethinks how the code is structured andhow assumptions are enforced, we do not fundamentally change *how* thedriver does the things it does. A lot of careful thought has gone intothe existing design. The rewrite is aimed rather at improving codehealth, structure, readability, robustness, security, maintainabilityand extensibility. We also include more inline documentation, andimprove how assumptions in the code are enforced. Furthermore, allunsafe code is annotated with a SAFETY comment that explains why it iscorrect.We have left the binderfs filesystem component in C. Rewriting it inRust would be a large amount of work and requires a lot of bindings tothe file system interfaces. Binderfs has not historically had the samechallenges with security and complexity, so rewriting binderfs seems tohave lower value than the rest of Binder.Correctness and feature parity------------------------------Rust binder passes all tests that validate the correctness of Binder inthe Android Open Source Project. We can boot a device, and run a varietyof apps and functionality without issues. We have performed this both onthe Cuttlefish Android emulator device, and on a Pixel 6 Pro.As for feature parity, Rust binder currently implements all featuresthat C binder supports, with the exception of some debugging facilities.The missing debugging facilities will be added before we submit the Rustimplementation upstream.Tracepoints-----------I did not include all of the tracepoints as I felt that the mechansimfor making C access fields of Rust structs should be discussed on listseparately. I also did not include the support for building Rust Binderas a module since that requires exporting a bunch of additional symbolson the C side.Original RFC Link with old benchmark numbers:	https://lore.kernel.org/r/20231101-rust-binder-v1-0-08ba9197f637@google.comCo-developed-by: Wedson Almeida Filho &lt;wedsonaf@gmail.com&gt;Signed-off-by: Wedson Almeida Filho &lt;wedsonaf@gmail.com&gt;Co-developed-by: Matt Gilbride &lt;mattgilbride@google.com&gt;Signed-off-by: Matt Gilbride &lt;mattgilbride@google.com&gt;Acked-by: Carlos Llamas &lt;cmllamas@google.com&gt;Acked-by: Paul Moore &lt;paul@paul-moore.com&gt;Signed-off-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Link: https://lore.kernel.org/r/20250919-rust-binder-v2-1-a384b09f28dd@google.comSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux/drivers/android/binder/Makefile</description>
        <pubDate>Fri, 19 Sep 2025 08:42:07 +0200</pubDate>
        <dc:creator>Alice Ryhl &lt;aliceryhl@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
