<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm64/crypto, branch linux-5.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-09-17T03:05:11Z</updated>
<entry>
<title>crypto: arm64/aes-ccm - avoid by-ref argument for ce_aes_ccm_auth_data</title>
<updated>2021-09-17T03:05:11Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2021-08-27T07:03:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=898387e40cf538b7d1605e05d456699fe418a77f'/>
<id>urn:sha1:898387e40cf538b7d1605e05d456699fe418a77f</id>
<content type='text'>
With the SIMD code path removed, we can clean up the CCM auth-only path
a bit further, by passing the 'macp' input buffer pointer by value,
rather than by reference, and taking the output value from the
function's return value.

This way, the compiler is no longer forced to allocate macp on the
stack. This is not expected to make any difference in practice, it just
makes for slightly cleaner code.

Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Reviewed-by: Eric Biggers &lt;ebiggers@google.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: arm64/aes-ccm - reduce NEON begin/end calls for common case</title>
<updated>2021-09-17T03:05:11Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2021-08-27T07:03:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=741691c44606b1903e674d12f3e4a4b68ade69ad'/>
<id>urn:sha1:741691c44606b1903e674d12f3e4a4b68ade69ad</id>
<content type='text'>
AES-CCM (as used in WPA2 CCMP, for instance) typically involves
authenticate-only data, and operates on a single network packet, and so
the common case is for the authenticate, en/decrypt and finalize SIMD
helpers to all be called exactly once in sequence. Since
kernel_neon_end() now involves manipulation of the preemption state as
well as the softirq mask state, let's reduce the number of times we are
forced to call it to only once if we are handling this common case.

Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: arm64/aes-ccm - remove non-SIMD fallback path</title>
<updated>2021-09-17T03:05:11Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2021-08-27T07:03:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3482635e5d69c8a40288bd025f61a994b3b1126'/>
<id>urn:sha1:b3482635e5d69c8a40288bd025f61a994b3b1126</id>
<content type='text'>
AES/CCM on arm64 is implemented as a synchronous AEAD, and so it is
guaranteed by the API that it is only invoked in task or softirq
context. Since softirqs are now only handled when the SIMD is not
being used in the task context that was interrupted to service the
softirq, we no longer need a fallback path. Let's remove it.

Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Reviewed-by: Eric Biggers &lt;ebiggers@google.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: arm64/aes-ccm - yield NEON when processing auth-only data</title>
<updated>2021-09-17T03:05:10Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2021-08-27T07:03:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=36a916af641dc71ef7d4b98417bf4019ddeb4ebe'/>
<id>urn:sha1:36a916af641dc71ef7d4b98417bf4019ddeb4ebe</id>
<content type='text'>
In SIMD accelerated crypto drivers, we typically yield the SIMD unit
after processing 4 KiB of input, to avoid scheduling blackouts caused by
the fact that claiming the SIMD unit disables preemption as well as
softirq processing.

The arm64 CCM driver does this implicitly for the ciphertext, due to the
fact that the skcipher API never processes more than a single page at a
time. However, the scatterwalk performed by this driver when processing
the authenticate-only data will keep the SIMD unit occupied until it
completes.

So cap the scatterwalk steps to 4 KiB.

Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: arm64/aes-ce - stop using SIMD helper for skciphers</title>
<updated>2021-09-17T03:05:10Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2021-08-27T07:03:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=676e508122d96aec199ab7181fd62c592c2cb8d5'/>
<id>urn:sha1:676e508122d96aec199ab7181fd62c592c2cb8d5</id>
<content type='text'>
Calls into the skcipher API can only occur from contexts where the SIMD
unit is available, so there is no need for the SIMD helper.

Reviewed-by: Eric Biggers &lt;ebiggers@google.com&gt;
Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: arm64/aes-neonbs - stop using SIMD helper for skciphers</title>
<updated>2021-09-17T03:05:10Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2021-08-27T07:03:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=96c34e143689bc498508c27ea35c4446aed9f42e'/>
<id>urn:sha1:96c34e143689bc498508c27ea35c4446aed9f42e</id>
<content type='text'>
Calls into the skcipher API can only occur from contexts where the SIMD
unit is available, so there is no need for the SIMD helper.

Reviewed-by: Eric Biggers &lt;ebiggers@google.com&gt;
Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: arm64/gcm-aes-ce - remove non-SIMD fallback path</title>
<updated>2021-09-17T03:05:10Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2021-08-27T07:03:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b9e699f91236cb1cc97a3d02ccb8063af5e4cc46'/>
<id>urn:sha1:b9e699f91236cb1cc97a3d02ccb8063af5e4cc46</id>
<content type='text'>
Now that kernel mode SIMD is guaranteed to be available when executing
in task or softirq context, we no longer need scalar fallbacks to use
when the NEON is unavailable. So get rid of them.

Reviewed-by: Eric Biggers &lt;ebiggers@google.com&gt;
Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: arm64/sm4-ce - Make dependent on sm4 library instead of sm4-generic</title>
<updated>2021-07-30T02:58:30Z</updated>
<author>
<name>Tianjia Zhang</name>
</author>
<published>2021-07-20T03:46:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c59de48e125c6d49a8abd165e388ca57bfe37b17'/>
<id>urn:sha1:c59de48e125c6d49a8abd165e388ca57bfe37b17</id>
<content type='text'>
SM4 library is abstracted from sm4-generic algorithm, sm4-ce can depend on
the SM4 library instead of sm4-generic, and some functions in sm4-generic
do not need to be exported.

Signed-off-by: Tianjia Zhang &lt;tianjia.zhang@linux.alibaba.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: arm64 - use a pattern rule for generating *.S files</title>
<updated>2021-05-14T11:07:54Z</updated>
<author>
<name>Masahiro Yamada</name>
</author>
<published>2021-04-25T17:57:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2063257d4b2472e8f113527c642e467914bb82d3'/>
<id>urn:sha1:2063257d4b2472e8f113527c642e467914bb82d3</id>
<content type='text'>
Unify similar build rules.

sha256-core.S opts out it because it is generated from sha512-armv8.pl.

Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: arm64 - generate *.S by Perl at build time instead of shipping them</title>
<updated>2021-05-14T11:07:54Z</updated>
<author>
<name>Masahiro Yamada</name>
</author>
<published>2021-04-25T17:57:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=12dd461ebd1941afe821539419685ff9dea3a31d'/>
<id>urn:sha1:12dd461ebd1941afe821539419685ff9dea3a31d</id>
<content type='text'>
Generate *.S by Perl like arch/{mips,x86}/crypto/Makefile.

Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
</feed>
