1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/sys/net/gnrc/network_layer/ipv6/nib
Martine Lenders 4b4eaf3b76
gnrc_ipv6_nib: fix acquire race on gnrc_ipv6_nib_get_next_hop_l2addr()
When two threads use `gnrc_ipv6_nib_get_next_hop_l2addr()` to determine
a next hop (e.g. when there is both an IPv6 sender and a 6LoWPAN
fragment forwarder), a race condition may happen, where one thread
acquires the NIB and the other acquires the network interface resulting
in a deadlock. By releasing the NIB (if acquired) before trying to
acquire the network interface and re-acquiring the NIB after the network
interface is acquired, this is fixed.
2021-05-05 17:48:24 +02:00
..
_nib-6ln.c sys/*: remove unneeded ENABLE_DEBUG 2020-10-23 11:29:57 +02:00
_nib-6ln.h gnrc_ipv6_nib: make ARO extra status codes also available without 6LN 2020-09-29 10:45:12 +02:00
_nib-6lr.c gnrc_ipv6_nib: prevent NULL pointer dereference on nib exhaustion 2020-12-08 20:41:06 +01:00
_nib-6lr.h gnrc/nib: Move GNRC_IPV6_NIB_CONF_6LR to 'CONFIG_' namespace 2020-03-31 18:07:03 +02:00
_nib-arsm.c sys/*: remove unneeded ENABLE_DEBUG 2020-10-23 11:29:57 +02:00
_nib-arsm.h gnrc_ipv6_nib: add missing header includes 2020-09-08 12:53:29 +02:00
_nib-internal.c sys/*: remove unneeded ENABLE_DEBUG 2020-11-02 21:34:12 +01:00
_nib-internal.h all: adapt to moved sched defines 2020-11-23 16:56:34 +01:00
_nib-router.c sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
_nib-router.h gnrc/nib: Move GNRC_IPV6_NIB_CONF_MULTIHOP_P6C to 'CONFIG_' namespace 2020-03-31 18:07:10 +02:00
_nib-slaac.c sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
_nib-slaac.h gnrc/nib: Move GNRC_IPV6_NIB_CONF_SLAAC to 'CONFIG_' namespace 2020-03-31 18:07:05 +02:00
Kconfig treewide: change prefix for generated Kconfig symbols. 2020-08-31 09:37:09 +02:00
Makefile gnrc_ipv6_nib: initial import of internal NIB functions 2017-06-09 21:52:37 +02:00
nib_abr.c sys/*: add missing include of assert.h 2020-10-22 11:13:09 +02:00
nib_ft.c sys/*: add missing include of assert.h 2020-10-22 11:13:09 +02:00
nib_nc.c sys/*: add missing include of assert.h 2020-10-22 11:13:09 +02:00
nib_pl.c sys/net/gnrc: Use %lu to print times 2020-04-23 21:16:57 +02:00
nib.c gnrc_ipv6_nib: fix acquire race on gnrc_ipv6_nib_get_next_hop_l2addr() 2021-05-05 17:48:24 +02:00