linux/drivers/base
David Woodhouse e48db6326e firmware_class: fix memory leak - free allocated pages
commit dd336c554d upstream.

fix memory leak introduced by the patch 6e03a201bbe:
firmware: speed up request_firmware()

1. vfree won't release pages there were allocated explicitly and mapped
using vmap. The memory has to be vunmap-ed and the pages needs
to be freed explicitly

2. page array is moved into the 'struct
firmware' so that we can free it from release_firmware()
and not only in fw_dev_release()

The fix doesn't break the firmware load speed.

Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Ming Lei <tom.leiming@gmail.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Singed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-02 10:21:25 -07:00
..
power PM / Runtime: Fix lockdep warning in __pm_runtime_set_status() 2009-12-18 14:03:10 -08:00
attribute_container.c
base.h Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev 2009-09-15 09:50:49 -07:00
bus.c Driver core: allow certain drivers prohibit bind/unbind via sysfs 2009-10-30 14:59:51 -07:00
class.c class: Free the class private data in class_release 2010-02-23 07:37:57 -08:00
core.c driver-core: fix race condition in get_device_parent() 2010-03-15 08:49:52 -07:00
cpu.c drivers/base/cpu.c: fix the output from /sys/devices/system/cpu/offline 2010-07-05 11:10:40 -07:00
dd.c
devres.c
devtmpfs.c Driver-Core: devtmpfs - reset inode permissions before unlinking 2010-03-15 08:49:53 -07:00
dma-coherent.c
dma-mapping.c
driver.c Driver core: fix driver_register() return value 2009-10-30 14:59:51 -07:00
firmware_class.c firmware_class: fix memory leak - free allocated pages 2010-08-02 10:21:25 -07:00
firmware.c
hypervisor.c
init.c Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev 2009-09-15 09:50:49 -07:00
iommu.c
isa.c
Kconfig Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev 2009-09-15 09:50:49 -07:00
Makefile Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev 2009-09-15 09:50:49 -07:00
map.c
memory.c
module.c
node.c mm: oom analysis: add shmem vmstat 2009-09-22 07:17:27 -07:00
platform.c Driver core: allow certain drivers prohibit bind/unbind via sysfs 2009-10-30 14:59:51 -07:00
sys.c
topology.c
transport_class.c