pool: remove unneeded semicolon
bus.h: add missing include to linux/kref.h

Symptoms:
> kdbus/bus.h:56:14: error: field ‘kref’ has incomplete type
>   struct kref kref;

Signed-off-by: Alban Crequy <alban.crequy@collabora.co.uk>
test: test-kdbus: fix monitor and byebye tests

Since commit 7015a1e6 ("prevent special-purpose connections from
owning names or exchanging messages"), ioctl() calls return
-EOPNOTSUPP they are issued to a handle of a inapproprate type.
Follow this change in the test as well.
names: flush policy TALK cache when a connection loses a name

When a connection loses a name, make sure cache entries that allow
TALK access to it are properly removed. Upon the next TALK query,
the connection's names will be iterated and checked again.
policy: rename send_access_hash to talk_access_hash

We've already renamed the SEND policy to TALK for more clarity,
so let's do the same with the access hash.
policy, connection: rename policy cache related functions

Just so they reflect a little better what they're doing.
metadata: add kdbus_meta_offset_of()

kdbus_meta_offset_of() will iterate over the given metadata and return
the offset of the item of type @type, if it exists.
connection, metadata: do namespace translation as late as possible

We have to do the namespace translation just before a message is
installed into the receiver's task, so we actually know about the
currently used pid and user namespaces.

To achive this, store the byte offset pointer in the message in
kdbus_conn_queue_alloc(), and patch the values over from
kdbus_conn_msg_install().

Thanks to Djalal Harouni for pointing this out.
metadata: allow NULL pointers in kdbus_meta_append_data()

Allow NULL pointers to be passed as data argument to
kdbus_meta_append_data(), so users can use the function to only make space
in the metadata without actually copying any payload.
connection, metadata: convert auxgrp information as late as possible

Same as with the cred block - do the from_kgid() conversion shortly before
installing the message in the receiver's task.
connection: fix error rewind exit path in kdbus_conn_msg_install()
handle: Return POLLOUT | POLLWRNORM mask when no messages are pending

To facility the feature of doing an asynchronous sending of messages
when the bus is idle, make sure to return POLLOUT | POLLWRNORM from
kdbus_handle_poll.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
metadata: rename kdbus_meta_offset_of() to kdbus_meta_find_item()

Return a pointer to the item itself, so we can as well use its size.
util: introduce KDBUS_ITEM_PAYLOAD_SIZE

Add a simple macro to determine an item's payload size, and use it in
message.c.
connection: address possible auxgrp count mismatch

The number of auxgrps could theoretically change between the preparation of
the the meta data item and the scan in kdbus_conn_queue_alloc().

Solve this by clamping the number of group elements we look at.
connection: drop unused paramenter to kdbus_conn_*_install

The connection parameter is not used, so drop it from the function's
parameters.
The Brain Fuck Scheduler v0.450 by Con Kolivas.

A single shared runqueue O(n) strict fairness earliest deadline first
design.

Excellent throughput and latency for 1 to many CPUs on desktop and
server
commodity hardware.
Not recommended for 4096 cpus.

Scalability is optimal when your workload is equal to the number of CPUs
on
bfs. ie you should ONLY do make -j4 on quad core, -j2 on dual core and
so on.

Features SCHED_IDLEPRIO and SCHED_ISO scheduling policies as well.
You do NOT need to use these policies for good performance, they are
purely
optional for even better performance in extreme conditions.

To run something idleprio, use schedtool like so:

schedtool -D -e make -j4

To run something isoprio, use schedtool like so:

schedtool -I -e amarok

Includes configurable SMT-nice support for better nice level and
scheduling
policy support across SMT (aka hyperthread) sibling CPUs.

Includes accurate sub-tick accounting of tasks so userspace reported
cpu usage may be very different if you have very short lived tasks.

-ck
Merge branch '3.16/bfs' into 3.16/master
Merge remote-tracking branch 'kdbus/master' into 3.16/kdbus
Merge branch '3.16/kdbus' into 3.16/my