To give more information on this issue:

ip_defrag will send a randomly-sized packet, and the result depends on
that size, so we will see intermittent failures because of this reason.

But not this reason alone. The test that fails require a conntrack rule
that will cause all fragments to be queued, and, then, sent all at once
through the loopback interface. If the loop that sends all those packets
is preempted, the problem may not show up, so there is one more cause
for the failures to be intermittent. If it's not preempted, it might end
up pushing more than 1000 packets, causing some of them to be dropped
because of the backlog limit, which will cause the test to fail.

Raising the backlog limit or adjusting the maximum packet size on the
test would fix it. The concern about raising the backlog limit is that
it might affect other tests, even if it's rollbacked after the test,
because some tests might run in parallel.

We could adjust the maximum size, but this would be not be upstreamable,
as Eric Dumazet argues this is a real bug that should be fixed. In fact,
I managed to reproduce it using veth.

On the other hand, I couldn't think of an easy way to fix this. Changing
those drivers to skip the backlog doesn't seem a good idea to me.

Cascardo.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1826848

Title:
  ip_defrag.sh in net from ubuntu_kernel_selftests failed with 5.0 / 5.3
  kernel

Status in ubuntu-kernel-tests:
  Confirmed
Status in linux package in Ubuntu:
  Confirmed
Status in linux source package in Disco:
  Confirmed
Status in linux source package in Eoan:
  Confirmed

Bug description:
  Test failed becuase:
     ./ip_defrag: sendto overlap: 1400: Operation not permitted

  
   selftests: net: ip_defrag.sh
   ========================================
   ipv6 tx:17 gso:1 (fail)
   OK
   ipv4 defrag
   PASS
   seed = 1556203721
   ipv4 defrag with overlaps
   PASS
   seed = 1556203722
   ipv6 defrag
   seed = 1556203756
   PASS
   ipv6 defrag with overlaps
   seed = 1556203756
   ./ip_defrag: sendto overlap: 1400: Operation not permitted
   not ok 1..17 selftests: net: ip_defrag.sh [FAIL]

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/1826848/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to