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? If this isn't the right place to discuss this question , could you tell me where I can ask for help? Thanks! Li Cheng _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel