[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5B8DA87D05A7694D9FA63FD143655C1B3D3E5C9B@hasmsx108.ger.corp.intel.com>
Date: Wed, 8 Jul 2015 20:19:09 +0000
From: "Winkler, Tomas" <tomas.winkler@...el.com>
To: Johannes Thumshirn <jthumshirn@...e.de>,
"Greg KH (gregkh@...uxfoundation.org)" <gregkh@...uxfoundation.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] mei: Destroy mei_idr on module exit.
>
> Destroy mei_idr on module exit, reclaiming the allocated memory.
>
> This was detected by the following semantic patch (written by Luis Rodriguez
> <mcgrof@...e.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@...e.de>
Ack, this should go probably to stable as well.
Tomas
> ---
> drivers/misc/mei/main.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c
> index 8eb0a95..1f04c38 100644
> --- a/drivers/misc/mei/main.c
> +++ b/drivers/misc/mei/main.c
> @@ -774,6 +774,7 @@ static void __exit mei_exit(void)
> unregister_chrdev_region(mei_devt, MEI_MAX_DEVS);
> class_destroy(mei_class);
> mei_cl_bus_exit();
> + idr_destroy(&mei_idr);
> }
>
> module_init(mei_init);
> --
> 2.4.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists