From: Guillaume Nault Date: Mon, 23 Mar 2020 20:48:53 +0000 (+0100) Subject: cls_flower: Add extack support for flags key X-Git-Tag: v5.7-rc1~146^2~63^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e304e21a2b701285a71970f8ba3f967ed4d0bbcb;p=thirdparty%2Fkernel%2Flinux.git cls_flower: Add extack support for flags key Pass extack down to fl_set_key_flags() and set message on error. Signed-off-by: Guillaume Nault Signed-off-by: David S. Miller --- diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c index 5811dd971ee52..9b6acd736dc85 100644 --- a/net/sched/cls_flower.c +++ b/net/sched/cls_flower.c @@ -856,14 +856,16 @@ static void fl_set_key_flag(u32 flower_key, u32 flower_mask, } } -static int fl_set_key_flags(struct nlattr **tb, - u32 *flags_key, u32 *flags_mask) +static int fl_set_key_flags(struct nlattr **tb, u32 *flags_key, + u32 *flags_mask, struct netlink_ext_ack *extack) { u32 key, mask; /* mask is mandatory for flags */ - if (!tb[TCA_FLOWER_KEY_FLAGS_MASK]) + if (!tb[TCA_FLOWER_KEY_FLAGS_MASK]) { + NL_SET_ERR_MSG(extack, "Missing flags mask"); return -EINVAL; + } key = be32_to_cpu(nla_get_u32(tb[TCA_FLOWER_KEY_FLAGS])); mask = be32_to_cpu(nla_get_u32(tb[TCA_FLOWER_KEY_FLAGS_MASK])); @@ -1474,7 +1476,8 @@ static int fl_set_key(struct net *net, struct nlattr **tb, return ret; if (tb[TCA_FLOWER_KEY_FLAGS]) - ret = fl_set_key_flags(tb, &key->control.flags, &mask->control.flags); + ret = fl_set_key_flags(tb, &key->control.flags, + &mask->control.flags, extack); return ret; }