summaryrefslogtreecommitdiffstats
path: root/meta-security/recipes-core/dbus-cynagora/dbus-cynagora/0006-Fix-SIGSEGV-on-disconnections.patch
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2020-02-21 16:37:55 +0100
committerJan-Simon Möller <jsmoeller@linuxfoundation.org>2020-02-21 16:37:55 +0100
commitdf4ed283e18f3dfe9f42f0012b12cb0af57bcdbb (patch)
tree40ad4b148e24c47d319bbbd23bbfc4af75a36e94 /meta-security/recipes-core/dbus-cynagora/dbus-cynagora/0006-Fix-SIGSEGV-on-disconnections.patch
parentd40e55dbb362c455f0ee863b23c21ac2628cf3f8 (diff)
parent47aa65ba73e1b29459171de24fb0ee0040cbb39c (diff)
Merge remote-tracking branch 'agl/next'
* agl/next: meta-agl-bsp: Add CONFIG_LSM workaround for 5.1+ kernels meta-agl-profile-cluster-qt5: disable qtbase patches zeus updates for dragonboard-410c meta-security: activates dbus-cynagora recipes-graphics/wayland/weston: Expose weston_output_damage() meta-agl-profile-core: tweak udisks2 configuration for AGL meta-agl-bsp/meta-arago: update weston bbappend [RCAR] Update rcar driver weston 7 bsp 3.21.0 [RCAR] Update rcar driver weston 7 bsp 3.21.0 [RCAR] Split ADSP path for ulcb and ulcb-kf Fix nss-localuser post install meta-agl-bsp: meta-raspberrypi: handle zeus upgrade meta-agl-profile-core: add patch for systemd-udevd SECLABEL crash meta-security: disable dbus-cynara patches meta-agl-bsp: handle ptest-runner upgrade meta-agl-distro: Add inc file for next branch over-rides meta-agl-distro: BBMASK problematic upstream meta-security bbappend meta-agl-distro: prefer linux-yocto 4.19 LTS kernel meta-agl-profile-graphical-qt5: enable qt5location services meta-agl-profile-core: update most recipe meta-agl-profile-core: update neardal recipe Update base local.conf.sample meta-agl-profile-graphical: don't always build agl-compositor meta-agl-profile-graphical: update weston and weston-init meta-agl-profile-graphical: update wayland-ivi-extension for weston 7.0.0 meta-agl-distro: add polkit to DISTRO_FEATURES meta-agl-profile-core: update fontconfig bbappend meta-agl-profile-core: switch to udisks2 meta-security: handle systemd upgrade meta-agl-profile-graphical-qt5: handle qtwayland upgrade meta-agl-profile-core: handle freetype upgrade meta-agl-bsp meta-agl-profile-core: upgrade to opencv 4.x meta-agl-profile-core: update rtl-sdr recipe for zeus meta-security meta-app-framework: handle xmlsec1 upgrade meta-agl-profile-graphical: upgrade to gstreamer 1.16 meta-agl-profile-core: remove libmicrohttpd backport meta-agl-profile-core: remove backported curl and nghttp2 recipes meta-agl-profile-core: remove libnfc recipe meta-agl-profile-core: remove connman backport meta-agl-profile-graphical: remove weston 5.0.0 patches meta-agl-profile-core: remove old glibc patch meta-agl-bsp/meta-intel: remove linux-firmware_git.bbappend meta-agl-bsp: remove weston and wayland-protocols backports meta-app-framework: remove libzip recipe meta-security: remove keyutils recipe Declare layer compatibility with zeus Change-Id: Ie8ee1e37958279e7cf2d503c54ffacb46ba0c31c
Diffstat (limited to 'meta-security/recipes-core/dbus-cynagora/dbus-cynagora/0006-Fix-SIGSEGV-on-disconnections.patch')
-rw-r--r--meta-security/recipes-core/dbus-cynagora/dbus-cynagora/0006-Fix-SIGSEGV-on-disconnections.patch109
1 files changed, 109 insertions, 0 deletions
diff --git a/meta-security/recipes-core/dbus-cynagora/dbus-cynagora/0006-Fix-SIGSEGV-on-disconnections.patch b/meta-security/recipes-core/dbus-cynagora/dbus-cynagora/0006-Fix-SIGSEGV-on-disconnections.patch
new file mode 100644
index 000000000..e51ad7ce4
--- /dev/null
+++ b/meta-security/recipes-core/dbus-cynagora/dbus-cynagora/0006-Fix-SIGSEGV-on-disconnections.patch
@@ -0,0 +1,109 @@
+From 28077faa11827e1ca7a7245ffd62ee78091b6bd2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Bollo?= <jose.bollo@iot.bzh>
+Date: Fri, 16 Aug 2019 13:29:23 +0200
+Subject: [PATCH 6/8] Fix SIGSEGV on disconnections
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Sometime, at start of the system, dbus-daemon was crashing
+because a pending authorisation were reactivating a closed
+connection.
+
+Also, clean unused function.
+
+Signed-off-by: José Bollo <jose.bollo@iot.bzh>
+---
+ bus/check.c | 5 +++++
+ bus/check.h | 1 +
+ bus/connection.c | 14 +++-----------
+ bus/connection.h | 3 ---
+ 4 files changed, 9 insertions(+), 14 deletions(-)
+
+diff --git a/bus/check.c b/bus/check.c
+index f3d283f..b73d08b 100644
+--- a/bus/check.c
++++ b/bus/check.c
+@@ -617,3 +617,8 @@ bus_deferred_message_response_received (BusDeferredMessage *deferred_message,
+ }
+ }
+
++void
++bus_deferred_message_abort (BusDeferredMessage *deferred_message)
++{
++ deferred_message->response_callback = NULL;
++}
+diff --git a/bus/check.h b/bus/check.h
+index 9c13c18..d718a69 100644
+--- a/bus/check.h
++++ b/bus/check.h
+@@ -93,6 +93,7 @@ void bus_deferred_message_set_policy_check_info (BusDeferredMessa
+ const char *privilege);
+ dbus_bool_t bus_deferred_message_check_message_limits (BusDeferredMessage *deferred_message,
+ DBusError *error);
++void bus_deferred_message_abort (BusDeferredMessage *deferred_message);
+
+
+ #ifdef DBUS_ENABLE_EMBEDDED_TESTS
+diff --git a/bus/connection.c b/bus/connection.c
+index ee93384..b520d57 100644
+--- a/bus/connection.c
++++ b/bus/connection.c
+@@ -47,6 +47,7 @@
+ #define MAX_LOG_COMMAND_LEN 50
+
+ static void bus_connection_remove_transactions (DBusConnection *connection);
++static void bus_connection_clear_deferred_messages (DBusConnection *connection);
+
+ typedef struct
+ {
+@@ -2821,17 +2822,7 @@ bus_connection_pop_deferred_message (DBusConnection *connection)
+ return NULL;
+ }
+
+-dbus_bool_t
+-bus_connection_putback_deferred_message (DBusConnection *connection, BusDeferredMessage *message)
+-{
+- BusConnectionData *d = BUS_CONNECTION_DATA(connection);
+- if (_dbus_list_prepend(&d->deferred_messages, message))
+- {
+- return TRUE;
+- }
+- return FALSE;
+-}
+-
++static
+ void
+ bus_connection_clear_deferred_messages (DBusConnection *connection)
+ {
+@@ -2846,6 +2837,7 @@ bus_connection_clear_deferred_messages (DBusConnection *connection)
+ next = _dbus_list_get_next_link (&d->deferred_messages, link);
+ message = link->data;
+
++ bus_deferred_message_abort(message);
+ bus_deferred_message_unref(message);
+ _dbus_list_remove_link(&d->deferred_messages, link);
+
+diff --git a/bus/connection.h b/bus/connection.h
+index 97dae96..6af7bf1 100644
+--- a/bus/connection.h
++++ b/bus/connection.h
+@@ -90,15 +90,12 @@ dbus_bool_t bus_connection_queue_deferred_message (DBusConnection *con
+ BusDeferredMessage *message,
+ dbus_bool_t prepend);
+ BusDeferredMessage *bus_connection_pop_deferred_message (DBusConnection *connection);
+-dbus_bool_t bus_connection_putback_deferred_message (DBusConnection *connection,
+- BusDeferredMessage *message);
+ void bus_connection_remove_deferred_message (DBusConnection *connection,
+ BusDeferredMessage *message);
+ dbus_bool_t bus_connection_replace_deferred_message (DBusConnection *connection,
+ BusDeferredMessage *oldMessage,
+ BusDeferredMessage *newMessage);
+ void bus_connection_dispatch_deferred (DBusConnection *connection);
+-void bus_connection_clear_deferred_messages (DBusConnection *connection);
+
+
+ /* called by signals.c */
+--
+2.21.1
+