/* Receive Message from Kernel */
static void nl_recv_msg(struct sk_buff *skb)
{
	struct nlmsghdr *nlh = NULL;
	struct dispmgr_command_hdr cmd_hdr = {0, };
	unsigned int hdr_size = sizeof(struct dispmgr_command_hdr);

	if (skb == NULL) {
		DRM_ERROR("kdispmgr: received null command.\n");
		return;
	}

	nlh = (struct nlmsghdr *)skb->data;
	g_pid = nlh->nlmsg_pid;
	pr_debug("kdispmgr: received message from user mode\n");

	memcpy((void *)(&cmd_hdr), NLMSG_DATA(nlh), hdr_size);
	if (cmd_hdr.data_size)
		cmd_hdr.data = NLMSG_DATA(nlh) + hdr_size;

	execute_recv_command(&cmd_hdr);
}
/* Receive Message from Kernel */
static void nl_recv_msg(struct sk_buff *skb)
{
	struct nlmsghdr *nlh = NULL;
	struct dispmgr_command_hdr cmd_hdr;
	unsigned int hdr_size = sizeof(struct dispmgr_command_hdr);

	if (skb == NULL) {
		printk("kdispmgr: received null command.\n");
		return;
	}

	nlh = (struct nlmsghdr *)skb->data;
	g_pid = nlh->nlmsg_pid;

	memcpy((void *)(&cmd_hdr), NLMSG_DATA(nlh), hdr_size);
	if (cmd_hdr.data_size) {
		cmd_hdr.data = (uint64_t)(NLMSG_DATA(nlh) + hdr_size);
	}

	execute_recv_command(&cmd_hdr);
}