]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/cifs/connect.c
Merge remote-tracking branch 'security/next'
[karo-tx-linux.git] / fs / cifs / connect.c
index 4042996ddc7c6f6a7ccc5c389b20c5147751800b..ecb0803bdb0e50479f50b0e874a4e87cb064e2d0 100644 (file)
@@ -2358,13 +2358,14 @@ static int
 cifs_set_cifscreds(struct smb_vol *vol, struct cifs_ses *ses)
 {
        int rc = 0;
-       char *desc, *delim, *payload;
+       const char *delim, *payload;
+       char *desc;
        ssize_t len;
        struct key *key;
        struct TCP_Server_Info *server = ses->server;
        struct sockaddr_in *sa;
        struct sockaddr_in6 *sa6;
-       struct user_key_payload *upayload;
+       const struct user_key_payload *upayload;
 
        desc = kmalloc(CIFSCREDS_DESC_SIZE, GFP_KERNEL);
        if (!desc)
@@ -2407,14 +2408,14 @@ cifs_set_cifscreds(struct smb_vol *vol, struct cifs_ses *ses)
        }
 
        down_read(&key->sem);
-       upayload = key->payload.data;
+       upayload = user_key_payload(key);
        if (IS_ERR_OR_NULL(upayload)) {
                rc = upayload ? PTR_ERR(upayload) : -EINVAL;
                goto out_key_put;
        }
 
        /* find first : in payload */
-       payload = (char *)upayload->data;
+       payload = upayload->data;
        delim = strnchr(payload, upayload->datalen, ':');
        cifs_dbg(FYI, "payload=%s\n", payload);
        if (!delim) {