这里我做了 access_ok 检测 msg 指针,安全起见是否需要 copy_from_user ?
ret = KHOOK_ORIGIN(sys_recvmsg, sockfd, msg, flags);
/* Some error occured. Don't do anything. */
if (ret < 0)
return ret;
/* check __user addr is safe */
if (!access_ok(msg, sizeof(struct msghdr)) {
return ret;
}
/* Extract netlink message header from message */
nlh = (struct nlmsghdr *)(msg->msg_iov->iov_base);
if (nlh == NULL) {
//printk(KERN_WARNING "nlmsghdr is null");
return ret;
}