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-next>] [day] [month] [year] [list]
Date:	Sat, 18 Oct 2014 14:14:51 -0700
From:	Vinson Lee <vlee@...pensource.com>
To:	"David S. Miller" <davem@...emloft.net>,
	Amir Vadai <amirv@...lanox.com>,
	Or Gerlitz <ogerlitz@...lanox.com>,
	Jack Morgenstein <jackm@....mellanox.co.il>,
	Eugenia Emantayev <eugenia@...lanox.com>,
	Matan Barak <matanb@...lanox.com>
Cc:	netdev@...r.kernel.org
Subject: [stable request <= 3.11] net/mlx4_en: Fix BlueFlame race

Hi.

Please consider backporting upstream commit
2d4b646613d6b12175b017aca18113945af1faf3 "net/mlx4_en: Fix BlueFlame
race" to stable kernels <= 3.11.

commit 2d4b646613d6b12175b017aca18113945af1faf3
Author: Eugenia Emantayev <eugenia@...lanox.com>
Date:   Thu Jul 25 19:21:23 2013 +0300

    net/mlx4_en: Fix BlueFlame race

    Fix a race between BlueFlame flow and stamping in post send flow.
    Example:
        SW: Build WQE 0 on the TX buffer, except the ownership bit
        SW: Set ownership for WQE 0 on the TX buffer
        SW: Ring doorbell for WQE 0
        SW: Build WQE 1 on the TX buffer, except the ownership bit
        SW: Set ownership for WQE 1 on the TX buffer
        HW: Read WQE 0 and then WQE 1, before doorbell was rung/BF was
done for WQE 1
        HW: Produce CQEs for WQE 0 and WQE 1
        SW: Process the CQEs, and stamp WQE 0 and WQE 1 accordingly
(on the TX buffer)
        SW: Copy WQE 1 from the TX buffer to the BF register - ALREADY STAMPED!
        HW: CQE error with index 0xFFFF  - the BF WQE's control
segment is STAMPED,
                so the BF index is 0xFFFF. Error: Invalid Opcode.
    As a result QP enters the error state and no traffic can be sent.

    Solution:
    When stamping - do not stamp last completed wqe.

    Signed-off-by: Eugenia Emantayev <eugenia@...lanox.com>
    Signed-off-by: Amir Vadai <amirv@...lanox.com>
    Signed-off-by: David S. Miller <davem@...emloft.net>

This patch fixes Mellanox network card packet send failures on Linux
kernel 3.10.

Tested-by: Chris Suttles <csuttles@...tter.com>
Tested-by: David Mackey <tdmackey@...tter.com>
Tested-by: Matthew Mullins <mmullins@...pensource.com>
Tested-by: Vinson Lee <vlee@...tter.com>

Cheers,
Vinson
--
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