Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: drivers/net/ethernet/altera/altera_sgdma.c net/netlink/af_netlink.c net/sched/cls_api.c net/sched/sch_api.c The netlink conflict dealt with moving to netlink_capable() and netlink_ns_capable() in the 'net' tree vs. supporting 'tc' operations in non-init namespaces. These were simple transformations from netlink_capable to netlink_ns_capable. The Altera driver conflict was simply code removal overlapping some void pointer cast cleanups in net-next. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -948,7 +948,7 @@ static int tc_ctl_action(struct sk_buff *skb, struct nlmsghdr *n)
|
||||
u32 portid = skb ? NETLINK_CB(skb).portid : 0;
|
||||
int ret = 0, ovr = 0;
|
||||
|
||||
if ((n->nlmsg_type != RTM_GETACTION) && !capable(CAP_NET_ADMIN))
|
||||
if ((n->nlmsg_type != RTM_GETACTION) && !netlink_capable(skb, CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
ret = nlmsg_parse(n, sizeof(struct tcamsg), tca, TCA_ACT_MAX, NULL);
|
||||
|
@@ -135,7 +135,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n)
|
||||
int tp_created = 0;
|
||||
|
||||
if ((n->nlmsg_type != RTM_GETTFILTER) &&
|
||||
!ns_capable(net->user_ns, CAP_NET_ADMIN))
|
||||
!netlink_ns_capable(skb, net->user_ns, CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
replay:
|
||||
|
@@ -1085,7 +1085,7 @@ static int tc_get_qdisc(struct sk_buff *skb, struct nlmsghdr *n)
|
||||
int err;
|
||||
|
||||
if ((n->nlmsg_type != RTM_GETQDISC) &&
|
||||
!ns_capable(net->user_ns, CAP_NET_ADMIN))
|
||||
!netlink_ns_capable(skb, net->user_ns, CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
err = nlmsg_parse(n, sizeof(*tcm), tca, TCA_MAX, NULL);
|
||||
@@ -1152,7 +1152,7 @@ static int tc_modify_qdisc(struct sk_buff *skb, struct nlmsghdr *n)
|
||||
struct Qdisc *q, *p;
|
||||
int err;
|
||||
|
||||
if (!ns_capable(net->user_ns, CAP_NET_ADMIN))
|
||||
if (!netlink_ns_capable(skb, net->user_ns, CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
replay:
|
||||
@@ -1492,7 +1492,7 @@ static int tc_ctl_tclass(struct sk_buff *skb, struct nlmsghdr *n)
|
||||
int err;
|
||||
|
||||
if ((n->nlmsg_type != RTM_GETTCLASS) &&
|
||||
!ns_capable(net->user_ns, CAP_NET_ADMIN))
|
||||
!netlink_ns_capable(skb, net->user_ns, CAP_NET_ADMIN))
|
||||
return -EPERM;
|
||||
|
||||
err = nlmsg_parse(n, sizeof(*tcm), tca, TCA_MAX, NULL);
|
||||
|
@@ -553,11 +553,6 @@ static int hhf_change(struct Qdisc *sch, struct nlattr *opt)
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
sch_tree_lock(sch);
|
||||
|
||||
if (tb[TCA_HHF_BACKLOG_LIMIT])
|
||||
sch->limit = nla_get_u32(tb[TCA_HHF_BACKLOG_LIMIT]);
|
||||
|
||||
if (tb[TCA_HHF_QUANTUM])
|
||||
new_quantum = nla_get_u32(tb[TCA_HHF_QUANTUM]);
|
||||
|
||||
@@ -567,6 +562,12 @@ static int hhf_change(struct Qdisc *sch, struct nlattr *opt)
|
||||
non_hh_quantum = (u64)new_quantum * new_hhf_non_hh_weight;
|
||||
if (non_hh_quantum > INT_MAX)
|
||||
return -EINVAL;
|
||||
|
||||
sch_tree_lock(sch);
|
||||
|
||||
if (tb[TCA_HHF_BACKLOG_LIMIT])
|
||||
sch->limit = nla_get_u32(tb[TCA_HHF_BACKLOG_LIMIT]);
|
||||
|
||||
q->quantum = new_quantum;
|
||||
q->hhf_non_hh_weight = new_hhf_non_hh_weight;
|
||||
|
||||
|
Reference in New Issue
Block a user