diff options
| author | Kuniyuki Iwashima <kuniyu@google.com> | 2026-06-05 01:46:20 +0300 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-06-09 03:06:22 +0300 |
| commit | 364568de4e7f8a5a0f0e12a0ba8812377f53c07a (patch) | |
| tree | e43a4e67a820c9237519b136b6f8443f1f07289c /include | |
| parent | e02bf5e7aa4af4e5e063d6a1bf1de6dded69fe5b (diff) | |
| download | linux-364568de4e7f8a5a0f0e12a0ba8812377f53c07a.tar.xz | |
ip6mr: Annotate access to mrt->mroute_do_{pim,assert,wrvifwhole}.
These fields in struct mr_table are updated in ip6_mroute_setsockopt()
under RTNL:
* mroute_do_pim
* mroute_do_assert (MRT6_PIM is under RTNL while MRT6_ASSERT is lockless)
* mroute_do_wrvifwhole
However, ip6_mroute_getsockopt() does not hold RTNL and read the first
two fields locklessly, and ip6_mr_forward() reads all the three under
RCU.
Let's use WRITE_ONCE() and READ_ONCE() for them.
Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20260604224712.3209821-3-kuniyu@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
