lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20190415145505.18397-8-digetx@gmail.com> Date: Mon, 15 Apr 2019 17:54:53 +0300 From: Dmitry Osipenko <digetx@...il.com> To: Thierry Reding <thierry.reding@...il.com>, Jonathan Hunter <jonathanh@...dia.com>, MyungJoo Ham <myungjoo.ham@...sung.com>, Kyungmin Park <kyungmin.park@...sung.com>, Chanwoo Choi <cw00.choi@...sung.com>, Tomeu Vizoso <tomeu.vizoso@...labora.com> Cc: linux-tegra@...r.kernel.org, linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org Subject: [PATCH v2 07/19] PM / devfreq: tegra: Register clk notifier in the end of driver's probe The notifier isn't unregistered if something fails after the registration, move it to the end of probe to fix the potential use-after-free problem. Signed-off-by: Dmitry Osipenko <digetx@...il.com> --- drivers/devfreq/tegra-devfreq.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c index aa0478464b35..c248c18431d9 100644 --- a/drivers/devfreq/tegra-devfreq.c +++ b/drivers/devfreq/tegra-devfreq.c @@ -647,14 +647,6 @@ static int tegra_devfreq_probe(struct platform_device *pdev) return PTR_ERR(tegra->emc_clock); } - tegra->rate_change_nb.notifier_call = tegra_actmon_rate_notify_cb; - err = clk_notifier_register(tegra->emc_clock, &tegra->rate_change_nb); - if (err) { - dev_err(&pdev->dev, - "Failed to register rate change notifier\n"); - return err; - } - reset_control_assert(tegra->reset); err = clk_prepare_enable(tegra->clock); @@ -712,6 +704,14 @@ static int tegra_devfreq_probe(struct platform_device *pdev) return err; } + tegra->rate_change_nb.notifier_call = tegra_actmon_rate_notify_cb; + err = clk_notifier_register(tegra->emc_clock, &tegra->rate_change_nb); + if (err) { + dev_err(&pdev->dev, + "Failed to register rate change notifier\n"); + return err; + } + return 0; } -- 2.21.0
Powered by blists - more mailing lists