diff options
| author | Martijn Coenen <maco@google.com> | 2018-05-11 01:45:24 -0700 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2018-11-29 10:59:46 +0100 |
| commit | 98f55d3a8dd20a0bee8bcc12e4bf507a9a58ae93 (patch) | |
| tree | 624f19da90a6ea03712368273818576c610f460a /drivers/android | |
| parent | 05a3a630ec614783a8be1a477f70bce20f2d251e (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
Diffstat (limited to 'drivers/android')
| -rw-r--r-- | drivers/android/Kconfig | 15 | ||||
| -rw-r--r-- | drivers/android/binder.c | 4 |
2 files changed, 1 insertions, 18 deletions
diff --git a/drivers/android/Kconfig b/drivers/android/Kconfig index f06b07038..8f7fef838 100644 --- a/drivers/android/Kconfig +++ b/drivers/android/Kconfig @@ -9,7 +9,7 @@ if ANDROID config ANDROID_BINDER_IPC bool "Android Binder IPC Driver" - depends on MMU + depends on MMU && !M68K default n ---help--- 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. -config ANDROID_BINDER_IPC_32BIT - bool "Use old (Android 4.4 and earlier) 32-bit binder API" - depends on !64BIT && ANDROID_BINDER_IPC - default n - ---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. - endif # if ANDROID endmenu diff --git a/drivers/android/binder.c b/drivers/android/binder.c index 283cd46af..9b9aae8b0 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -73,10 +73,6 @@ #include <linux/sched/rt.h> -#ifdef CONFIG_ANDROID_BINDER_IPC_32BIT -#define BINDER_IPC_32BIT 1 -#endif - #include <uapi/linux/android/binder.h> #include "binder_alloc.h" #include "binder_trace.h" |
