Revert "Revert "init: Set ADDR_COMPAT_LAYOUT before spawning processes.""
This reverts commit 87980b5c9f
Getting more reports of app crashes (e.g. 7990090), so given timeline for MR2, want to revert.
Change-Id: Ic2d101d2d1156b3864d5c9b88aa8c94cd5aa345f
This commit is contained in:
parent
87980b5c9f
commit
eb22e6a52b
16
init/init.c
16
init/init.c
|
@ -31,6 +31,7 @@
|
|||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
#include <sys/personality.h>
|
||||
|
||||
#ifdef HAVE_SELINUX
|
||||
#include <selinux/selinux.h>
|
||||
|
@ -242,6 +243,21 @@ void service_start(struct service *svc, const char *dynamic_args)
|
|||
int fd, sz;
|
||||
|
||||
umask(077);
|
||||
#ifdef __arm__
|
||||
/*
|
||||
* b/7188322 - Temporarily revert to the compat memory layout
|
||||
* to avoid breaking third party apps.
|
||||
*
|
||||
* THIS WILL GO AWAY IN A FUTURE ANDROID RELEASE.
|
||||
*
|
||||
* http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7dbaa466
|
||||
* changes the kernel mapping from bottom up to top-down.
|
||||
* This breaks some programs which improperly embed
|
||||
* an out of date copy of Android's linker.
|
||||
*/
|
||||
int current = personality(0xffffFFFF);
|
||||
personality(current | ADDR_COMPAT_LAYOUT);
|
||||
#endif
|
||||
if (properties_inited()) {
|
||||
get_property_workspace(&fd, &sz);
|
||||
sprintf(tmp, "%d,%d", dup(fd), sz);
|
||||
|
|
Loading…
Reference in New Issue