提交 94a99763 编写于 作者: B Björn Töpel 提交者: Daniel Borkmann

xsk: avoid store-tearing when assigning queues

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: NJonathan Lemon <jonathan.lemon@gmail.com>
Fixes: 37b07693 ("xsk: add missing write- and data-dependency barrier")
Signed-off-by: NBjörn Töpel <bjorn.topel@intel.com>
Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
上级 310f4204
...@@ -434,7 +434,7 @@ static int xsk_init_queue(u32 entries, struct xsk_queue **queue, ...@@ -434,7 +434,7 @@ static int xsk_init_queue(u32 entries, struct xsk_queue **queue,
/* Make sure queue is ready before it can be seen by others */ /* Make sure queue is ready before it can be seen by others */
smp_wmb(); smp_wmb();
*queue = q; WRITE_ONCE(*queue, q);
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册