err = tcf_exts_validate(tp, tb, est, &e, &tcindex_ext_map);
if (err < 0)
return err;
-
+
memcpy(&cp, p, sizeof(cp));
memset(&new_filter_result, 0, sizeof(new_filter_result));
}
if (tb[TCA_TCINDEX_SHIFT-1]) {
- if (RTA_PAYLOAD(tb[TCA_TCINDEX_SHIFT-1]) < sizeof(u16))
+ if (RTA_PAYLOAD(tb[TCA_TCINDEX_SHIFT-1]) < sizeof(int))
goto errout;
- cp.shift = *(u16 *) RTA_DATA(tb[TCA_TCINDEX_SHIFT-1]);
+ cp.shift = *(int *) RTA_DATA(tb[TCA_TCINDEX_SHIFT-1]);
}
err = -EBUSY;
f = kzalloc(sizeof(*f), GFP_KERNEL);
if (!f)
goto errout_alloc;
- }
+ }
if (tb[TCA_TCINDEX_CLASSID-1]) {
cr.res.classid = *(u32 *) RTA_DATA(tb[TCA_TCINDEX_CLASSID-1]);
tcf_bind_filter(tp, &cr.res, base);
- }
+ }
tcf_exts_change(tp, &cr.exts, &e);
for (fp = p->h+(handle % p->hash); *fp; fp = &(*fp)->next)
/* nothing */;
*fp = f;
- }
+ }
tcf_tree_unlock(tp);
return 0;
if (tcf_exts_dump_stats(skb, &r->exts, &tcindex_ext_map) < 0)
goto rtattr_failure;
}
-
+
return skb->len;
rtattr_failure:
return register_tcf_proto_ops(&cls_tcindex_ops);
}
-static void __exit exit_tcindex(void)
+static void __exit exit_tcindex(void)
{
unregister_tcf_proto_ops(&cls_tcindex_ops);
}