Michal Hocko
752ade68cb
treewide: use kv[mz]alloc* rather than opencoded variants
...
There are many code paths opencoding kvmalloc. Let's use the helper
instead. The main difference to kvmalloc is that those users are
usually not considering all the aspects of the memory allocator. E.g.
allocation requests <= 32kB (with 4kB pages) are basically never failing
and invoke OOM killer to satisfy the allocation. This sounds too
disruptive for something that has a reasonable fallback - the vmalloc.
On the other hand those requests might fallback to vmalloc even when the
memory allocator would succeed after several more reclaim/compaction
attempts previously. There is no guarantee something like that happens
though.
This patch converts many of those places to kv[mz]alloc* helpers because
they are more conservative.
Link: http://lkml.kernel.org/r/20170306103327.2766-2-mhocko@kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> # Xen bits
Acked-by: Kees Cook <keescook@chromium.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Andreas Dilger <andreas.dilger@intel.com> # Lustre
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> # KVM/s390
Acked-by: Dan Williams <dan.j.williams@intel.com> # nvdim
Acked-by: David Sterba <dsterba@suse.com> # btrfs
Acked-by: Ilya Dryomov <idryomov@gmail.com> # Ceph
Acked-by: Tariq Toukan <tariqt@mellanox.com> # mlx4
Acked-by: Leon Romanovsky <leonro@mellanox.com> # mlx5
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Colin Cross <ccross@android.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Cc: Santosh Raspatur <santosh@chelsio.com>
Cc: Hariprasad S <hariprasad@chelsio.com>
Cc: Yishai Hadas <yishaih@mellanox.com>
Cc: Oleg Drokin <oleg.drokin@intel.com>
Cc: "Yan, Zheng" <zyan@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-05-08 17:15:13 -07:00
..
asymmetric_keys
KEYS: Keyring asymmetric key restrict method with chaining
2017-04-04 14:10:13 -07:00
async_tx
async_pq_val: fix DMA memory leak
2016-10-05 06:18:09 +05:30
.gitignore
crypto: rsa - add .gitignore for crypto/*.-asn1.[ch] files
2015-06-25 23:29:24 +08:00
842.c
crypto: acomp - add support for 842 via scomp
2016-10-25 11:08:33 +08:00
ablk_helper.c
crypto: ablk_helper - Fix cryptd reordering
2016-06-23 18:29:53 +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: Replaced gcc specific attributes with macros from compiler.h
2017-01-13 00:24:39 +08:00
aes_generic.c
crypto: aes-generic - drop alignment requirement
2017-02-11 17:50:43 +08:00
aes_ti.c
crypto: aes - add generic time invariant AES cipher
2017-02-11 17:50:43 +08:00
af_alg.c
crypto: af_alg - Allow arbitrarily long algorithm names
2017-04-10 19:17:26 +08:00
ahash.c
crypto: ahash - Fix EINPROGRESS notification callback
2017-04-10 19:09:18 +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: algapi - annotate expected branch behavior in crypto_inc()
2017-03-09 18:34:17 +08:00
algboss.c
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
algif_aead.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2017-05-02 15:53:46 -07:00
algif_hash.c
net: Work around lockdep limitation in sockets that use sockets
2017-03-09 18:23:27 -08:00
algif_rng.c
crypto: algif_rng - Remove obsolete const-removal cast
2015-04-22 09:30:21 +08:00
algif_skcipher.c
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
ansi_cprng.c
crypto: ansi_cprng - Convert to new rng interface
2015-04-22 09:30:18 +08:00
anubis.c
api.c
sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
2017-03-02 08:42:32 +01:00
arc4.c
authenc.c
crypto: skcipher - Get rid of crypto_spawn_skcipher2()
2016-11-01 08:37:17 +08:00
authencesn.c
crypto: skcipher - Get rid of crypto_spawn_skcipher2()
2016-11-01 08:37:17 +08:00
blkcipher.c
crypto: Replaced gcc specific attributes with macros from compiler.h
2017-01-13 00:24:39 +08:00
blowfish_common.c
blowfish_generic.c
camellia_generic.c
cast5_generic.c
cast6_generic.c
cast_common.c
cbc.c
crypto: cbc - Propagate NEED_FALLBACK bit
2017-03-09 18:34:39 +08:00
ccm.c
crypto: ccm - move cbcmac input off the stack
2017-02-28 17:29:17 +08:00
chacha20_generic.c
crypto: chacha20 - convert generic and x86 versions to skcipher
2016-12-27 17:47:31 +08:00
chacha20poly1305.c
crypto: skcipher - Get rid of crypto_spawn_skcipher2()
2016-11-01 08:37:17 +08:00
cipher.c
crypto: api - Remove no-op exit_ops code
2016-10-21 11:03:42 +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 - Rename generic implementation
2016-01-30 22:11:22 +08:00
crc32c_generic.c
crypto: crc32c - Fix crc32c soft dependency
2016-01-19 15:52:10 +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: cryptd - Add support for skcipher
2016-11-28 21:23:18 +08:00
crypto_engine.c
sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h>
2017-03-02 08:42:27 +01:00
crypto_null.c
crypto: null - Remove default null blkcipher
2016-07-18 17:35:44 +08:00
crypto_user.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2017-05-02 16:40:27 -07:00
crypto_wq.c
ctr.c
crypto: ctr - Propagate NEED_FALLBACK bit
2017-03-09 18:34:39 +08:00
cts.c
crypto: algapi - make crypto_xor() and crypto_inc() alignment agnostic
2017-02-11 17:52:28 +08:00
deflate.c
crypto: scomp - add support for deflate rfc1950 (zlib)
2017-04-24 18:11:08 +08:00
des_generic.c
dh.c
crypto: kpp - constify buffer passed to crypto_kpp_set_secret()
2017-03-09 18:34:27 +08:00
dh_helper.c
crypto: dh - Add DH software implementation
2016-06-23 18:29:56 +08:00
drbg.c
crypto: DRBG - initialize SGL only once
2017-03-24 22:03:01 +08:00
ecb.c
ecc.c
crypto: ecdh - make ecdh_shared_secret unique
2016-06-24 21:24:59 +08:00
ecc.h
crypto: ecdh - make ecdh_shared_secret unique
2016-06-24 21:24:59 +08:00
ecc_curve_defs.h
crypto: ecdh - Add ECDH software support
2016-06-23 18:29:57 +08:00
ecdh.c
crypto: kpp - constify buffer passed to crypto_kpp_set_secret()
2017-03-09 18:34:27 +08:00
ecdh_helper.c
crypto: ecdh - Add ECDH software support
2016-06-23 18:29:57 +08:00
echainiv.c
crypto: echainiv - Replace chaining with multiplication
2016-09-13 18:44:57 +08: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: skcipher - Get rid of crypto_spawn_skcipher2()
2016-11-01 08:37:17 +08:00
gf128mul.c
crypto: gf128mul - define gf128mul_x_* in gf128mul.h
2017-04-05 21:58:35 +08:00
ghash-generic.c
crypto: ghash-generic - move common definitions to a new header file
2016-10-02 22:26:40 +08:00
hash_info.c
keys, trusted: select hash algorithm for TPM2 chips
2015-12-20 15:27:12 +02:00
hmac.c
internal.h
crypto: api - Remove no-op exit_ops code
2016-10-21 11:03:42 +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: xts - drop gf128mul dependency
2017-04-05 21:58:37 +08:00
keywrap.c
crypto: keywrap - memzero the correct memory
2016-02-01 22:27:05 +08: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 - Fix use-after-free on EINPROGRESS
2017-04-10 19:09:17 +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: improve gcc optimization flags for serpent and wp512
2017-02-11 17:52:26 +08:00
mcryptd.c
sched/headers: Prepare for new header dependencies before moving code to <linux/sched/stat.h>
2017-03-02 08:42:34 +01:00
md4.c
md5.c
md5: remove from lib and only live in crypto
2017-03-24 22:02:56 +08:00
memneq.c
michael_mic.c
pcbc.c
crypto: algapi - make crypto_xor() and crypto_inc() alignment agnostic
2017-02-11 17:52:28 +08:00
pcrypt.c
crypto: aead - Remove CRYPTO_ALG_AEAD_NEW flag
2015-08-17 16:53:53 +08:00
poly1305_generic.c
crypto: poly1305 - Use unaligned access where required
2016-11-13 17:45:03 +08:00
proc.c
crypto: fips - Move fips_enabled sysctl into fips.c
2015-04-23 14:18:09 +08:00
ripemd.h
rmd128.c
rmd160.c
rmd256.c
rmd320.c
rng.c
crypto: Replaced gcc specific attributes with macros from compiler.h
2017-01-13 00:24:39 +08:00
rsa-pkcs1pad.c
crypto: rsa-pkcs1pad - Handle leading zero for decryption
2016-09-22 17:42:08 +08:00
rsa.c
crypto: rsa - Generate fixed-length output
2016-07-01 23:45:18 +08:00
rsa_helper.c
crypto: rsa - allow keys >= 2048 bits in FIPS mode
2016-08-24 21:07:10 +08: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
scatterwalk.c
crypto: scatterwalk - Remove unnecessary aliasing check in map_and_copy
2016-11-22 15:02:25 +08:00
scompress.c
crypto: scomp - allow registration of multiple scomps
2017-04-24 18:11:07 +08:00
seed.c
seqiv.c
crypto: algapi - make crypto_xor() and crypto_inc() alignment agnostic
2017-02-11 17:52:28 +08:00
serpent_generic.c
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: sha3 - Add missing ULL suffixes for 64-bit constants
2016-08-08 23:43:46 +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: Replaced gcc specific attributes with macros from compiler.h
2017-01-13 00:24:39 +08:00
simd.c
crypto: simd - Add simd skcipher helper
2016-11-28 21:23:18 +08:00
skcipher.c
crypto: Replaced gcc specific attributes with macros from compiler.h
2017-01-13 00:24:39 +08:00
tcrypt.c
crypto: tcrypt - Add debug prints
2017-01-23 22:50:24 +08:00
tcrypt.h
crypto: tcrypt - Add ChaCha20/Poly1305 speed tests
2015-07-17 21:20:20 +08:00
tea.c
testmgr.c
crypto: scomp - add support for deflate rfc1950 (zlib)
2017-04-24 18:11:08 +08:00
testmgr.h
crypto: scomp - add support for deflate rfc1950 (zlib)
2017-04-24 18:11:08 +08:00
tgr192.c
twofish_common.c
twofish_generic.c
vmac.c
wp512.c
xcbc.c
xor.c
crypto: xor - Fix warning when XOR_SELECT_TEMPLATE is unset
2016-08-31 23:00:48 +08:00
xts.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2017-05-02 15:53:46 -07:00