Bug fix for ktls feature

Bug #1889625 reported by Amir Tzin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Medium
Jeff Lane 
Focal
Invalid
Medium
Jeff Lane 

Bug Description

[IMPACT]

Clearing the sock TX queue in sk_set_socket() might cause unexpected
out-of-order transmit when called from sock_orphan(), as outstanding
packets can pick a different TX queue and bypass the ones already queued.

This is undesired in general. More specifically, it breaks the in-order
scheduling property guarantee for device-offloaded TLS sockets.

Remove the call to sk_tx_queue_clear() in sk_set_socket(), and add it
explicitly only where needed.

[FIXES]

e022f0b4a03f "net: Introduce sk_tx_queue_mapping"

This cleanly cherry picks into 5.4 from 5.8.

It can be checked out in my branch here:

https://git.launchpad.net/~bladernr/ubuntu/+source/linux/+git/focal 1889625-mxl-ktls-bugfix

[REGRESSION RISK]
low!

[TEST]
reproducing the bug is not trivial. in general terms:
nic: ConnectX6-dx with crypto enabled
send intense encrypted tcp traffic with tls offload between many clients and one server.
* clients may run on the same machine.
* clients continuously opens and closes connection to server

at some point decryption errores might arise on some of the clients.

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1889625

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Jeff Lane  (bladernr)
Changed in linux (Ubuntu):
status: Incomplete → In Progress
importance: Undecided → Medium
assignee: nobody → Jeff Lane (bladernr)
Jeff Lane  (bladernr)
Changed in linux (Ubuntu Focal):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Jeff Lane (bladernr)
Jeff Lane  (bladernr)
description: updated
Amir Tzin (amirtz)
description: updated
Revision history for this message
Jeff Lane  (bladernr) wrote :

Marking this invalid. While I was working on it, it was already resolved by an upstream sync and handled by this bug:

https://bugs.launchpad.net/kernel-sru-workflow/+bug/1893050

Changed in linux (Ubuntu):
status: In Progress → Invalid
Changed in linux (Ubuntu Focal):
status: In Progress → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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