> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-boun...@osuosl.org> On Behalf Of
> Emil Tantilov
> Sent: Thursday, November 21, 2024 8:41 PM
> To: intel-wired-...@lists.osuosl.org
> Cc: net...@vger.kernel.org; Kitszel, Przemyslaw
> <przemyslaw.kits...@intel.com>; Samudrala, Sridhar
> <sridhar.samudr...@intel.com>; rla...@google.com; de...@google.com;
> will...@google.com; Hay, Joshua A <joshua.a....@intel.com>; Nguyen,
> Anthony L <anthony.l.ngu...@intel.com>; da...@davemloft.net;
> eduma...@google.com; k...@kernel.org; pab...@redhat.com; Lobakin,
> Aleksander <aleksander.loba...@intel.com>
> Subject: [Intel-wired-lan] [PATCH iwl-net v2] idpf: add read memory barrier
> when checking descriptor done bit
>
> Add read memory barrier to ensure the order of operations when accessing
> control queue descriptors. Specifically, we want to avoid cases where loads
> can be reordered:
>
> 1. Load #1 is dispatched to read descriptor flags.
> 2. Load #2 is dispatched to read some other field from the descriptor.
> 3. Load #2 completes, accessing memory/cache at a point in time when the DD
> flag is zero.
> 4. NIC DMA overwrites the descriptor, now the DD flag is one.
> 5. Any fields loaded before step 4 are now inconsistent with the actual
> descriptor state.
>
> Add read memory barrier between steps 1 and 2, so that load #2 is not
> executed until load #1 has completed.
>
> Fixes: 8077c727561a ("idpf: add controlq init and reset checks")
> Reviewed-by: Przemek Kitszel <przemyslaw.kits...@intel.com>
> Reviewed-by: Sridhar Samudrala <sridhar.samudr...@intel.com>
> Suggested-by: Lance Richardson <rla...@google.com>
> Signed-off-by: Emil Tantilov <emil.s.tanti...@intel.com>
> ---
> Changelog
> v2:
> - Rewrote comment to fit on a single line
> - Added new line as separator
> - Updated last sentence in commit message to include load #
> v1:
> https://lore.kernel.org/intel-wired-lan/20241115021618.20565-1-
> emil.s.tanti...@intel.com/
> ---
> drivers/net/ethernet/intel/idpf/idpf_controlq.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
Tested-by: Krishneil Singh <krishneil.k.si...@intel.com>