diff options
authorMartijn Coenen <maco@google.com>2018-05-11 01:45:24 -0700
committerMartijn Coenen <maco@android.com>2018-07-17 11:14:22 +0200
commit61a775a14bd860aa6ef226284ae9affb785a4628 (patch)
parenta199689541db907b2d256b48e51d8c2ed96e96ca (diff)
UPSTREAM: ANDROID: binder: remove 32-bit binder interface.
New devices launching with Android P need to use the 64-bit binder interface, even on 32-bit SoCs [0]. This change removes the Kconfig option to select the 32-bit binder interface. We don't think this will affect existing userspace for the following reasons: 1) The latest Android common tree is 4.14, so we don't believe any Android devices are on kernels >4.14. 2) Android devices launch on an LTS release and stick with it, so we wouldn't expect devices running on <= 4.14 now to upgrade to 4.17 or later. But even if they did, they'd rebuild the world (kernel + userspace) anyway. 3) Other userspaces like 'anbox' are already using the 64-bit interface. Note that this change doesn't remove the 32-bit UAPI itself; the reason for that is that Android userspace always uses the latest UAPI headers from upstream, and userspace retains 32-bit support for devices that are upgrading. This will be removed as well in 2-3 years, at which point we can remove the code from the UAPI as well. Finally, this change introduces build errors on archs where 64-bit get_user/put_user is not supported, so make binder unavailable on m68k (which wouldn't want it anyway). [0]: https://android-review.googlesource.com/c/platform/build/+/595193 Signed-off-by: Martijn Coenen <maco@android.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 1190b4e38f97023154e6b3bef61b251aa5f970d0) Change-Id: I73dadf1d7b45a42bb18be5d5d3f5c090e61866de
2 files changed, 1 insertions, 18 deletions
diff --git a/drivers/android/Kconfig b/drivers/android/Kconfig
index 01de42c8b74b..63ed9ceebf7b 100644
--- a/drivers/android/Kconfig
+++ b/drivers/android/Kconfig
@@ -9,7 +9,7 @@ if ANDROID
bool "Android Binder IPC Driver"
- depends on MMU
+ depends on MMU && !M68K
default n
Binder is used in Android for both communication between processes,
@@ -31,19 +31,6 @@ config ANDROID_BINDER_DEVICES
created. Each binder device has its own context manager, and is
therefore logically separated from the other devices.
- bool
- depends on !64BIT && ANDROID_BINDER_IPC
- default y
- ---help---
- The Binder API has been changed to support both 32 and 64bit
- applications in a mixed environment.
- Enable this to support an old 32-bit Android user-space (v4.4 and
- earlier).
- Note that enabling this will break newer Android user-space.
bool "Android Binder IPC Driver Selftest"
diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index 754a32053d36..6121d012ce68 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -71,10 +71,6 @@
#include <linux/security.h>
#include <linux/spinlock.h>
-#define BINDER_IPC_32BIT 1
#include <uapi/linux/android/binder.h>
#include "binder_alloc.h"
#include "binder_trace.h"