diff options
author | Jeongjun Park <aha310510@gmail.com> | 2024-08-23 03:11:09 +0900 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-08-28 17:07:42 -0700 |
commit | 0fa5e94a1811d68fbffa0725efe6d4ca62c03d12 (patch) | |
tree | 5331c970f54958f43c867cbf0bbdba8a712420a6 /net/ipv6/tcp_ipv6.c | |
parent | e5899b60f52a7591cfc2a2dec3e83710975117d7 (diff) | |
download | linux-0fa5e94a1811d68fbffa0725efe6d4ca62c03d12.tar.gz linux-0fa5e94a1811d68fbffa0725efe6d4ca62c03d12.tar.bz2 linux-0fa5e94a1811d68fbffa0725efe6d4ca62c03d12.zip |
net/xen-netback: prevent UAF in xenvif_flush_hash()
During the list_for_each_entry_rcu iteration call of xenvif_flush_hash,
kfree_rcu does not exist inside the rcu read critical section, so if
kfree_rcu is called when the rcu grace period ends during the iteration,
UAF occurs when accessing head->next after the entry becomes free.
Therefore, to solve this, you need to change it to list_for_each_entry_safe.
Signed-off-by: Jeongjun Park <aha310510@gmail.com>
Link: https://patch.msgid.link/20240822181109.2577354-1-aha310510@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
0 files changed, 0 insertions, 0 deletions