/* Get the salt if the user provided one */
        if (arg->salt_size &&
-           copy_from_user(desc->salt,
-                          (const u8 __user *)(uintptr_t)arg->salt_ptr,
+           copy_from_user(desc->salt, u64_to_user_ptr(arg->salt_ptr),
                           arg->salt_size)) {
                err = -EFAULT;
                goto out;
 
        /* Get the signature if the user provided one */
        if (arg->sig_size &&
-           copy_from_user(desc->signature,
-                          (const u8 __user *)(uintptr_t)arg->sig_ptr,
+           copy_from_user(desc->signature, u64_to_user_ptr(arg->sig_ptr),
                           arg->sig_size)) {
                err = -EFAULT;
                goto out;