#include <linux/key-type.h>
 #include <linux/task_work.h>
 #include <linux/keyctl.h>
+#include <linux/refcount.h>
 
 struct iovec;
 
        struct rb_node          node;
        struct mutex            cons_lock;      /* construction initiation lock */
        spinlock_t              lock;
-       atomic_t                usage;          /* for accessing qnkeys & qnbytes */
+       refcount_t              usage;          /* for accessing qnkeys & qnbytes */
        atomic_t                nkeys;          /* number of keys */
        atomic_t                nikeys;         /* number of instantiated keys */
        kuid_t                  uid;
 
 
        /* if we get here, then the user record still hadn't appeared on the
         * second pass - so we use the candidate record */
-       atomic_set(&candidate->usage, 1);
+       refcount_set(&candidate->usage, 1);
        atomic_set(&candidate->nkeys, 0);
        atomic_set(&candidate->nikeys, 0);
        candidate->uid = uid;
 
        /* okay - we found a user record for this UID */
 found:
-       atomic_inc(&user->usage);
+       refcount_inc(&user->usage);
        spin_unlock(&key_user_lock);
        kfree(candidate);
 out:
  */
 void key_user_put(struct key_user *user)
 {
-       if (atomic_dec_and_lock(&user->usage, &key_user_lock)) {
+       if (refcount_dec_and_lock(&user->usage, &key_user_lock)) {
                rb_erase(&user->node, &key_user_tree);
                spin_unlock(&key_user_lock);
 
 
 
        seq_printf(m, "%5u: %5d %d/%d %d/%d %d/%d\n",
                   from_kuid_munged(seq_user_ns(m), user->uid),
-                  atomic_read(&user->usage),
+                  refcount_read(&user->usage),
                   atomic_read(&user->nkeys),
                   atomic_read(&user->nikeys),
                   user->qnkeys,
 
 
 /* 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),