NetworkManager/shared
Thomas Haller 71f56a5d76
shared: fix race in nm_ref_string_unref()
We cannot drop the reference count to zero while having
no lock. Otherwise, another thread might race doing

  s = nm_ref_string_new("...");
  nm_ref_string_unref(s);

and already successfully delete the instance.

Hitting this race should be rather difficult, especially because
we tend to use NMRefString only from one thread. But still, access
to global variables must be race free.

Fixes: 908fadec96 ('shared: add NMRefString')
(cherry picked from commit 3490a09a7d)
(cherry picked from commit 1a68a54471)
2020-12-10 12:23:16 +01:00
..
c-list shared/c-list: reimport 2020-06-03 22:00:56 +02:00
c-rbtree shared/c-rbtree: reimport 2020-06-03 22:08:05 +02:00
c-siphash shared/c-siphash: reimport 2020-06-03 22:10:22 +02:00
c-stdaux shared/c-stdaux: reimport 2020-06-03 22:05:14 +02:00
n-acd shared/n-acd: reimport 2020-06-03 22:14:39 +02:00
n-dhcp4 n-dhcp4/connection: avoid compiler warning in n_dhcp4_c_connection_connect() about fd_udp uninitialized 2020-08-17 15:39:44 +02:00
nm-glib-aux shared: fix race in nm_ref_string_unref() 2020-12-10 12:23:16 +01:00
nm-std-aux license: relicense "shared/nm-std-aux/nm-dbus-compat.h" under LGPL-2.1+ 2020-01-14 16:54:43 +01:00
nm-udev-aux shared/udev: don't use GIOChannel to watch plain file descriptor 2020-01-13 15:46:04 +01:00
nm-utils shared/tests: add nmtst_main_context_iterate_until_full() helper 2020-11-24 13:11:22 +01:00
systemd tests: add nmtst_extract_first_word_all() for testing 2020-06-24 09:02:17 +02:00
meson.build all: move "shared/nm-libnm-aux" to "libnm/nm-libnm-aux" 2020-06-11 10:53:50 +02:00
nm-default.h shared: don't enforce unset G_LOG_DOMAIN in "nm-default.h" 2020-11-24 13:31:07 +01:00
nm-meta-setting.c libnm-core,cli: add VRF setting 2020-01-14 09:49:01 +01:00
nm-meta-setting.h libnm-core,cli: add VRF setting 2020-01-14 09:49:01 +01:00
nm-test-libnm-utils.h tests: add include guard to "nm-test-libnm-utils.h" header 2020-05-07 13:58:10 +02:00
nm-test-utils-impl.c tests: avoid race condition in nmtstc_service_cleanup() 2020-11-24 13:15:59 +01:00
nm-version-macros.h.in version: add NM_VERSION_1_26_4/NM_AVAILABLE_IN_1_26_4 macros 2020-08-26 11:57:07 +02:00