lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1633607765.git.mchehab+huawei@kernel.org>
Date:   Thu,  7 Oct 2021 14:06:53 +0200
From:   Mauro Carvalho Chehab <mchehab+huawei@...nel.org>
To:     Michael Turquette <mturquette@...libre.com>,
        Stephen Boyd <sboyd@...nel.org>
Cc:     linuxarm@...wei.com, mauro.chehab@...wei.com,
        Mauro Carvalho Chehab <mchehab+huawei@...nel.org>,
        Manivannan Sadhasivam <mani@...nel.org>,
        linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH 0/2] clk: fix the need of booking clk_ignore_unused=true on embedded devs

Currently, the only way to boot a Kernel with drivers built as modules on embedded 
devices like HiKey 970 is to pass clk_ignore_unused=true as a modprobe parameter.

There are two separate issues:

1. the clk's core calls clk_disable_unused() too early. By the time this
   function is called, only the builtin drivers were already probed/initialized.
   Drivers built as modules will only be probed afterwards.

   This cause a race condition and boot instability, as the clk core will try
   to disable clocks while the drivers built as modules are still being
   probed and initialized.

   I suspect that the same problem used to happen at the regulator's core,
   as there's a code that waits for 30 seconds before disabling unused
   regulators;

2. there are some gate clocks defined at HiKey 970 that should always be on,
   as otherwise the system will hang, or the filesystem I/O will stop.

Ps.: 
  I submitted already 3 or 4 versions of patches for HiKey 970 clock, but
  they're all unreliable, due to the race conditions at the clk core due to (1).
   
Patch 1 solves the issue with the clk core.
Patch 2 solves the HiKey 970 specific issues.

Mauro Carvalho Chehab (2):
  clk: wait for extra time before disabling unused clocks
  clk: clk-hi3670: mark some clocks as CLK_IS_CRITICAL

 drivers/clk/clk.c                  | 51 +++++++++++++++++++-----------
 drivers/clk/hisilicon/clk-hi3670.c | 24 +++++++-------
 2 files changed, 44 insertions(+), 31 deletions(-)

-- 
2.31.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ