From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claudiu.Beznea at microchip.com Date: Tue, 4 Aug 2020 07:19:15 +0000 Subject: [PATCH 01/22] clk: check hw and hw->dev before dereference it In-Reply-To: References: <1596034301-5428-1-git-send-email-claudiu.beznea@microchip.com> <1596034301-5428-2-git-send-email-claudiu.beznea@microchip.com> Message-ID: <178382f5-6dca-e6b5-dac2-1b0da57b4031@microchip.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 04.08.2020 05:00, Simon Glass wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > Hi Claudiu, > > On Wed, 29 Jul 2020 at 08:51, Claudiu Beznea > wrote: >> >> Check hw and hw->dev before dereference it. >> >> Signed-off-by: Claudiu Beznea >> --- >> drivers/clk/clk.c | 3 +++ >> 1 file changed, 3 insertions(+) >> > > Why is this needed? It adds to code size and these situations should > not occur. Perhaps use assert()? In my debugging, investigating the issues that patches 03/22, 04/22, 06/22 try to address, I reached also this function and checked these pointers. In the end the issue was not related to them but I though it might be useful to keep these in a patch. I will remove it in the next version. > >> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c >> index 0f55ba751c0f..9fa18e342eaf 100644 >> --- a/drivers/clk/clk.c >> +++ b/drivers/clk/clk.c >> @@ -57,6 +57,9 @@ ulong clk_generic_get_rate(struct clk *clk) >> >> const char *clk_hw_get_name(const struct clk *hw) >> { >> + if (!hw || !hw->dev) >> + return NULL; >> + >> return hw->dev->name; >> } >> >> -- >> 2.7.4 >> > > Regards, > SImon >