lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <eedf397f-24c6-4ee6-96b4-67f52c0ef8f4@linux.ibm.com>
Date: Fri, 8 Mar 2024 07:11:22 -0500
From: Stefan Berger <stefanb@...ux.ibm.com>
To: Lukas Wunner <lukas@...ner.de>
Cc: keyrings@...r.kernel.org, linux-crypto@...r.kernel.org,
        herbert@...dor.apana.org.au, davem@...emloft.net,
        linux-kernel@...r.kernel.org, saulo.alessandre@....jus.br
Subject: Re: [PATCH v5 01/12] crypto: ecdsa - Convert byte arrays with key
 coordinates to digits



On 3/8/24 03:41, Lukas Wunner wrote:
> On Wed, Mar 06, 2024 at 05:22:46PM -0500, Stefan Berger wrote:
>> +static inline void ecc_digits_from_bytes(const u8 *in, unsigned int nbytes,
>> +					 u64 *out, unsigned int ndigits)
>> +{
>> +	unsigned int o = nbytes & 7;
>> +	u64 msd = 0;
> 
> My sincere apologies, I made a mistake when I proposed this:
> It needs to be __be64 instead of u64...
> 
>> +
>> +	if (o) {
>> +		memcpy((u8 *)&msd + sizeof(msd) - o, in, o);
>> +		out[--ndigits] = be64_to_cpu(msd);
>> +		in += o;
>> +	}
> 
> ...otherwise sparse complains:
> 
>      crypto/ecdsa.c: note: in included file:
>      >> include/crypto/internal/ecc.h:74:34: sparse: sparse: cast to restricted __be64
>      >> include/crypto/internal/ecc.h:74:34: sparse: sparse: cast to restricted __be64
>      [...]
>      66	static inline void ecc_digits_from_bytes(const u8 *in, unsigned int nbytes,
>      67						 u64 *out, unsigned int ndigits)
>      68	{
>      69		unsigned int o = nbytes & 7;
>      70		u64 msd = 0;
>      71	
>      72		if (o) {
>      73			memcpy((u8 *)&msd + sizeof(msd) - o, in, o);
>    > 74			out[--ndigits] = be64_to_cpu(msd);
>      75			in += o;
>      76		}
>      77		ecc_swap_digits(in, out, ndigits);
>      78	}
>      79	
> 
> 0-day alerted me about this, it's monitoring my GitHub repo and
> I've got your patches on one of my development branches.

Thanks. Fixed.

> 
> Thanks,
> 
> Lukas
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ