Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c31ead3c authored by Björn Töpel's avatar Björn Töpel Committed by Greg Kroah-Hartman
Browse files

xsk: avoid store-tearing when assigning queues



[ Upstream commit 94a997637c5b562fa0ca44fca1d2cd02ec08236f ]

Use WRITE_ONCE when doing the store of tx, rx, fq, and cq, to avoid
potential store-tearing. These members are read outside of the control
mutex in the mmap implementation.

Acked-by: default avatarJonathan Lemon <jonathan.lemon@gmail.com>
Fixes: 37b07693 ("xsk: add missing write- and data-dependency barrier")
Signed-off-by: default avatarBjörn Töpel <bjorn.topel@intel.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 07053105
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -320,7 +320,7 @@ static int xsk_init_queue(u32 entries, struct xsk_queue **queue,

	/* Make sure queue is ready before it can be seen by others */
	smp_wmb();
	*queue = q;
	WRITE_ONCE(*queue, q);
	return 0;
}