** Changed in: linux (Ubuntu)
Assignee: (unassigned) => Michael Reed (mreed8855)
** Also affects: linux (Ubuntu Mantic)
Importance: Undecided
Assignee: Michael Reed (mreed8855)
Status: Incomplete
** Also affects: linux (Ubuntu Lunar)
Importance: Undecided
Status: New
** Also affects: linux (Ubuntu Jammy)
Importance: Undecided
Status: New
** Summary changed:
- fnic driver on needs to be updated to 1.6.0.57 on Focal
+ [SRU] Fnic driver on needs to be updated to 1.6.0.57 on Focal
** Description changed:
+ [Impact]
+
fnic_clean_pending_aborts() was returning a non-zero value
irrespective of failure or success.
This caused the caller of this function to assume that the
device reset had failed, even though it would succeed in
most cases. As a consequence, a successful device reset
would escalate to host reset.
-
sgreset is issued with a scsi command pointer.
The device reset code assumes that it was issued
on a hardware queue, and calls block multiqueue
layer. However, the assumption is broken, and
there is no hardware queue associated with the
sgreset, and this leads to a crash due to a
null pointer exception.
+ [Fix]
Fix the code to use the max_tag_id as a tag
which does not overlap with the other tags
issued by mid layer.
+ Below are the kernel patches which picked for the newer version of fins
+ driver.
+
+ https://lore.kernel.org/lkml/[email protected]/
+
+ https://lore.kernel.org/lkml/[email protected]/
+
+ https://lore.kernel.org/lkml/[email protected]/
+
+ [Test Plan]
Tested by running FC traffic for a few minutes,
and by issuing sgreset on the device in parallel.
Without the fix, the crash is observed right away.
With this fix, no crash is observed.
sg_reset performs a device reset/lun reset on a lun.
Since it is issued by the user, it does not come into the
driver with a tag or a queue id.
Fix the fnic driver to create an io_req and use a scsi command tag.
Fix the ITMF path to special case the sg_reset response.
- below are the kernel patches which picked for the newer version of fins
- driver.
+ [ Where problems could occur ]
-
- https://lore.kernel.org/lkml/[email protected]/
-
- https://lore.kernel.org/lkml/[email protected]/
-
- https://lore.kernel.org/lkml/[email protected]/
+ [ Other Info ]
** Changed in: linux (Ubuntu Lunar)
Assignee: (unassigned) => Michael Reed (mreed8855)
** Changed in: linux (Ubuntu Jammy)
Assignee: (unassigned) => Michael Reed (mreed8855)
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2036777
Title:
[SRU] Fnic driver on needs to be updated to 1.6.0.57 on Focal
Status in linux package in Ubuntu:
Incomplete
Status in linux source package in Jammy:
New
Status in linux source package in Lunar:
New
Status in linux source package in Mantic:
Incomplete
Bug description:
[Impact]
fnic_clean_pending_aborts() was returning a non-zero value
irrespective of failure or success.
This caused the caller of this function to assume that the
device reset had failed, even though it would succeed in
most cases. As a consequence, a successful device reset
would escalate to host reset.
sgreset is issued with a scsi command pointer.
The device reset code assumes that it was issued
on a hardware queue, and calls block multiqueue
layer. However, the assumption is broken, and
there is no hardware queue associated with the
sgreset, and this leads to a crash due to a
null pointer exception.
[Fix]
Fix the code to use the max_tag_id as a tag
which does not overlap with the other tags
issued by mid layer.
Below are the kernel patches which picked for the newer version of
fins driver.
https://lore.kernel.org/lkml/[email protected]/
https://lore.kernel.org/lkml/[email protected]/
https://lore.kernel.org/lkml/[email protected]/
[Test Plan]
Tested by running FC traffic for a few minutes,
and by issuing sgreset on the device in parallel.
Without the fix, the crash is observed right away.
With this fix, no crash is observed.
sg_reset performs a device reset/lun reset on a lun.
Since it is issued by the user, it does not come into the
driver with a tag or a queue id.
Fix the fnic driver to create an io_req and use a scsi command tag.
Fix the ITMF path to special case the sg_reset response.
[ Where problems could occur ]
[ Other Info ]
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2036777/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp