diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c index d5d2a6dc3921..cb7a3fa0e728 100644 --- a/net/sched/cls_u32.c +++ b/net/sched/cls_u32.c @@ -761,7 +761,9 @@ static const struct nla_policy u32_policy[TCA_U32_MAX + 1] = { [TCA_U32_HASH] = { .type = NLA_U32 }, [TCA_U32_LINK] = { .type = NLA_U32 }, [TCA_U32_DIVISOR] = { .type = NLA_U32 }, - [TCA_U32_SEL] = { .len = sizeof(struct tc_u32_sel) }, + [TCA_U32_SEL] = { .type = NLA_BINARY, + .len = (sizeof(struct tc_u32_sel) + + (128*sizeof(struct tc_u32_key)) }, [TCA_U32_INDEV] = { .type = NLA_STRING, .len = IFNAMSIZ }, [TCA_U32_MARK] = { .len = sizeof(struct tc_u32_mark) }, [TCA_U32_FLAGS] = { .type = NLA_U32 },