[lvc-project] [PATCH v3] i40e: Add checking for null for nlmsg_find_attr()
Tony Nguyen
anthony.l.nguyen at intel.com
Thu Feb 2 20:23:09 MSK 2023
On 2/1/2023 1:06 AM, Natalia Petrova wrote:
> The result of nlmsg_find_attr() 'br_spec' is dereferenced in
> nla_for_each_nested(), but it can take NULL value in nla_find() function,
> which will result in an error.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Fixes: 51616018dd1b ("i40e: Add support for getlink, setlink ndo ops")
> Signed-off-by: Natalia Petrova <n.petrova at fintech.ru>
> Reviewed-by: Jesse Brandeburg <jesse.brandeburg at intel.com>
> ---
Thanks for the patch. I've applied it, however, for the future if you
could specify the target tree. Simon mentioned it in v2, but his example
omitted the tree.
i.e.
[PATCH v3 net] i40e: Add checking for null for nlmsg_find_attr()
Thanks,
Tony
> v3: Fixed mailing list.
> v2: The remark about the error code by Simon Horman <simon.horman at corigine.com>
> was taken into account; return value -ENOENT was changed to -EINVAL.
> drivers/net/ethernet/intel/i40e/i40e_main.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 53d0083e35da..4626d2a1af91 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -13167,6 +13167,8 @@ static int i40e_ndo_bridge_setlink(struct net_device *dev,
> }
>
> br_spec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC);
> + if (!br_spec)
> + return -EINVAL;
>
> nla_for_each_nested(attr, br_spec, rem) {
> __u16 mode;
More information about the lvc-project
mailing list