From: Lennart Poettering Date: Mon, 8 Dec 2014 23:01:36 +0000 (+0100) Subject: sd-bus: catch up with current kdbus, don't do matches on kdbus monitor connections X-Git-Tag: v218~74 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=96ceff428359b8f757d9d4da1f5da13bb9b5ab2e;hp=e7100587da6d147fa601c911122d13ad4257e963 sd-bus: catch up with current kdbus, don't do matches on kdbus monitor connections --- diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c index 6a9e9b296..261cf0d04 100644 --- a/src/libsystemd/sd-bus/bus-control.c +++ b/src/libsystemd/sd-bus/bus-control.c @@ -1180,6 +1180,10 @@ int bus_add_match_internal_kernel( assert(bus); + /* Monitor streams don't support matches, make this a NOP */ + if (bus->hello_flags & KDBUS_HELLO_MONITOR) + return 0; + bloom = alloca0(bus->bloom_size); sz = ALIGN8(offsetof(struct kdbus_cmd_match, items)); @@ -1392,6 +1396,10 @@ int bus_remove_match_internal_kernel( assert(bus); + /* Monitor streams don't support matches, make this a NOP */ + if (bus->hello_flags & KDBUS_HELLO_MONITOR) + return 0; + zero(m); m.size = offsetof(struct kdbus_cmd_match, items); m.cookie = cookie;