title: net: fix possible store tearing in neigh_periodic_work()
description: In the Linux kernel, the following vulnerability has been resolved:
net: fix possible store tearing in neigh_periodic_work()
While looking at a related syzbot report involving neigh_periodic_work(),
I found that I forgot to add an annotation when deleting an
RCU protected item from a list.
Readers use rcu_deference(*np), we need to use either
rcu_assign_pointer() or WRITE_ONCE() on writer side
to prevent store tearing.
I use rcu_assign_pointer() to have lockdep support,
this was the choice made in neigh_flush_dev().
affected:
{
product: Linux
vendor: Linux
defaultStatus: unaffected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions:
version: 767e97e1e0db, lessThan: 95eabb075a59, status: affected, versionType: git
version: 767e97e1e0db, lessThan: 2ea52a2fb8e8, status: affected, versionType: git
version: 767e97e1e0db, lessThan: 147d89ee4143, status: affected, versionType: git
version: 767e97e1e0db, lessThan: f82aac816287, status: affected, versionType: git
version: 767e97e1e0db, lessThan: a75152d23337, status: affected, versionType: git
version: 767e97e1e0db, lessThan: 25563b581ba3, status: affected, versionType: git
}
{
product: Linux
vendor: Linux
defaultStatus: affected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions:
version: 2.6.37, status: affected
version: 0, lessThan: 2.6.37, status: unaffected, versionType: custom
version: 5.4.258, lessThanOrEqual: 5.4.*, status: unaffected, versionType: custom
version: 5.10.198, lessThanOrEqual: 5.10.*, status: unaffected, versionType: custom
version: 5.15.135, lessThanOrEqual: 5.15.*, status: unaffected, versionType: custom
version: 6.1.57, lessThanOrEqual: 6.1.*, status: unaffected, versionType: custom
version: 6.5.7, lessThanOrEqual: 6.5.*, status: unaffected, versionType: custom
version: 6.6, lessThanOrEqual: *, status: unaffected, versionType: original_commit_for_fix
}
