lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ