ksmbd: Remove duplicated codes
authorDawei Li <set_pte_at@outlook.com>
Tue, 17 Jan 2023 14:29:19 +0000 (23:29 +0900)
committerSteve French <stfrench@microsoft.com>
Tue, 31 Jan 2023 02:49:30 +0000 (20:49 -0600)
ksmbd_neg_token_init_mech_token() and ksmbd_neg_token_targ_resp_token()
share same implementation, unify them.

Signed-off-by: Dawei Li <set_pte_at@outlook.com>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/ksmbd/asn1.c

index c03eba090368227ceaeb334ee485c80b30e71196..cc6384f796759976019903343ed68f6d39d14e64 100644 (file)
@@ -208,9 +208,9 @@ int ksmbd_neg_token_init_mech_type(void *context, size_t hdrlen,
        return 0;
 }
 
-int ksmbd_neg_token_init_mech_token(void *context, size_t hdrlen,
-                                   unsigned char tag, const void *value,
-                                   size_t vlen)
+static int ksmbd_neg_token_alloc(void *context, size_t hdrlen,
+                                unsigned char tag, const void *value,
+                                size_t vlen)
 {
        struct ksmbd_conn *conn = context;
 
@@ -223,17 +223,16 @@ int ksmbd_neg_token_init_mech_token(void *context, size_t hdrlen,
        return 0;
 }
 
-int ksmbd_neg_token_targ_resp_token(void *context, size_t hdrlen,
+int ksmbd_neg_token_init_mech_token(void *context, size_t hdrlen,
                                    unsigned char tag, const void *value,
                                    size_t vlen)
 {
-       struct ksmbd_conn *conn = context;
-
-       conn->mechToken = kmalloc(vlen + 1, GFP_KERNEL);
-       if (!conn->mechToken)
-               return -ENOMEM;
+       return ksmbd_neg_token_alloc(context, hdrlen, tag, value, vlen);
+}
 
-       memcpy(conn->mechToken, value, vlen);
-       conn->mechToken[vlen] = '\0';
-       return 0;
+int ksmbd_neg_token_targ_resp_token(void *context, size_t hdrlen,
+                                   unsigned char tag, const void *value,
+                                   size_t vlen)
+{
+       return ksmbd_neg_token_alloc(context, hdrlen, tag, value, vlen);
 }