mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-06 11:54:14 -04:00
lib/genalloc: fix device leak in of_gen_pool_get()
commit 1260cbcffa608219fc9188a6cbe9c45a300ef8b5 upstream.
Make sure to drop the reference taken when looking up the genpool platform
device in of_gen_pool_get() before returning the pool.
Note that holding a reference to a device does typically not prevent its
devres managed resources from being released so there is no point in
keeping the reference.
Link: https://lkml.kernel.org/r/20250924080207.18006-1-johan@kernel.org
Fixes: 9375db07ad ("genalloc: add devres support, allow to find a managed pool by device")
Signed-off-by: Johan Hovold <johan@kernel.org>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Vladimir Zapolskiy <vz@mleia.com>
Cc: <stable@vger.kernel.org> [3.10+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e19da48937
commit
41e5d9cef3
1 changed files with 4 additions and 1 deletions
|
|
@ -892,8 +892,11 @@ struct gen_pool *of_gen_pool_get(struct device_node *np,
|
|||
if (!name)
|
||||
name = np_pool->name;
|
||||
}
|
||||
if (pdev)
|
||||
if (pdev) {
|
||||
pool = gen_pool_get(&pdev->dev, name);
|
||||
put_device(&pdev->dev);
|
||||
}
|
||||
|
||||
of_node_put(np_pool);
|
||||
|
||||
return pool;
|
||||
|
|
|
|||
Loading…
Reference in a new issue