Thread (3 messages) 3 messages, 2 authors, 2026-03-28

Re: [PATCH] soc: fsl: qe: Fix potential NULL pointer dereference inqe_reset()

From: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>
Date: 2026-03-24 13:47:11
Also in: linuxppc-dev, lkml

Hi,

Le 16/03/2026 à 04:28, 未君 a écrit :
	
Vous n’obtenez pas souvent d’e-mail à partir de 1742789905@qq.com. 
Pourquoi c’est important <https://aka.ms/LearnAboutSenderIdentification>
	

Hi,

Thank you for the detailed review. You are completely right.

My commit message was confusing, and returning early in qe_reset() just 
shifts the NULL pointer dereference to the dependent drivers later on, 
without actually fixing the root cause.

To achieve what you suggested ("if qe_immr remap fails, all drivers 
depending on it don't get probed"), I plan to do the following in the v2 
patch:

1. Change the return type of qe_reset() from `void` to `int`.
2. Return `-ENOMEM` if the ioremap() fails.
3. Update the callers of qe_reset() (e.g., qe_probe() and other board- 
specific setup functions) to check this return value. If qe_reset() 
fails, the callers will abort their initialization/probing, which will 
properly prevent the child devices from being probed.

Does this approach sound correct to you? If so, I will prepare and 
submit the v2 patch accordingly.
Well, it would probably work but is it worth it ?

If the board is already unable to get a few bytes of memory that early 
in the boot process it is unlikely that it will be able to do much more 
work.

Wouldn't it be good enough to just panic() when ioremap() fails, similar 
to what happens when qe_sdma_init() fails, see 
https://elixir.bootlin.com/linux/v7.0-rc5/source/drivers/soc/fsl/qe/qe.c#L101

Christophe

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help