[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANq1E4T64hw4NL4Nk1YyOcb+S+v7ddxAAMhhGjUAwYANmqjE5A@mail.gmail.com>
Date: Mon, 6 Jul 2015 20:40:29 +0200
From: David Herrmann <dh.herrmann@...il.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Djalal Harouni <tixxdz@...ndz.org>,
Daniel Mack <daniel@...que.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: [GIT PULL] kdbus updates for Greg
Hi Greg
Big set of updates for kdbus. I picked up all remaining cleanups and
fixes from the ML and added my performance rework. Features are
described below. All tested for several weeks as part of the
out-of-tree repo.
Thanks
David
The following changes since commit 337faaf05f04521a1546e652626e7f386f598193:
Merge 4.1 into branch 'kdbus' (2015-06-26 15:54:26 -0700)
are available in the git repository at:
https://github.com/systemd/linux.git tags/for-greg
for you to fetch changes up to c61382ef278eb8569c87e4be3077f3f9f1f2fc49:
kdbus: allow match rules on msg->dst_id (2015-07-06 18:15:21 +0200)
----------------------------------------------------------------
kdbus updates for Greg
* Drop unused features. This includes KDBUS_MSG_MAX_ITEMS, required attach
flags on buses and filtering oneself on broadcasts. Those were all unused
and I haven't seen any code using them now. As there is no need for them,
drop support for them.
We do _not_ break ABI, so old code still works. But we lack support for
those features now. If anything turns up, we might have to revert these.
But I really doubt that.
* Namespaces are now pinned on kdbus_conn. This was triggered by a discussion
with Eric regarding UDS on LKML:
http://www.spinics.net/lists/netdev/msg329322.html
We now follow the suggestion of Eric and pin namespaces. See the commit
message of c2bc012ac7da4 for details.
* Full rewrite of the message importer (parsing user-passed message and
prep'ing it before copying into the target pool). This was done to reduce
the number of calls into shmem, as those showed up a lot on benchmarks.
This rewrite makes up most of this PR and reduces overhead of message
transactions by roughly 40%. More optimizations are underway.
* We now support MATCH rules on the destination ID. This is supported by dbus1
but we never really needed it. But as it turns out, the bus-proxy now needs
it to support unicast-signal-compatibility with dbus1.
* We now extended the metadata retrieval to support the discussed /proc-style
access restrictions. This basically makes sure that we only transmit
metadata that was explicitly allowed by the sender, or which the receiver
has _actual_ access to via procfs of its own pid-namespace.
* Miscellaneous fixes and cleanups (from mailing-list and myself).
----------------------------------------------------------------
David Herrmann (29):
kdbus/selftests: fix CAP translation tests
kdbus: drop redundant KDBUS_MSG_MAX_ITEMS
kdbus: drop unused 'bloom_generation' field
kdbus: drop support for required attach-flags on buses
kdbus: pin namespaces on HELLO
kdbus: fix NULL-deref in activator cleanup
kdbus: allow building development modules
kdbus: split off faked metadata into separate object
kdbus: pin 'struct cred' in process metadata
kdbus: pass msg-seqnum directly into meta-conn
kdbus: don't include padding in mc->owned_names_size
kdbus: re-introduce metadata buffers
kdbus: speed up KDBUS_CMD_*_INFO by using meta_emit()
kdbus: simplify kdbus_match_rules()
kdbus: pass notification details directly into policy wrapper
kdbus: pass source connection to queue handling
kdbus: remove redundant kmsg->dst_name_id
kdbus: simplify collecting metadata on messages
kdbus: simplify notification shortcuts
kdbus: rewrite message importer
kdbus: remove unused code
kdbus: import messages via kdbus_args
kdbus: switch to kdbus_staging
kdbus: drop unused metadata code
kdbus: drop unused message handling
kdbus: allow senders to receive own broadcasts
kdbus: pass metadata which a receiver could read via /proc
kdbus: drop redundant ns pointers
kdbus: allow match rules on msg->dst_id
Markus Elfring (1):
kdbus: delete unnecessary check before kdbus_domain_unref
Sergei Zviagintsev (2):
kdbus: fix typos in kdbus_conn_quota_inc()
kdbus: use standard kernel types in struct kdbus_quota
Documentation/kdbus/kdbus.bus.xml | 15 -
Documentation/kdbus/kdbus.connection.xml | 8 +-
include/uapi/linux/kdbus.h | 1 +
ipc/kdbus/Makefile | 15 +-
ipc/kdbus/bus.c | 94 +-
ipc/kdbus/bus.h | 8 +-
ipc/kdbus/connection.c | 335 +++---
ipc/kdbus/connection.h | 22 +-
ipc/kdbus/fs.c | 4 +-
ipc/kdbus/handle.c | 15 +-
ipc/kdbus/handle.h | 17 +-
ipc/kdbus/item.c | 42 +-
ipc/kdbus/item.h | 3 -
ipc/kdbus/limits.h | 3 -
ipc/kdbus/match.c | 153 ++-
ipc/kdbus/match.h | 8 +-
ipc/kdbus/message.c | 1258 ++++++++++++++--------
ipc/kdbus/message.h | 181 ++--
ipc/kdbus/metadata.c | 1086 +++++++++++--------
ipc/kdbus/metadata.h | 67 +-
ipc/kdbus/names.c | 2 +-
ipc/kdbus/notify.c | 132 +--
ipc/kdbus/queue.c | 359 +-----
ipc/kdbus/queue.h | 42 +-
tools/testing/selftests/kdbus/kdbus-test.c | 1 -
tools/testing/selftests/kdbus/kdbus-util.c | 20 +-
tools/testing/selftests/kdbus/kdbus-util.h | 3 +-
tools/testing/selftests/kdbus/test-connection.c | 9 -
tools/testing/selftests/kdbus/test-message.c | 9 +-
tools/testing/selftests/kdbus/test-metadata-ns.c | 9 +-
tools/testing/selftests/kdbus/test-policy-priv.c | 26 +-
31 files changed, 2048 insertions(+), 1899 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists