linux/drivers/misc/cxl
Johannes Thumshirn b2a02ac65e cxl: Destroy cxl_adapter_idr on module_exit
Destroy cxl_adapter_idr on module exit, reclaiming the allocated memory.

This was detected by the following semantic patch (written by Luis Rodriguez
<mcgrof@suse.com>)
<SmPL>
@ defines_module_init @
declarer name module_init, module_exit;
declarer name DEFINE_IDR;
identifier init;
@@

module_init(init);

@ defines_module_exit @
identifier exit;
@@

module_exit(exit);

@ declares_idr depends on defines_module_init && defines_module_exit @
identifier idr;
@@

DEFINE_IDR(idr);

@ on_exit_calls_destroy depends on declares_idr && defines_module_exit @
identifier declares_idr.idr, defines_module_exit.exit;
@@

exit(void)
{
 ...
 idr_destroy(&idr);
 ...
}

@ missing_module_idr_destroy depends on declares_idr && defines_module_exit && !on_exit_calls_destroy @
identifier declares_idr.idr, defines_module_exit.exit;
@@

exit(void)
{
 ...
 +idr_destroy(&idr);
}
</SmPL>

Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Acked-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-07-16 14:14:55 +10:00
..
api.c cxl: Fix refcounting in kernel API 2015-07-07 19:38:37 +10:00
base.c cxl: Move include file cxl.h -> cxl-base.h 2015-06-03 13:27:19 +10:00
context.c cxl: Fix off by one error allowing subsequent mmap page to be accessed 2015-07-08 15:17:47 +10:00
cxl.h cxl: Add AFU virtual PHB and kernel API 2015-06-03 13:27:20 +10:00
debugfs.c
fault.c cxl: Only check pid for userspace contexts 2015-06-03 13:27:18 +10:00
file.c cxl: Export file ops for use by API 2015-06-03 13:27:20 +10:00
irq.c cxl: use more common format specifier 2015-07-13 10:10:54 +10:00
Kconfig cxl: Add CXL_KERNEL_API config option 2015-06-19 17:10:30 +10:00
main.c cxl: Destroy cxl_adapter_idr on module_exit 2015-07-16 14:14:55 +10:00
Makefile cxl: Add AFU virtual PHB and kernel API 2015-06-03 13:27:20 +10:00
native.c cxl: use more common format specifier 2015-07-13 10:10:54 +10:00
pci.c cxl: use more common format specifier 2015-07-13 10:10:54 +10:00
sysfs.c cxl: cxl_afu_reset() -> __cxl_afu_reset() 2015-06-03 13:27:18 +10:00
trace.c cxl: Add tracepoints 2015-01-22 17:31:51 +11:00
trace.h cxl: use more common format specifier 2015-07-13 10:10:54 +10:00
vphb.c cxl/vphb.c: Use phb pointer after NULL check 2015-07-06 20:24:34 +10:00