[SRU] fnic driver on needs to be updated to 1.6.0.53 on Focal
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Medium
|
Michael Reed | ||
Focal |
Fix Released
|
Medium
|
Michael Reed |
Bug Description
[Impact]
fNIC driver controls print messages based on the flag fnic_log_level. shost_printk is not controlled via this flag. This issue is resolved by using some of the print macros that have been defined in fnic. This has negligible impact.
The resid was being set irrespective of whether we saw an underflow or not. It needs to be set only when we see an underflow. The impact here is negligible.
When we don't receive link events, we could go into a loop before sending fw reset. The patch for the issue resolves this, and we break out of the loop.
Prior to checking the remote port, fnic driver must check if the io_req is valid. If not, there could be a crash. The patch resolves this issue.
[Fix]
The following patches need to be pulled from upstream to update the fnic driver to 1.6.0.53:
https:/
https:/
https:/
https:/
https:/
Here's a description of each issue:
1. https:/
FNIC_FCS_DBG print is controlled by fnic_log_level flag. Replace shost_printk in fnic_fip_
2. https:/
When fnic is in TRANS ETH state, and when there are no link events, we must not loop before sending fw reset.
3. https:/
FNIC_MAIN_DBG print is controlled by fnic_log_level flag. Replace shost_printk in fnic_handle_link with this print so that it can be controlled.
4. https:/
Fix to set scsi_set_resid() only if FCPIO_ICMND_
5. https:/
Check for a valid io_req before we check other data.
[Test Plan]
Runnings IOs with multiple link flaps would be a good test case to validate all the patches above. It is suggested to run these IOs with a data integrity check. We do this as a standard practice.
[Where problems could occur]
The print messages are innocuous. It is not expected to run into any issues.
Problems could occur with storage arrays that have a non-standard response.
If the sanity test fails, there could be issues in the scsi midlayer or fnic driver.
All the patches present low regression risk.
[Other Info]
https:/
CVE References
Changed in linux (Ubuntu): | |
assignee: | nobody → Michael Reed (mreed8855) |
Changed in linux (Ubuntu Focal): | |
assignee: | nobody → Michael Reed (mreed8855) |
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu): | |
status: | Incomplete → In Progress |
Changed in linux (Ubuntu Focal): | |
status: | Incomplete → In Progress |
description: | updated |
Changed in linux (Ubuntu): | |
status: | In Progress → Invalid |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
tags: | added: verification-done-focal |
I have updated the link with a new test kernel.
https:/ /people. canonical. com/~mreed/ cisco/lp_ 1978247_ fnic/
After installing this test kernel you should see kernel version 5.4.0-123.139.
I installed it and verified the updated driver is present.
$ uname -a
Linux hogplum 5.4.0-123-generic #139 SMP Thu Aug 4 21:28:51 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ modinfo fnic 5.4.0-123- generic/ kernel/ drivers/ scsi/fnic/ fnic.ko
filename: /lib/modules/
version: 1.6.0.53
license: GPL v2