Thread (34 messages) 34 messages, 3 authors, 2017-07-29

Re: [PATCH net-next v11 3/4] net sched actions: dump more than TCA_ACT_MAX_PRIO actions per batch

From: Jiri Pirko <jiri@resnulli.us>
Date: 2017-07-25 11:33:55

Tue, Jul 25, 2017 at 01:22:44PM CEST, jhs@mojatatu.com wrote:
On 17-07-24 07:27 AM, Jiri Pirko wrote:
quoted
Mon, Jul 24, 2017 at 03:35:45AM CEST, jhs@mojatatu.com wrote:
quoted
From: Jamal Hadi Salim <jhs@mojatatu.com>
[..]
quoted
This helper should be part of the previous patch.
Will do next update.
quoted
quoted
quoted
@@ -1157,8 +1164,18 @@ static int tc_dump_action(struct sk_buff *skb,
struct netlink_callback *cb)
quoted
quoted
	struct tc_action_ops *a_o;
	int ret = 0;
	struct tcamsg *t = (struct tcamsg *) nlmsg_data(cb->nlh);
-	struct nlattr *kind = find_dump_kind(cb->nlh);
+	struct nla_bitfield_32 fb;
+	struct nlattr *count_attr = NULL;
+	struct nlattr *tb[TCA_ROOT_MAX + 1];
+	struct nlattr *kind = NULL;
Reverse christmas tree :D
There were already 2 christmas trees in place;->
I will re-arrange this.
quoted
quoted
+	if (tb[TCA_ROOT_FLAGS])
+		fb = nla_get_bitfield_32(tb[TCA_ROOT_FLAGS]);
fb? bf? nbf? Please make this synced within the patchset.
Ok, what do you like best? ;->
"bf"

quoted
Don't you need to mask value with selector? In fact, I think that
nla_get_bitfield_32 could just return u32 which would be (value&selector).
The validation takes care of unsupported bits.
For my use case I dont need any of the above since I dont need to
unset things. In other use cases you will need both selector and
value in case someone wants a bit to be set to 0.
Infact I think i will rename that helper to "nla_get_bitvalue_32"
to be more precise.
The getter should contain name of the type, so "nla_get_bitfield32_val"
is much better.

What if I pass val 0x1 and selector 0x0 from userspace. I don't have the
bit selected, so you should not process it in kernel, no?

cheers,
jamal
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help