[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20150708.160237.452927104948461108.davem@davemloft.net>
Date: Wed, 08 Jul 2015 16:02:37 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: daniel@...earbox.net
Cc: netdev@...r.kernel.org, chrisw@...s-sol.org,
sucheta.chakraborty@...gic.com, gregory.v.rose@...el.com,
jeffrey.t.kirsher@...el.com, ronye@...lanox.com,
vladz@...udius-systems.com, nicolas.dichtel@...nd.com,
tgraf@...g.ch, jgunthorpe@...idianresearch.com
Subject: Re: [PATCH net] rtnetlink: verify IFLA_VF_INFO attributes before
passing them to driver
From: Daniel Borkmann <daniel@...earbox.net>
Date: Tue, 7 Jul 2015 00:07:52 +0200
> Jason Gunthorpe reported that since commit c02db8c6290b ("rtnetlink: make
> SR-IOV VF interface symmetric"), we don't verify IFLA_VF_INFO attributes
> anymore with respect to their policy, that is, ifla_vfinfo_policy[].
>
> Before, they were part of ifla_policy[], but they have been nested since
> placed under IFLA_VFINFO_LIST, that contains the attribute IFLA_VF_INFO,
> which is another nested attribute for the actual VF attributes such as
> IFLA_VF_MAC, IFLA_VF_VLAN, etc.
>
> Despite the policy being split out from ifla_policy[] in this commit,
> it's never applied anywhere. nla_for_each_nested() only does basic nla_ok()
> testing for struct nlattr, but it doesn't know about the data context and
> their requirements.
>
> Fix, on top of Jason's initial work, does 1) parsing of the attributes
> with the right policy, and 2) using the resulting parsed attribute table
> from 1) instead of the nla_for_each_nested() loop (just like we used to
> do when still part of ifla_policy[]).
>
> Reference: http://thread.gmane.org/gmane.linux.network/368913
> Fixes: c02db8c6290b ("rtnetlink: make SR-IOV VF interface symmetric")
> Reported-by: Jason Gunthorpe <jgunthorpe@...idianresearch.com>
> Signed-off-by: Jason Gunthorpe <jgunthorpe@...idianresearch.com>
> Signed-off-by: Daniel Borkmann <daniel@...earbox.net>
Applied and queued up for -stable, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists