]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
selftests: tls: avoid flakiness in data_steal
authorJakub Kicinski <kuba@kernel.org>
Tue, 6 Jan 2026 20:02:05 +0000 (12:02 -0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 10 Jan 2026 01:33:28 +0000 (17:33 -0800)
commit96ea4fa60c4528d95bdbce7f4212c015ab3e8113
tree84c2a631850b5c1449cfdbb7df9b28841b060b37
parent1ba1b04e1a3e82b6bb6783e2975306fbb0fae285
selftests: tls: avoid flakiness in data_steal

We see the following failure a few times a week:

  #  RUN           global.data_steal ...
  # tls.c:3280:data_steal:Expected recv(cfd, buf2, sizeof(buf2), MSG_DONTWAIT) (10000) == -1 (-1)
  # data_steal: Test failed
  #          FAIL  global.data_steal
  not ok 8 global.data_steal

The 10000 bytes read suggests that the child process did a recv()
of half of the data using the TLS ULP and we're now getting the
remaining half. The intent of the test is to get the child to
enter _TCP_ recvmsg handler, so it needs to enter the syscall before
parent installed the TLS recvmsg with setsockopt(SOL_TLS).

Instead of the 10msec sleep send 1 byte of data and wait for the
child to consume it.

Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Link: https://patch.msgid.link/20260106200205.1593915-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/tls.c