]> Git Repo - linux.git/commitdiff
clk: fixed-factor: Initialize clk_init_data on stack
authorStephen Boyd <[email protected]>
Tue, 23 Apr 2019 17:46:51 +0000 (10:46 -0700)
committerStephen Boyd <[email protected]>
Tue, 23 Apr 2019 17:46:51 +0000 (10:46 -0700)
This structure can be full of junk from the stack if we don't initialize
it. The clk framework tests clk_init_data::parent_names for non-NULL and
then considers that as the parent name pointer, but if it's full of junk
then we'll try to deref a bad pointer and oops the system. Let's
initialize the structure so that only clk_init_data::parent_names or
clk_init_data::parent_data is set, and not both.

Reported-by: "kernelci.org bot" <[email protected]>
Tested-by: Geert Uytterhoeven <[email protected]>
Tested-by: Tony Lindgren <[email protected]>
Fixes: ecbf3f1795fd ("clk: fixed-factor: Let clk framework find parent")
Signed-off-by: Stephen Boyd <[email protected]>
drivers/clk/clk-fixed-factor.c

index 5b09f2cdb7debcca465a6edf6d92a0da425d65a0..2d988a7585d50c5358c97e976cdf7a23f31db22d 100644 (file)
@@ -70,7 +70,7 @@ __clk_hw_register_fixed_factor(struct device *dev, struct device_node *np,
                unsigned long flags, unsigned int mult, unsigned int div)
 {
        struct clk_fixed_factor *fix;
-       struct clk_init_data init;
+       struct clk_init_data init = { };
        struct clk_parent_data pdata = { .index = index };
        struct clk_hw *hw;
        int ret;
This page took 0.067075 seconds and 4 git commands to generate.