path: root/include
diff options
authorNikolay Aleksandrov <>2021-06-10 15:04:10 +0300
committerDavid S. Miller <>2021-06-10 14:06:43 -0700
commit58e2071742e38f29f051b709a5cca014ba51166f (patch)
tree07c2d42fc19ea7ed9185d1731f56aae6e8c1e013 /include
parent9d44fa3e50cc91691896934d106c86e4027e61ca (diff)
net: bridge: fix vlan tunnel dst null pointer dereference
This patch fixes a tunnel_dst null pointer dereference due to lockless access in the tunnel egress path. When deleting a vlan tunnel the tunnel_dst pointer is set to NULL without waiting a grace period (i.e. while it's still usable) and packets egressing are dereferencing it without checking. Use READ/WRITE_ONCE to annotate the lockless use of tunnel_id, use RCU for accessing tunnel_dst and make sure it is read only once and checked in the egress path. The dst is already properly RCU protected so we don't need to do anything fancy than to make sure tunnel_id and tunnel_dst are read only once and checked in the egress path. Cc: Fixes: 11538d039ac6 ("bridge: vlan dst_metadata hooks in ingress and egress paths") Signed-off-by: Nikolay Aleksandrov <> Signed-off-by: David S. Miller <>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions