Re: [PATCH v2] hex2bin: make the function hex_to_bin constant-time

From: Milan Broz
Date: Wed May 04 2022 - 05:48:03 EST


On 04/05/2022 11:20, Andy Shevchenko wrote:
On Wed, May 04, 2022 at 04:57:35AM -0400, Mikulas Patocka wrote:
On Wed, 4 May 2022, Stafford Horne wrote:
On Mon, Apr 25, 2022 at 08:07:48AM -0400, Mikulas Patocka wrote:

...

Just a heads up it seems this patch is causing some instability with crypto self
tests on OpenRISC when using a PREEMPT kernel (no SMP).

This was reported by Jason A. Donenfeld as it came up in wireguard testing.

I am trying to figure out if this is an OpenRISC PREEMPT issue or something
else.

That patch is so simple that I can't imagine how could it break the
curve25519 test. Are you sure that you bisected it correctly?

Can you provide a test cases for hex_to_bin()?

BTW we use exactly the same code from Mikulas in cryptsetup now (actually the report
was initiated from here :) and I added some tests for this code,
you can probably adapt it (we just use generic wrapper around it):

https://gitlab.com/cryptsetup/cryptsetup/-/commit/2d8cdb2e356d187658efa6efc7bfa146be5d3f60#d9c94cde02e4509f6d12c3edd40f8a9138696807_0_176

(it calls this: https://gitlab.com/cryptsetup/cryptsetup/-/commit/ff14c17de794fe85299d90e34e12a677e6148b71 )

I do not have OpenRISC available, but it would be interesting to run cryptsetup/tests/vectors-test there...

Milan