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]
Message-ID: <8628FE4E7912BF47A96AE7DD7BAC0AADDDEF920549@SJEXCHCCR02.corp.ad.broadcom.com>
Date:	Tue, 23 Nov 2010 08:36:22 -0800
From:	"Vladislav Zolotarov" <vladz@...adcom.com>
To:	"Eric Dumazet" <eric.dumazet@...il.com>
cc:	"Dave Miller" <davem@...emloft.net>,
	"Eilon Greenstein" <eilong@...adcom.com>,
	"netdev list" <netdev@...r.kernel.org>
Subject: RE: [PATCH net-next] bnx2x: Resolving a possible dead-lock
 situation

> 
> That seems strange. Even if performance penalty is not minimal, it
> should be avoided.
> 
> If problem comes from ethtool, why not preventing BH in ethtool itself
> ?

Looks good. Let me run a few checks before u submit a patch to Dave. Or do u prefer 
me to push it on your behalf?

Thanks,
vlad

> 
> diff --git a/drivers/net/bnx2x/bnx2x_ethtool.c
> b/drivers/net/bnx2x/bnx2x_ethtool.c
> index d02ffbd..1f7d4e6 100644
> --- a/drivers/net/bnx2x/bnx2x_ethtool.c
> +++ b/drivers/net/bnx2x/bnx2x_ethtool.c
> @@ -1499,9 +1499,11 @@ static int bnx2x_run_loopback(struct bnx2x *bp,
> int loopback_mode, u8 link_up)
>  	 * updates that have been performed while interrupts were
>  	 * disabled.
>  	 */
> -	if (bp->common.int_block == INT_BLOCK_IGU)
> +	if (bp->common.int_block == INT_BLOCK_IGU) {
> +		local_bh_disable();
>  		bnx2x_tx_int(fp_tx);
> -
> +		local_bh_enable();
> +	}
>  	rx_idx = le16_to_cpu(*fp_rx->rx_cons_sb);
>  	if (rx_idx != rx_start_idx + num_pkts)
>  		goto test_loopback_exit;
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ