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
| ||
|
Date: Mon, 14 Sep 2020 19:28:29 +0300 From: Ard Biesheuvel <ardb@...nel.org> To: Horia Geantă <horia.geanta@....com> Cc: Herbert Xu <herbert@...dor.apana.org.au>, "Andrei Botila (OSS)" <andrei.botila@....nxp.com>, Aymen Sghaier <aymen.sghaier@....com>, "David S. Miller" <davem@...emloft.net>, "linux-crypto@...r.kernel.org" <linux-crypto@...r.kernel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org> Subject: Re: [PATCH RESEND 1/9] crypto: caam/jr - add fallback for XTS with more than 8B IV On Mon, 14 Sep 2020 at 19:24, Horia Geantă <horia.geanta@....com> wrote: > > On 9/9/2020 1:10 AM, Herbert Xu wrote: > > On Tue, Sep 08, 2020 at 01:35:04PM +0300, Horia Geantă wrote: > >> > >>> Just go with the get_unaligned unconditionally. > >> > >> Won't this lead to sub-optimal code for ARMv7 > >> in case the IV is aligned? > > > > If this should be optimised in ARMv7 then that should be done > > in get_unaligned itself and not open-coded. > > > I am not sure what's wrong with avoiding using the unaligned accessors > in case data is aligned. > > Documentation/core-api/unaligned-memory-access.rst clearly states: > These macros work for memory accesses of any length (not just 32 bits as > in the examples above). Be aware that when compared to standard access of > aligned memory, using these macros to access unaligned memory can be costly in > terms of performance. > > So IMO it makes sense to use get_unaligned() only when needed. > There are several cases of users doing this, e.g. siphash. > For ARMv7 code, using the unaligned accessors unconditionally is fine, and it will not affect performance. In general, when CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is defined, you can use the unaligned accessors. If it is not, it helps to have different code paths. This is a bit murky, and through the years, the interpretation of unaligned-memory-access.rst has shifted a bit, but in this case, it makes no sense to make the distinction.
Powered by blists - more mailing lists