[PATCH] power: reset: linkstation-poweroff: fix use-after-free in the linkstation_poweroff_init()

Wentao Liang posted 1 patch 2 months, 1 week ago
drivers/power/reset/linkstation-poweroff.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] power: reset: linkstation-poweroff: fix use-after-free in the linkstation_poweroff_init()
Posted by Wentao Liang 2 months, 1 week ago
Move of_node_put(dn) after the of_match_node() call, which still needs
the node pointer. The node reference is correctly released after use.

Fixes: e2f471efe1d6 ("power: reset: linkstation-poweroff: prepare for new devices")
Cc: stable@vger.kernel.org
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
 drivers/power/reset/linkstation-poweroff.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/power/reset/linkstation-poweroff.c b/drivers/power/reset/linkstation-poweroff.c
index 02f5fdb8ffc4..e56d75bfcc43 100644
--- a/drivers/power/reset/linkstation-poweroff.c
+++ b/drivers/power/reset/linkstation-poweroff.c
@@ -163,10 +163,10 @@ static int __init linkstation_poweroff_init(void)
 	dn = of_find_matching_node(NULL, ls_poweroff_of_match);
 	if (!dn)
 		return -ENODEV;
-	of_node_put(dn);
 
 	match = of_match_node(ls_poweroff_of_match, dn);
 	cfg = match->data;
+	of_node_put(dn);
 
 	dn = of_find_node_by_name(NULL, cfg->mdio_node_name);
 	if (!dn)
-- 
2.34.1
Re: [PATCH] power: reset: linkstation-poweroff: fix use-after-free in the linkstation_poweroff_init()
Posted by Sebastian Reichel 1 week, 4 days ago
On Tue, 07 Apr 2026 07:30:25 +0000, Wentao Liang wrote:
> Move of_node_put(dn) after the of_match_node() call, which still needs
> the node pointer. The node reference is correctly released after use.
> 
> 

Applied, thanks!

[1/1] power: reset: linkstation-poweroff: fix use-after-free in the linkstation_poweroff_init()
      commit: 8eec545cde69e46e9a1d2b7d915ce4f5df85b3bd

Best regards,
-- 
Sebastian Reichel <sebastian.reichel@collabora.com>