jerpelea opened a new pull request, #19096:
URL: https://github.com/apache/nuttx/pull/19096

   ## Summary
   Add NULL check for g_uart_devs[i] before accessing ->priv in 
arm_earlyserialinit() loop. When a USART is not enabled in defconfig, 
g_uart_devs[i] is NULL, causing a HardFault crash during early boot.
   
   The bug occurs because the original code only checked g_uart_devs[i]->priv 
without first verifying g_uart_devs[i] is not NULL. On Cortex-M4, NULL pointer 
dereference reads from Flash vector table (0x00000000 maps to 0x08000000), 
returning a function pointer that causes BusFault when written to.
   
   This fix matches the existing NULL check pattern used in arm_serialinit() at 
line 2835 of the same file.
   
   Tested on mplant-gd32f450 board with only USART5 enabled in defconfig. 
Before fix: HardFault at boot (IPSR=3, PC=0x080003e0) After fix: System boots 
normally to NSH Shell
   
   ## Impact
   
   RELEASE
   
   ## Testing
   
   CI


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to