[systemd-devel] Failed to run test-bus-zero-copy on ARM platform
eshark
eshark77 at 163.com
Mon Jul 6 06:43:44 PDT 2015
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
More information about the systemd-devel
mailing list