net: rtnetlink: add helper to extract msg type's kind
Add a helper which extracts the msg type's kind using the kind mask (0x3). Signed-off-by: Nikolay Aleksandrov <razor@blackwall.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
12dc5c2cb7
Коммит
2e9ea3e30f
|
@ -19,6 +19,12 @@ enum rtnl_kinds {
|
|||
RTNL_KIND_GET,
|
||||
RTNL_KIND_SET
|
||||
};
|
||||
#define RTNL_KIND_MASK 0x3
|
||||
|
||||
static inline enum rtnl_kinds rtnl_msgtype_kind(int msgtype)
|
||||
{
|
||||
return msgtype & RTNL_KIND_MASK;
|
||||
}
|
||||
|
||||
void rtnl_register(int protocol, int msgtype,
|
||||
rtnl_doit_func, rtnl_dumpit_func, unsigned int flags);
|
||||
|
|
|
@ -5947,7 +5947,7 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||
return 0;
|
||||
|
||||
family = ((struct rtgenmsg *)nlmsg_data(nlh))->rtgen_family;
|
||||
kind = type&3;
|
||||
kind = rtnl_msgtype_kind(type);
|
||||
|
||||
if (kind != RTNL_KIND_GET && !netlink_net_capable(skb, CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
|
Загрузка…
Ссылка в новой задаче