prestera_acl_ruleset_lookup() returns the ruleset with its reference count incremented, and the caller is expected to release it with prestera_acl_ruleset_put(). prestera_flower_prio_get() only reads the priority range and returns without dropping the reference, so the ruleset is never destroyed. Release the reference after the priorities have been read. Fixes: 44af95718fed5 ("net: prestera: manage matchall and flower priorities") Cc: stable@vger.kernel.org Signed-off-by: Wentao Liang --- drivers/net/ethernet/marvell/prestera/prestera_flower.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/marvell/prestera/prestera_flower.c b/drivers/net/ethernet/marvell/prestera/prestera_flower.c index 58b116cabd48..10d7e149822b 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_flower.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_flower.c @@ -411,6 +411,8 @@ int prestera_flower_prio_get(struct prestera_flow_block *block, u32 chain_index, return PTR_ERR(ruleset); prestera_acl_ruleset_prio_get(ruleset, prio_min, prio_max); + prestera_acl_ruleset_put(ruleset); + return 0; } -- 2.34.1