Linus Torvalds
a11e1d432b
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
...
The poll() changes were not well thought out, and completely
unexplained. They also caused a huge performance regression, because
"->poll()" was no longer a trivial file operation that just called down
to the underlying file operations, but instead did at least two indirect
calls.
Indirect calls are sadly slow now with the Spectre mitigation, but the
performance problem could at least be largely mitigated by changing the
"->get_poll_head()" operation to just have a per-file-descriptor pointer
to the poll head instead. That gets rid of one of the new indirections.
But that doesn't fix the new complexity that is completely unwarranted
for the regular case. The (undocumented) reason for the poll() changes
was some alleged AIO poll race fixing, but we don't make the common case
slower and more complex for some uncommon special case, so this all
really needs way more explanations and most likely a fundamental
redesign.
[ This revert is a revert of about 30 different commits, not reverted
individually because that would just be unnecessarily messy - Linus ]
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-06-28 10:40:47 -07:00
..
asymmetric_keys
X.509: unpack RSA signatureValue field from BIT STRING
2018-06-25 12:17:08 -07:00
async_tx
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
842.c
crypto: acomp - add support for 842 via scomp
2016-10-25 11:08:33 +08:00
ablkcipher.c
crypto: Replaced gcc specific attributes with macros from compiler.h
2017-01-13 00:24:39 +08:00
acompress.c
crypto: acomp - allow registration of multiple acomps
2017-04-21 20:30:50 +08:00
aead.c
crypto: aead - prevent using AEADs without setting key
2018-01-12 23:03:39 +11:00
aegis.h
crypto: aegis - Add generic AEGIS AEAD implementations
2018-05-19 00:13:58 +08:00
aegis128.c
crypto: aegis - Add generic AEGIS AEAD implementations
2018-05-19 00:13:58 +08:00
aegis128l.c
crypto: aegis - Add generic AEGIS AEAD implementations
2018-05-19 00:13:58 +08:00
aegis256.c
crypto: aegis - Add generic AEGIS AEAD implementations
2018-05-19 00:13:58 +08:00
aes_generic.c
crypto: aes-generic - drop alignment requirement
2017-02-11 17:50:43 +08:00
aes_ti.c
crypto: aes_ti - fix comment for MixColumns step
2017-06-19 14:11:53 +08:00
af_alg.c
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
2018-06-28 10:40:47 -07:00
ahash.c
crypto: ahash - Fix early termination in hash walk
2018-03-31 01:34:19 +08:00
akcipher.c
crypto: Replaced gcc specific attributes with macros from compiler.h
2017-01-13 00:24:39 +08:00
algapi.c
crypto: api - laying defines and checks for statically allocated buffers
2018-04-21 00:58:32 +08:00
algboss.c
crypto: algboss - remove redundant setting of len to zero
2017-10-07 12:10:34 +08:00
algif_aead.c
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
2018-06-28 10:40:47 -07:00
algif_hash.c
net: remove sock_no_poll
2018-05-26 09:16:44 +02:00
algif_rng.c
net: remove sock_no_poll
2018-05-26 09:16:44 +02:00
algif_skcipher.c
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
2018-06-28 10:40:47 -07:00
ansi_cprng.c
crypto: ansi_cprng - Convert to new rng interface
2015-04-22 09:30:18 +08:00
anubis.c
api.c
crypto: api - fix finding algorithm currently being tested
2018-04-21 00:24:02 +08:00
arc4.c
authenc.c
crypto: authenc - don't leak pointers to authenc keys
2018-04-21 00:58:30 +08:00
authencesn.c
crypto: authencesn - don't leak pointers to authenc keys
2018-04-21 00:58:30 +08:00
blkcipher.c
crypto: remove unused hardirq.h
2017-11-29 17:33:29 +11:00
blowfish_common.c
blowfish_generic.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
camellia_generic.c
crypto: replace FSF address with web source in license notices
2017-11-29 17:33:25 +11:00
cast5_generic.c
crypto: replace FSF address with web source in license notices
2017-11-29 17:33:25 +11:00
cast6_generic.c
crypto: replace FSF address with web source in license notices
2017-11-29 17:33:25 +11:00
cast_common.c
cbc.c
crypto: cbc - Propagate NEED_FALLBACK bit
2017-03-09 18:34:39 +08:00
ccm.c
crypto: ccm - preserve the IV buffer
2017-11-03 21:35:35 +08:00
cfb.c
crypto: remove several VLAs
2018-04-21 00:58:34 +08:00
chacha20_generic.c
crypto: chacha20 - Fix keystream alignment for chacha20_block()
2017-11-29 17:33:33 +11:00
chacha20poly1305.c
crypto: chacha20poly1305 - validate the digest size
2017-12-22 19:02:33 +11:00
cipher.c
crypto: remove several VLAs
2018-04-21 00:58:34 +08:00
cmac.c
crypto: algapi - make crypto_xor() and crypto_inc() alignment agnostic
2017-02-11 17:52:28 +08:00
compress.c
crypto: api - Remove no-op exit_ops code
2016-10-21 11:03:42 +08:00
crc32_generic.c
crypto: crc32-generic - remove __crc32_le()
2018-05-27 00:12:09 +08:00
crc32c_generic.c
crypto: crc32c-generic - remove cra_alignmask
2018-05-27 00:12:08 +08:00
crct10dif_common.c
crct10dif_generic.c
crypto: squash lines for simple wrapper functions
2016-09-13 20:27:26 +08:00
cryptd.c
crypto: hash - annotate algorithms taking optional key
2018-01-12 23:03:35 +11:00
crypto_engine.c
crypto: engine - Permit to enqueue all async requests
2018-02-15 23:26:50 +08:00
crypto_null.c
crypto: null - Remove default null blkcipher
2016-07-18 17:35:44 +08:00
crypto_user.c
crypto: user - Replace GFP_ATOMIC with GFP_KERNEL in crypto_report
2018-02-15 23:26:47 +08:00
crypto_wq.c
ctr.c
crypto: remove several VLAs
2018-04-21 00:58:34 +08:00
cts.c
crypto: remove several VLAs
2018-04-21 00:58:34 +08:00
deflate.c
crypto: scomp - add support for deflate rfc1950 (zlib)
2017-04-24 18:11:08 +08:00
des_generic.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
dh.c
crypto: dh - Remove pointless checks for NULL 'p' and 'g'
2017-11-10 19:20:22 +08:00
dh_helper.c
crypto: dh - Don't permit 'key' or 'g' size longer than 'p'
2017-11-10 19:20:17 +08:00
drbg.c
crypto: drbg - set freed buffers to NULL
2018-04-21 00:57:00 +08:00
ecb.c
ecc.c
crypto: ecc - Actually remove stack VLA usage
2018-04-21 00:58:29 +08:00
ecc.h
crypto: ecc - Actually remove stack VLA usage
2018-04-21 00:58:29 +08:00
ecc_curve_defs.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
ecdh.c
crypto: ecc - Actually remove stack VLA usage
2018-04-21 00:58:29 +08:00
ecdh_helper.c
crypto: ecdh - return unsigned value for crypto_ecdh_key_len()
2017-10-12 22:55:00 +08:00
echainiv.c
crypto: echainiv - Remove unused alg/spawn variable
2017-12-22 19:52:45 +11:00
fcrypt.c
fips.c
crypto: fips - Move fips_enabled sysctl into fips.c
2015-04-23 14:18:09 +08:00
gcm.c
crypto: null - Get rid of crypto_{get,put}_default_null_skcipher2()
2017-12-22 19:29:08 +11:00
gf128mul.c
crypto: gf128mul - remove incorrect comment
2017-12-22 19:52:40 +11:00
ghash-generic.c
crypto: ghash - remove checks for key being set
2018-01-12 23:03:38 +11:00
hash_info.c
keys, trusted: select hash algorithm for TPM2 chips
2015-12-20 15:27:12 +02:00
hmac.c
crypto: hmac - require that the underlying hash algorithm is unkeyed
2017-11-29 13:39:15 +11:00
internal.h
crypto: api - Make crypto_alg_lookup static
2018-03-31 01:32:58 +08:00
jitterentropy-kcapi.c
crypto: jitterentropy - drop duplicate header module.h
2016-11-17 23:34:52 +08:00
jitterentropy.c
crypto: jitterentropy - Delete unnecessary checks before the function call "kzfree"
2015-06-25 23:18:33 +08:00
Kconfig
crypto: x86/salsa20 - remove x86 salsa20 implementations
2018-05-31 00:13:57 +08:00
keywrap.c
crypto: keywrap - Add missing ULL suffixes for 64-bit constants
2017-11-29 17:33:26 +11:00
khazad.c
kpp.c
crypto: Replaced gcc specific attributes with macros from compiler.h
2017-01-13 00:24:39 +08:00
lrw.c
crypto: lrw - Free rctx->ext with kzfree
2018-03-31 01:33:10 +08:00
lz4.c
crypto: lz4 - fixed decompress function to return error code
2017-04-10 19:17:27 +08:00
lz4hc.c
crypto: lz4 - fixed decompress function to return error code
2017-04-10 19:17:27 +08:00
lzo.c
treewide: use kv[mz]alloc* rather than opencoded variants
2017-05-08 17:15:13 -07:00
Makefile
crypto: morus - Mark MORUS SIMD glue as x86-specific
2018-05-31 00:13:41 +08:00
mcryptd.c
crypto: mcryptd - remove pointless wrapper functions
2018-02-15 23:26:45 +08:00
md4.c
crypto: Deduplicate le32_to_cpu_array() and cpu_to_le32_array()
2018-03-31 01:33:09 +08:00
md5.c
crypto: Deduplicate le32_to_cpu_array() and cpu_to_le32_array()
2018-03-31 01:33:09 +08:00
memneq.c
michael_mic.c
morus640.c
crypto: morus640 - Fix out-of-bounds access
2018-06-15 23:06:48 +08:00
morus1280.c
crypto: morus - Add generic MORUS AEAD implementations
2018-05-19 00:15:00 +08:00
pcbc.c
crypto: remove several VLAs
2018-04-21 00:58:34 +08:00
pcrypt.c
crypto: pcrypt - fix freeing pcrypt instances
2017-12-22 19:02:47 +11:00
poly1305_generic.c
crypto: poly1305 - remove ->setkey() method
2018-01-12 23:03:14 +11:00
proc.c
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
ripemd.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
rmd128.c
crypto: drop unnecessary return statements
2017-09-22 17:43:28 +08:00
rmd160.c
crypto: drop unnecessary return statements
2017-09-22 17:43:28 +08:00
rmd256.c
crypto: drop unnecessary return statements
2017-09-22 17:43:28 +08:00
rmd320.c
crypto: drop unnecessary return statements
2017-09-22 17:43:28 +08:00
rng.c
crypto: rng - ensure that the RNG is ready before using
2017-07-28 17:56:00 +08:00
rsa-pkcs1pad.c
crypto: rsa-pkcs1pad - Replace GFP_ATOMIC with GFP_KERNEL in pkcs1pad_encrypt_sign_complete
2018-02-15 23:26:47 +08:00
rsa.c
crypto: rsa - Remove unneeded error assignment
2018-04-21 00:58:37 +08:00
rsa_helper.c
kbuild: rename *-asn1.[ch] to *.asn1.[ch]
2018-04-07 19:04:02 +09:00
rsaprivkey.asn1
crypto: rsa - Store rest of the private key components
2016-07-05 23:05:26 +08:00
rsapubkey.asn1
crypto: akcipher - Changes to asymmetric key API
2015-10-14 22:23:16 +08:00
salsa20_generic.c
crypto: salsa20 - Revert "crypto: salsa20 - export generic helpers"
2018-05-31 00:13:57 +08:00
scatterwalk.c
crypto: scatterwalk - Remove unnecessary aliasing check in map_and_copy
2016-11-22 15:02:25 +08:00
scompress.c
crypto: scompress - use sgl_alloc() and sgl_free()
2018-01-06 09:18:00 -07:00
seed.c
seqiv.c
crypto: seqiv - Remove unused alg/spawn variable
2017-12-22 19:52:45 +11:00
serpent_generic.c
crypto: serpent - improve __serpent_setkey with UBSAN
2017-08-09 20:17:54 +08:00
sha1_generic.c
crypto: hash - add zero length message hash for shax and md5
2015-12-22 20:43:35 +08:00
sha3_generic.c
crypto: don't optimize keccakf()
2018-06-15 23:06:48 +08:00
sha256_generic.c
crypto: hash - add zero length message hash for shax and md5
2015-12-22 20:43:35 +08:00
sha512_generic.c
crypto: sha512-generic - move to generic glue implementation
2015-04-10 21:39:41 +08:00
shash.c
crypto: hash - prevent using keyed hashes without setting key
2018-01-12 23:03:37 +11:00
simd.c
crypto: simd - allow registering multiple algorithms at once
2018-03-03 00:03:17 +08:00
skcipher.c
crypto: skcipher - prevent using skciphers without setting key
2018-01-12 23:03:39 +11:00
sm3_generic.c
crypto: sm3 - add OSCCA SM3 secure hash
2017-09-22 17:43:07 +08:00
sm4_generic.c
crypto: sm4 - export encrypt/decrypt routines to other drivers
2018-05-05 14:52:51 +08:00
speck.c
crypto: speck - export common helpers
2018-02-22 22:16:54 +08:00
tcrypt.c
crypto: testmgr - remove bfin_crc "hmac(crc32)" test vectors
2018-05-27 00:12:10 +08:00
tcrypt.h
crypto: tcrypt - Add ChaCha20/Poly1305 speed tests
2015-07-17 21:20:20 +08:00
tea.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
testmgr.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
testmgr.h
crypto: testmgr - eliminate redundant decryption test vectors
2018-05-31 00:13:39 +08:00
tgr192.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
twofish_common.c
crypto: replace FSF address with web source in license notices
2017-11-29 17:33:25 +11:00
twofish_generic.c
crypto: replace FSF address with web source in license notices
2017-11-29 17:33:25 +11:00
vmac.c
wp512.c
crypto: add missing crypto module aliases
2015-01-13 22:29:11 +11:00
xcbc.c
crypto: replace FSF address with web source in license notices
2017-11-29 17:33:25 +11:00
xor.c
kmemcheck: stop using GFP_NOTRACK and SLAB_NOTRACK
2017-11-15 18:21:04 -08:00
xts.c
crypto: xts - remove xts_crypt()
2018-03-03 00:03:33 +08:00
zstd.c
crypto: zstd - Add zstd support
2018-04-21 00:58:30 +08:00