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]
Message-Id: <20200102180830.66676-1-liran.alon@oracle.com>
Date:   Thu,  2 Jan 2020 20:08:28 +0200
From:   Liran Alon <liran.alon@...cle.com>
To:     netanel@...zon.com, davem@...emloft.net, netdev@...r.kernel.org
Cc:     saeedb@...zon.com, zorik@...zon.com, sameehj@...zon.com,
        igorch@...zon.com, akiyano@...zon.com, evgenys@...zon.com,
        gtzalik@...zon.com, ndagan@...zon.com, matua@...zon.com,
        galpress@...zon.com
Subject: [PATCH 0/2] net: AWS ENA: Fix memory barrier usage when using LLQ

Hi,

This simple patch-series address 2 issues found during code-review of AWS ENA NIC driver
related to how it use memory barriers when NIC is running in "low-latency queue" mode (LLQ).

1st patch removes an unnecessary wmb().

2nd patch fix a bug of not flushing write-combined buffers holding LLQ transmit descriptors
and first packet bytes before writing new SQ tail to device. This bug is introduced because
of a weird behaviour of x86 AMD CPU that it doesn't flush write-combined buffers when CPU
writes to UC memory as x86 Intel CPU does. Which makes writeX() insufficient in order to
guarantee write-combined buffers are flushed.
This patch makes sure to just fix AWS ENA to handle this case properly, but a future patch-series
should be submitted to probably introduce a new flush_wc_writeX() macro that handles this case
properly for all CPU archs and vendors. For more info, see patch commit message itself.

Regards,
-Liran

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ