diff options
| author | Eric Dumazet <[email protected]> | 2023-09-18 14:23:21 +0000 |
|---|---|---|
| committer | Paolo Abeni <[email protected]> | 2023-09-19 18:21:44 +0200 |
| commit | fa17a6d8a5bd0cd7565b613cb804242cd0f6b7ab (patch) | |
| tree | 47b212f49ee830235b382165cf734328cdff2e00 /include/linux | |
| parent | 6a23c555f7eb436d6799533675ffa179db3d5834 (diff) | |
ipv6: lockless IPV6_ADDR_PREFERENCES implementation
We have data-races while reading np->srcprefs
Switch the field to a plain byte, add READ_ONCE()
and WRITE_ONCE() annotations where needed,
and IPV6_ADDR_PREFERENCES setsockopt() can now be lockless.
Signed-off-by: Eric Dumazet <[email protected]>
Reviewed-by: David Ahern <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Abeni <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/ipv6.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 09253825c99c..e400ff757f13 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -243,7 +243,7 @@ struct ipv6_pinfo { } rxopt; /* sockopt flags */ - __u8 srcprefs:3; /* 001: prefer temporary address + __u8 srcprefs; /* 001: prefer temporary address * 010: prefer public address * 100: prefer care-of address */ |