Hi On Mon, Jul 6, 2015 at 3:43 PM, eshark <eshar...@163.com> wrote: > Hi, All, > My Software environment is : systemd v219 + kdbus-4.1-rc1 + > kernel_3.10 > and my hardware platform is ARM CA9 quad core. > > I failed to run the test-bus-zero-copy on my platform, and then I > traced into the issue , > and found that the reason is that the padding KDBU_ITEM_PAYLOAD_VEC will > fail to pass the > access_ok() in kdbus_pool_slice_copy_iovec(). > > In detail, in kdbus_msg_scan_items() , there is > "iov->iov_base = (char __user *)zeros" ==> for example, the > iov_base is 0xc0b1794c on my platform > and > "static const char * const zeros = "\0\0\0\0\0\0\0";" > > But in slice->pool->f->f_op->aio_write() , that is > generic_file_aio_write() , which calls access_ok(access_flags, iv->iov_base, > iv->iov_len); > And this will fail. > > However, I can run test-bus-zero-copy successfully in Fedora21 > Virtual Machine which runs on x86-64 platform. > And I run systemd v219 + kdbus-4.1-rc1 + kernel_3.18 in Fedora21 VM. > > Could anyone give me some suggestion?
Your kdbus-module version must match your kernel version. If you use the out-of-tree repository, use the "v4.1" branch for your 4.1 kernel, the "v4.0" branch for your 4.0 kernel. No other combinations are supported. I also highly recommend to use the in-tree version of kdbus from Greg's tree: http://git.kernel.org/cgit/linux/kernel/git/gregkh/char-misc.git/log/?h=kdbus This is the officially supported version. The out-of-tree module is just for development. Thanks David _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel