ksmbd: fix kernel oops in ksmbd_rpc_ioctl/rap()
authorNamjae Jeon <namjae.jeon@samsung.com>
Fri, 2 Jul 2021 23:00:06 +0000 (08:00 +0900)
committerNamjae Jeon <namjae.jeon@samsung.com>
Fri, 2 Jul 2021 23:02:18 +0000 (08:02 +0900)
"ksmbd: remove macros in transport_ipc.c" commit change msg to req in
ksmbd_rpc_ioctl/rap(). This will cause kernel oops when running smbclient
-L test.

Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/ksmbd/transport_ipc.c

index ca50991..44aea33 100644 (file)
@@ -752,7 +752,7 @@ struct ksmbd_rpc_command *ksmbd_rpc_ioctl(struct ksmbd_session *sess, int handle
                return NULL;
 
        msg->type = KSMBD_EVENT_RPC_REQUEST;
-       req = (struct ksmbd_rpc_command *)req->payload;
+       req = (struct ksmbd_rpc_command *)msg->payload;
        req->handle = handle;
        req->flags = ksmbd_session_rpc_method(sess, handle);
        req->flags |= rpc_context_flags(sess);
@@ -777,7 +777,7 @@ struct ksmbd_rpc_command *ksmbd_rpc_rap(struct ksmbd_session *sess, void *payloa
                return NULL;
 
        msg->type = KSMBD_EVENT_RPC_REQUEST;
-       req = (struct ksmbd_rpc_command *)req->payload;
+       req = (struct ksmbd_rpc_command *)msg->payload;
        req->handle = ksmbd_acquire_id(&ipc_ida);
        req->flags = rpc_context_flags(sess);
        req->flags |= KSMBD_RPC_RAP_METHOD;