kdbus: allow senders to receive own broadcasts
authorINSUN PYO <insun.pyo@samsung.com>
Tue, 11 Oct 2016 06:14:46 +0000 (15:14 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Wed, 14 Dec 2016 04:53:38 +0000 (13:53 +0900)
The dbus1 spec does not place a restriction on who can receive broadcasts.
As long as the sender has a MATCH-rule on itself, it can as well receive
its own broadcasts.

As it turns out, user-space currently relies on this feature. So make sure
to allow this just like dbus1. If we find some client that does not work
with this, we will have to turn it into a HELLO-flag. Until then, just try
to adjust the default behavior.

Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
Change-Id: I83702b59039062967ec2875e268a17d647902a87

ipc/kdbus/bus.c

index 9d0679e..cfe997f 100644 (file)
@@ -271,8 +271,6 @@ void kdbus_bus_broadcast(struct kdbus_bus *bus,
 
        down_read(&bus->conn_rwlock);
        hash_for_each(bus->conn_hash, i, conn_dst, hentry) {
-               if (conn_dst->id == kmsg->msg.src_id)
-                       continue;
                if (!kdbus_conn_is_ordinary(conn_dst))
                        continue;