diff -drupN a/fs/cifs/connect.c b/fs/cifs/connect.c --- a/fs/cifs/connect.c 2018-08-06 17:23:04.000000000 +0300 +++ b/fs/cifs/connect.c 2022-06-12 05:28:14.000000000 +0300 @@ -2439,7 +2439,7 @@ cifs_set_cifscreds(struct smb_vol *vol, } down_read(&key->sem); - upayload = user_key_payload(key); + upayload = user_key_payload_locked(key); if (IS_ERR_OR_NULL(upayload)) { rc = upayload ? PTR_ERR(upayload) : -EINVAL; goto out_key_put;