Page MenuHomeFreeBSD

fix skein1024
ClosedPublic

Authored by yzhong_freebsdfoundation.org on Sep 30 2020, 8:25 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 22 2024, 3:44 PM
Unknown Object (File)
Mar 22 2024, 1:06 PM
Unknown Object (File)
Mar 22 2024, 10:15 AM
Unknown Object (File)
Mar 22 2024, 9:47 AM
Unknown Object (File)
Mar 8 2024, 11:06 AM
Unknown Object (File)
Feb 12 2024, 4:34 PM
Unknown Object (File)
Dec 29 2023, 8:27 AM
Unknown Object (File)
Dec 25 2023, 3:43 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.