NetworkManager/shared/nm-glib-aux
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
..
tests shared: add nm_utils_strv_dup_packed() util 2020-10-13 21:47:14 +02:00
nm-c-list.h shared: add nm_c_list_for_each_entry_prev() helper macro 2019-10-18 22:09:18 +02:00
nm-dbus-aux.c shared: allow nm_dbus_connection_call_finish_variant_cb() with D-Bus methods that have no return value 2020-03-23 09:32:04 +01:00
nm-dbus-aux.h shared: add nm_dbus_connection_call_set() util 2020-02-10 19:11:50 +01:00
nm-dedup-multi.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-dedup-multi.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-enum-utils.c shared: use NMStrBuf in _nm_utils_enum_to_str_full() 2020-04-03 11:31:12 +02:00
nm-enum-utils.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-errno.c shared: drop _STATIC variant of macros that define functions 2020-02-13 17:17:07 +01:00
nm-errno.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-glib.h shared: also reimplement g_atomic_pointer_set() macro 2020-11-24 13:28:32 +01:00
nm-hash-utils.c shared: add nm_gbytes_hash() and nm_gbytes_equal() 2020-04-28 18:35:59 +02:00
nm-hash-utils.h shared: add nm_gbytes_hash() and nm_gbytes_equal() 2020-04-28 18:35:59 +02:00
nm-io-utils.c cli/polkit: make parsing polkit-agent-helper-1 protocol more conforming 2020-04-10 10:44:57 +02:00
nm-io-utils.h cli/polkit: make parsing polkit-agent-helper-1 protocol more conforming 2020-04-10 10:44:57 +02:00
nm-jansson.h license: relicense "shared/nm-glib-aux/nm-jansson.h" under LGPL-2.1+ 2020-02-16 15:41:40 +01:00
nm-json-aux.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-json-aux.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-keyfile-aux.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-keyfile-aux.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-logging-base.c shared: move log level info from core to "nm-logging-base.h" 2019-11-28 19:20:33 +01:00
nm-logging-base.h shared: move log level info from core to "nm-logging-base.h" 2019-11-28 19:20:33 +01:00
nm-logging-fwd.h shared: add LOGD_DHCP_from_addr_family() helper 2020-02-17 14:45:09 +01:00
nm-macros-internal.h shared: fix NM_CAST_STRV_CC() for "char **const" pointers 2020-11-24 09:34:54 +01:00
nm-obj.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-random-utils.c all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-random-utils.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00
nm-ref-string.c shared: fix race in nm_ref_string_unref() 2020-12-10 12:23:16 +01:00
nm-ref-string.h shared: fix handling %NULL argument in nm_ref_string_equals_str() 2020-03-02 15:49:41 +01:00
nm-secret-utils.c shared: use G_UNLIKELY() macro for unlikely branch in nm_explicit_bzero() 2020-04-03 11:31:12 +02:00
nm-secret-utils.h shared: add nm_secret_mem_realloc() helpers 2020-04-03 11:31:12 +02:00
nm-shared-utils.c shared: introduce opaque type NMUtilsUserData for nm_utils_user_data_pack() 2020-12-09 10:27:10 +01:00
nm-shared-utils.h shared: introduce opaque type NMUtilsUserData for nm_utils_user_data_pack() 2020-12-09 10:27:10 +01:00
nm-str-buf.h shared: return non-const pointer from nm_str_buf_get_str() 2020-06-26 10:31:07 +02:00
nm-time-utils.c shared/trivial: rename time related functions to use "nsec"/"msec" abbreviation instead of "ns"/"ms" 2020-02-10 19:11:50 +01:00
nm-time-utils.h shared: add nm_utils_get_monotonic_timestamp_msec_cached() helper 2020-02-10 19:11:50 +01:00
nm-value-type.h all: unify format of our Copyright source code comments 2019-10-02 17:03:52 +02:00