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, 09 Apr 2007 11:59:21 -0700 (PDT) From: David Miller <davem@...emloft.net> To: herbert@...dor.apana.org.au Cc: netdev@...r.kernel.org Subject: Re: [NET]: Use csum_start offset instead of skb_transport_header From: Herbert Xu <herbert@...dor.apana.org.au> Date: Wed, 4 Apr 2007 12:05:30 +1000 > Hi Dave: > > I've finally managed to kill the Xen csum_blank/proto_data_valid hack. > In the process I needed to make two more changes to Linux. Here are > the patches against net-2.6.22. > > [NET]: Use csum_start offset instead of skb_transport_header > > The skb transport pointer is currently used to specify the start > of the checksum region for transmit checksum offload. Unfortunately, > the same pointer is also used during receive side processing. > > This creates a problem when we want to retransmit a received > packet with partial checksums since the skb transport pointer > would be overwritten. > > This patch solves this problem by creating a new 16-bit csum_start > offset value to replace the skb transport header for the purpose > of checksums. This offset is calculated from skb->head so that > it does not have to change when skb->data changes. > > No extra space is required since csum_offset itself fits within > a 16-bit word so we can use the other 16 bits for csum_start. > > For backwards compatibility, just before we push a packet with > partial checksums off into the device driver, we set the skb > transport header to what it would have been under the old scheme. > > Signed-off-by: Herbert Xu <herbert@...dor.apana.org.au> Applied, nice work Herbert. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists