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

Re: [PATCH v2] soc: fsl: qe: panic on ioremap() failure in qe_reset()

From: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>
Date: 2026-03-28 12:09:37
Also in: linuxppc-dev, lkml, stable


Le 27/03/2026 à 01:12, Wang Jun a écrit :
quoted hunk ↗ jump to hunk
[Vous ne recevez pas souvent de courriers de 1742789905@qq.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]

When ioremap() fails in qe_reset(), the global pointer qe_immr remains
NULL, leading to a subsequent NULL pointer dereference when the pointer
is accessed. Since this happens early in the boot process, a failure to
map a few bytes of I/O memory indicates a fatal error from which the
system cannot recover.

Follow the same pattern as qe_sdma_init() and panic immediately when
ioremap() fails. This avoids a silent NULL pointer dereference later
and makes the error explicit.

Fixes: 986585385131 ("[POWERPC] Add QUICC Engine (QE) infrastructure")
Cc: stable@vger.kernel.org
Signed-off-by: Wang Jun <redacted>
---
  drivers/soc/fsl/qe/qe.c | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/soc/fsl/qe/qe.c b/drivers/soc/fsl/qe/qe.c
index 70b6eddb867b..9f6223043ee3 100644
--- a/drivers/soc/fsl/qe/qe.c
+++ b/drivers/soc/fsl/qe/qe.c
@@ -86,8 +86,12 @@ static phys_addr_t get_qe_base(void)

  void qe_reset(void)
  {
-       if (qe_immr == NULL)
+       if (qe_immr == NULL) {
                 qe_immr = ioremap(get_qe_base(), QE_IMMAP_SIZE);
+               if (qe_immr == NULL) {
+                       panic("QE:ioremap failed!");
+               }
+       }

         qe_snums_init();
Applied, thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help