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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel