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