W-M-R opened a new pull request, #15258:
URL: https://github.com/apache/nuttx/pull/15258

   *Note: Please adhere to [Contributing 
Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md).*
   
   ## Summary
   
   gcov: Fix gcov fork() issue:
       1.  After code coverage is enabled, fork will be replaced by __gcov_fork
   gcov: Prevent pile insertion recursion
   gcov: Disable stack checking
   ```
           When enable CONFIG_STACK_CANARIES, in general, the stack check in 
the __gcov_fork function is:
       " return fork();
       18: e59f3020 ldr r3, [pc, #32] @ 40 <__gcov_fork+0x40>
       1c: e5932000 ldr r2, [r3]
       20: e59d3004 ldr r3, [sp, #4]
       24: e0332002 eors r2, r3, r2
       28: e3a03000 mov r3, #0
       2c: 1a000002 bne 3c <__gcov_fork+0x3c>"
       r3 is obtained by taking the value of sp offset. But after opening 
thumb, the second comparison value in
       "8c6: 4a06 ldr r2, [pc, #24] @ (8e0 <__gcov_fork+0x30>)
       8c8: 6811 ldr r1, [r2, #0]
       8ca: 687a ldr r2, [r7, #4]
       8cc: 4051 eors r1, r2"
       is obtained through r7. Since r7 stores the stack address at this time, 
which stores the address of the parent process, the stack out of bounds will 
occur in the child process
   ```
   ## Impact
   
   *Update this section, where applicable, on how change affects users,
    build process, hardware, documentation, security, compatibility, etc.*
   
   ## Testing
   
   *Update this section with details on how did you verify the change,
    what Host was used for build (OS, CPU, compiler, ..), what Target was
    used for verification (arch, board:config, ..), etc. Providing build
    and runtime logs from before and after change is highly appreciated.*
   
   
   


-- 
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