linux-stable/drivers/staging/android
Mitchel Humpherys 95e53ddd82 staging: ion: always initialize the free list parameters
Currently we initialize the heap free_lock and free list size in
ion_heap_init_deferred_free, which is only called when the
ION_HEAP_FLAG_DEFER_FREE heap flag is given.  However, the lock and size
are used in the shrinker path as well as the deferred free path, and we
can register a shrinker *without* enabling deferred freeing.  So, if a
heap provides a shrinker but *doesn't* set the DEFER_FREE flag we will
use these parameters uninitialized (resulting in a spinlock bug and
broken shrinker accounting).

Fix these problems by initializing the free list parameters directly in
ion_device_add_heap, which is always called no matter which heap
features are being used.

Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-17 16:16:00 -08:00
..
ion staging: ion: always initialize the free list parameters 2015-01-17 16:16:00 -08:00
trace android: convert sync to fence api, v6 2014-07-08 13:28:26 -07:00
uapi staging: android: binder: move to the "real" part of the kernel 2014-10-20 10:30:15 +08:00
alarm-dev.c staging: alarm-dev: Set the license to GPL 2014-06-20 08:28:01 -07:00
android_alarm.h
ashmem.c Merge branch 'for-3.19' of git://linux-nfs.org/~bfields/linux 2014-12-16 15:25:31 -08:00
ashmem.h
Kconfig staging: android: binder: move to the "real" part of the kernel 2014-10-20 10:30:15 +08:00
logger.c staging: android: logger: Fix log corruption regression 2014-10-28 18:24:30 -04:00
logger.h
lowmemorykiller.c
Makefile staging: android: binder: move to the "real" part of the kernel 2014-10-20 10:30:15 +08:00
sw_sync.c staging: android: sw_sync: checkpatch fixes 2014-09-19 16:35:53 -07:00
sw_sync.h staging: android: sw_sync: checkpatch fixes 2014-09-19 16:35:53 -07:00
sync.c Merge 3.17-rc5 into staging-next. 2014-09-14 19:33:47 -07:00
sync.h staging : android : sync : get_unused_fd 2014-09-28 22:03:57 -04:00
sync_debug.c staging: android: Replace timeval with timespec64 2014-10-28 16:15:03 +08:00
timed_gpio.c Staging patches for 3.19-rc1 2014-12-15 18:06:13 -08:00
timed_gpio.h
timed_output.c Staging: android: timed_output.c: use kstrtoint() instead of sscanf() 2014-07-30 17:17:02 -07:00
timed_output.h
TODO staging: android: logger: Add a TODO 2014-11-03 16:09:28 -08:00