linux/drivers/base
Guenter Roeck ec692f3cba regmap: regcache-rbtree: Clean new present bits on present bitmap resize
[ Upstream commit 8ef9724bf9 ]

When inserting a new register into a block, the present bit map size is
increased using krealloc. krealloc does not clear the additionally
allocated memory, leaving it filled with random values. Result is that
some registers are considered cached even though this is not the case.

Fix the problem by clearing the additionally allocated memory. Also, if
the bitmap size does not increase, do not reallocate the bitmap at all
to reduce overhead.

Fixes: 3f4ff561bc ("regmap: rbtree: Make cache_present bitmap per node")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2015-09-17 01:29:53 -04:00
..
power PM / Domains: Fix initial default state of the need_restore flag 2014-11-11 22:28:44 +01:00
regmap regmap: regcache-rbtree: Clean new present bits on present bitmap resize 2015-09-17 01:29:53 -04:00
attribute_container.c attribute_container: fix coding style issues 2014-09-23 22:55:15 -07:00
base.h driver core: Move driver_data back to struct device 2014-05-27 12:37:18 -07:00
bus.c driver core: bus: Goto appropriate labels on failure in bus_add_device 2015-05-17 19:12:29 -04:00
class.c sysfs: make attr namespace interface less convoluted 2013-09-26 14:50:01 -07:00
component.c component: fix bug with legacy API 2014-07-04 18:05:05 +01:00
container.c ACPI / hotplug / driver core: Handle containers in a special way 2013-12-29 15:25:48 +01:00
core.c sysfs: driver core: Fix glue dir race condition by gdp_mutex 2014-11-07 08:17:43 -08:00
cpu.c x86: align x86 arch with generic CPU modalias handling 2014-02-18 12:45:38 -08:00
dd.c driver core: Remove kerneldoc from local function 2014-09-23 23:10:11 -07:00
devcoredump.c device coredump: add new device coredump class 2014-09-23 22:53:15 -07:00
devres.c devres: Improve devm_kasprintf()/kvasprintf() support 2014-09-23 23:32:50 -07:00
devtmpfs.c devtmpfs: Calling delete_path() only when necessary 2013-12-19 10:10:32 -08:00
dma-coherent.c drivers: dma-coherent: add initialization from device tree 2014-10-14 02:18:12 +02:00
dma-contiguous.c drivers: of: add return value to of_reserved_mem_device_init() 2014-10-29 16:33:14 -07:00
dma-mapping.c common: dma-mapping: introduce common remapping functions 2014-10-09 22:25:52 -04:00
driver.c driver core: add #include <linux/sysfs.h> to core files. 2013-08-27 10:24:15 -07:00
firmware.c firmware: change firmware_kset to firmware_kobj 2008-01-24 20:40:23 -08:00
firmware_class.c Fix firmware loader uevent buffer NULL pointer dereference 2015-08-04 14:43:38 -04:00
hypervisor.c drivers/base: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required. 2011-10-31 19:31:38 -04:00
init.c ACPI / hotplug / driver core: Handle containers in a special way 2013-12-29 15:25:48 +01:00
isa.c dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24) 2009-04-07 08:31:12 -07:00
Kconfig tiny: rename ENABLE_DEV_COREDUMP to ALLOW_DEV_COREDUMP 2014-11-07 11:07:35 -08:00
Makefile Driver core: Unified device properties interface for platform firmware 2015-06-28 13:39:20 -04:00
map.c [PATCH] kobj_map semaphore to mutex conversion 2006-03-20 13:42:58 -08:00
memory.c memory-hotplug: add sysfs valid_zones attribute 2014-10-09 22:25:52 -04:00
module.c driver core: module.c: Use kasprintf 2010-05-21 09:37:29 -07:00
node.c mm: remove noisy remainder of the scan_unevictable interface 2014-10-09 22:25:55 -04:00
pinctrl.c drivers: pinctrl sleep and idle states in the core 2013-06-16 11:56:52 +02:00
platform.c drivers: platform: parse IRQ flags from resources 2015-05-17 19:12:29 -04:00
property.c Driver core: Unified device properties interface for platform firmware 2015-06-28 13:39:20 -04:00
soc.c mode_t whack-a-mole: ->is_visible() returns umode_t... 2012-05-29 23:28:42 -04:00
syscore.c genirq: Simplify wakeup mechanism 2014-09-01 13:48:59 +02:00
topology.c topology: Fix compilation warning when not in SMP 2014-04-16 14:13:26 -07:00
transport_class.c drivers/base: transport_class explicitly requires EXPORT_SYMBOL 2011-10-31 19:31:15 -04:00