aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/mpi/mpicoder.c
diff options
context:
space:
mode:
authorEric Dumazet <[email protected]>2025-07-25 14:07:23 +0000
committerJakub Kicinski <[email protected]>2025-07-26 18:31:00 +0000
commit54e6fe9dd3b0e7c481c2228782c9494d653546da (patch)
treedac0641b490a79de3749bee6a941214dab3c3430 /lib/crypto/mpi/mpicoder.c
parentipv6: add a retry logic in net6_rt_notify() (diff)
downloadkernel-54e6fe9dd3b0e7c481c2228782c9494d653546da.tar.gz
kernel-54e6fe9dd3b0e7c481c2228782c9494d653546da.zip
ipv6: prevent infinite loop in rt6_nlmsg_size()
While testing prior patch, I was able to trigger an infinite loop in rt6_nlmsg_size() in the following place: list_for_each_entry_rcu(sibling, &f6i->fib6_siblings, fib6_siblings) { rt6_nh_nlmsg_size(sibling->fib6_nh, &nexthop_len); } This is because fib6_del_route() and fib6_add_rt2node() uses list_del_rcu(), which can confuse rcu readers, because they might no longer see the head of the list. Restart the loop if f6i->fib6_nsiblings is zero. Fixes: d9ccb18f83ea ("ipv6: Fix soft lockups in fib6_select_path under high next hop churn") Signed-off-by: Eric Dumazet <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'lib/crypto/mpi/mpicoder.c')
0 files changed, 0 insertions, 0 deletions