Mailing List Archive

[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

Bill Wendling <morbo@google.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |morbo@google.com

--- Comment #4 from Bill Wendling <morbo@google.com> ---
I created https://github.com/llvm/llvm-project/issues/59242 to address
this issue.

--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure [ In reply to ]
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

--- Comment #5 from Bill Wendling <morbo@google.com> ---
It looks like Clang 15.0.6 was just release. There's a fix in it for a
similar OpenSSH bug. Could you give it a try please?

https://releases.llvm.org/

--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure [ In reply to ]
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

--- Comment #6 from Darren Tucker <dtucker@dtucker.net> ---
15.0.6 seems to have the same problem.

$ /opt/clang-15.0.6/bin/clang --version
clang version 15.0.6 (https://github.com/llvm/llvm-project.git
088f33605d8a61ff519c580a71b1dd57d16a03f8)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/clang-15.0.6/bin

$ CC=/opt/clang-15.0.6/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
good good good good good good good good good good
good good good good good good good good good good
bad bad bad bad bad bad bad bad bad bad
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
bad bad bad bad bad bad bad bad bad bad
good good good good good good good good good good

$ tail -4 regress/failed-ssh.log
debug2: ssh_ed25519_verify: crypto_sign_ed25519_open failed: -1
ssh_dispatch_run_fatal: Connection to UNKNOWN port 65535: incorrect
signature
FAIL: ssh proxycommand connect failed

--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure [ In reply to ]
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

Darren Tucker <dtucker@dtucker.net> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #3614|0 |1
is obsolete| |
Attachment #3628| |ok?(djm@mindrot.org)
Flags| |

--- Comment #7 from Darren Tucker <dtucker@dtucker.net> ---
Created attachment 3628
--> https://bugzilla.mindrot.org/attachment.cgi?id=3628&action=edit
Avoid -ftrivial-auto-var-init on possibly buggy clang versions

Given that the problem seems to occur with several released clang
versions I think we should avoid the problematic flag for all versions
of clang-15. We can add more specific rules if we later learn of
versions that work.

--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure [ In reply to ]
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

Damien Miller <djm@mindrot.org> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #3628|ok?(djm@mindrot.org) |ok+
Flags| |

--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure [ In reply to ]
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

--- Comment #8 from Bill Wendling <morbo@google.com> ---
Until we have a fix, you might want to use `-fzero-call-used-regs=used`
instead of `all`. The latter is a huge hammer and could zero out
registers that are still in use up the call chain.

--
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.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure [ In reply to ]
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

Darren Tucker <dtucker@dtucker.net> changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #3628|Avoid |Avoid fzero-call-used-regs
description|-ftrivial-auto-var-init on |on possibly buggy clang
|possibly buggy clang |versions
|versions |

--
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.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure [ In reply to ]
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

--- Comment #9 from Darren Tucker <dtucker@dtucker.net> ---
Thanks, that also passes the test above. I've changed the diff to pass
"=used" instead and "=all" if clang 15 is detected and committed it as
https://github.com/openssh/openssh-portable/commit/62cc33e6eed847aafdc29e34aa69e9bd82a0ee16.

--
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.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure [ In reply to ]
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

--- Comment #10 from Bill Wendling <morbo@google.com> ---
Should be fixed by https://reviews.llvm.org/D139679. I'll see if we can
backport it to 5.0.7.

--
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.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure [ In reply to ]
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

--- Comment #11 from Bill Wendling <morbo@google.com> ---
Should be fixed by https://reviews.llvm.org/D139679. I'll see if we can
backport it to 5.0.7.

--
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.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs
[Bug 3475] clang-15 amd64 ED25519 signature verification nondeterministic spurious failure [ In reply to ]
https://bugzilla.mindrot.org/show_bug.cgi?id=3475

Darren Tucker <dtucker@dtucker.net> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED

--- Comment #12 from Darren Tucker <dtucker@dtucker.net> ---
I have cherry-picked the configure.ac change into the V_9_1 branch too,
so if we do a 9.1p2 release it'll be in that too.

If the clange fix makes it into clang 15 releases and it's important
enough we can explicitly enable it on those, otherwise we'll just leave
it until clang eventually moves to v16.

Thanks all.

--
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.
_______________________________________________
openssh-bugs mailing list
openssh-bugs@mindrot.org
https://lists.mindrot.org/mailman/listinfo/openssh-bugs