mirror of
https://github.com/torvalds/linux.git
synced 2024-12-17 16:43:08 +00:00
f376c43bec
bcm2835_register_gate is used as a callback for the clk_register member
of bcm2835_clk_desc, which expects a struct clk_hw * return type but
bcm2835_register_gate returns a struct clk *.
This discrepancy is hidden by the fact that bcm2835_register_gate is
cast to the typedef bcm2835_clk_register by the _REGISTER macro. This
turns out to be a control flow integrity violation, which is how this
was noticed.
Change the return type of bcm2835_register_gate to be struct clk_hw *
and use clk_hw_register_gate to do so. This should be a non-functional
change as clk_register_gate calls clk_hw_register_gate anyways but this
is needed to avoid issues with further changes.
Fixes:
|
||
---|---|---|
.. | ||
clk-bcm63xx-gate.c | ||
clk-bcm63xx.c | ||
clk-bcm281xx.c | ||
clk-bcm2835-aux.c | ||
clk-bcm2835.c | ||
clk-bcm21664.c | ||
clk-bcm53573-ilp.c | ||
clk-cygnus.c | ||
clk-hr2.c | ||
clk-iproc-armpll.c | ||
clk-iproc-asiu.c | ||
clk-iproc-pll.c | ||
clk-iproc.h | ||
clk-kona-setup.c | ||
clk-kona.c | ||
clk-kona.h | ||
clk-ns2.c | ||
clk-nsp.c | ||
clk-raspberrypi.c | ||
clk-sr.c | ||
Kconfig | ||
Makefile |