Google's "Painful To Maintain" Binder C Linux Driver Being Removed In Favor Of Rust

Now that the Rust Binder driver has matured enough and proven its usefulness in being easier to maintain and extend for new functionality, the old Binder C code is set to be removed. The Rust Binder driver has also proven it can be as competitive performance-wise -- or even faster -- than the original Binder driver.

Google engineer Carlos Llamas wrote with the patch for removing the 11k lines of old Binder C code:

"The day has finally come. We are dropping the legacy C implementation of the Binder IPC driver in favor of its Rust version.

For 15+ years, the C driver has grown increasingly complex, making it incredibly painful to maintain and land new features without tripping over vulnerabilities. The Rust implementation alleviates most of these issues, so it's time for a change.

Alice Ryhl has worked hard on the Rust binder for the past couple of years, not only achieving full feature parity but also proving that it can match and often beat the performance of the C counterpart. Having run successfully on Android devices for some time now, we can no longer call this an "experiment".

It's time to move on, yank the C code, and focus all new features and optimizations on the Rust driver.

Long live the new Rust Binder king!"

Farewell to the old Binder driver. Greg Kroah-Hartman picked up this removal patch into the char-misc-next Git branch. With him queuing it into the char/misc code for "-next", it's set to be submitted for the Linux 7.4 merge window.