diff options
Diffstat (limited to 'net/can')
-rw-r--r-- | net/can/gw.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/can/gw.c b/net/can/gw.c index 1f5c9785a262..574dda78eb0f 100644 --- a/net/can/gw.c +++ b/net/can/gw.c | |||
@@ -751,6 +751,9 @@ static int cgw_create_job(struct sk_buff *skb, struct nlmsghdr *nlh, | |||
751 | struct cgw_job *gwj; | 751 | struct cgw_job *gwj; |
752 | int err = 0; | 752 | int err = 0; |
753 | 753 | ||
754 | if (!capable(CAP_NET_ADMIN)) | ||
755 | return -EPERM; | ||
756 | |||
754 | if (nlmsg_len(nlh) < sizeof(*r)) | 757 | if (nlmsg_len(nlh) < sizeof(*r)) |
755 | return -EINVAL; | 758 | return -EINVAL; |
756 | 759 | ||
@@ -839,6 +842,9 @@ static int cgw_remove_job(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) | |||
839 | struct can_can_gw ccgw; | 842 | struct can_can_gw ccgw; |
840 | int err = 0; | 843 | int err = 0; |
841 | 844 | ||
845 | if (!capable(CAP_NET_ADMIN)) | ||
846 | return -EPERM; | ||
847 | |||
842 | if (nlmsg_len(nlh) < sizeof(*r)) | 848 | if (nlmsg_len(nlh) < sizeof(*r)) |
843 | return -EINVAL; | 849 | return -EINVAL; |
844 | 850 | ||