android_kernel_motorola_sm6375/security/keys
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Eric Biggers e9ff56ac35 KEYS: encrypted: avoid encrypting/decrypting stack buffers
Since v4.9, the crypto API cannot (normally) be used to encrypt/decrypt
stack buffers because the stack may be virtually mapped.  Fix this for
the padding buffers in encrypted-keys by using ZERO_PAGE for the
encryption padding and by allocating a temporary heap buffer for the
decryption padding.

Tested with CONFIG_DEBUG_SG=y:
	keyctl new_session
	keyctl add user master "abcdefghijklmnop" @s
	keyid=$(keyctl add encrypted desc "new user:master 25" @s)
	datablob="$(keyctl pipe $keyid)"
	keyctl unlink $keyid
	keyid=$(keyctl add encrypted desc "load $datablob" @s)
	datablob2="$(keyctl pipe $keyid)"
	[ "$datablob" = "$datablob2" ] && echo "Success!"

Cc: Andy Lutomirski <luto@kernel.org>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Mimi Zohar <zohar@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org # 4.9+
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
2017-06-09 13:29:46 +10:00
..
encrypted-keys KEYS: encrypted: avoid encrypting/decrypting stack buffers 2017-06-09 13:29:46 +10:00
big_key.c
compat.c KEYS: add SP800-56A KDF support for DH 2017-04-04 22:33:38 +01:00
compat_dh.c KEYS: add SP800-56A KDF support for DH 2017-04-04 22:33:38 +01:00
dh.c KEYS: add SP800-56A KDF support for DH 2017-04-04 22:33:38 +01:00
gc.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2017-05-03 08:50:52 -07:00
internal.h KEYS: add SP800-56A KDF support for DH 2017-04-04 22:33:38 +01:00
Kconfig security/keys: add CONFIG_KEYS_COMPAT to Kconfig 2017-06-09 13:29:45 +10:00
key.c KEYS: Consistent ordering for __key_link_begin and restrict check 2017-04-04 14:10:11 -07:00
keyctl.c treewide: use kv[mz]alloc* rather than opencoded variants 2017-05-08 17:15:13 -07:00
keyring.c security: use READ_ONCE instead of deprecated ACCESS_ONCE 2017-06-09 13:29:45 +10:00
Makefile KEYS: add SP800-56A KDF support for DH 2017-04-04 22:33:38 +01:00
permission.c
persistent.c
proc.c security, keys: convert key_user.usage from atomic_t to refcount_t 2017-04-03 10:49:06 +10:00
process_keys.c KEYS: put keyring if install_session_keyring_to_cred() fails 2017-06-09 13:29:46 +10:00
request_key.c
request_key_auth.c security, keys: convert key.usage from atomic_t to refcount_t 2017-04-03 10:49:05 +10:00
sysctl.c
trusted.c
trusted.h
user_defined.c