On 7/10/25 12:27, Guido Trentalancia wrote:
On Tue, 08/07/2025 at 20.02 -0500, Jacob Bachmeyer wrote:
On 7/8/25 14:38, Guido Trentalancia via Gnupg-devel wrote:
The following new v10 patch has been created to fix a missing
#ifdef
and header file check for the case of L1D cache flushing.
[...]
Two major issues, further explained inline below:
     - You are installing the signal handler incorrectly; this will
interfere with other possible uses of SIGBUS.
     - Your message from configure when testing the option to request
L1 cache flushes is misleading.
Further, none of this actually *fixes* anything; these are
*workarounds* for widespread hardware bugs.
Also, have you actually tested this on a machine where the request
for L1 cache flushes raises SIGBUS?
I have tested it with SIGBUS (just boot with "l1d_flush=on", but
without adding "nosmt"): it needs a 1-second delay in order to properly
set up the signal handlers before actually logging the error, such
delay is introduced in v14 patch that follows...

Where is that one-second delay documented as the correct solution to this problem?

I strongly suspect that there is actually a race condition here and one second may or may not be sufficient for the race to produce the intended result in all cases.  Creating a loophole on heavily loaded systems would be very bad.

Also, I see that the correction of the misleading message from configure has been reverted somehow.


-- Jacob


_______________________________________________
Gnupg-devel mailing list
Gnupg-devel@gnupg.org
https://lists.gnupg.org/mailman/listinfo/gnupg-devel

Reply via email to