Page MenuHomeFreeBSD

fix skein1024
ClosedPublic

Authored by yzhong_freebsdfoundation.org on Sep 30 2020, 8:25 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Feb 8, 10:44 PM
Unknown Object (File)
Sat, Feb 8, 2:21 PM
Unknown Object (File)
Fri, Jan 24, 7:35 PM
Unknown Object (File)
Jan 11 2025, 1:12 AM
Unknown Object (File)
Nov 23 2024, 9:05 AM
Unknown Object (File)
Nov 22 2024, 11:43 PM
Unknown Object (File)
Nov 22 2024, 3:34 PM
Unknown Object (File)
Nov 18 2024, 7:48 PM
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.