aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch b/target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch
new file mode 100644
index 0000000000..9f87aadc17
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0581-clk-requests-Dereference-the-request-pointer-after-t.patch
@@ -0,0 +1,30 @@
+From 491c6fbbe8fadead32fbe316fd5d0f21e9aa01f2 Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime@cerno.tech>
+Date: Thu, 22 Apr 2021 10:45:37 +0200
+Subject: [PATCH] clk: requests: Dereference the request pointer after
+ the check
+
+The current code will first dereference the req pointer and then test if
+it's NULL, resulting in a NULL pointer dereference if req is indeed
+NULL. Reorder the test and derefence to avoid the issue
+
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ drivers/clk/clk.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/clk/clk.c
++++ b/drivers/clk/clk.c
+@@ -2496,10 +2496,11 @@ EXPORT_SYMBOL_GPL(clk_request_start);
+ */
+ void clk_request_done(struct clk_request *req)
+ {
+- struct clk_core *core = req->clk->core;
++ struct clk_core *core;
+
+ if (!req)
+ return;
++ core = req->clk->core;
+
+ clk_prepare_lock();
+