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

Reply via email to