lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 11 Jun 2007 13:59:26 +0200 From: Jens Axboe <jens.axboe@...cle.com> To: netdev@...r.kernel.org Cc: olaf.kirch@...cle.com, johnpol@....mipt.ru Subject: [PATCH][RFC] network splice receive v2 Hi, Here's an updated implementation of tcp network splice receive support. It actually works for me now, no data corruption seen. For the original announcement and how to test it, see: http://marc.info/?l=linux-netdev&m=118103093400770&w=2 I hang on to the original skb by creating a clone of it and holding references to that. I really don't need a clone, but tcp_read_sock() is not being very helpful by calling sk_eat_skb() which blissfully ignores any reference counts and uncondtionally frees the skb - why is that?? The clone works around that issue. The current code also gets rid of the data_ready hack, and it should now handle linear/fragments/fraglist in the skb just fine. Thanks to Olaf for providing review of that stuff! Patches are against the #splice branch of the block repo, "official" url of that is: git://git.kernel.dk/data/git/linux-2.6-block.git/ and it's based on Linus main tree. Let me know if I should supply netdev branch patches instead, or even just provide a rolled up patch (or patch series) for anyone curious to test or play with it. -- Jens Axboe View attachment "0001-splice-don-t-assume-regular-pages-in-splice_to_pipe.patch" of type "text/x-patch" (2138 bytes) View attachment "0002-tcp_read_sock-alloc-recv_actor-return-return-nega.patch" of type "text/x-patch" (1105 bytes) View attachment "0003-TCP-splice-receive-support.patch" of type "text/x-patch" (13050 bytes)
Powered by blists - more mailing lists