On Thu, 1 Jun 2006, Thomas Graf wrote: > It shouldn't be hard to split what is implemented in nlmsg_route_perms[] > for NETLINK_ROUTE into the definitions of the generic netlink > operations, could look like this: > > struct genl_ops some_op = { > [...] > .perm = NETLINK_GENERIC_SOCKET__NLMSG_READ, > };
We wouldn't need the socket class outside of SELinux, just the perm, so something like: NL_PERM_READ > int genl_peek_cmd(struct nlmsghdr *nlh) > { > struct genlmsghdr *hdr = nlmsg_data(nlh); > > if (nlh->nlmsglen < nlmsg_msg_sizeo(GENL_HDRLEN)) > return -EINVAL; > > return hdr->cmd; > } Unless I'm mistaken, people are already multiplexing commands inside genl commands (and if so, why even bother with registerable ops?). I'll look at it in more detail soon. -- James Morris <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html