Commit graph

1071 commits

Author SHA1 Message Date
David 'Digit' Turner
2f16916246 Merge "libc: Fix leak in the DNS thread-specific state." into honeycomb-mr1 2011-03-25 01:45:49 -07:00
Ken Sumrall
ae2d5ba314 Add support for the utimensat(2) syscall to bionic.
The kernel has supported this syscall for quite some time now,
but bionic did not.  Now that there is a need for it, let's
add it to bionic.

Change-Id: Ifcef3e46f1438d79435b600c4e6063857ab16903
2011-03-24 18:18:48 -07:00
David 'Digit' Turner
4661fda2e5 libc: Fix leak in the DNS thread-specific state.
This patch fixes a leak that occurs when creating a new
thread-specific DNS resolver state object.

Essentially, each thread that calls gethostbyname() or getaddrinfo()
at least once will leak a small memory block. Another leak happens
anytime these functions are called after a change of the network
settings.

The leak is insignificant and hard to notice on typical programs.
However, netd tends to create one new thread for each DNS request
it processes, and quickly grows in size after a > 20 hours.

The same problem is seen in other system processes that tend to
create one thread per request too.

The leak occured becasue res_ninit() was called twice when creating
a new thread-specific DNS resolver state in _res_get_thread().

This function could not properly reset an existing thread and was
leaking a memory block.

The patch does two things:

- First, it fixes res_ninit() to prevent any leakage when resetting
  the state of a given res_state instance.

- Second, it modifies the _res_get_thread() implementation to
  make it more explicit, and avoid calling res_ninit() twice
  in a row on first-time creation.

Fix for Bug 4089945, and Bug 4090857

Change-Id: Ie4831a8dbe82be8f07fce5ddd1d36bf95994f836
2011-03-18 18:08:08 +01:00
satok
ec7e8cc9dd do not merge. Move property setting from libcutils to bionic.
Backport I110b653a58f3

All the other property stuff is already here.  Property setting was
only in libcutils previously to leverage a utility function / constant
or two.

Unfortunately in the process of fixing a race condition we would've
had to do break abstraction boundaries and put some libc-internal
details into libcutils so instead of that we'll just move this
into bionic.

Along with Iee1ca9b7, this now passes:

$ adb shell am instrument -w -e class android.os.SystemPropertiesTest \
  com.android.frameworks.coretests.systemproperties/android.test.InstrumentationTestRunner

  Bug: 3511230

Change-Id: I1b588db3344169621e1279ecc0b660cf4e1015d7
2011-03-15 11:02:26 +09:00
Mike Lockwood
2bb79ad9b5 Update USB accessory kernel header to include serial number support
Change-Id: Ic94e3f5ad278df43777fc4ea97f1fc67f6ccab0e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-14 17:50:44 -04:00
Mike Lockwood
c0fc678e96 linux/usb/f_accessory.h: Update USB accessory kernel header
For bugs b/4079236, b/4073248 and b/4080288

Change-Id: I641a0fa93492c7059900f0193c722356d13eeab5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-09 21:57:00 -05:00
Jason Chen
a08eb1df00 am 0ca21df5: (-s ours) am 6519756b: Merge "DO NOT MERGE Cherry-pick of 0ee092fb2 from master" into honeycomb
* commit '0ca21df5c6fbb22498cfde93b4fd4cac3235901b':
  DO NOT MERGE Cherry-pick of 0ee092fb2 from master
2011-03-02 15:32:53 -08:00
Jason Chen
0ca21df5c6 am 6519756b: Merge "DO NOT MERGE Cherry-pick of 0ee092fb2 from master" into honeycomb
* commit '6519756b23a8b18d06dae53cc3ece32c87146972':
  DO NOT MERGE Cherry-pick of 0ee092fb2 from master
2011-03-01 17:51:49 -08:00
Jason Chen
6519756b23 Merge "DO NOT MERGE Cherry-pick of 0ee092fb2 from master" into honeycomb 2011-03-01 17:48:25 -08:00
Mattias Falk
4489244058 DO NOT MERGE Cherry-pick of 0ee092fb2 from master
Convert cname lenght before use

The length of the cname is sent in big-endian
order. Thus, it has to be converted before used
in android_getaddrinfo_proxy

Change-Id: I78552d427ef6500d9121fc83423f0744ea0c3087
2011-03-01 17:22:04 -08:00
Erik Gilling
da14b0e1dd add linux/nvhdcp.h header
Change-Id: I74a1cf90bc9807002869aa9c7b5eddb065638db2
2011-03-01 14:46:11 -08:00
Mattias Falk
0ee092fb23 Convert cname lenght before use
The length of the cname is sent in big-endian
order. Thus, it has to be converted before used
in android_getaddrinfo_proxy

Change-Id: I1a0cc12780c47f7493fcf06f690515829f88c01e
2011-03-01 12:52:10 -08:00
David Turner
3224c08bd7 Merge changes I8c481c89,I791406f8,I5f09cef8
* changes:
  libc: ARM: update syscalls with new script
  libc: ARM: add size info to gensyscalls
  Add function marks and size indications
2011-02-18 15:22:27 -08:00
David Turner
0999f8dcf2 Merge "Move the zoneinfo generation tool into bionic." 2011-02-18 14:53:03 -08:00
Elliott Hughes
d40e63ee47 Move the zoneinfo generation tool into bionic.
This also incorporates a bunch of changes to the previous script; this one
requires no setup, can be run from anywhere, and leaves no droppings.

Change-Id: I38f299f03e33950d2a64e9336f4ba7cb3c5cf6f0
2011-02-17 16:20:28 -08:00
Kenny Root
fb723c8749 libc: ARM: update syscalls with new script
Used the new gensyscalls.py script to update the ARM syscalls with the
BEGIN(x) and END(x) macros to give size information for the code of the
syscall. Useful for valgrind.

Change-Id: I8c481c8928401ac110fd19b087f7d67e4db39326
2011-02-17 10:47:47 -08:00
Kenny Root
f540c03bff libc: ARM: add size info to gensyscalls
Add size information to gensyscalls output for ARM syscalls with new
BEGIN(x) and END(x) macros in arch-arm/include/machine/asm.h

Change-Id: I791406f8b17abcb83b70a6d15a65a527de15d3f5
2011-02-17 10:47:20 -08:00
Kenny Root
420878c690 Add function marks and size indications
Add a macro to annotate function end and start using both ENTRY and END
for each function. This allows valgrind (and presumably other debugging
tools) to use the debug symbols to trace the functions.

Change-Id: I5f09cef8e22fb356eb6f5cee952b031e567599b6
2011-02-17 09:07:25 -08:00
Kenny Root
0233509c16 Amend previous commit with needed include
Change-Id: Idae8daaf095d90513820e05f423144ffed4ba913
2011-02-17 07:50:36 -08:00
Kenny Root
3a3c1853ac Use CLZ on ARMv5 and newer
Change-Id: Ia5aa6974c0343ae43fbcb91304501213048e9ec0
2011-02-16 16:40:08 -08:00
Mike Lockwood
0d06b42327 Merge "Add linux/usb/f_accessory.h header for USB accessory driver" 2011-02-16 05:57:39 -08:00
Elliott Hughes
56d90bb49a Add MODULE_LICENSE_PUBLIC_DOMAIN for the tzdata.
Change-Id: Ie3dd3daef4610f3bd4cbc60f1de854ad28189038
2011-02-15 14:12:24 -08:00
Elliott Hughes
6ac872a0ee Update to 2011b tzdata.
Change-Id: Ic8c9e9a71a52435441db1367fb40b58ae23efe1a
2011-02-15 13:29:40 -08:00
Mike Lockwood
6783f6a736 Add linux/usb/f_accessory.h header for USB accessory driver
Change-Id: Id6ffd75f855028739674c36f30d2592391d90859
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-15 09:20:21 -05:00
Kenny Root
0aad55369d Merge "Fix the handle locking in stdio" 2011-02-14 15:46:36 -08:00
Kenny Root
f582340a6a Fix the handle locking in stdio
Fix the handle locking in stdio to use flockfile/funlockfile
internally when and where required.  Macros in <stdio.h> are updated
to automatically call the underlying functions when the process is
threaded to obtain the necessary locking.  A private mutex is added
to protect __sglue, the internal list of FILE handles, and another
to protect the one-time initialization.  Some routines in libc that
use getc() change to use getc_unlocked() as they're either protected
by their own lock or aren't thread-safe routines anyway.

Based on OpenBSD change by guenther@openbsd.org
http://www.mail-archive.com/source-changes@cvs.openbsd.org/msg01015.html

Bug: 3446659
Change-Id: Ie82116e358c541718d6709ec45ca6796be5a007b
2011-02-14 09:32:56 -08:00
Jean-Baptiste Queru
3e0cb1bc63 am 423d942e: am 69d6c2cc: Merge "Update"
* commit '423d942e6dc1e2051466e70d71520ab2e4273ea1':
  Update
2011-02-11 12:34:41 -08:00
Jean-Baptiste Queru
423d942e6d am 69d6c2cc: Merge "Update"
* commit '69d6c2ccd943f43e87445d00e96eb98deb690ea1':
  Update
2011-02-11 12:32:38 -08:00
Jean-Baptiste Queru
69d6c2ccd9 Merge "Update" 2011-02-11 12:17:21 -08:00
Dmitry Shmidt
a3db183abe Update
Change-Id: I41f590dec6bfd26c36cf01601cf03502d02d29af
2011-02-11 11:49:37 -08:00
Kenny Root
72f9a5c374 Increase SO_MAX to accomodate valgrind
system_server loads up 87 shared libraries upon start. Running under
valgrind pushes this just over the edge of 96. Increase SO_MAX to 128 to
give us some more headroom.

Change-Id: Iadceb14ab6d9621bdccd292570d50867828057d9
2011-02-10 17:02:23 -08:00
David Turner
9c2e97e9d3 am b35d80f0: am 76299d19: Merge "Remove an extra register move."
* commit 'b35d80f0b0a6d87ba20aa2de594db19a0ccf93df':
  Remove an extra register move.
2011-02-07 13:51:27 -08:00
David Turner
86ca12cfff am d7cf6382: am 8db7bcb1: Merge "Replace __atomic_XXX with GCC __sync_XXX intrinsics."
* commit 'd7cf638288f100f29f6ba733c50f12ecdb5e192b':
  Replace __atomic_XXX with GCC __sync_XXX intrinsics.
2011-02-07 13:51:25 -08:00
David Turner
ae54025061 am 9e401df6: am 1447332f: Merge "move some typedefs to procfs.h required by gdbserver build"
* commit '9e401df692e3c47124cbaff7b866f55eec3bba27':
  move some typedefs to procfs.h required by gdbserver build
2011-02-07 13:51:22 -08:00
David Turner
761cb55ab3 am dd279aa9: am 2282ecc2: Merge "Use more optimized version of memmove"
* commit 'dd279aa99f6b6310480e28ba1e843a23f722c87e':
  Use more optimized version of memmove
2011-02-07 13:43:54 -08:00
David Turner
b35d80f0b0 am 76299d19: Merge "Remove an extra register move."
* commit '76299d196f8cc731b5bd72880f63d9d9cfd05694':
  Remove an extra register move.
2011-02-07 08:00:04 -08:00
David Turner
d7cf638288 am 8db7bcb1: Merge "Replace __atomic_XXX with GCC __sync_XXX intrinsics."
* commit '8db7bcb14f6a3222151bb5304a55670bad0dc5a1':
  Replace __atomic_XXX with GCC __sync_XXX intrinsics.
2011-02-07 08:00:02 -08:00
David Turner
9e401df692 am 1447332f: Merge "move some typedefs to procfs.h required by gdbserver build"
* commit '1447332ffa163f608ebed332e09ab5519e4b17dd':
  move some typedefs to procfs.h required by gdbserver build
2011-02-07 08:00:00 -08:00
David Turner
76299d196f Merge "Remove an extra register move." 2011-02-06 15:01:57 -08:00
David Turner
8db7bcb14f Merge "Replace __atomic_XXX with GCC __sync_XXX intrinsics." 2011-02-06 15:01:39 -08:00
David Turner
1447332ffa Merge "move some typedefs to procfs.h required by gdbserver build" 2011-02-06 15:01:02 -08:00
David 'Digit' Turner
62e1f374d1 Merge "libc: Update auto-gen scripts" 2011-02-06 12:53:23 -08:00
Andy McFadden
4ce737f5df Added _memmove_words
Added a memmove() variant for Dalvik's System.arraycopy()
implementation.  It guarantees 16-bit or 32-bit atomicity depending
on the alignment of the arguments.

Bug 3398352

Change-Id: Ie7bd246305ef0ff8290513663327c5b81680368d
2011-02-04 14:49:49 -08:00
David Turner
dd279aa99f am 2282ecc2: Merge "Use more optimized version of memmove"
* commit '2282ecc295b58197a1e22f38a20750ccab4e3c69':
  Use more optimized version of memmove
2011-02-04 10:16:01 -08:00
David Turner
2282ecc295 Merge "Use more optimized version of memmove" 2011-02-04 05:13:35 -08:00
Brad Fitzpatrick
5b98774566 am b8175727: am 9a330512: Merge "Add time-to-live (TTL) support to resolver cache"
* commit 'b8175727c7a165076311f18c29f09bdc27d7be10':
  Add time-to-live (TTL) support to resolver cache
2011-02-03 18:07:54 -08:00
Bruce Beare
f4680b57ed Remove an extra register move.
Change-Id: I63c217b73203b44b1a2e74950b58f2ec12989cab
Author: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-02-03 12:21:04 -08:00
Bruce Beare
0f2001b147 Replace __atomic_XXX with GCC __sync_XXX intrinsics.
Change-Id: I14f275392fcd70cc15e307470e0a099777c7c09e
Author: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-02-03 12:21:03 -08:00
Bruce Beare
f6ccc15457 move some typedefs to procfs.h required by gdbserver build
Change-Id: I51fba4ceb80b63e583f462a2a00f3f658c7cdd36
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-02-03 12:21:02 -08:00
Brad Fitzpatrick
b8175727c7 am 9a330512: Merge "Add time-to-live (TTL) support to resolver cache"
* commit '9a3305128920e0ff018d267d1bf4f5e58a5146e5':
  Add time-to-live (TTL) support to resolver cache
2011-02-03 11:45:27 -08:00