Page MenuHomeFreeBSD

fix skein1024
ClosedPublic

Authored by yzhong_freebsdfoundation.org on Sep 30 2020, 8:25 PM.
Tags
None
Referenced Files
F151457156: D26614.id.diff
Wed, Apr 8, 1:03 PM
Unknown Object (File)
Tue, Apr 7, 3:37 PM
Unknown Object (File)
Sat, Apr 4, 10:35 AM
Unknown Object (File)
Sat, Apr 4, 5:33 AM
Unknown Object (File)
Tue, Mar 24, 6:59 PM
Unknown Object (File)
Mon, Mar 23, 6:37 PM
Unknown Object (File)
Tue, Mar 17, 11:50 AM
Unknown Object (File)
Sat, Mar 14, 3:51 AM
Subscribers

Details

Summary

From https://bugs.freebsd.org/248221:

The optimized assembly implementation of skein1024 "is apparently broken when assembled by contemporary GNU as as well as Clang IAS".

The issue turned out to be using a logical AND instead of a bitwise AND. This patch also re-enables the implementation in the makefile.

Test Plan

Run the skein1024 tests with the fixed code

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

cem added a subscriber: cem.

Yeah, that’d do it. Kind of surprised it ever worked in old gas.

This revision is now accepted and ready to land.Oct 1 2020, 12:40 AM
sys/crypto/skein/amd64/skein_block_asm.S
59 ↗(On Diff #77699)

I think there's quite a few others, like this one here

sys/crypto/skein/amd64/skein_block_asm.S
981 ↗(On Diff #77699)

This probably also needs to be &?

Went through and looked for all instances of &&: all of them should be changed.

This revision now requires review to proceed.Oct 1 2020, 7:45 PM
This revision was not accepted when it landed; it landed in state Needs Review.Oct 1 2020, 9:06 PM
This revision was automatically updated to reflect the committed changes.