Radoslaw Pajak [Fri, 8 Nov 2013 14:16:50 +0000 (15:16 +0100)]
Fixed memory freeing in match.c
Change-Id: If3b7df12b8ded42ca7e98788482ad3369166e379
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Radoslaw Pajak [Fri, 8 Nov 2013 13:22:48 +0000 (14:22 +0100)]
[fix] fixed memory freeing on errors
Change-Id: Iea8693d253c3a325b769d2454db0029b9a6e48a8
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Radoslaw Pajak [Wed, 6 Nov 2013 14:28:37 +0000 (15:28 +0100)]
[fix] Request name returns information if connection is already owner of the name
Request name fixed to return errno = -EALREADY if connection wants to own well-known name, that he is owner already.
This is needed to return DBUS_DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER, which was not possible before.
Fixed memory freeing in kdbus_cmd_name_acquire function.
Change-Id: I6dca3d53e22d115f3d366323dee80a2ea771495f
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Radoslaw Pajak [Tue, 5 Nov 2013 13:40:23 +0000 (14:40 +0100)]
[feature-fix] from now starters are not appended to KDBUS_MSG_SRC_NAMES
Change-Id: I39c1cf1284956c3a6508a516d076bbb6b9a97dc4
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Semun Lee [Tue, 5 Nov 2013 08:43:49 +0000 (17:43 +0900)]
Use current_euid and current_egid for user credentials
Radoslaw Pajak [Wed, 23 Oct 2013 13:51:57 +0000 (15:51 +0200)]
Copyright (C) 2013 Samsung Electronics added in appropriate files
Change-Id: Ibd6f68066a297dbd19e4f8e534cb28c5806c1bc9
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Daniel Kowalski [Wed, 23 Oct 2013 13:10:12 +0000 (15:10 +0200)]
Merge branch 'open' of ssh://mcdsrvbld02.digital.local/home/DIGITAL/d.kowalski/kdbus-open into open
Daniel Kowalski [Wed, 23 Oct 2013 12:48:36 +0000 (14:48 +0200)]
Copy mode to endpoint struct in kdbus_ep_new()
Authored-by: HyungJun Choi <hj210.choi@samsung.com>
Signed-off-by: Daniel Kowalski <d.kowalski@samsung.com>
Daniel Kowalski [Wed, 23 Oct 2013 11:35:06 +0000 (13:35 +0200)]
Merge branch 'kernel-3.8.2' into open
Radoslaw Pajak [Wed, 23 Oct 2013 09:44:06 +0000 (11:44 +0200)]
Fixed releasing name when being in the queue for that name.
Change-Id: Idb9f828085e922e8e9330a8c4d967daa82a60ad8
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Radoslaw Pajak [Tue, 22 Oct 2013 14:01:01 +0000 (16:01 +0200)]
From now starters are not listed by kdbus_cmd_name_query
Change-Id: I9cbe75cc1ef5db6512244b405c38549907511c61
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Radoslaw Pajak [Mon, 21 Oct 2013 09:18:30 +0000 (11:18 +0200)]
Fixed name releasing and listing
- Fixed names listing - from now starters are not listed
- Fixed name releasing when starter becomes owner of the name
- Fixed broadcasting name changes - from now starters are hidden - they are not presented as owners of the names
Change-Id: I34aec7f1a52a754f2583cd88ef68fa83006337e8
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Radoslaw Pajak [Tue, 8 Oct 2013 13:46:53 +0000 (15:46 +0200)]
[feature-fix] fix for registering starters as names
- fix for added feature, that connection can register name with KDBUS_NAME_STARTER flag, which could
lead to daemon crash and ignore kill
Change-Id: Iccecc561dda1bb1d4d8af38196a2e11eb86812a8
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Radoslaw Pajak [Wed, 2 Oct 2013 12:41:14 +0000 (14:41 +0200)]
well-known name can be registered as a starter
Now application can request the well-known name with starter flag (KDBUS_NAME_STARTER)
with the same functionality as KDBUS_HELLO_STARTER flag give to the connection
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Change-Id: I7df87911aa5d55b8f2116c5d814e71a5002ee739
Conflicts:
names.c
Michal [Mon, 12 Aug 2013 10:18:09 +0000 (12:18 +0200)]
Compatibility: prototypes moved to wrapper headers
Avoided including compatibility.h except message
cleanup of test-kdbus.c
Change-Id: I07b9909b648b69e755e3e49fba818da9adb18cf9
Conflicts:
Makefile
Michal [Fri, 9 Aug 2013 06:43:14 +0000 (08:43 +0200)]
Compatibility: small fix for 3.10.x kernels
Change-Id: I3579655775df8d5e4d62b859fe762fd04babd79a
Jacek Janczyk [Thu, 8 Aug 2013 11:25:03 +0000 (13:25 +0200)]
Compatibility: Michal's fixes to compatibility package
Updated conditionals.
Change-Id: I83db53309be95df0a397b750ea9feecdc79fa179
Michal Eljasiewicz [Wed, 31 Jul 2013 14:42:30 +0000 (16:42 +0200)]
support for 3.8 kernel added in Makefile and c files
compatibility header is used.
kernel patches added
UPDATE all patches merged into one
UPDATE missing kernel functions moved to compatibility.c
Change-Id: Ia6271423e985bcda32f9f566edf5431b2888ce5e
Michal Eljasiewicz [Tue, 30 Jul 2013 12:38:39 +0000 (14:38 +0200)]
Initial commit with compatibility package for 3.8 kernel
basic macros and 2 missing API functions
Change-Id: Iaba27c9b898c522faf94bbc8b885714cc9ee0686
Kay Sievers [Thu, 10 Oct 2013 10:42:28 +0000 (12:42 +0200)]
use "&&" instead of nested one-line "if"
Radoslaw Pajak [Thu, 10 Oct 2013 06:34:21 +0000 (08:34 +0200)]
fixed name queueing when handling conflicts
Connection that loses name is put into queue if it wish to.
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Radoslaw Pajak [Thu, 10 Oct 2013 06:34:20 +0000 (08:34 +0200)]
Fixed name releasing and sending broadcasts about name change
- fixed name releasing, when starter acquires the name released
- fixed old_id when sending KDBUS_MSG_NAME_CHANGE after owner has changed
- fixed condition to handle name conflict if there is starter in background
- fixed sending KDBUS_MSG_NAME_ADD only when the name wasn't present on the bus
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Radoslaw Pajak [Thu, 10 Oct 2013 06:34:19 +0000 (08:34 +0200)]
Release name fixed
Release name fixed to allow name releasing by priviliged user on behalf of other peer, if that peer own the name.
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Radoslaw Pajak [Thu, 10 Oct 2013 06:34:18 +0000 (08:34 +0200)]
Fixed adding and removing match rules for other peers
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Kay Sievers [Wed, 9 Oct 2013 20:00:30 +0000 (22:00 +0200)]
match: move nested loop to separate function
Radoslaw Pajak [Wed, 9 Oct 2013 08:54:25 +0000 (10:54 +0200)]
Fixed broadcasts and matching
- fixed kernel notify messages of changes of ids and names on the bus
- message matching fixed for user broadcasts
- message matching fixed for kernel broadcasts
Signed-off-by: Radoslaw Pajak <r.pajak@samsung.com>
Kay Sievers [Wed, 9 Oct 2013 12:07:46 +0000 (14:07 +0200)]
allocate only the alignment bytes for \0-bytes records
Reported-by: Daniel Kowalski <d.kowalski@samsung.com>
Greg Kroah-Hartman [Wed, 9 Oct 2013 01:36:46 +0000 (18:36 -0700)]
Merge branch 'master' of https://code.google.com/p/d-bus
Kay Sievers [Wed, 9 Oct 2013 00:08:07 +0000 (02:08 +0200)]
preserve payload record padding when \0-bytes records are used
Based on a patch from: Daniel Kowalski <d.kowalski@samsung.com>
Kay Sievers [Wed, 25 Sep 2013 19:41:12 +0000 (21:41 +0200)]
namespace: hold mutex while creating a new instance
Przemyslaw Kedzierski [Wed, 18 Sep 2013 14:59:22 +0000 (16:59 +0200)]
some minor fixes for endpoint and namespace
endpoint.c: fix name comparison for endpoint
namespace.c: don't try to find when name is NULL
Signed-off-by: Przemyslaw Kedzierski <p.kedzierski@samsung.com>
Greg Kroah-Hartman [Thu, 12 Sep 2013 06:00:55 +0000 (23:00 -0700)]
Merge pull request #4 from artisdom/patch-1
kdbus.txt: typo fix.
Ted Feng [Thu, 12 Sep 2013 05:45:03 +0000 (13:45 +0800)]
kdbus.txt: typo fixes
Przemyslaw Kedzierski [Thu, 5 Sep 2013 14:51:14 +0000 (16:51 +0200)]
Some corrections to make test-kdbus work on i686.
Signed-off-by: Przemyslaw Kedzierski <p.kedzierski@samsung.com>
Greg Kroah-Hartman [Mon, 26 Aug 2013 11:37:47 +0000 (04:37 -0700)]
Merge pull request #3 from phomes/master
kdbus.txt: typo fixes
Thomas Andersen [Mon, 26 Aug 2013 11:14:58 +0000 (13:14 +0200)]
kdbus.txt: typo fixes
Tero Roponen [Mon, 12 Aug 2013 16:20:54 +0000 (19:20 +0300)]
kdbus: fix some memory leaks
These were found by cppcheck.
Signed-off-by: Tero Roponen <tero.roponen@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kay Sievers [Sat, 27 Jul 2013 03:43:49 +0000 (05:43 +0200)]
catch up with final working version of cgroups string interface
Kay Sievers [Wed, 24 Jul 2013 16:19:09 +0000 (18:19 +0200)]
use hierarchy == 2 for now
Daniel Mack [Wed, 24 Jul 2013 15:14:15 +0000 (17:14 +0200)]
test/kdbus-util.c: kill stray ')'
Daniel Mack [Wed, 24 Jul 2013 15:12:38 +0000 (17:12 +0200)]
pool: plug mem leak in error unwind of kdbus_pool_init
Kay Sievers [Wed, 3 Jul 2013 11:12:26 +0000 (13:12 +0200)]
do not expose cgroup hierarchy in the API, assume *the* hierarchy
The returned cgroup path is always "/" until Tejun's fix hit the
current kernel, it's pending ...
Greg Kroah-Hartman [Sun, 21 Jul 2013 15:56:06 +0000 (08:56 -0700)]
message.c: task_cgroup_path_from_hierarchy is now in 3.11-rc1, so remove it from here
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman [Sun, 21 Jul 2013 15:54:11 +0000 (08:54 -0700)]
Merge pull request #2 from Keruspe/master
Fix build with CONFIG_UIDGID_STRICT_TYPE_CHECKS=y
Marc-Antoine Perennou [Sun, 21 Jul 2013 12:33:53 +0000 (14:33 +0200)]
connection: fix build with CONFIG_UIDGID_STRICT_TYPE_CHECKS=y
connection.c: In function ‘kdbus_conn_ioctl_control’:
connection.c:1047:8: error: incompatible types when assigning to type ‘gid_t’ from type ‘kgid_t’
connection.c:1051:9: error: incompatible type for argument 5 of ‘kdbus_bus_new’
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Marc-Antoine Perennou [Sun, 21 Jul 2013 12:28:20 +0000 (14:28 +0200)]
bus: fix build with CONFIG_UIDGID_STRICT_TYPE_CHECKS=y
bus.c: In function ‘kdbus_bus_uid_is_privileged’:
bus.c:37:21: error: invalid operands to binary == (have ‘kuid_t’ and ‘kuid_t’)
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Greg Kroah-Hartman [Fri, 28 Jun 2013 22:58:32 +0000 (15:58 -0700)]
test-kdbus.c: get it to work on 32bit systems.
Belisko Marek <marek.belisko@gmail.com> reports that without aligning
the bus_make variable on an 8byte boundry, as happens on 32bit systems,
the test fails. This should resolve this issue.
Greg Kroah-Hartman [Thu, 27 Jun 2013 23:22:22 +0000 (16:22 -0700)]
Merge pull request #1 from vbalyasnyy/master
cleaning of security label
Vasiliy Balyasnyy [Thu, 27 Jun 2013 08:26:54 +0000 (12:26 +0400)]
connection.c: use security_release_secctx to free security label
Greg Kroah-Hartman [Sun, 9 Jun 2013 02:36:53 +0000 (19:36 -0700)]
pool.c: tiny checkpatch.pl cleanup
Kay Sievers [Fri, 7 Jun 2013 10:22:55 +0000 (12:22 +0200)]
test: use 1024 for a kB :)
Harald Hoyer [Fri, 31 May 2013 06:40:49 +0000 (08:40 +0200)]
prefix all functions with kdbus_
Greg Kroah-Hartman [Sun, 2 Jun 2013 22:06:19 +0000 (15:06 -0700)]
mark kdbus_conn_timeout_schedule_scan as static
Greg Kroah-Hartman [Fri, 31 May 2013 11:56:24 +0000 (04:56 -0700)]
fix up missing __user marking for kdbus_pool_write_user()
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman [Fri, 31 May 2013 11:53:10 +0000 (04:53 -0700)]
KDBUS_PTR is really a __user pointer, so mark it as such.
Harald Hoyer [Fri, 31 May 2013 06:06:14 +0000 (08:06 +0200)]
return proper -EINVAL instead of EINVAL for an error
Arnd Bergmann [Wed, 29 May 2013 11:47:37 +0000 (13:47 +0200)]
external API: use explicit padding
Data structures with 64 bit members in them differ in alignment
by architecture: x86-32 keeps the alignment at 32 bit at most,
while all sane architectures including x86-64 use 64 bit
alignment and add extra implicit padding if necessary.
This means the kdbus_cmd_monitor structure is incompatible between
x86-64 and x86-32, unless we make the padding explcicit.
struct kdbus_memfd has a similar definition, so we change that
as well, although the change currently makes no difference because
it is always embedded in a larger structure.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Arnd Bergmann [Fri, 31 May 2013 02:35:07 +0000 (04:35 +0200)]
external API: fix ioctl command definitions
This changes the ioctl commands to follow the common
conventions, resolving one item from the TODO file:
* We use _IO for commands that use the argument as a literal
and not dereference it as a pointer. KDBUS_CMD_MEMFD_SEAL_SET
just passes an bool here, and KDBUS_CMD_MSG_RELEASE passes
a pointer that is compared to other pointers but not accessed.
* _IOR is used for commands that only copy data from the kernel
to user space, IOW is used for commands that only copy into
the kernel, which is the majority here. _IOWR is used only
for commands that both read and write on the pointer passed
as the ioctl arg. Whether we read or write from indirect
pointers passed in the structure is not relevant here.
* The size argument must be the data structure that the ioctl
argument points to. Importantly, this is not a pointer type
as e.g. in the old KDBUS_CMD_MSG_RECV definition. Using
a pointer here breaks 32 bit compat mode because taking
sizeof(__u64*) results in a different command number on 32 and
64 bit user space.
An open question is what to do for commands with variable-length
arguments. Some subsystems in the kernel actually define variable-length
commands as
#define KDBUS_CMD_MSG_SEND(len) _IOC(_IOC_WRITE,KDBUS_IOC_MAGIC,\
0x40,sizeof(struct kdbus_msg)+(len))
This has the advantage of saving one 'copy_from_user' for each
call, and actually reflecting the correct size in the command
number, but it can also confuse readers. The maximum size that
can be passed like this is 8192 (alpha, mips, sparc, powerpc)
or 16384 (all other architectures) bytes, which may also be a
limitation.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Kay Sievers [Tue, 28 May 2013 08:02:01 +0000 (10:02 +0200)]
pool: use shmem file as backing store
Kay Sievers [Tue, 28 May 2013 02:10:44 +0000 (04:10 +0200)]
use subsys_virtual_register()
Kay Sievers [Sat, 25 May 2013 01:53:26 +0000 (03:53 +0200)]
bus: remove connection list, use the hash list
Kay Sievers [Fri, 24 May 2013 15:11:45 +0000 (17:11 +0200)]
TODO: update
Kay Sievers [Wed, 22 May 2013 08:53:02 +0000 (10:53 +0200)]
make part iteration generic; *really* validate parts, fix now failing test
Greg Kroah-Hartman [Wed, 22 May 2013 15:55:03 +0000 (08:55 -0700)]
minor coding style cleanups to keep checkpatch happy
Greg Kroah-Hartman [Wed, 22 May 2013 15:53:56 +0000 (08:53 -0700)]
Merge branch 'master' of github.com:gregkh/kdbus
Kay Sievers [Tue, 21 May 2013 22:14:11 +0000 (00:14 +0200)]
test: names - do not iterate two items at once
Greg Kroah-Hartman [Tue, 21 May 2013 21:57:50 +0000 (14:57 -0700)]
namespace: fix up another -EINVAL error
Greg Kroah-Hartman [Tue, 21 May 2013 21:56:37 +0000 (14:56 -0700)]
return proper -EINVAL instead of EINVAL for an error
Greg Kroah-Hartman [Tue, 21 May 2013 21:51:52 +0000 (14:51 -0700)]
kdbus_size_set_user() had the arguments backwards in copy_to_user()
Kay Sievers [Tue, 21 May 2013 17:18:10 +0000 (19:18 +0200)]
names: add KDBUS_ITEM_NEXT, pad to alignment
Kay Sievers [Tue, 21 May 2013 16:39:06 +0000 (18:39 +0200)]
names: use KDBUS_ITEM_NEXT to pad to alignment; avoid sizeof(item)
Kay Sievers [Tue, 21 May 2013 09:03:55 +0000 (11:03 +0200)]
connection: link into bus only after HELLO, not at open()
Kay Sievers [Tue, 21 May 2013 08:00:42 +0000 (10:00 +0200)]
pool: accept only anonymous memory
Kay Sievers [Mon, 20 May 2013 22:28:50 +0000 (00:28 +0200)]
track connection state in 'type' not in 'active'
Lennart Poettering [Sun, 19 May 2013 21:40:04 +0000 (23:40 +0200)]
kdbus: prefix NULL enums with an underscore since they aren't really supposed to be used
Kay Sievers [Mon, 20 May 2013 00:36:41 +0000 (02:36 +0200)]
allow privileged users to act on behalf of somebody else
Kay Sievers [Sun, 19 May 2013 21:08:53 +0000 (23:08 +0200)]
track connection in the bus instead of the endpoint; add monitoring
Kay Sievers [Sun, 19 May 2013 16:35:18 +0000 (18:35 +0200)]
match: swap filter and mask
Kay Sievers [Sun, 19 May 2013 16:17:02 +0000 (18:17 +0200)]
match: fix !
Kay Sievers [Sun, 19 May 2013 15:55:51 +0000 (17:55 +0200)]
match: accept cmd_match->src_id == 0 for "self"
Kay Sievers [Sat, 18 May 2013 12:24:35 +0000 (14:24 +0200)]
ennforce data alignment in the API where neccessary
Kay Sievers [Sat, 18 May 2013 03:09:42 +0000 (05:09 +0200)]
do not rely on 64bit put_user()
Kay Sievers [Fri, 17 May 2013 21:39:08 +0000 (23:39 +0200)]
add missing cast to kdbus_size_set_user()
Kay Sievers [Fri, 17 May 2013 21:23:38 +0000 (23:23 +0200)]
make sure we always pass __u64 in the API, never long or pointer
Kay Sievers [Fri, 17 May 2013 18:33:37 +0000 (20:33 +0200)]
use common IS_ALIGNED() for PAGE_SIZE check
Kay Sievers [Fri, 17 May 2013 14:18:15 +0000 (16:18 +0200)]
move sending code from message.c to connection.c
Kay Sievers [Fri, 17 May 2013 13:53:53 +0000 (15:53 +0200)]
pool: do not hand out more than half of the pool size with a single request
Kay Sievers [Fri, 17 May 2013 13:52:39 +0000 (15:52 +0200)]
pool: name page variables with common prefix
Greg Kroah-Hartman [Fri, 17 May 2013 03:32:25 +0000 (20:32 -0700)]
Merge branch 'master' of https://code.google.com/p/d-bus
Kay Sievers [Fri, 17 May 2013 02:38:30 +0000 (04:38 +0200)]
pool: kdbus_pool_cleanup() - allow a NULL pool
Greg Kroah-Hartman [Thu, 16 May 2013 23:57:30 +0000 (16:57 -0700)]
fix up sparse warnings.
Kay Sievers [Thu, 16 May 2013 02:35:12 +0000 (04:35 +0200)]
memfd: fix storage size for pointers
Kay Sievers [Wed, 15 May 2013 23:11:38 +0000 (01:11 +0200)]
memfd: mmap() - grow file only if really needed
Kay Sievers [Wed, 15 May 2013 20:09:46 +0000 (22:09 +0200)]
dump() at info level
Kay Sievers [Wed, 15 May 2013 20:09:25 +0000 (22:09 +0200)]
do not mangle temporary list entry
Kay Sievers [Wed, 15 May 2013 17:13:21 +0000 (19:13 +0200)]
always copy into the *mapped* slice in the receiver's pool
Kay Sievers [Wed, 15 May 2013 03:01:35 +0000 (05:01 +0200)]
pool: implement allocator
Kay Sievers [Tue, 14 May 2013 23:32:39 +0000 (01:32 +0200)]
make struct kdbus_conn_queue private to connection.c
Kay Sievers [Tue, 14 May 2013 17:37:43 +0000 (19:37 +0200)]
remove size limit for "padding vecs"
Kay Sievers [Tue, 14 May 2013 15:42:32 +0000 (17:42 +0200)]
support vec.address == NULL; vec.size = 1..7; as a "padding vec"