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
connection: clean up code nesting in kdbus_conn_kmsg_send

also, closes a lock gap
connection: pass return code from kdbus_conn_queue_alloc() to sync waiter
connection: use del_timer_sync()

and check for disconnected connection in the worker.
connection: hold lock for kdbus_conn_reply_finish()
Revert "connection: hold lock for kdbus_conn_reply_finish()"

This reverts commit 1d3a6d1db374ca57c4c8402de12409cc5440b50c.
connection: properly ref the connection in kdbus_conn_move_messages()
fix typo