In the Linux kernel, the following vulnerability has been resolved:
vxlan: Annotate FDB data races
The 'used' and 'updated' fields in the FDB entry structure can be accessed concurrently by multiple threads, leading to reports such as [1]. Can be reproduced using [2].
Suppress these reports by annotating these accesses using READONCE() / WRITEONCE().
[1] BUG: KCSAN: data-race in vxlanxmit / vxlanxmit
write to 0xffff942604d263a8 of 8 bytes by task 286 on cpu 0: vxlanxmit+0xb29/0x2380 devhardstartxmit+0x84/0x2f0 _devqueuexmit+0x45a/0x1650 packetxmit+0x100/0x150 packetsendmsg+0x2114/0x2ac0 _syssendto+0x318/0x330 _x64syssendto+0x76/0x90 x64syscall+0x14e8/0x1c00 dosyscall64+0x9e/0x1a0 entrySYSCALL64afterhwframe+0x77/0x7f
read to 0xffff942604d263a8 of 8 bytes by task 287 on cpu 2: vxlanxmit+0xadf/0x2380 devhardstartxmit+0x84/0x2f0 _devqueuexmit+0x45a/0x1650 packetxmit+0x100/0x150 packetsendmsg+0x2114/0x2ac0 _syssendto+0x318/0x330 _x64syssendto+0x76/0x90 x64syscall+0x14e8/0x1c00 dosyscall64+0x9e/0x1a0 entrySYSCALL64afterhwframe+0x77/0x7f
value changed: 0x00000000fffbac6e -> 0x00000000fffbac6f
Reported by Kernel Concurrency Sanitizer on: CPU: 2 UID: 0 PID: 287 Comm: mausezahn Not tainted 6.13.0-rc7-01544-gb4b270f11a02 #5 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-3.fc41 04/01/2014
[2] #!/bin/bash
set +H echo whitelist > /sys/kernel/debug/kcsan echo !vxlan_xmit > /sys/kernel/debug/kcsan
ip link add name vx0 up type vxlan id 10010 dstport 4789 local 192.0.2.1 bridge fdb add 00:11:22:33:44:55 dev vx0 self static dst 198.51.100.1 taskset -c 0 mausezahn vx0 -a own -b 00:11:22:33:44:55 -c 0 -q & taskset -c 2 mausezahn vx0 -a own -b 00:11:22:33:44:55 -c 0 -q &
[
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c",
"function": "vxlan_snoop"
},
"signature_type": "Function",
"digest": {
"length": 1304.0,
"function_hash": "284902108426095043404729802135770872898"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6644aeb8ddf196dec5f8e782293c36f065df4d7",
"id": "CVE-2025-38037-20898608",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"337227118557939908503084289541483005626",
"92016851049059881980186999922041173476",
"256328860237151827172669255398520707780",
"82902102280656710576502982777210611873",
"121143068329831555142990563949026035450",
"1547948656395481214145460225656691709",
"227053147053905290747070094416838373648",
"91070087258226488615892952410376555654",
"271024820205311123893512763499513553202",
"103868164130355074626911838203044791182",
"139093221690187512779433414184419208701",
"119980346355488153096297113723034375897",
"265979125269309282450839725226671365570",
"308881916453951564484322922134101095259",
"209460378706944378698268287315686711329",
"315289644549991886249631770106420420800",
"13329037918321916750635360960560216216",
"124106548524256397338099972407812438566",
"135413127732986006087385998628731879304",
"267118094955375048136593096419386963922",
"165116054030784881803960344067151421879",
"167426711835917437686251010290390865419",
"43663463163716083275745711154369000923",
"6214313420129133921574649279705809532",
"120845663189302050089754362357217502321",
"231406778493313832026102907713773625417",
"155684616493574774319958969263345876555",
"183674312749361721104417825406206283907",
"213073342072681522308586930809976002253",
"182243189301921101630549684984445045723",
"124018683960523764461939711953602010273",
"197312899671925156477198882123432516320"
]
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@13cba3f837903f7184d6e9b6137d5165ffe82a8f",
"id": "CVE-2025-38037-366e121b",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"337227118557939908503084289541483005626",
"92016851049059881980186999922041173476",
"256328860237151827172669255398520707780",
"82902102280656710576502982777210611873",
"121143068329831555142990563949026035450",
"1547948656395481214145460225656691709",
"227053147053905290747070094416838373648",
"91070087258226488615892952410376555654",
"271024820205311123893512763499513553202",
"103868164130355074626911838203044791182",
"139093221690187512779433414184419208701",
"119980346355488153096297113723034375897",
"265979125269309282450839725226671365570",
"308881916453951564484322922134101095259",
"209460378706944378698268287315686711329",
"315289644549991886249631770106420420800",
"13329037918321916750635360960560216216",
"124106548524256397338099972407812438566",
"135413127732986006087385998628731879304",
"267118094955375048136593096419386963922",
"165116054030784881803960344067151421879",
"167426711835917437686251010290390865419",
"43663463163716083275745711154369000923",
"6214313420129133921574649279705809532",
"120845663189302050089754362357217502321",
"231406778493313832026102907713773625417",
"155684616493574774319958969263345876555",
"183674312749361721104417825406206283907",
"213073342072681522308586930809976002253",
"182243189301921101630549684984445045723",
"124018683960523764461939711953602010273",
"197312899671925156477198882123432516320"
]
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6644aeb8ddf196dec5f8e782293c36f065df4d7",
"id": "CVE-2025-38037-42ca171a",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c",
"function": "vxlan_find_mac"
},
"signature_type": "Function",
"digest": {
"length": 212.0,
"function_hash": "250226169771840321549440244986642784856"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@13cba3f837903f7184d6e9b6137d5165ffe82a8f",
"id": "CVE-2025-38037-507b091f",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c",
"function": "vxlan_cleanup"
},
"signature_type": "Function",
"digest": {
"length": 940.0,
"function_hash": "279413821421351217762040784548610524356"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@13cba3f837903f7184d6e9b6137d5165ffe82a8f",
"id": "CVE-2025-38037-7934a283",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c",
"function": "vxlan_fdb_update_existing"
},
"signature_type": "Function",
"digest": {
"length": 1938.0,
"function_hash": "297090309149676216208908191773244992786"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6644aeb8ddf196dec5f8e782293c36f065df4d7",
"id": "CVE-2025-38037-795e7bdc",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c",
"function": "vxlan_snoop"
},
"signature_type": "Function",
"digest": {
"length": 1304.0,
"function_hash": "284902108426095043404729802135770872898"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@13cba3f837903f7184d6e9b6137d5165ffe82a8f",
"id": "CVE-2025-38037-9108ef4b",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c",
"function": "vxlan_fdb_info"
},
"signature_type": "Function",
"digest": {
"length": 2554.0,
"function_hash": "118494399801846170342639498204710630025"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6644aeb8ddf196dec5f8e782293c36f065df4d7",
"id": "CVE-2025-38037-9600d37e",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c",
"function": "vxlan_fdb_update_existing"
},
"signature_type": "Function",
"digest": {
"length": 1938.0,
"function_hash": "297090309149676216208908191773244992786"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@13cba3f837903f7184d6e9b6137d5165ffe82a8f",
"id": "CVE-2025-38037-f04cab35",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c",
"function": "vxlan_fdb_info"
},
"signature_type": "Function",
"digest": {
"length": 2554.0,
"function_hash": "118494399801846170342639498204710630025"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@13cba3f837903f7184d6e9b6137d5165ffe82a8f",
"id": "CVE-2025-38037-f8aece5d",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c",
"function": "vxlan_cleanup"
},
"signature_type": "Function",
"digest": {
"length": 940.0,
"function_hash": "279413821421351217762040784548610524356"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6644aeb8ddf196dec5f8e782293c36f065df4d7",
"id": "CVE-2025-38037-fb61b5de",
"deprecated": false,
"signature_version": "v1"
},
{
"target": {
"file": "drivers/net/vxlan/vxlan_core.c",
"function": "vxlan_find_mac"
},
"signature_type": "Function",
"digest": {
"length": 212.0,
"function_hash": "250226169771840321549440244986642784856"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a6644aeb8ddf196dec5f8e782293c36f065df4d7",
"id": "CVE-2025-38037-fc29989f",
"deprecated": false,
"signature_version": "v1"
}
]