tls from net in ubuntu_kernel_selftests failed on G/H (multi_chunk_sendfile)

Bug #1900644 reported by Po-Hsu Lin
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ubuntu-kernel-tests
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Invalid
Undecided
Unassigned
Hirsute
Fix Released
Undecided
Unassigned
linux-hwe-5.8 (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Won't Fix
Undecided
Unassigned
Hirsute
Invalid
Undecided
Unassigned

Bug Description

Issue found on Groovy AWS 5.8.0-1010.10

Test failed with:
 # [==========] Running 93 tests from 4 test cases.
 # [ RUN ] global.non_established
 # [ OK ] global.non_established
 # [ RUN ] global.keysizes
 # [ OK ] global.keysizes
 # [ RUN ] tls_basic.base_base
 # [ OK ] tls_basic.base_base
 # [ RUN ] tls.12.sendfile
 # [ OK ] tls.12.sendfile
 # [ RUN ] tls.12.send_then_sendfile
 # [ OK ] tls.12.send_then_sendfile
 # [ RUN ] tls.12.multi_chunk_sendfile
 # [ FAIL ] tls.12.multi_chunk_sendfile
 # [ RUN ] tls.12.recv_max
 # [ OK ] tls.12.recv_max
 # [ RUN ] tls.12.recv_small
 # [ OK ] tls.12.recv_small
 # [ RUN ] tls.12.msg_more
 # [ OK ] tls.12.msg_more
 # [ RUN ] tls.12.msg_more_unsent
 # [ OK ] tls.12.msg_more_unsent
 # [ RUN ] tls.12.sendmsg_single
 # [ OK ] tls.12.sendmsg_single
 # [ RUN ] tls.12.sendmsg_fragmented
 # [ OK ] tls.12.sendmsg_fragmented
 # [ RUN ] tls.12.sendmsg_large
 # [ OK ] tls.12.sendmsg_large
 # [ RUN ] tls.12.sendmsg_multiple
 # [ OK ] tls.12.sendmsg_multiple
 # [ RUN ] tls.12.sendmsg_multiple_stress
 # [ OK ] tls.12.sendmsg_multiple_stress
 # [ RUN ] tls.12.splice_from_pipe
 # [ OK ] tls.12.splice_from_pipe
 # [ RUN ] tls.12.splice_from_pipe2
 # [ OK ] tls.12.splice_from_pipe2
 # [ RUN ] tls.12.send_and_splice
 # [ OK ] tls.12.send_and_splice
 # [ RUN ] tls.12.splice_to_pipe
 # [ OK ] tls.12.splice_to_pipe
 # [ RUN ] tls.12.recvmsg_single
 # [ OK ] tls.12.recvmsg_single
 # [ RUN ] tls.12.recvmsg_single_max
 # [ OK ] tls.12.recvmsg_single_max
 # [ RUN ] tls.12.recvmsg_multiple
 # [ OK ] tls.12.recvmsg_multiple
 # [ RUN ] tls.12.single_send_multiple_recv
 # [ OK ] tls.12.single_send_multiple_recv
 # [ RUN ] tls.12.multiple_send_single_recv
 # [ OK ] tls.12.multiple_send_single_recv
 # [ RUN ] tls.12.single_send_multiple_recv_non_align
 # [ OK ] tls.12.single_send_multiple_recv_non_align
 # [ RUN ] tls.12.recv_partial
 # [ OK ] tls.12.recv_partial
 # [ RUN ] tls.12.recv_nonblock
 # [ OK ] tls.12.recv_nonblock
 # [ RUN ] tls.12.recv_peek
 # [ OK ] tls.12.recv_peek
 # [ RUN ] tls.12.recv_peek_multiple
 # [ OK ] tls.12.recv_peek_multiple
 # [ RUN ] tls.12.recv_peek_multiple_records
 # [ OK ] tls.12.recv_peek_multiple_records
 # [ RUN ] tls.12.recv_peek_large_buf_mult_recs
 # [ OK ] tls.12.recv_peek_large_buf_mult_recs
 # [ RUN ] tls.12.recv_lowat
 # [ OK ] tls.12.recv_lowat
 # [ RUN ] tls.12.bidir
 # [ OK ] tls.12.bidir
 # [ RUN ] tls.12.pollin
 # [ OK ] tls.12.pollin
 # [ RUN ] tls.12.poll_wait
 # [ OK ] tls.12.poll_wait
 # [ RUN ] tls.12.poll_wait_split
 # [ OK ] tls.12.poll_wait_split
 # [ RUN ] tls.12.blocking
 # [ OK ] tls.12.blocking
 # [ RUN ] tls.12.nonblocking
 # [ OK ] tls.12.nonblocking
 # [ RUN ] tls.12.mutliproc_even
 # [ OK ] tls.12.mutliproc_even
 # [ RUN ] tls.12.mutliproc_readers
 # [ OK ] tls.12.mutliproc_readers
 # [ RUN ] tls.12.mutliproc_writers
 # [ OK ] tls.12.mutliproc_writers
 # [ RUN ] tls.12.mutliproc_sendpage_even
 # [ OK ] tls.12.mutliproc_sendpage_even
 # [ RUN ] tls.12.mutliproc_sendpage_readers
 # [ OK ] tls.12.mutliproc_sendpage_readers
 # [ RUN ] tls.12.mutliproc_sendpage_writers
 # [ OK ] tls.12.mutliproc_sendpage_writers
 # [ RUN ] tls.12.control_msg
 # [ OK ] tls.12.control_msg
 # [ RUN ] tls.12.shutdown
 # [ OK ] tls.12.shutdown
 # [ RUN ] tls.12.shutdown_unsent
 # [ OK ] tls.12.shutdown_unsent
 # [ RUN ] tls.12.shutdown_reuse
 # [ OK ] tls.12.shutdown_reuse
 # [ RUN ] tls.13.sendfile
 # [ OK ] tls.13.sendfile
 # [ RUN ] tls.13.send_then_sendfile
 # [ OK ] tls.13.send_then_sendfile
 # [ RUN ] tls.13.multi_chunk_sendfile
 # [ FAIL ] tls.13.multi_chunk_sendfile
 # [ RUN ] tls.13.recv_max
 # [ OK ] tls.13.recv_max
 # [ RUN ] tls.13.recv_small
 # [ OK ] tls.13.recv_small
 # [ RUN ] tls.13.msg_more
 # [ OK ] tls.13.msg_more
 # [ RUN ] tls.13.msg_more_unsent
 # [ OK ] tls.13.msg_more_unsent
 # [ RUN ] tls.13.sendmsg_single
 # [ OK ] tls.13.sendmsg_single
 # [ RUN ] tls.13.sendmsg_fragmented
 # [ OK ] tls.13.sendmsg_fragmented
 # [ RUN ] tls.13.sendmsg_large
 # [ OK ] tls.13.sendmsg_large
 # [ RUN ] tls.13.sendmsg_multiple
 # [ OK ] tls.13.sendmsg_multiple
 # [ RUN ] tls.13.sendmsg_multiple_stress
 # [ OK ] tls.13.sendmsg_multiple_stress
 # [ RUN ] tls.13.splice_from_pipe
 # [ OK ] tls.13.splice_from_pipe
 # [ RUN ] tls.13.splice_from_pipe2
 # [ OK ] tls.13.splice_from_pipe2
 # [ RUN ] tls.13.send_and_splice
 # [ OK ] tls.13.send_and_splice
 # [ RUN ] tls.13.splice_to_pipe
 # [ OK ] tls.13.splice_to_pipe
 # [ RUN ] tls.13.recvmsg_single
 # [ OK ] tls.13.recvmsg_single
 # [ RUN ] tls.13.recvmsg_single_max
 # [ OK ] tls.13.recvmsg_single_max
 # [ RUN ] tls.13.recvmsg_multiple
 # [ OK ] tls.13.recvmsg_multiple
 # [ RUN ] tls.13.single_send_multiple_recv
 # [ OK ] tls.13.single_send_multiple_recv
 # [ RUN ] tls.13.multiple_send_single_recv
 # [ OK ] tls.13.multiple_send_single_recv
 # [ RUN ] tls.13.single_send_multiple_recv_non_align
 # [ OK ] tls.13.single_send_multiple_recv_non_align
 # [ RUN ] tls.13.recv_partial
 # [ OK ] tls.13.recv_partial
 # [ RUN ] tls.13.recv_nonblock
 # [ OK ] tls.13.recv_nonblock
 # [ RUN ] tls.13.recv_peek
 # [ OK ] tls.13.recv_peek
 # [ RUN ] tls.13.recv_peek_multiple
 # [ OK ] tls.13.recv_peek_multiple
 # [ RUN ] tls.13.recv_peek_multiple_records
 # [ OK ] tls.13.recv_peek_multiple_records
 # [ RUN ] tls.13.recv_peek_large_buf_mult_recs
 # [ OK ] tls.13.recv_peek_large_buf_mult_recs
 # [ RUN ] tls.13.recv_lowat
 # [ OK ] tls.13.recv_lowat
 # [ RUN ] tls.13.bidir
 # [ OK ] tls.13.bidir
 # [ RUN ] tls.13.pollin
 # [ OK ] tls.13.pollin
 # [ RUN ] tls.13.poll_wait
 # [ OK ] tls.13.poll_wait
 # [ RUN ] tls.13.poll_wait_split
 # [ OK ] tls.13.poll_wait_split
 # [ RUN ] tls.13.blocking
 # [ OK ] tls.13.blocking
 # [ RUN ] tls.13.nonblocking
 # [ OK ] tls.13.nonblocking
 # [ RUN ] tls.13.mutliproc_even
 # [ OK ] tls.13.mutliproc_even
 # [ RUN ] tls.13.mutliproc_readers
 # [ OK ] tls.13.mutliproc_readers
 # [ RUN ] tls.13.mutliproc_writers
 # [ OK ] tls.13.mutliproc_writers
 # [ RUN ] tls.13.mutliproc_sendpage_even
 # [ OK ] tls.13.mutliproc_sendpage_even
 # [ RUN ] tls.13.mutliproc_sendpage_readers
 # [ OK ] tls.13.mutliproc_sendpage_readers
 # [ RUN ] tls.13.mutliproc_sendpage_writers
 # [ OK ] tls.13.mutliproc_sendpage_writers
 # [ RUN ] tls.13.control_msg
 # [ OK ] tls.13.control_msg
 # [ RUN ] tls.13.shutdown
 # [ OK ] tls.13.shutdown
 # [ RUN ] tls.13.shutdown_unsent
 # [ OK ] tls.13.shutdown_unsent
 # [ RUN ] tls.13.shutdown_reuse
 # [ OK ] tls.13.shutdown_reuse
 # [==========] 91 / 93 tests passed.
 # [ FAILED ]
 not ok 6 selftests: net: tls # exit=1

This is not a regression, it can be found in 5.8.0-1007.7 AWS as well

On riscv with v5.11 the failures are as follows:

# # multi_chunk_sendfile: Test terminated by timeout
# # FAIL tls.12_gcm.multi_chunk_sendfile
# not ok 6 tls.12_gcm.multi_chunk_sendfile

# # multi_chunk_sendfile: Test terminated by timeout
# # FAIL tls.13_gcm.multi_chunk_sendfile
# not ok 51 tls.13_gcm.multi_chunk_sendfile

# # multi_chunk_sendfile: Test terminated by timeout
# # FAIL tls.12_chacha.multi_chunk_sendfile
# not ok 96 tls.12_chacha.multi_chunk_sendfile

# # RUN tls.13_chacha.multi_chunk_sendfile ...
# # multi_chunk_sendfile: Test terminated by timeout
# # FAIL tls.13_chacha.multi_chunk_sendfile
# not ok 141 tls.13_chacha.multi_chunk_sendfile

Po-Hsu Lin (cypressyew)
tags: added: 5.8 aws groovy kqa-blocker ubuntu-kernel-selftests
Revision history for this message
Kelsey Steele (kelsey-steele) wrote :

Found on ADT Groovy 5.8.0-30.32

tags: added: sru-20201109
Revision history for this message
Kelsey Steele (kelsey-steele) wrote :

Found in RT as well: Found on Groovy/linux 5.8.0-31.33

tags: added: amd64
Po-Hsu Lin (cypressyew)
tags: added: hirsute
summary: - tls from net in ubuntu_kernel_selftests failed on Groovy AWS
+ tls from net in ubuntu_kernel_selftests failed on G/H
Revision history for this message
Po-Hsu Lin (cypressyew) wrote : Re: tls from net in ubuntu_kernel_selftests failed on G/H

Found on G-AWS 5.8.0-1017.18

tags: added: sru-20201130
Po-Hsu Lin (cypressyew)
tags: added: sru-20210315
tags: added: sru-20210412
tags: added: 5.11 sru-20210510
Revision history for this message
Ian May (ian-may) wrote :

groovy/linux-aws: 5.8.0-1034.36

Revision history for this message
Ian May (ian-may) wrote :

focal/linux-aws: 5.4.0-1049.51

Revision history for this message
Ian May (ian-may) wrote :

Found on bionic/linux-aws-5.4: 5.4.0-1049.51~18.04.1

tags: added: sru-20210531
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

5.10.0-1031.32-oem

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

Observed on G/RISC-V, cycle sru-20210531 .

tags: added: riscv
summary: - tls from net in ubuntu_kernel_selftests failed on G/H
+ tls from net in ubuntu_kernel_selftests failed on G/H/I
tags: added: impish
Revision history for this message
Po-Hsu Lin (cypressyew) wrote : Re: tls from net in ubuntu_kernel_selftests failed on G/H/I (multi_chunk_sendfile)

5.10.0-1035.36 OEM

summary: tls from net in ubuntu_kernel_selftests failed on G/H/I
+ (multi_chunk_sendfile)
tags: added: sru-20210621
Revision history for this message
Krzysztof Kozlowski (krzk) wrote :

groovy/azure 5.8.0-1038.40

Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

Found with hirsute/linux 5.11.0-24.25.

Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

Observed on G/Oracle, cycle sru-20210621.

tags: added: oracle
Revision history for this message
Guilherme G. Piccoli (gpiccoli) wrote :

Observed on G/aws, cycle sru-20210621.

tags: added: sru-20210719
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Observed on H/riscv F/riscv-5.11, cycle sru-20210719

description: updated
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

The test was added in 0e6fbe39bdf71b4e665767bcbf53567a3e6d0623 and never passed it seems.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :
Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

This is fixed for hirsute (checked with linux and linux-riscv) by the following commit:

commit 5e7d3d1edcad9b96fe0ddfb155f0109856019f9a
Author: Jakub Kicinski <email address hidden>
Date: Fri Jun 18 13:34:06 2021 -0700

    tls: prevent oversized sendfile() hangs by ignoring MSG_MORE

    BugLink: https://bugs.launchpad.net/bugs/1938340

    [ Upstream commit d452d48b9f8b1a7f8152d33ef52cfd7fe1735b0a ]

The 5.8 kernels (checked with focal/linux-hwe-5.8) is still affected. But given that the 5.8 kernels are not receiving upstream stable updates anymore this issue will likely not be fixed.

Changed in linux (Ubuntu):
status: New → Fix Released
Changed in linux (Ubuntu Hirsute):
status: New → Fix Released
Changed in linux-hwe-5.8 (Ubuntu Hirsute):
status: New → Invalid
Changed in linux-hwe-5.8 (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu Focal):
status: New → Invalid
Changed in linux-hwe-5.8 (Ubuntu Focal):
status: New → Confirmed
summary: - tls from net in ubuntu_kernel_selftests failed on G/H/I
+ tls from net in ubuntu_kernel_selftests failed on G/H
(multi_chunk_sendfile)
Po-Hsu Lin (cypressyew)
Changed in ubuntu-kernel-tests:
status: New → Fix Released
Changed in linux-hwe-5.8 (Ubuntu Focal):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.