RE: [PATCH v2 net 2/2] tg3: Fix data corruption on 5725 with TSO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> >>>> +	if (tg3_asic_rev(tp) == ASIC_REV_5762 && mss) {
> >>>> +		u32 base = (u32) mapping & 0xffffffff;
> >>>> +
> >>>> +		return ((base + len + (mss & 0x3fff)) < base);
...
> For the bug to occur, the fragment does not have to span a 4G boundary. If it is
> within MSS bytes (9.6k) of a 4G boundary, it triggers the failure.

Would it be worth simplifying the test to assume that 'len'
is 64k and 'mss' 9.6k?
(commenting on the actual condition.)
The number of false positives would be small, but the test
a lot quicker.
The '(u32)mapping + (0x10000 + 9600) < (u32)mapping' test might
even be faster than the ' tg3_asic_rev(tp) == ASIC_REV_5762' one.

	David

��.n��������+%������w��{.n�����������ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]