tmfifo: Fix a memory barrier issue
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-bluefield (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
This one is used to track a code merge of the tmfifo driver.
SRU Justification:
[Impact]
* The virtio framework uses wmb() when updating avail->idx. It guarantees the write order, but not necessarily loading order for the code accessing the memory. So potentially it could cause traffic stuck which has been observed in the field.
[Fix]
* This commit adds a load barrier after reading the avail->idx to make sure all the data in the descriptor is visible. It also adds a barrier when returning the packet to virtio framework to make sure read/writes are visible to the virtio code.
[Test Case]
* Just normal test. This change doesn't affect any functionality.
[Regression Potential]
* SQA team has been running test with this fix for quite some time (several months). No issue as observed.
[Other]
* N/A
Changed in linux-bluefield (Ubuntu): | |
status: | New → Fix Committed |
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification- needed- focal' to 'verification- done-focal' . If the problem still exists, change the tag 'verification- needed- focal' to 'verification- failed- focal'.
If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.
See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation how to enable and use -proposed. Thank you!