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: <20160330.154043.649305811904515416.davem@davemloft.net>
Date:	Wed, 30 Mar 2016 15:40:43 -0400 (EDT)
From:	David Miller <davem@...emloft.net>
To:	yanhaishuang@...s.chinamobile.com
Cc:	stephen@...workplumber.org, bridge@...ts.linux-foundation.org,
	netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] bridge: Allow set bridge ageing time when switchdev
 disabled

From: Haishuang Yan <yanhaishuang@...s.chinamobile.com>
Date: Tue, 29 Mar 2016 18:48:08 +0800

> When NET_SWITCHDEV=n, switchdev_port_attr_set will return -EOPNOTSUPP,
> we should ignore this error code and continue to set the ageing time.
> 
> Signed-off-by: Haishuang Yan <yanhaishuang@...s.chinamobile.com>

Applied and queued up for -stable, thanks.

> @@ -582,7 +582,7 @@ int br_set_ageing_time(struct net_bridge *br, u32 ageing_time)
>  	int err;
>  
>  	err = switchdev_port_attr_set(br->dev, &attr);
> -	if (err)
> +	if (err && err != -EOPNOTSUPP)
>  		return err;
>  
>  	br->ageing_time = t;

This is at least the 5th time I've had to apply a bug fix exactly like
this one.

If this doesn't convince everyone that this whole -EOPNOTSUPP
mechanism is extremely error prone, I don't know what will.

There should be only one or two strictly controlled locations that
reinterpret the return value from all of these routines that have this
special way of signalling lack of switchdev support via -EOPNOTSUPP.

It can't be spread all over the place like this, it simply does NOT work.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ