From: David Ahern Date: Mon, 8 Oct 2018 03:16:38 +0000 (-0700) Subject: net/namespace: Update rtnl_net_dumpid for strict data checking X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=f80f14c3649f491e23712a30f86b20b6069fb72e;p=openwrt%2Fstaging%2Fblogic.git net/namespace: Update rtnl_net_dumpid for strict data checking Update rtnl_net_dumpid for strict data checking. If the flag is set, the dump request is expected to have an rtgenmsg struct as the header which has the family as the only element. No data may be appended. Signed-off-by: David Ahern Signed-off-by: David S. Miller --- diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c index 670c84b1bfc2..fefe72774aeb 100644 --- a/net/core/net_namespace.c +++ b/net/core/net_namespace.c @@ -853,6 +853,12 @@ static int rtnl_net_dumpid(struct sk_buff *skb, struct netlink_callback *cb) .s_idx = cb->args[0], }; + if (cb->strict_check && + nlmsg_attrlen(cb->nlh, sizeof(struct rtgenmsg))) { + NL_SET_ERR_MSG(cb->extack, "Unknown data in network namespace id dump request"); + return -EINVAL; + } + spin_lock_bh(&net->nsid_lock); idr_for_each(&net->netns_ids, rtnl_net_dumpid_one, &net_cb); spin_unlock_bh(&net->nsid_lock);