From: Ethan Tidmore Date: Fri, 8 May 2026 01:57:16 +0000 (-0500) Subject: memory: tegra: Fix possible null pointer dereference X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4eda0dac7a2807c0bb628a1931b4f67d945c3758;p=thirdparty%2Flinux.git memory: tegra: Fix possible null pointer dereference The function tegra114_emc_find_timing() has the possibility of returning null and it's return value 'timing' is dereferenced before it is checked for null. Place dereference after null pointer check. Detected by Smatch: drivers/memory/tegra/tegra114-emc.c:520 tegra114_emc_prepare_timing_change() warn: variable dereferenced before check 'timing' (see line 515) Fixes: dce208b5405f4 ("memory: tegra: Add Tegra114 EMC driver") Signed-off-by: Ethan Tidmore Acked-by: Thierry Reding Link: https://patch.msgid.link/20260508015716.652347-1-ethantidmore06@gmail.com Reported-by: kernel test robot Reported-by: Dan Carpenter Closes: https://lore.kernel.org/r/202605100506.wJFmI6IM-lkp@intel.com/ Signed-off-by: Krzysztof Kozlowski --- diff --git a/drivers/memory/tegra/tegra114-emc.c b/drivers/memory/tegra/tegra114-emc.c index be6c699cb6561..fc3bf1a286307 100644 --- a/drivers/memory/tegra/tegra114-emc.c +++ b/drivers/memory/tegra/tegra114-emc.c @@ -512,14 +512,16 @@ static int tegra114_emc_prepare_timing_change(struct tegra_emc *emc, enum emc_dll_change dll_change; unsigned int pre_wait = 0; u32 val, mask; - bool next_dll_enabled = !(timing->emc_mode_1 & 0x1); bool last_dll_enabled = !(last->emc_mode_1 & 0x1); bool update = false; + bool next_dll_enabled; unsigned int i; if (!timing) return -ENOENT; + next_dll_enabled = !(timing->emc_mode_1 & 0x1); + if (next_dll_enabled == last_dll_enabled) dll_change = DLL_CHANGE_NONE; else if (next_dll_enabled)