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: <VI1PR0402MB28002A870C6EBA30DBA8EBD7E0D20@VI1PR0402MB2800.eurprd04.prod.outlook.com>
Date:   Tue, 13 Aug 2019 09:43:30 +0000
From:   Ioana Ciornei <ioana.ciornei@....com>
To:     "Razvan.Stefanescu@...rochip.com" <Razvan.Stefanescu@...rochip.com>,
        "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC:     "joe@...ches.com" <joe@...ches.com>,
        "andrew@...n.ch" <andrew@...n.ch>,
        Ioana Ciocoi Radulescu <ruxandra.radulescu@....com>
Subject: Re: [PATCH v2 10/10] staging: fsl-dpaa2/ethsw: do not force user to
 bring interface down

On 8/13/19 12:38 PM, Razvan.Stefanescu@...rochip.com wrote:
> 
> 
> On 13/08/2019 11:54, Ioana Ciornei wrote:
>> Link settings can be changed only when the interface is down. Disable
>> and re-enable the interface, if necessary, behind the scenes so that we do
>> not force users to an if down/up sequence.
>>
>> Reported-by: Andrew Lunn <andrew@...n.ch>
>> Signed-off-by: Ioana Ciornei <ioana.ciornei@....com>
>> ---
>> Changes in v2:
>>    - added Reported-by tag
>>
>>    drivers/staging/fsl-dpaa2/ethsw/ethsw-ethtool.c | 32 ++++++++++++++++++-------
>>    1 file changed, 23 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/staging/fsl-dpaa2/ethsw/ethsw-ethtool.c b/drivers/staging/fsl-dpaa2/ethsw/ethsw-ethtool.c
>> index 0f9f8345e534..99d658fefa14 100644
>> --- a/drivers/staging/fsl-dpaa2/ethsw/ethsw-ethtool.c
>> +++ b/drivers/staging/fsl-dpaa2/ethsw/ethsw-ethtool.c
>> @@ -88,16 +88,21 @@ static void ethsw_get_drvinfo(struct net_device *netdev,
>>    			 const struct ethtool_link_ksettings *link_ksettings)
>>    {
>>    	struct ethsw_port_priv *port_priv = netdev_priv(netdev);
>> +	struct ethsw_core *ethsw = port_priv->ethsw_data;
>>    	struct dpsw_link_cfg cfg = {0};
>> -	int err = 0;
>> -
>> -	/* Due to a temporary MC limitation, the DPSW port must be down
>> -	 * in order to be able to change link settings. Taking steps to let
>> -	 * the user know that.
>> -	 */
>> -	if (netif_running(netdev)) {
>> -		netdev_info(netdev, "Sorry, interface must be brought down first.\n");
>> -		return -EACCES;
>> +	bool if_running;
>> +	int err = 0, ret;
>> +
>> +	/* Interface needs to be down to change link settings */
>> +	if_running = netif_running(netdev);
>> +	if (if_running) {
>> +		err = dpsw_if_disable(ethsw->mc_io, 0,
>> +				      ethsw->dpsw_handle,
>> +				      port_priv->idx);
>> +		if (err) {
>> +			netdev_err(netdev, "dpsw_if_disable err %d\n", err);
>> +			return err;
>> +		}
>>    	}
>>    
>>    	cfg.rate = link_ksettings->base.speed;
>> @@ -115,6 +120,15 @@ static void ethsw_get_drvinfo(struct net_device *netdev,
>>    				   port_priv->idx,
>>    				   &cfg);
>>    
>> +	if (if_running) {
>> +		ret = dpsw_if_enable(ethsw->mc_io, 0,
>> +				     ethsw->dpsw_handle,
>> +				     port_priv->idx);
>> +		if (ret) {
>> +			return ret;
>> +			netdev_err(netdev, "dpsw_if_enable err %d\n", ret);
> Hello, >
> These last two lines need to be swapped.
> 
> Best regards,
> Razvan
> 

Oops, my bad. Will fix.

Thanks for pointing this out,
Ioana


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ