Skip to content
  • Russell King's avatar
    clkdev: use clk_hw internally · d5622a9c
    Russell King authored
    
    
    clk_add_alias() calls clk_get() followed by clk_put() but in between
    those two calls it saves away the struct clk pointer to a clk_lookup
    structure. This leaves the 'clk' member of the clk_lookup pointing at
    freed memory on configurations where CONFIG_COMMON_CLK=y. This is a
    problem because clk_get_sys() will eventually try to dereference the
    freed pointer by calling __clk_get_hw() on it. Fix this by saving away
    the struct clk_hw pointer instead of the struct clk pointer so that when
    we try to create a per-user struct clk in clk_get_sys() we don't
    dereference a junk pointer.
    
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    d5622a9c