Lines Matching full:msg
229 struct ksmbd_ipc_msg *msg; in ipc_msg_alloc() local
232 msg = kvmalloc(msg_sz, GFP_KERNEL | __GFP_ZERO); 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()
419 static int ipc_msg_send(struct ksmbd_ipc_msg *msg) in ipc_msg_send() argument
428 skb = genlmsg_new(msg->sz, GFP_KERNEL); in ipc_msg_send()
432 nlh = genlmsg_put(skb, 0, 0, &ksmbd_genl_family, 0, msg->type); in ipc_msg_send()
436 ret = nla_put(skb, msg->type, msg->sz, msg->payload); in ipc_msg_send()
453 static void *ipc_msg_send_request(struct ksmbd_ipc_msg *msg, unsigned int handle) in ipc_msg_send_request() argument
461 entry.type = msg->type; in ipc_msg_send_request()
470 ret = ipc_msg_send(msg); in ipc_msg_send_request()
486 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_heartbeat_request() local
489 msg = ipc_msg_alloc(sizeof(struct ksmbd_heartbeat)); in ksmbd_ipc_heartbeat_request()
490 if (!msg) in ksmbd_ipc_heartbeat_request()
493 msg->type = KSMBD_EVENT_HEARTBEAT_REQUEST; in ksmbd_ipc_heartbeat_request()
494 ret = ipc_msg_send(msg); in ksmbd_ipc_heartbeat_request()
495 ipc_msg_free(msg); in ksmbd_ipc_heartbeat_request()
501 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_login_request() local
508 msg = ipc_msg_alloc(sizeof(struct ksmbd_login_request)); in ksmbd_ipc_login_request()
509 if (!msg) in ksmbd_ipc_login_request()
512 msg->type = KSMBD_EVENT_LOGIN_REQUEST; in ksmbd_ipc_login_request()
513 req = (struct ksmbd_login_request *)msg->payload; in ksmbd_ipc_login_request()
517 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_ipc_login_request()
519 ipc_msg_free(msg); in ksmbd_ipc_login_request()
526 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_spnego_authen_request() local
530 msg = ipc_msg_alloc(sizeof(struct ksmbd_spnego_authen_request) + in ksmbd_ipc_spnego_authen_request()
532 if (!msg) in ksmbd_ipc_spnego_authen_request()
535 msg->type = KSMBD_EVENT_SPNEGO_AUTHEN_REQUEST; in ksmbd_ipc_spnego_authen_request()
536 req = (struct ksmbd_spnego_authen_request *)msg->payload; in ksmbd_ipc_spnego_authen_request()
541 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_ipc_spnego_authen_request()
543 ipc_msg_free(msg); in ksmbd_ipc_spnego_authen_request()
553 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_tree_connect_request() local
563 msg = ipc_msg_alloc(sizeof(struct ksmbd_tree_connect_request)); in ksmbd_ipc_tree_connect_request()
564 if (!msg) in ksmbd_ipc_tree_connect_request()
567 msg->type = KSMBD_EVENT_TREE_CONNECT_REQUEST; in ksmbd_ipc_tree_connect_request()
568 req = (struct ksmbd_tree_connect_request *)msg->payload; in ksmbd_ipc_tree_connect_request()
583 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_ipc_tree_connect_request()
585 ipc_msg_free(msg); in ksmbd_ipc_tree_connect_request()
592 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_tree_disconnect_request() local
596 msg = ipc_msg_alloc(sizeof(struct ksmbd_tree_disconnect_request)); in ksmbd_ipc_tree_disconnect_request()
597 if (!msg) in ksmbd_ipc_tree_disconnect_request()
600 msg->type = KSMBD_EVENT_TREE_DISCONNECT_REQUEST; in ksmbd_ipc_tree_disconnect_request()
601 req = (struct ksmbd_tree_disconnect_request *)msg->payload; in ksmbd_ipc_tree_disconnect_request()
605 ret = ipc_msg_send(msg); in ksmbd_ipc_tree_disconnect_request()
606 ipc_msg_free(msg); in ksmbd_ipc_tree_disconnect_request()
612 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_logout_request() local
619 msg = ipc_msg_alloc(sizeof(struct ksmbd_logout_request)); in ksmbd_ipc_logout_request()
620 if (!msg) in ksmbd_ipc_logout_request()
623 msg->type = KSMBD_EVENT_LOGOUT_REQUEST; in ksmbd_ipc_logout_request()
624 req = (struct ksmbd_logout_request *)msg->payload; in ksmbd_ipc_logout_request()
628 ret = ipc_msg_send(msg); in ksmbd_ipc_logout_request()
629 ipc_msg_free(msg); in ksmbd_ipc_logout_request()
636 struct ksmbd_ipc_msg *msg; in ksmbd_ipc_share_config_request() local
643 msg = ipc_msg_alloc(sizeof(struct ksmbd_share_config_request)); in ksmbd_ipc_share_config_request()
644 if (!msg) in ksmbd_ipc_share_config_request()
647 msg->type = KSMBD_EVENT_SHARE_CONFIG_REQUEST; in ksmbd_ipc_share_config_request()
648 req = (struct ksmbd_share_config_request *)msg->payload; in ksmbd_ipc_share_config_request()
652 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_ipc_share_config_request()
654 ipc_msg_free(msg); in ksmbd_ipc_share_config_request()
660 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_open() local
664 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command)); in ksmbd_rpc_open()
665 if (!msg) in ksmbd_rpc_open()
668 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_open()
669 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_open()
675 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_open()
676 ipc_msg_free(msg); in ksmbd_rpc_open()
682 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_close() local
686 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command)); in ksmbd_rpc_close()
687 if (!msg) in ksmbd_rpc_close()
690 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_close()
691 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_close()
697 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_close()
698 ipc_msg_free(msg); in ksmbd_rpc_close()
705 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_write() local
709 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command) + payload_sz + 1); in ksmbd_rpc_write()
710 if (!msg) in ksmbd_rpc_write()
713 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_write()
714 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_write()
722 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_write()
723 ipc_msg_free(msg); in ksmbd_rpc_write()
729 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_read() local
733 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command)); in ksmbd_rpc_read()
734 if (!msg) in ksmbd_rpc_read()
737 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_read()
738 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_read()
745 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_read()
746 ipc_msg_free(msg); in ksmbd_rpc_read()
753 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_ioctl() local
757 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command) + payload_sz + 1); in ksmbd_rpc_ioctl()
758 if (!msg) in ksmbd_rpc_ioctl()
761 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_ioctl()
762 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_ioctl()
770 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_ioctl()
771 ipc_msg_free(msg); in ksmbd_rpc_ioctl()
778 struct ksmbd_ipc_msg *msg; in ksmbd_rpc_rap() local
782 msg = ipc_msg_alloc(sizeof(struct ksmbd_rpc_command) + payload_sz + 1); in ksmbd_rpc_rap()
783 if (!msg) in ksmbd_rpc_rap()
786 msg->type = KSMBD_EVENT_RPC_REQUEST; in ksmbd_rpc_rap()
787 req = (struct ksmbd_rpc_command *)msg->payload; in ksmbd_rpc_rap()
794 resp = ipc_msg_send_request(msg, req->handle); in ksmbd_rpc_rap()
796 ipc_msg_free(msg); in ksmbd_rpc_rap()