android_kernel_xiaomi_sm8350/crypto
Herbert Xu 70957a10e1 crypto: af_alg - Work around empty control messages without MSG_MORE
commit c195d66a8a75c60515819b101975f38b7ec6577f upstream.

The iwd daemon uses libell which sets up the skcipher operation with
two separate control messages.  As the first control message is sent
without MSG_MORE, it is interpreted as an empty request.

While libell should be fixed to use MSG_MORE where appropriate, this
patch works around the bug in the kernel so that existing binaries
continue to work.

We will print a warning however.

A separate issue is that the new kernel code no longer allows the
control message to be sent twice within the same request.  This
restriction is obviously incompatible with what iwd was doing (first
setting an IV and then sending the real control message).  This
patch changes the kernel so that this is explicitly allowed.

Reported-by: Caleb Jorden <caljorden@hotmail.com>
Fixes: f3c802a1f300 ("crypto: algif_aead - Only wake up when...")
Cc: <stable@vger.kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-09-03 11:27:05 +02:00
..
asymmetric_keys keys: asymmetric: fix error return code in software_key_query() 2020-07-22 09:33:04 +02:00
async_tx
842.c
ablkcipher.c
acompress.c
adiantum.c
aead.c
aegis128-core.c
aegis128-neon-inner.c
aegis128-neon.c
aegis.h
aes_generic.c
aes_ti.c
af_alg.c crypto: af_alg - Work around empty control messages without MSG_MORE 2020-09-03 11:27:05 +02:00
ahash.c
akcipher.c
algapi.c crypto: algapi - Avoid spurious modprobe on LOADED 2020-06-17 16:40:30 +02:00
algboss.c crypto: algboss - don't wait during notifier callback 2020-06-24 17:50:51 +02:00
algif_aead.c crypto: algif_aead - fix uninitialized ctx->init 2020-08-21 13:05:38 +02:00
algif_hash.c crypto: af_alg - fix use-after-free in af_alg_accept() due to bh_lock_sock() 2020-07-09 09:37:52 +02:00
algif_rng.c
algif_skcipher.c crypto: algif_aead - fix uninitialized ctx->init 2020-08-21 13:05:38 +02:00
ansi_cprng.c
anubis.c
api.c crypto: api - Fix race condition in crypto_spawn_alg 2020-02-11 04:35:31 -08:00
arc4.c
authenc.c
authencesn.c
blkcipher.c
blowfish_common.c
blowfish_generic.c
camellia_generic.c
cast5_generic.c
cast6_generic.c
cast_common.c
cbc.c
ccm.c
cfb.c
chacha20poly1305.c
chacha_generic.c
cipher.c
cmac.c
compress.c
crc32_generic.c
crc32c_generic.c
crct10dif_common.c
crct10dif_generic.c
cryptd.c
crypto_engine.c
crypto_null.c
crypto_user_base.c crypto: user - fix memory leak in crypto_report 2019-12-13 08:43:10 +01:00
crypto_user_stat.c crypto: user - fix memory leak in crypto_reportstat 2019-12-13 08:43:11 +01:00
ctr.c
cts.c
deflate.c
des_generic.c
dh_helper.c
dh.c
drbg.c crypto: drbg - fix error return code in drbg_alloc_state() 2020-06-17 16:40:31 +02:00
ecb.c
ecc_curve_defs.h
ecc.c crypto: ecdh - fix big endian bug in ECC library 2019-12-13 08:43:09 +01:00
ecc.h
ecdh_helper.c
ecdh.c
echainiv.c
ecrdsa_defs.h
ecrdsa_params.asn1
ecrdsa_pub_key.asn1
ecrdsa.c
essiv.c
fcrypt.c
fips.c
gcm.c
gf128mul.c
ghash-generic.c
hash_info.c crypto: rename sm3-256 to sm3 in hash_algo_name 2020-02-28 17:22:26 +01:00
hmac.c
internal.h crypto: api - Fix race condition in crypto_spawn_alg 2020-02-11 04:35:31 -08:00
jitterentropy-kcapi.c
jitterentropy.c
Kconfig crypto: essiv - fix AEAD capitalization and preposition use in help text 2020-02-24 08:36:50 +01:00
keywrap.c
khazad.c
kpp.c
lrw.c gcc-10: avoid shadowing standard library 'free()' in crypto 2020-05-20 08:20:29 +02:00
lz4.c
lz4hc.c
lzo-rle.c
lzo.c
Makefile crypto: aegis128-neon - use Clang compatible cflags for ARM 2019-12-31 16:43:38 +01:00
md4.c
md5.c
memneq.c
michael_mic.c
nhpoly1305.c
ofb.c
pcbc.c
pcrypt.c crypto: pcrypt - Do not clear MAY_SLEEP flag in original request 2020-02-11 04:35:31 -08:00
poly1305_generic.c
proc.c
ripemd.h
rmd128.c
rmd160.c
rmd256.c
rmd320.c
rng.c crypto: rng - Fix a refcounting bug in crypto_rng_reset() 2020-04-17 10:50:16 +02:00
rsa_helper.c
rsa-pkcs1pad.c
rsa.c
rsaprivkey.asn1
rsapubkey.asn1
salsa20_generic.c
scatterwalk.c
scompress.c
seed.c
seqiv.c
serpent_generic.c
sha1_generic.c
sha3_generic.c
sha256_generic.c
sha512_generic.c
shash.c
simd.c
skcipher.c crypto: skcipher - Unmap pages after an external error 2019-09-09 17:35:27 +10:00
sm3_generic.c
sm4_generic.c
streebog_generic.c
tcrypt.c
tcrypt.h
tea.c
testmgr.c crypto: testmgr - don't try to decrypt uninitialized buffers 2020-02-14 16:34:18 -05:00
testmgr.h
tgr192.c
twofish_common.c
twofish_generic.c
vmac.c
wp512.c
xcbc.c
xor.c
xts.c gcc-10: avoid shadowing standard library 'free()' in crypto 2020-05-20 08:20:29 +02:00
xxhash_generic.c
zstd.c