- 25 Jan, 2013 2 commits
-
-
Nick Kralevich authored
-
Nick Kralevich authored
Check that the permissions on the properties file are exactly as we expect them to be. Make sure we close the fd if fstat fails. Refactor the code slightly. Change-Id: I5503fd58c3b8093ce7e6d05920748ed70eaf8e2c
-
- 24 Jan, 2013 1 commit
-
-
Nick Kralevich authored
-
- 23 Jan, 2013 5 commits
-
-
Nick Kralevich authored
prctl.h uses __BEGIN_DECLS but fails to include sys/cdefs.h (where it's defined). Code which includes prctl.h without previously including sys/cdefs.h will fail to compile. Fixed. Change-Id: If4c9f3308f08b93596dcd00e351ae786807e9320
-
Nick Kralevich authored
-
Nick Kralevich authored
Currently, system properties are passed via the environment variable ANDROID_PROPERTY_WORKSPACE and a file descriptor passed from parent to child. This is insecure for setuid executables, as the environment variable can be changed by the caller. Modify system property handling so that we get the properties from a root owned properties file, rather than using an environment variable. Fall back to the environment variable if the file doesn't exist. Bug: 8045561 Change-Id: I54f3efa98cf7d63d88788da5ce0d19e34fd7851a
-
Elliott Hughes authored
-
Elliott Hughes authored
-
- 22 Jan, 2013 16 commits
-
-
Elliott Hughes authored
We don't know that they're not going to be cleaned up by a C++ global destructor that runs after us. This is the case with bootanimation, for example. Bug: 7291287 Change-Id: Iba402514d1735fdc2ae4bc95b65396d816be46c0
-
Elliott Hughes authored
When each shell leaks ~240 allocations, you can't see the leaks from the program you ran with "adb shell". Bug: 7291287 Change-Id: Ib8780db72ba0114ebdb24768537da74bbb61f354
-
Elliott Hughes authored
-
Elliott Hughes authored
-
Elliott Hughes authored
Change-Id: I45251047202a229f9175735ecc23c0ebcda71e8d
-
Elliott Hughes authored
-
Elliott Hughes authored
Just take the upstream NetBSD code. Bug: http://code.google.com/p/android/issues/detail?id=43078 Change-Id: Ibbbde9d00e8bc6a09c9503aab2b04b4e3d1f98b0
-
Elliott Hughes authored
-
Elliott Hughes authored
-
Elliott Hughes authored
Change-Id: I88afe0201ee5766a295fc5a9e710fba9d6e0d363
-
Elliott Hughes authored
Bug: 7291287 Change-Id: Ia7aa386e8b75b8058d7d9e707e11b1da7dc62f00
-
Nick Kralevich authored
-
Nick Kralevich authored
Both libc/include/sys/auxv.h and libc/private/bionic_auxv.h use _SYS_AUXV_H_ to see if a header file has already been included. This prevents both of these files from being included at the same time. Fix this name conflict. Change-Id: Ifaec88aa9779d784b95f8e75145117acf3d5cfc5
-
Elliott Hughes authored
-
Elliott Hughes authored
Change-Id: Idbf24ce8482ff03f24caa89bafb08677b1c5cec3
-
Elliott Hughes authored
-
- 19 Jan, 2013 2 commits
-
-
Kito Cheng authored
Change-Id: Icbc67375282f2a22dce02e4bacab15ddae846057
-
Elliott Hughes authored
We had two copies of the backtrace code, and two copies of the libcorkscrew /proc/pid/maps code. This patch gets us down to one. We also had hacks so we could log in the malloc debugging code. This patch pulls the non-allocating "printf" code out of the dynamic linker so everyone can share. This patch also makes the leak diagnostics easier to read, and makes it possible to paste them directly into the 'stack' tool (by using relative PCs). This patch also fixes the stdio standard stream leak that was causing a leak warning every time tf_daemon ran. Bug: 7291287 Change-Id: I66e4083ac2c5606c8d2737cb45c8ac8a32c7cfe8
-
- 18 Jan, 2013 2 commits
-
-
Nick Kralevich authored
-
- 17 Jan, 2013 5 commits
-
-
Nick Kralevich authored
-
Elliott Hughes authored
-
Nick Kralevich authored
Don't do the fortify_source checks if we can determine, at compile time, that the provided operation is safe. This avoids silliness like calling fortify source on things like: size_t len = strlen("asdf"); printf("%d\n", len); and allows the compiler to optimize this code to: printf("%d\n", 4); Defer to gcc's builtin functions instead of pointing our code to the libc implementation. Change-Id: I5e1dcb61946461c4afaaaa983e39f07c7a0df0ae
-
Raghu Gandham authored
based on architecture.
-
Nick Kralevich authored
-
- 16 Jan, 2013 7 commits
-
-
Nick Kralevich authored
The linker is essentially a shared library, and incorporates it's own copy of libc. Even though it's unnecessary, currently /system/bin/linker is exporting various libc symbols (only to apps which explicitly dlopen /system/bin/linker) Add --exclude-libs,ALL, which tells the static linker to mark all of the imported libc symbols as hidden. This reduces the size of /system/bin/linker from 92K to 67K with no obvious loss in functionality. $ adb shell ls -l /system/bin/linker -rwxrwxrwx root root 92260 2013-01-16 16:52 linker $ adb shell ls -l /system/bin/linker -rwxrwxrwx root root 67660 2013-01-16 16:49 linker Documentation on exclude-libs can be found at http://sourceware.org/binutils/docs-2.21/ld/Options.html Change-Id: I4508287770e4b7a845def2e6b4af969f9c866c6a
-
Nick Kralevich authored
-
Nick Kralevich authored
The AT_RANDOM changes broke setuid / setgid executables such as "ping". When the linker executes a setuid program, it cleans the environment, removing any invalid environment entries, and adding "NULL"s to the end of the environment array for each removed variable. Later on, we try to determine the location of the aux environment variable, and get tripped up by these extra NULLs. Reverting this patch will get setuid executables working again, but getauxval() is still broken for setuid programs because of this bug. This reverts commit e3a49a86. Change-Id: I05c58a896b1fe32cfb5d95d43b096045cda0aa4a
-
Nick Kralevich authored
-
Nick Kralevich authored
-
Nick Kralevich authored
Populate the stack canaries from the kernel supplied AT_RANDOM value, which doesn't involve any system calls. This is slightly faster (6 fewer syscalls) and avoids unnecessarily reading /dev/urandom, which depletes entropy. Bug: 7959813 Change-Id: If2b43100a2a9929666df3de56b6139fed969e0f1
-
Elliott Hughes authored
-