diff --git a/net/sched/ematch.c b/net/sched/ematch.c index d0140a92694a4e6185ff80bdd00ef75b7267872c..dd3b8c11a2e0d4808a767041378604f494f4a9af 100644 --- a/net/sched/ematch.c +++ b/net/sched/ematch.c @@ -238,6 +238,9 @@ static int tcf_em_validate(struct tcf_proto *tp, goto errout; if (em->ops->change) { + err = -EINVAL; + if (em_hdr->flags & TCF_EM_SIMPLE) + goto errout; err = em->ops->change(net, data, data_len, em); if (err < 0) goto errout;