Re: TCP Segmentation Offloading (TSO)

From: Hirokazu Takahashi (taka@valinux.co.jp)
Date: Tue Sep 03 2002 - 08:03:02 EST


Hello!

> > I guess it may also depend on bad implementations of csum_partial().
> > It's wrong that some architecture assume every data in a skbuff are
> > aligned on a 2byte boundary so that it would access a byte next to
> > the the last byte where no pages might be there.
>
> Access beyond end of skb is officially allowed, within 16 bytes
> in <= 2.2, withing 64 bytes in >=2.4. Moreover, it is not only allowed
> but highly recommended, when this can ease coding.

Skb may have some pages in its skb_shared_info as frags, but each
page may not have extra space in it while csum_partial() is used
to compute checksum against each page.

We can see skb_checksum() calls csum_partial() againt each page in skb.
No one knows whether the next page exits or not as it may be mapped
in kmap space.

Hmmm...
Only the implematation for x86 may have the problem that csum_partial()
may access beyond end of the page.

> > It's time to fix csum_partial().
>
> Well, not depending on wrong accent put by you, the change is not useless.
>
> Alexey
>
> PS Gentlemen, it is not so bad idea to change subject and to trim cc list.
> Thread is went to area straight orthogonal to TSO, csum_partial is not
> used with TSO at all. :-)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:17 EST