Lines Matching full:msg
229 struct ksmbd_ipc_msg *msg; in ipc_msg_alloc() local
232 msg = kvzalloc(msg_sz, GFP_KERNEL); in ipc_msg_alloc()
233 if (msg) in ipc_msg_alloc()
234 msg->sz = sz; in ipc_msg_alloc()
235 return msg; in ipc_msg_alloc()
238 static void ipc_msg_free(struct ksmbd_ipc_msg *msg) in ipc_msg_free() argument
240 kvfree(msg); in ipc_msg_free()
422 static int ipc_msg_send(struct ksmbd_ipc_msg *msg) in ipc_msg_send() argument
431 skb = genlmsg_new(msg->sz, GFP_KERNEL); in ipc_msg_send()
435 nlh = genlmsg_put(skb, 0, 0, &ksmbd_genl_family, 0, msg->type); in ipc_msg_send()
439 ret = nla_put(skb, msg->type, msg->sz, msg->payload); in ipc_msg_send()
456 static void *ipc_msg_send_request(struct ksmbd_ipc_msg *msg, unsigned int handle) in ipc_msg_send_request() argument
464 entry.type = msg->type; in ipc_msg_send_request()
473 ret = ipc_msg_send(msg); in ipc_msg_send_request()
489 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_heartbeat_request() local
492 msg = ipc_msg_alloc(sizeof(struct ksmbd_heartbeat)); in ksmbd_ipc_heartbeat_request()
493 if (!msg) in ksmbd_ipc_heartbeat_request()
496 msg->type = KSMBD_EVENT_HEARTBEAT_REQUEST; in ksmbd_ipc_heartbeat_request()
497 ret = ipc_msg_send(msg); in ksmbd_ipc_heartbeat_request()
498 ipc_msg_free(msg); in ksmbd_ipc_heartbeat_request()
504 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_login_request() local
511 msg = ipc_msg_alloc(sizeof(struct ksmbd_login_request)); in ksmbd_ipc_login_request()
512 if (!msg) in ksmbd_ipc_login_request()
515 msg->type = KSMBD_EVENT_LOGIN_REQUEST; in ksmbd_ipc_login_request()
516 req = (struct ksmbd_login_request *)msg->payload; in ksmbd_ipc_login_request()
520 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_ipc_login_request()
522 ipc_msg_free(msg); in ksmbd_ipc_login_request()
529 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_spnego_authen_request() local
533 msg = ipc_msg_alloc(sizeof(struct ksmbd_spnego_authen_request) + in ksmbd_ipc_spnego_authen_request()
535 if (!msg) in ksmbd_ipc_spnego_authen_request()
538 msg->type = KSMBD_EVENT_SPNEGO_AUTHEN_REQUEST; in ksmbd_ipc_spnego_authen_request()
539 req = (struct ksmbd_spnego_authen_request *)msg->payload; in ksmbd_ipc_spnego_authen_request()
544 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_ipc_spnego_authen_request()
546 ipc_msg_free(msg); in ksmbd_ipc_spnego_authen_request()
556 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_tree_connect_request() local
566 msg = ipc_msg_alloc(sizeof(struct ksmbd_tree_connect_request)); in ksmbd_ipc_tree_connect_request()
567 if (!msg) in ksmbd_ipc_tree_connect_request()
570 msg->type = KSMBD_EVENT_TREE_CONNECT_REQUEST; in ksmbd_ipc_tree_connect_request()
571 req = (struct ksmbd_tree_connect_request *)msg->payload; in ksmbd_ipc_tree_connect_request()
586 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_ipc_tree_connect_request()
588 ipc_msg_free(msg); in ksmbd_ipc_tree_connect_request()
595 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_tree_disconnect_request() local
599 msg = ipc_msg_alloc(sizeof(struct ksmbd_tree_disconnect_request)); in ksmbd_ipc_tree_disconnect_request()
600 if (!msg) in ksmbd_ipc_tree_disconnect_request()
603 msg->type = KSMBD_EVENT_TREE_DISCONNECT_REQUEST; in ksmbd_ipc_tree_disconnect_request()
604 req = (struct ksmbd_tree_disconnect_request *)msg->payload; in ksmbd_ipc_tree_disconnect_request()
608 ret = ipc_msg_send(msg); in ksmbd_ipc_tree_disconnect_request()
609 ipc_msg_free(msg); in ksmbd_ipc_tree_disconnect_request()
615 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_logout_request() local
622 msg = ipc_msg_alloc(sizeof(struct ksmbd_logout_request)); in ksmbd_ipc_logout_request()
623 if (!msg) in ksmbd_ipc_logout_request()
626 msg->type = KSMBD_EVENT_LOGOUT_REQUEST; in ksmbd_ipc_logout_request()
627 req = (struct ksmbd_logout_request *)msg->payload; in ksmbd_ipc_logout_request()
631 ret = ipc_msg_send(msg); in ksmbd_ipc_logout_request()
632 ipc_msg_free(msg); in ksmbd_ipc_logout_request()
639 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_share_config_request() local
646 msg = ipc_msg_alloc(sizeof(struct ksmbd_share_config_request)); in ksmbd_ipc_share_config_request()
647 if (!msg) in ksmbd_ipc_share_config_request()
650 msg->type = KSMBD_EVENT_SHARE_CONFIG_REQUEST; in ksmbd_ipc_share_config_request()
651 req = (struct ksmbd_share_config_request *)msg->payload; in ksmbd_ipc_share_config_request()
655 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_ipc_share_config_request()
657 ipc_msg_free(msg); in ksmbd_ipc_share_config_request()
663 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_open() local
667 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command)); in ksmbd_rpc_open()
668 if (!msg) in ksmbd_rpc_open()
671 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_open()
672 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_open()
678 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_open()
679 ipc_msg_free(msg); in ksmbd_rpc_open()
685 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_close() local
689 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command)); in ksmbd_rpc_close()
690 if (!msg) in ksmbd_rpc_close()
693 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_close()
694 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_close()
700 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_close()
701 ipc_msg_free(msg); in ksmbd_rpc_close()
708 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_write() local
712 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command) + payload_sz + 1); in ksmbd_rpc_write()
713 if (!msg) in ksmbd_rpc_write()
716 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_write()
717 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_write()
725 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_write()
726 ipc_msg_free(msg); in ksmbd_rpc_write()
732 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_read() local
736 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command)); in ksmbd_rpc_read()
737 if (!msg) in ksmbd_rpc_read()
740 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_read()
741 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_read()
748 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_read()
749 ipc_msg_free(msg); in ksmbd_rpc_read()
756 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_ioctl() local
760 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command) + payload_sz + 1); in ksmbd_rpc_ioctl()
761 if (!msg) in ksmbd_rpc_ioctl()
764 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_ioctl()
765 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_ioctl()
773 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_ioctl()
774 ipc_msg_free(msg); in ksmbd_rpc_ioctl()
781 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_rap() local
785 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command) + payload_sz + 1); in ksmbd_rpc_rap()
786 if (!msg) in ksmbd_rpc_rap()
789 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_rap()
790 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_rap()
797 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_rap()
799 ipc_msg_free(msg); in ksmbd_rpc_rap()