kdbus.h: fix wrong ioctl read/write declarations (ABI break)
connection: remove locking from kdbus_conn_reply_finish()

There's no obvious reason to hold the connection's lock at this point.
connection: nullify queue->reply in kdbus_conn_recv_msg()

To make sure we don't finish the same reply block more than once.
connection: do not finish replies in __kdbus_conn_free(),

... just free them. The replies in the list are the ones the connection
which is going away is waiting for, so there's no need to finish
anything.
connection: rework sync logic

Avoid real queueing and dequeueing in sync cases. To achive this,

* parts of kdbus_conn_recv_msg() are moved into kdbus_conn_msg_install()
* pass around a struct kdbus_conn_reply rather than an offset
connection: kill kdbus_conn_reply.expect_reply

That's redundant information.
connection: kill kdbus_conn_queue.sync

Use conn_waiting to signal sync reply entries.
connection: avoid NULL pointer dereference
connection: cosmetic cleanup
connection: add comments
connection: clean up queue even if kdbus_conn_msg_install() fails
connection: fix comment
connection: fix locking in sync message delivery