Central | spec/rtems: fix clobbered local in task restart validation (!13)

Gedare Bloom (@gedare) gitlab at rtems.org
Mon Oct 13 18:45:34 UTC 2025




Gedare Bloom commented on a discussion on spec/rtems/task/req/restart.yml: https://gitlab.rtems.org/rtems/prequal/rtems-central/-/merge_requests/13#note_134898

 >        if ( ctx->interrupt || ctx->nested_request ) {
 >          if ( ctx->blocked ) {
 >            SetFatalHandler( ResumeThreadDispatch, ctx );
 > -          cpu_self = _Thread_Dispatch_disable();
 > +          (void) _Thread_Dispatch_disable();
 >  
 >            if ( setjmp( ctx->thread_dispatch_context ) == 0 ) {

Regarding this case, I agree it is a false positive, because the compiler cannot tell that there is a synchronization point so the `longjmp` happens before reaching the end of this conditional block.

I don't think `ctx` is a problem here because it is not modified.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/prequal/rtems-central/-/merge_requests/13#note_134898
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20251013/dbfdc009/attachment-0001.htm>


More information about the bugs mailing list