lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 22 Aug 2008 03:18:23 -0700 (PDT)
From:	David Miller <davem@...emloft.net>
To:	jeffrey.t.kirsher@...el.com
Cc:	jeff@...zik.org, netdev@...r.kernel.org,
	alexander.h.duyck@...el.com, tgraf@...g.ch
Subject: Re: [PATCH 2/3] netlink: nal_parse_nested_compat was not parsing
 nested attributes

From: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
Date: Thu, 21 Aug 2008 17:51:26 -0700

Please at least CC: the author of the patch you are reverting so
that they can provide feedback and have a look at this.

Thomas Graf CC:'d.

> From: Alexander Duyck <alexander.h.duyck@...el.com>
> 
> This patch reverts previous commit: b9a2f2e450b0f770bb4347ae8d48eb2dea701e24
> netlink: Fix nla_parse_nested_compat() to call nla_parse() directly
> 
> The purpose of nla_parse_nested_compat is to parse attributes which contain a
> struct followed by a container attribute with a stream of nested attributes.
> This patch reverts the previous patch which assumed that there was no container
> attribute due to a malformed string of attributes being generated by
> netem_parse_opts
> 
> Signed-off-by: Alexander Duyck <alexander.h.duyck@...el.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
> ---
> 
>  include/net/netlink.h |   11 +++++------
>  1 files changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/include/net/netlink.h b/include/net/netlink.h
> index 18024b8..b295cd1 100644
> --- a/include/net/netlink.h
> +++ b/include/net/netlink.h
> @@ -770,13 +770,12 @@ static inline int __nla_parse_nested_compat(struct nlattr *tb[], int maxtype,
>  					    const struct nla_policy *policy,
>  					    int len)
>  {
> -	int nested_len = nla_len(nla) - NLA_ALIGN(len);
> -
> -	if (nested_len < 0)
> +	if (nla_len(nla) < len)
>  		return -EINVAL;
> -	if (nested_len >= nla_attr_size(0))
> -		return nla_parse(tb, maxtype, nla_data(nla) + NLA_ALIGN(len),
> -				 nested_len, policy);
> +	if (nla_len(nla) >= NLA_ALIGN(len) + sizeof(struct nlattr))
> +		return nla_parse_nested(tb, maxtype,
> +					nla_data(nla) + NLA_ALIGN(len),
> +					policy);
>  	memset(tb, 0, sizeof(struct nlattr *) * (maxtype + 1));
>  	return 0;
>  }
> 
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ