The newest kernel ends up setting VM_EXEC on mmap for some reason. This prevents the Android binder from working with stable-tracking. The following allows for VM_EXEC and removes a duplicate entry in init/Kconfig.

Sean

diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index a6a8380..80a96be 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -54,11 +54,7 @@ static int binder_read_proc_proc(
 #define SZ_4M                               0x400000
 #endif
 
-#ifndef __i386__
-#define FORBIDDEN_MMAP_FLAGS                (VM_WRITE | VM_EXEC)
-#else
 #define FORBIDDEN_MMAP_FLAGS                (VM_WRITE)
-#endif
 
 #define BINDER_SMALL_BUF_SIZE (PAGE_SIZE * 64)
 
diff --git a/init/Kconfig b/init/Kconfig
index 4fe525f..e0db656 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -741,15 +741,6 @@ config ASHMEM
 	  POSIX SHM but with different behavior and sporting a simpler
 	  file-based API.
 
-config ASHMEM
-	bool "Enable Android's Shared Memory Subsystem"
-	default n
-	depends on SHMEM || TINY_SHMEM
-	help
-	  The ashmem subsystem is a new shared memory allocator, similar to
-	  POSIX SHM but with different behavior and sporting a simpler
-	  file-based API.
-
 config VM_EVENT_COUNTERS
 	default y
 	bool "Enable VM event counters for /proc/vmstat" if EMBEDDED

Reply via email to