search for: p9_client_read

Displaying 7 results from an estimated 7 matches for "p9_client_read".

2013 Dec 06
1
[PATCH] 9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers
...t; + if (is_vmalloc_or_module_addr(data)) > > Can this really end up being a module address? Yes. Here is the stacktrace to prove it: [<ffffffff814878ce>] p9_virtio_zc_request+0x45e/0x510 [<ffffffff814814ed>] p9_client_zc_rpc.constprop.16+0xfd/0x4f0 [<ffffffff814839dd>] p9_client_read+0x15d/0x240 [<ffffffff811c8440>] v9fs_fid_readn+0x50/0xa0 [<ffffffff811c84a0>] v9fs_file_readn+0x10/0x20 [<ffffffff811c84e7>] v9fs_file_read+0x37/0x70 [<ffffffff8114e3fb>] vfs_read+0x9b/0x160 [<ffffffff81153571>] kernel_read+0x41/0x60 [<ffffffff810c83ab>] copy_mo...
2013 Dec 06
1
[PATCH] 9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers
...t; + if (is_vmalloc_or_module_addr(data)) > > Can this really end up being a module address? Yes. Here is the stacktrace to prove it: [<ffffffff814878ce>] p9_virtio_zc_request+0x45e/0x510 [<ffffffff814814ed>] p9_client_zc_rpc.constprop.16+0xfd/0x4f0 [<ffffffff814839dd>] p9_client_read+0x15d/0x240 [<ffffffff811c8440>] v9fs_fid_readn+0x50/0xa0 [<ffffffff811c84a0>] v9fs_file_readn+0x10/0x20 [<ffffffff811c84e7>] v9fs_file_read+0x37/0x70 [<ffffffff8114e3fb>] vfs_read+0x9b/0x160 [<ffffffff81153571>] kernel_read+0x41/0x60 [<ffffffff810c83ab>] copy_mo...
2013 Nov 26
0
QEMU dies on any attempt to load a Linux kernel module when using a 9P rootfs
...o-copy hack for a few months. Let me know if there's > anything I can help with. > > Christopher > -------------- next part -------------- diff --git a/net/9p/client.c b/net/9p/client.c index ee8fd6b..0adfcf5 100644 --- a/net/9p/client.c +++ b/net/9p/client.c @@ -1557,7 +1557,9 @@ p9_client_read(struct p9_fid *fid, char *data, char __user *udata, u64 offset, rsize = count; /* Don't bother zerocopy for small IO (< 1024) */ - if (clnt->trans_mod->zc_request && rsize > 1024) { + if (clnt->trans_mod->zc_request && rsize > 1024 && + !(uda...
2013 Nov 26
2
QEMU dies on any attempt to load a Linux kernel module when using a 9P rootfs
Hi Richard, On 11/25/2013 04:50 PM, Richard Yao wrote: > I figured out the problem. There is zerocopy IO is being done via DMA to > a buffer allocated with valloc(). Right now, I am running a hack-fix > locally so I can get some other stuff done first. I will propose a > proper fix to the list in a few days. I've also encountered this issue on a non-QEMU simulator and have been
2013 Nov 26
2
QEMU dies on any attempt to load a Linux kernel module when using a 9P rootfs
Hi Richard, On 11/25/2013 04:50 PM, Richard Yao wrote: > I figured out the problem. There is zerocopy IO is being done via DMA to > a buffer allocated with valloc(). Right now, I am running a hack-fix > locally so I can get some other stuff done first. I will propose a > proper fix to the list in a few days. I've also encountered this issue on a non-QEMU simulator and have been
2013 Dec 04
3
[PATCH] 9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers
The 9p-virtio transport does zero copy on things larger than 1024 bytes in size. It accomplishes this by returning the physical addresses of pages to the virtio-pci device. At present, the translation is usually a bit shift. However, that approach produces an invalid page address when we read/write to vmalloc buffers, such as those used for Linux kernle modules. This causes QEMU to die printing:
2013 Dec 04
3
[PATCH] 9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers
The 9p-virtio transport does zero copy on things larger than 1024 bytes in size. It accomplishes this by returning the physical addresses of pages to the virtio-pci device. At present, the translation is usually a bit shift. However, that approach produces an invalid page address when we read/write to vmalloc buffers, such as those used for Linux kernle modules. This causes QEMU to die printing: