[email protected], le mar. 03 mars 2026 04:08:15 +0000, a ecrit:
> #### S-5: `_hurdsig_preempted_set` read without lock (LOW)
> 
> **File**: `hurdsig.c:768`
> 
> Optimization check reads the preempted set without lock. A newly installed
> preemptor could be missed on one delivery, caught on the next.

That looks unsafe indeed.

If e.g. a thread sets a preemptor to catch SIGSEGV and then triggers it,
but the write on _hurdsig_preempted_set is not seen before the signal
thread gets the signal, we would miss trying the preemptors.

I guess moving the _hurdsig_preempted_set test inside the lock would not
bring too much overhead, we already take the _hurd_siglock in various
cases. I'll give it a try.

Samuel

Reply via email to