diff options
author | Stephen Boyd <sboyd@kernel.org> | 2021-12-09 17:34:05 -0800 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2021-12-10 15:19:35 -0800 |
commit | 489a71964f9d74e697a12cd0ace20ed829eb1f93 (patch) | |
tree | c64128de1eb20e74cde51e92d128bcf0c6a435ac /drivers | |
parent | a331659e32718b31f3a304d7797a77d31610468c (diff) | |
download | linux-489a71964f9d74e697a12cd0ace20ed829eb1f93.tar.bz2 |
clk: Emit a stern warning with writable debugfs enabled
We don't want vendors to be enabling this part of the clk code and
shipping it to customers. Exposing the ability to change clk frequencies
and parents via debugfs is potentially damaging to the system if folks
don't know what they're doing. Emit a strong warning so that the message
is clear: don't enable this outside of development systems.
Fixes: 37215da5553e ("clk: Add support for setting clk_rate via debugfs")
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20211210014237.2130300-1-sboyd@kernel.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/clk/clk.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 8ccedec2cc9d..ecb2a732a20d 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -3383,6 +3383,24 @@ static int __init clk_debug_init(void) { struct clk_core *core; +#ifdef CLOCK_ALLOW_WRITE_DEBUGFS + pr_warn("\n"); + pr_warn("********************************************************************\n"); + pr_warn("** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **\n"); + pr_warn("** **\n"); + pr_warn("** WRITEABLE clk DebugFS SUPPORT HAS BEEN ENABLED IN THIS KERNEL **\n"); + pr_warn("** **\n"); + pr_warn("** This means that this kernel is built to expose clk operations **\n"); + pr_warn("** such as parent or rate setting, enabling, disabling, etc. **\n"); + pr_warn("** to userspace, which may compromise security on your system. **\n"); + pr_warn("** **\n"); + pr_warn("** If you see this message and you are not debugging the **\n"); + pr_warn("** kernel, report this immediately to your vendor! **\n"); + pr_warn("** **\n"); + pr_warn("** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **\n"); + pr_warn("********************************************************************\n"); +#endif + rootdir = debugfs_create_dir("clk", NULL); debugfs_create_file("clk_summary", 0444, rootdir, &all_lists, |