summaryrefslogtreecommitdiff
path: root/lib/lua/sqlite/sqlite.c
diff options
context:
space:
mode:
authorozaki-r <ozaki-r@NetBSD.org>2019-05-15 02:59:18 +0000
committerozaki-r <ozaki-r@NetBSD.org>2019-05-15 02:59:18 +0000
commitf880630b39042b16accadf081d711607935e72c3 (patch)
treeda922c60ea0aca19b045a57cb879d75416a77bea /lib/lua/sqlite/sqlite.c
parent81d706b55f20c4ab780cf07255a8668b79c79e6c (diff)
Get rid of IFNET_LOCK for if_mcast_op to avoid a deadlock
The IFNET_LOCK was added to avoid data races on if_flags for IFF_ALLMULTI. Unfortunatetly it caused a deadlock instead. A known scenario causing a deadlock is to occur the following two operations concurrently: (a) a removal of an IP adddres assigned to an interface and (b) a manipulation of multicast groups to the interface. The resource dependency graph is like this: softnet_lock => IFNET_LOCK => psref_target_destroy => softint => softnet_lock Thanks to the previous commit that avoids data races on if_flags for IFF_ALLMULTI by another approach, we can remove IFNET_LOCK and defuse the deadlock. PR kern/54189
Diffstat (limited to 'lib/lua/sqlite/sqlite.c')
0 files changed, 0 insertions, 0 deletions