[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Wed Sep 28 06:01:01 AEST 2022


https://bugzilla.mindrot.org/show_bug.cgi?id=3475

Darren Tucker <dtucker at dtucker.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dtucker at dtucker.net

--- Comment #2 from Darren Tucker <dtucker at dtucker.net> ---
I have repro'd on Fedora with a clang-15.0.1 built from git.

So far I've found that for some builds, "make t-exec LTESTS=connect"
will reliably reproduce the error for me.  In some cases, deleting
ssh-ed25519.o and rebuilding will result in a binary that does not
exhibit the problem (and such a binary will run the regress suite (at
least until I got bored).  To repro:

$ CC=/opt/clang-15.0.1/bin/clang ../../configure
$ for i in `seq 0 9`; do make clean >/dev/null 2>&1; make -j24
>/dev/null 2>&1; for j in `seq 0 9`; do if make t-exec LTESTS=connect
>/dev/null 2>&1; then echo -n "good "; else echo -n "bad "; fi;done;
echo; done
bad bad bad bad bad bad bad bad bad bad 
bad bad bad bad bad bad bad bad bad bad 
bad bad bad bad bad bad bad bad bad bad 
good good good good good good good good good good 
bad bad bad bad bad bad bad bad bad bad 
bad bad bad bad bad bad bad bad bad bad 
good good good good good good good good good good 
bad bad bad bad bad bad bad bad bad bad 
bad bad bad bad bad bad bad bad bad bad 
good good good good good good good good good good

Now if I remove -fzero-call-used-regs=all from the Makefile with no
other changes:

$ for i in `seq 0 9`; do make clean >/dev/null 2>&1; make -j24
>/dev/null 2>&1; for j in `seq 0 9`; do if make t-exec LTESTS=connect
>/dev/null 2>&1; then echo -n "good "; else echo -n "bad "; fi;done;
echo; done
good good good good good good good good good good 
good good good good good good good good good good 
good good good good good good good good good good 
good good good good good good good good good good 
good good good good good good good good good good 
good good good good good good good good good good 
good good good good good good good good good good 
good good good good good good good good good good 
good good good good good good good good good good 
good good good good good good good good good good 

To me, this smells like clang 15.0.1 has some compile-time undefined
behaviour in -fzero-call-used-regs.

-- 
You are receiving this mail because:
You are watching someone on the CC list of the bug.
You are watching the assignee of the bug.


More information about the openssh-bugs mailing list