diff options
author | Elena Reshetova <elena.reshetova@intel.com> | 2017-03-31 15:20:49 +0300 |
---|---|---|
committer | James Morris <james.l.morris@oracle.com> | 2017-04-03 03:49:06 +0300 |
commit | ddb99e118e37f324a4be65a411bb60ae62795cf9 (patch) | |
tree | 9fecb40084bb937fafa04eaf57d9bc4ae3bcb6a9 /security/keys/process_keys.c | |
parent | fff292914d3a2f1efd05ca71c2ba72a3c663201e (diff) | |
download | linux-ddb99e118e37f324a4be65a411bb60ae62795cf9.tar.xz |
security, keys: convert key_user.usage from atomic_t to refcount_t
refcount_t type and corresponding API should be
used instead of atomic_t when the variable is used as
a reference counter. This allows to avoid accidental
refcounter overflows that might lead to use-after-free
situations.
Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
Signed-off-by: Hans Liljestrand <ishkamiel@gmail.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: David Windsor <dwindsor@gmail.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
Diffstat (limited to 'security/keys/process_keys.c')
-rw-r--r-- | security/keys/process_keys.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c index b6fdd22205b1..44451af828c0 100644 --- a/security/keys/process_keys.c +++ b/security/keys/process_keys.c @@ -30,7 +30,7 @@ static DEFINE_MUTEX(key_user_keyring_mutex); /* The root user's tracking struct */ struct key_user root_key_user = { - .usage = ATOMIC_INIT(3), + .usage = REFCOUNT_INIT(3), .cons_lock = __MUTEX_INITIALIZER(root_key_user.cons_lock), .lock = __SPIN_LOCK_UNLOCKED(root_key_user.lock), .nkeys = ATOMIC_INIT(2), |