mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
cache: starfive: fix device node leak in starlink_cache_init()
of_find_matching_node() returns a device_node with refcount incremented.
Use __free(device_node) attribute to automatically call of_node_put()
when the variable goes out of scope, preventing the refcount leak.
Fixes: cabff60ca7 ("cache: Add StarFive StarLink cache management")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
This commit is contained in:
parent
ff4b6bf7ee
commit
3c85234b97
4
drivers/cache/starfive_starlink_cache.c
vendored
4
drivers/cache/starfive_starlink_cache.c
vendored
|
|
@ -102,11 +102,11 @@ static const struct of_device_id starlink_cache_ids[] = {
|
|||
|
||||
static int __init starlink_cache_init(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
u32 block_size;
|
||||
int ret;
|
||||
|
||||
np = of_find_matching_node(NULL, starlink_cache_ids);
|
||||
struct device_node *np __free(device_node) =
|
||||
of_find_matching_node(NULL, starlink_cache_ids);
|
||||
if (!of_device_is_available(np))
|
||||
return -ENODEV;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user