NetworkManager/shared
Thomas Haller ffd87f7718
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)
(cherry picked from commit 71f56a5d76)
2020-12-10 12:27:16 +01:00
..
c-list license: Add license using SPDX identifiers to meson build files 2020-02-17 13:16:57 +01:00
c-rbtree license: Add license using SPDX identifiers to meson build files 2020-02-17 13:16:57 +01:00
c-siphash license: Add license using SPDX identifiers to meson build files 2020-02-17 13:16:57 +01:00
c-stdaux license: Add license using SPDX identifiers to meson build files 2020-02-17 13:16:57 +01:00
n-acd license: Add license using SPDX identifiers to meson build files 2020-02-17 13:16:57 +01:00
n-dhcp4 n-dhcp4: fix BPF filter endianness issue 2020-08-04 16:29:07 +02:00
nm-glib-aux shared: fix race in nm_ref_string_unref() 2020-12-10 12:27:16 +01:00
nm-keyfile keyfile: suppress bogus warning about [ethernet-s390-options] setting 2020-05-27 09:44:53 +02:00
nm-libnm-aux clients: in debug builds randomly use sync init of NMClient for testing 2019-12-10 09:17:17 +01:00
nm-libnm-core-aux all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-libnm-core-intern shared: expose size of nm_ethtool_data array in header 2020-03-06 09:49:32 +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 nm-setting-bridge: add 'group-address' bridge option 2020-04-06 09:56:11 +02:00
systemd build: fix redefinition of VALGRIND define in "nm-sd-adapt-shared.h" 2020-05-13 17:24:30 +02:00
meson.build systemd: merge branch systemd into master 2020-04-08 09:08:49 +02:00
nm-default.h libnm: include "nm-libnm-utils.h" by default in libnm sources 2019-10-18 22:09:18 +02: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 libnm/tests: extend nmtstc_client_new() to create other GObject types 2020-01-28 10:54:14 +01:00
nm-test-utils-impl.c all: use "int/char" instead of "gint/gchar" typedefs 2020-05-08 12:57:11 +02:00
nm-version-macros.h.in release: bump version to 1.23.0 (development) 2019-11-29 15:46:22 +01:00