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] [day] [month] [year] [list]
Message-ID: <20120126191655.GA8376@canuck.infradead.org>
Date:	Thu, 26 Jan 2012 14:16:55 -0500
From:	Thomas Graf <tgraf@...radead.org>
To:	Tony Zelenoff <antonz@...allels.com>
Cc:	xemul@...allels.com, devel@...nvz.org, davem@...emloft.net,
	kuznet@....inr.ac.ru, netdev@...r.kernel.org
Subject: Re: [PATCH rhel6] Allow ipv6 proxies and arp proxies be shown with
 iproute2

On Thu, Jan 26, 2012 at 06:49:52PM +0400, Tony Zelenoff wrote:
> +	/* check for full ndmsg structure presence, family member is
> +	 * the same for both structures */
> +	if (nlmsg_len(cb->nlh) == sizeof(struct ndmsg) &&
> +	    ((struct ndmsg *) nlmsg_data(cb->nlh))->ndm_flags == NTF_PROXY)
> +		proxy = 1;
> +

Please change this check to nlmsg_len(cb->nlh) >= sizeof(struct ndmsg) so
we have the possibility to extend the request message in the future
without breaking backwards compatibility.

>  	s_t = cb->args[0];
>  
> -	for (tbl = neigh_tables, t = 0; tbl; tbl = tbl->next, t++) {
> +	for (tbl = neigh_tables, t = 0; tbl && (err >= 0);
> +	     tbl = tbl->next, t++) {
>  		if (t < s_t || (family && tbl->family != family))
>  			continue;
>  		if (t > s_t)
>  			memset(&cb->args[1], 0, sizeof(cb->args) -
>  						sizeof(cb->args[0]));
> -		if (neigh_dump_table(tbl, skb, cb) < 0)
> -			break;
> +		if (proxy) {
> +			err = pneigh_dump_table(tbl, skb, cb);
> +			continue;
> +		}
> +		err = neigh_dump_table(tbl, skb, cb);

Personally I would call neigh_dump_table() in the else branch and avoid
the continue statement.
--
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