[Kernel-packages] [Bug 1887124] Re: [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the kernel crashes unconditionally

2020-08-31 Thread Frank Heimes
** Changed in: ubuntu-z-systems
   Status: Fix Committed => Fix Released

-- 
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/1887124

Title:
  [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the
  kernel crashes unconditionally

Status in Ubuntu on IBM z Systems:
  Fix Released
Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Focal:
  Fix Released
Status in linux source package in Groovy:
  Fix Released

Bug description:
  SRU Justification:
  ==

  [Impact]

  * DIF and DIX support in zfcp (s390x) is broken and the kernel crashes
  unconditionally, in case one activates either zfcp DIF (data integrity
  field) or DIX (data integrity extention) and attaches any LU.

  * zfcp used to allocate/add the shost object for a HBA, before knowing
  all the HBA's capabilities. But later the shost object got patched to
  make more of the capabilities known - including the protection
  capabilities.

  * Changes that are later made to the protection capabilities don't get
  reflected in the tag-set requests and are missing.

  * Now sending I/O, scsi_mod tries to access the protection payload
  data, that isn't there, and the kernel crashes.

  [Fix]

  * The SRU request was created as pull request, so please pull starting
  at 0b38938af911 to head / 9227405ee311 from
  https://code.launchpad.net/~fheimes/+git/lp1887124

  [Test Case]

  * Have a IBM Z or LInuxONE system (ideally on LPAR) in place that is
  connected to a DS8xxx storage subsystem that supports, zfcp SCSI
  storage with DIF and DIX.

  * Have an Ubuntu Server 20.04 installed in such a LPAR system.

  * Now enable DIF (zfcp.dif=1) or DIX (zfcp.dix=1) and connect the
  system to a logical unit.

  * Monitor the system for any kernel crashes (/var/log/syslog and
  /var/log/kern.log) - look for kernel panic in scsi_queue_rq.

  [Regression Potential]

  * Even if the modifications are substantial, the regression potnetial
  can be considered as moderate.

  * This issue could be mainly tracked down to commit '737eb78e82d5'
  (made for v5.4) that made the problem more visible.

  * With the old blk queue DIF/DIX worked fine, but after scsi_mod switched to 
blk-mq (and because requests are now
  all allocated during allocation time of the blk-mq tag-set), it didn't worked 
anymore.

  * The solution is to allocate/add the shost object for a HBA after all
  of its base capabilities are known.

  * Since the situation is like this for quite a while, several places
  in the zfcp driver code (where it's assumed that the shost object was
  correctly allocated) needed to be touched.

  * This is finally the reason (as well as the fact that some parts
  depend on code that went upstream with the kernels 5.5 and 5.7) for
  this rather big patchset for fixing DIF and DIX support in zfcp.

  * On the other hand side this entire set is now upstream accepted and
  entirely included in 5.8 (and with that soon in groovy), and no
  5.4-specific (hand-crafted) backports are needed.

  * Also notice that all modifications are in the zfcp driver layer,
  hence they are s390x specific, and with that limited to
  /drivers/s390/scsi/zfcp_*

  * Finally the patches were already tested with a patched focal kernel
  with DIF/DIX/NONE, with I/O, and local/remote cable pulls - switched
  and point-to-point connected. No regressions were identified.

  [Other]

  * Alternatively the patches can also be cherry-picked from linux master with:
  git cherry-pick 92953c6e0aa7~1..e76acc519426
  git cherry-pick a3fd4bfe85fb
  git cherry-pick e05a10a05509~1..42cabdaf103b
  git cherry-pick cec9cbac5244
  git cherry-pick 978857c7e367~1..d0dff2ac98dd

  * The following lists the individual commits - just for the reason of
  completeness:

  * 92953c6e0aa77d4febcca6dd691e8192910c8a28 92953c6e0aa77 "scsi: zfcp:
  signal incomplete or error for sync exchange config/port data"

  * 7e418833e68948cb9ed15262889173b7db2960cb 7e418833e6894 "scsi: zfcp:
  diagnostics buffer caching and use for exchange port data"

  * 088210233e6fc039fd2c0bfe44b06bb94328d09e 088210233e6fc "scsi: zfcp:
  add diagnostics buffer for exchange config data"

  * a10a61e807b0a226b78e2041843cbf0521bd0c35 a10a61e807b0a "scsi: zfcp:
  support retrieval of SFP Data via Exchange Port Data"

  * 6028f7c4cd87cac13481255d7e35dd2c9207ecae 6028f7c4cd87c "scsi: zfcp:
  introduce sysfs interface for diagnostics of local SFP transceiver"

  * 8155eb0785279728b6b2e29aba2ca52d16aa526f 8155eb0785279 "scsi: zfcp:
  implicitly refresh port-data diagnostics when reading sysfs"

  * 5a2876f0d1ef26b76755749f978d46e4666013dd 5a2876f0d1ef2 "scsi: zfcp:
  introduce sysfs interface to read the local B2B-Credit"

  * 8a72db70b5ca3c3feb3ca25519e8a9516cc60cfe 8a72db70b5ca3 "scsi: zfcp:
  implicitly refresh config-data diagnostics when reading sysfs"

  * 

[Kernel-packages] [Bug 1887124] Re: [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the kernel crashes unconditionally

2020-08-27 Thread Frank Heimes
Since all the above patches got upstream accepted in kernel 5.8 (or
earlier) and because Kernel 5.8 just migrated from groovy proposed to
main, I'm updating the status of the groovy entry to Fix Released.

** Also affects: linux (Ubuntu Groovy)
   Importance: Undecided
 Assignee: Canonical Kernel Team (canonical-kernel-team)
   Status: Fix Committed

** Changed in: linux (Ubuntu Groovy)
   Status: Fix Committed => Fix Released

-- 
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/1887124

Title:
  [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the
  kernel crashes unconditionally

Status in Ubuntu on IBM z Systems:
  Fix Committed
Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Focal:
  Fix Committed
Status in linux source package in Groovy:
  Fix Released

Bug description:
  SRU Justification:
  ==

  [Impact]

  * DIF and DIX support in zfcp (s390x) is broken and the kernel crashes
  unconditionally, in case one activates either zfcp DIF (data integrity
  field) or DIX (data integrity extention) and attaches any LU.

  * zfcp used to allocate/add the shost object for a HBA, before knowing
  all the HBA's capabilities. But later the shost object got patched to
  make more of the capabilities known - including the protection
  capabilities.

  * Changes that are later made to the protection capabilities don't get
  reflected in the tag-set requests and are missing.

  * Now sending I/O, scsi_mod tries to access the protection payload
  data, that isn't there, and the kernel crashes.

  [Fix]

  * The SRU request was created as pull request, so please pull starting
  at 0b38938af911 to head / 9227405ee311 from
  https://code.launchpad.net/~fheimes/+git/lp1887124

  [Test Case]

  * Have a IBM Z or LInuxONE system (ideally on LPAR) in place that is
  connected to a DS8xxx storage subsystem that supports, zfcp SCSI
  storage with DIF and DIX.

  * Have an Ubuntu Server 20.04 installed in such a LPAR system.

  * Now enable DIF (zfcp.dif=1) or DIX (zfcp.dix=1) and connect the
  system to a logical unit.

  * Monitor the system for any kernel crashes (/var/log/syslog and
  /var/log/kern.log) - look for kernel panic in scsi_queue_rq.

  [Regression Potential]

  * Even if the modifications are substantial, the regression potnetial
  can be considered as moderate.

  * This issue could be mainly tracked down to commit '737eb78e82d5'
  (made for v5.4) that made the problem more visible.

  * With the old blk queue DIF/DIX worked fine, but after scsi_mod switched to 
blk-mq (and because requests are now
  all allocated during allocation time of the blk-mq tag-set), it didn't worked 
anymore.

  * The solution is to allocate/add the shost object for a HBA after all
  of its base capabilities are known.

  * Since the situation is like this for quite a while, several places
  in the zfcp driver code (where it's assumed that the shost object was
  correctly allocated) needed to be touched.

  * This is finally the reason (as well as the fact that some parts
  depend on code that went upstream with the kernels 5.5 and 5.7) for
  this rather big patchset for fixing DIF and DIX support in zfcp.

  * On the other hand side this entire set is now upstream accepted and
  entirely included in 5.8 (and with that soon in groovy), and no
  5.4-specific (hand-crafted) backports are needed.

  * Also notice that all modifications are in the zfcp driver layer,
  hence they are s390x specific, and with that limited to
  /drivers/s390/scsi/zfcp_*

  * Finally the patches were already tested with a patched focal kernel
  with DIF/DIX/NONE, with I/O, and local/remote cable pulls - switched
  and point-to-point connected. No regressions were identified.

  [Other]

  * Alternatively the patches can also be cherry-picked from linux master with:
  git cherry-pick 92953c6e0aa7~1..e76acc519426
  git cherry-pick a3fd4bfe85fb
  git cherry-pick e05a10a05509~1..42cabdaf103b
  git cherry-pick cec9cbac5244
  git cherry-pick 978857c7e367~1..d0dff2ac98dd

  * The following lists the individual commits - just for the reason of
  completeness:

  * 92953c6e0aa77d4febcca6dd691e8192910c8a28 92953c6e0aa77 "scsi: zfcp:
  signal incomplete or error for sync exchange config/port data"

  * 7e418833e68948cb9ed15262889173b7db2960cb 7e418833e6894 "scsi: zfcp:
  diagnostics buffer caching and use for exchange port data"

  * 088210233e6fc039fd2c0bfe44b06bb94328d09e 088210233e6fc "scsi: zfcp:
  add diagnostics buffer for exchange config data"

  * a10a61e807b0a226b78e2041843cbf0521bd0c35 a10a61e807b0a "scsi: zfcp:
  support retrieval of SFP Data via Exchange Port Data"

  * 6028f7c4cd87cac13481255d7e35dd2c9207ecae 6028f7c4cd87c "scsi: zfcp:
  introduce sysfs interface for diagnostics of local SFP transceiver"

  * 8155eb0785279728b6b2e29aba2ca52d16aa526f 

[Kernel-packages] [Bug 1887124] Re: [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the kernel crashes unconditionally

2020-08-10 Thread Frank Heimes
Many thx, Thorsten!

-- 
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/1887124

Title:
  [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the
  kernel crashes unconditionally

Status in Ubuntu on IBM z Systems:
  Fix Committed
Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Focal:
  Fix Committed

Bug description:
  SRU Justification:
  ==

  [Impact]

  * DIF and DIX support in zfcp (s390x) is broken and the kernel crashes
  unconditionally, in case one activates either zfcp DIF (data integrity
  field) or DIX (data integrity extention) and attaches any LU.

  * zfcp used to allocate/add the shost object for a HBA, before knowing
  all the HBA's capabilities. But later the shost object got patched to
  make more of the capabilities known - including the protection
  capabilities.

  * Changes that are later made to the protection capabilities don't get
  reflected in the tag-set requests and are missing.

  * Now sending I/O, scsi_mod tries to access the protection payload
  data, that isn't there, and the kernel crashes.

  [Fix]

  * The SRU request was created as pull request, so please pull starting
  at 0b38938af911 to head / 9227405ee311 from
  https://code.launchpad.net/~fheimes/+git/lp1887124

  [Test Case]

  * Have a IBM Z or LInuxONE system (ideally on LPAR) in place that is
  connected to a DS8xxx storage subsystem that supports, zfcp SCSI
  storage with DIF and DIX.

  * Have an Ubuntu Server 20.04 installed in such a LPAR system.

  * Now enable DIF (zfcp.dif=1) or DIX (zfcp.dix=1) and connect the
  system to a logical unit.

  * Monitor the system for any kernel crashes (/var/log/syslog and
  /var/log/kern.log) - look for kernel panic in scsi_queue_rq.

  [Regression Potential]

  * Even if the modifications are substantial, the regression potnetial
  can be considered as moderate.

  * This issue could be mainly tracked down to commit '737eb78e82d5'
  (made for v5.4) that made the problem more visible.

  * With the old blk queue DIF/DIX worked fine, but after scsi_mod switched to 
blk-mq (and because requests are now
  all allocated during allocation time of the blk-mq tag-set), it didn't worked 
anymore.

  * The solution is to allocate/add the shost object for a HBA after all
  of its base capabilities are known.

  * Since the situation is like this for quite a while, several places
  in the zfcp driver code (where it's assumed that the shost object was
  correctly allocated) needed to be touched.

  * This is finally the reason (as well as the fact that some parts
  depend on code that went upstream with the kernels 5.5 and 5.7) for
  this rather big patchset for fixing DIF and DIX support in zfcp.

  * On the other hand side this entire set is now upstream accepted and
  entirely included in 5.8 (and with that soon in groovy), and no
  5.4-specific (hand-crafted) backports are needed.

  * Also notice that all modifications are in the zfcp driver layer,
  hence they are s390x specific, and with that limited to
  /drivers/s390/scsi/zfcp_*

  * Finally the patches were already tested with a patched focal kernel
  with DIF/DIX/NONE, with I/O, and local/remote cable pulls - switched
  and point-to-point connected. No regressions were identified.

  [Other]

  * Alternatively the patches can also be cherry-picked from linux master with:
  git cherry-pick 92953c6e0aa7~1..e76acc519426
  git cherry-pick a3fd4bfe85fb
  git cherry-pick e05a10a05509~1..42cabdaf103b
  git cherry-pick cec9cbac5244
  git cherry-pick 978857c7e367~1..d0dff2ac98dd

  * The following lists the individual commits - just for the reason of
  completeness:

  * 92953c6e0aa77d4febcca6dd691e8192910c8a28 92953c6e0aa77 "scsi: zfcp:
  signal incomplete or error for sync exchange config/port data"

  * 7e418833e68948cb9ed15262889173b7db2960cb 7e418833e6894 "scsi: zfcp:
  diagnostics buffer caching and use for exchange port data"

  * 088210233e6fc039fd2c0bfe44b06bb94328d09e 088210233e6fc "scsi: zfcp:
  add diagnostics buffer for exchange config data"

  * a10a61e807b0a226b78e2041843cbf0521bd0c35 a10a61e807b0a "scsi: zfcp:
  support retrieval of SFP Data via Exchange Port Data"

  * 6028f7c4cd87cac13481255d7e35dd2c9207ecae 6028f7c4cd87c "scsi: zfcp:
  introduce sysfs interface for diagnostics of local SFP transceiver"

  * 8155eb0785279728b6b2e29aba2ca52d16aa526f 8155eb0785279 "scsi: zfcp:
  implicitly refresh port-data diagnostics when reading sysfs"

  * 5a2876f0d1ef26b76755749f978d46e4666013dd 5a2876f0d1ef2 "scsi: zfcp:
  introduce sysfs interface to read the local B2B-Credit"

  * 8a72db70b5ca3c3feb3ca25519e8a9516cc60cfe 8a72db70b5ca3 "scsi: zfcp:
  implicitly refresh config-data diagnostics when reading sysfs"

  * 48910f8c35cfd250d806f3e03150d256f40b6d4c 48910f8c35cfd "scsi: zfcp:
  move maximum age of diagnostic buffers into a 

[Kernel-packages] [Bug 1887124] Re: [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the kernel crashes unconditionally

2020-08-10 Thread Thorsten Diehl
** Tags removed: verification-needed-focal
** Tags added: verification-done-focal

-- 
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/1887124

Title:
  [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the
  kernel crashes unconditionally

Status in Ubuntu on IBM z Systems:
  Fix Committed
Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Focal:
  Fix Committed

Bug description:
  SRU Justification:
  ==

  [Impact]

  * DIF and DIX support in zfcp (s390x) is broken and the kernel crashes
  unconditionally, in case one activates either zfcp DIF (data integrity
  field) or DIX (data integrity extention) and attaches any LU.

  * zfcp used to allocate/add the shost object for a HBA, before knowing
  all the HBA's capabilities. But later the shost object got patched to
  make more of the capabilities known - including the protection
  capabilities.

  * Changes that are later made to the protection capabilities don't get
  reflected in the tag-set requests and are missing.

  * Now sending I/O, scsi_mod tries to access the protection payload
  data, that isn't there, and the kernel crashes.

  [Fix]

  * The SRU request was created as pull request, so please pull starting
  at 0b38938af911 to head / 9227405ee311 from
  https://code.launchpad.net/~fheimes/+git/lp1887124

  [Test Case]

  * Have a IBM Z or LInuxONE system (ideally on LPAR) in place that is
  connected to a DS8xxx storage subsystem that supports, zfcp SCSI
  storage with DIF and DIX.

  * Have an Ubuntu Server 20.04 installed in such a LPAR system.

  * Now enable DIF (zfcp.dif=1) or DIX (zfcp.dix=1) and connect the
  system to a logical unit.

  * Monitor the system for any kernel crashes (/var/log/syslog and
  /var/log/kern.log) - look for kernel panic in scsi_queue_rq.

  [Regression Potential]

  * Even if the modifications are substantial, the regression potnetial
  can be considered as moderate.

  * This issue could be mainly tracked down to commit '737eb78e82d5'
  (made for v5.4) that made the problem more visible.

  * With the old blk queue DIF/DIX worked fine, but after scsi_mod switched to 
blk-mq (and because requests are now
  all allocated during allocation time of the blk-mq tag-set), it didn't worked 
anymore.

  * The solution is to allocate/add the shost object for a HBA after all
  of its base capabilities are known.

  * Since the situation is like this for quite a while, several places
  in the zfcp driver code (where it's assumed that the shost object was
  correctly allocated) needed to be touched.

  * This is finally the reason (as well as the fact that some parts
  depend on code that went upstream with the kernels 5.5 and 5.7) for
  this rather big patchset for fixing DIF and DIX support in zfcp.

  * On the other hand side this entire set is now upstream accepted and
  entirely included in 5.8 (and with that soon in groovy), and no
  5.4-specific (hand-crafted) backports are needed.

  * Also notice that all modifications are in the zfcp driver layer,
  hence they are s390x specific, and with that limited to
  /drivers/s390/scsi/zfcp_*

  * Finally the patches were already tested with a patched focal kernel
  with DIF/DIX/NONE, with I/O, and local/remote cable pulls - switched
  and point-to-point connected. No regressions were identified.

  [Other]

  * Alternatively the patches can also be cherry-picked from linux master with:
  git cherry-pick 92953c6e0aa7~1..e76acc519426
  git cherry-pick a3fd4bfe85fb
  git cherry-pick e05a10a05509~1..42cabdaf103b
  git cherry-pick cec9cbac5244
  git cherry-pick 978857c7e367~1..d0dff2ac98dd

  * The following lists the individual commits - just for the reason of
  completeness:

  * 92953c6e0aa77d4febcca6dd691e8192910c8a28 92953c6e0aa77 "scsi: zfcp:
  signal incomplete or error for sync exchange config/port data"

  * 7e418833e68948cb9ed15262889173b7db2960cb 7e418833e6894 "scsi: zfcp:
  diagnostics buffer caching and use for exchange port data"

  * 088210233e6fc039fd2c0bfe44b06bb94328d09e 088210233e6fc "scsi: zfcp:
  add diagnostics buffer for exchange config data"

  * a10a61e807b0a226b78e2041843cbf0521bd0c35 a10a61e807b0a "scsi: zfcp:
  support retrieval of SFP Data via Exchange Port Data"

  * 6028f7c4cd87cac13481255d7e35dd2c9207ecae 6028f7c4cd87c "scsi: zfcp:
  introduce sysfs interface for diagnostics of local SFP transceiver"

  * 8155eb0785279728b6b2e29aba2ca52d16aa526f 8155eb0785279 "scsi: zfcp:
  implicitly refresh port-data diagnostics when reading sysfs"

  * 5a2876f0d1ef26b76755749f978d46e4666013dd 5a2876f0d1ef2 "scsi: zfcp:
  introduce sysfs interface to read the local B2B-Credit"

  * 8a72db70b5ca3c3feb3ca25519e8a9516cc60cfe 8a72db70b5ca3 "scsi: zfcp:
  implicitly refresh config-data diagnostics when reading sysfs"

  * 48910f8c35cfd250d806f3e03150d256f40b6d4c 48910f8c35cfd 

[Kernel-packages] [Bug 1887124] Re: [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the kernel crashes unconditionally

2020-08-10 Thread Ubuntu Kernel Bot
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!


** Tags added: verification-needed-focal

-- 
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/1887124

Title:
  [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the
  kernel crashes unconditionally

Status in Ubuntu on IBM z Systems:
  Fix Committed
Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Focal:
  Fix Committed

Bug description:
  SRU Justification:
  ==

  [Impact]

  * DIF and DIX support in zfcp (s390x) is broken and the kernel crashes
  unconditionally, in case one activates either zfcp DIF (data integrity
  field) or DIX (data integrity extention) and attaches any LU.

  * zfcp used to allocate/add the shost object for a HBA, before knowing
  all the HBA's capabilities. But later the shost object got patched to
  make more of the capabilities known - including the protection
  capabilities.

  * Changes that are later made to the protection capabilities don't get
  reflected in the tag-set requests and are missing.

  * Now sending I/O, scsi_mod tries to access the protection payload
  data, that isn't there, and the kernel crashes.

  [Fix]

  * The SRU request was created as pull request, so please pull starting
  at 0b38938af911 to head / 9227405ee311 from
  https://code.launchpad.net/~fheimes/+git/lp1887124

  [Test Case]

  * Have a IBM Z or LInuxONE system (ideally on LPAR) in place that is
  connected to a DS8xxx storage subsystem that supports, zfcp SCSI
  storage with DIF and DIX.

  * Have an Ubuntu Server 20.04 installed in such a LPAR system.

  * Now enable DIF (zfcp.dif=1) or DIX (zfcp.dix=1) and connect the
  system to a logical unit.

  * Monitor the system for any kernel crashes (/var/log/syslog and
  /var/log/kern.log) - look for kernel panic in scsi_queue_rq.

  [Regression Potential]

  * Even if the modifications are substantial, the regression potnetial
  can be considered as moderate.

  * This issue could be mainly tracked down to commit '737eb78e82d5'
  (made for v5.4) that made the problem more visible.

  * With the old blk queue DIF/DIX worked fine, but after scsi_mod switched to 
blk-mq (and because requests are now
  all allocated during allocation time of the blk-mq tag-set), it didn't worked 
anymore.

  * The solution is to allocate/add the shost object for a HBA after all
  of its base capabilities are known.

  * Since the situation is like this for quite a while, several places
  in the zfcp driver code (where it's assumed that the shost object was
  correctly allocated) needed to be touched.

  * This is finally the reason (as well as the fact that some parts
  depend on code that went upstream with the kernels 5.5 and 5.7) for
  this rather big patchset for fixing DIF and DIX support in zfcp.

  * On the other hand side this entire set is now upstream accepted and
  entirely included in 5.8 (and with that soon in groovy), and no
  5.4-specific (hand-crafted) backports are needed.

  * Also notice that all modifications are in the zfcp driver layer,
  hence they are s390x specific, and with that limited to
  /drivers/s390/scsi/zfcp_*

  * Finally the patches were already tested with a patched focal kernel
  with DIF/DIX/NONE, with I/O, and local/remote cable pulls - switched
  and point-to-point connected. No regressions were identified.

  [Other]

  * Alternatively the patches can also be cherry-picked from linux master with:
  git cherry-pick 92953c6e0aa7~1..e76acc519426
  git cherry-pick a3fd4bfe85fb
  git cherry-pick e05a10a05509~1..42cabdaf103b
  git cherry-pick cec9cbac5244
  git cherry-pick 978857c7e367~1..d0dff2ac98dd

  * The following lists the individual commits - just for the reason of
  completeness:

  * 92953c6e0aa77d4febcca6dd691e8192910c8a28 92953c6e0aa77 "scsi: zfcp:
  signal incomplete or error for sync exchange config/port data"

  * 7e418833e68948cb9ed15262889173b7db2960cb 7e418833e6894 "scsi: zfcp:
  diagnostics buffer caching and use for exchange port data"

  * 088210233e6fc039fd2c0bfe44b06bb94328d09e 088210233e6fc "scsi: zfcp:
  add diagnostics buffer for exchange config data"

  * a10a61e807b0a226b78e2041843cbf0521bd0c35 a10a61e807b0a "scsi: zfcp:
  support retrieval of SFP Data via Exchange Port Data"

  * 6028f7c4cd87cac13481255d7e35dd2c9207ecae 

[Kernel-packages] [Bug 1887124] Re: [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the kernel crashes unconditionally

2020-08-03 Thread Andrew Cloke
** Changed in: ubuntu-z-systems
   Status: In Progress => Fix Committed

** Changed in: linux (Ubuntu)
   Status: In Progress => Fix Committed

-- 
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/1887124

Title:
  [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the
  kernel crashes unconditionally

Status in Ubuntu on IBM z Systems:
  Fix Committed
Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Focal:
  Fix Committed

Bug description:
  SRU Justification:
  ==

  [Impact]

  * DIF and DIX support in zfcp (s390x) is broken and the kernel crashes
  unconditionally, in case one activates either zfcp DIF (data integrity
  field) or DIX (data integrity extention) and attaches any LU.

  * zfcp used to allocate/add the shost object for a HBA, before knowing
  all the HBA's capabilities. But later the shost object got patched to
  make more of the capabilities known - including the protection
  capabilities.

  * Changes that are later made to the protection capabilities don't get
  reflected in the tag-set requests and are missing.

  * Now sending I/O, scsi_mod tries to access the protection payload
  data, that isn't there, and the kernel crashes.

  [Fix]

  * The SRU request was created as pull request, so please pull starting
  at 0b38938af911 to head / 9227405ee311 from
  https://code.launchpad.net/~fheimes/+git/lp1887124

  [Test Case]

  * Have a IBM Z or LInuxONE system (ideally on LPAR) in place that is
  connected to a DS8xxx storage subsystem that supports, zfcp SCSI
  storage with DIF and DIX.

  * Have an Ubuntu Server 20.04 installed in such a LPAR system.

  * Now enable DIF (zfcp.dif=1) or DIX (zfcp.dix=1) and connect the
  system to a logical unit.

  * Monitor the system for any kernel crashes (/var/log/syslog and
  /var/log/kern.log) - look for kernel panic in scsi_queue_rq.

  [Regression Potential]

  * Even if the modifications are substantial, the regression potnetial
  can be considered as moderate.

  * This issue could be mainly tracked down to commit '737eb78e82d5'
  (made for v5.4) that made the problem more visible.

  * With the old blk queue DIF/DIX worked fine, but after scsi_mod switched to 
blk-mq (and because requests are now
  all allocated during allocation time of the blk-mq tag-set), it didn't worked 
anymore.

  * The solution is to allocate/add the shost object for a HBA after all
  of its base capabilities are known.

  * Since the situation is like this for quite a while, several places
  in the zfcp driver code (where it's assumed that the shost object was
  correctly allocated) needed to be touched.

  * This is finally the reason (as well as the fact that some parts
  depend on code that went upstream with the kernels 5.5 and 5.7) for
  this rather big patchset for fixing DIF and DIX support in zfcp.

  * On the other hand side this entire set is now upstream accepted and
  entirely included in 5.8 (and with that soon in groovy), and no
  5.4-specific (hand-crafted) backports are needed.

  * Also notice that all modifications are in the zfcp driver layer,
  hence they are s390x specific, and with that limited to
  /drivers/s390/scsi/zfcp_*

  * Finally the patches were already tested with a patched focal kernel
  with DIF/DIX/NONE, with I/O, and local/remote cable pulls - switched
  and point-to-point connected. No regressions were identified.

  [Other]

  * Alternatively the patches can also be cherry-picked from linux master with:
  git cherry-pick 92953c6e0aa7~1..e76acc519426
  git cherry-pick a3fd4bfe85fb
  git cherry-pick e05a10a05509~1..42cabdaf103b
  git cherry-pick cec9cbac5244
  git cherry-pick 978857c7e367~1..d0dff2ac98dd

  * The following lists the individual commits - just for the reason of
  completeness:

  * 92953c6e0aa77d4febcca6dd691e8192910c8a28 92953c6e0aa77 "scsi: zfcp:
  signal incomplete or error for sync exchange config/port data"

  * 7e418833e68948cb9ed15262889173b7db2960cb 7e418833e6894 "scsi: zfcp:
  diagnostics buffer caching and use for exchange port data"

  * 088210233e6fc039fd2c0bfe44b06bb94328d09e 088210233e6fc "scsi: zfcp:
  add diagnostics buffer for exchange config data"

  * a10a61e807b0a226b78e2041843cbf0521bd0c35 a10a61e807b0a "scsi: zfcp:
  support retrieval of SFP Data via Exchange Port Data"

  * 6028f7c4cd87cac13481255d7e35dd2c9207ecae 6028f7c4cd87c "scsi: zfcp:
  introduce sysfs interface for diagnostics of local SFP transceiver"

  * 8155eb0785279728b6b2e29aba2ca52d16aa526f 8155eb0785279 "scsi: zfcp:
  implicitly refresh port-data diagnostics when reading sysfs"

  * 5a2876f0d1ef26b76755749f978d46e4666013dd 5a2876f0d1ef2 "scsi: zfcp:
  introduce sysfs interface to read the local B2B-Credit"

  * 8a72db70b5ca3c3feb3ca25519e8a9516cc60cfe 8a72db70b5ca3 "scsi: zfcp:
  implicitly refresh config-data diagnostics when reading 

[Kernel-packages] [Bug 1887124] Re: [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the kernel crashes unconditionally

2020-08-03 Thread Kelsey Margarete Skunberg
** Changed in: linux (Ubuntu Focal)
   Status: In Progress => Fix Committed

-- 
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/1887124

Title:
  [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the
  kernel crashes unconditionally

Status in Ubuntu on IBM z Systems:
  In Progress
Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Focal:
  Fix Committed

Bug description:
  SRU Justification:
  ==

  [Impact]

  * DIF and DIX support in zfcp (s390x) is broken and the kernel crashes
  unconditionally, in case one activates either zfcp DIF (data integrity
  field) or DIX (data integrity extention) and attaches any LU.

  * zfcp used to allocate/add the shost object for a HBA, before knowing
  all the HBA's capabilities. But later the shost object got patched to
  make more of the capabilities known - including the protection
  capabilities.

  * Changes that are later made to the protection capabilities don't get
  reflected in the tag-set requests and are missing.

  * Now sending I/O, scsi_mod tries to access the protection payload
  data, that isn't there, and the kernel crashes.

  [Fix]

  * The SRU request was created as pull request, so please pull starting
  at 0b38938af911 to head / 9227405ee311 from
  https://code.launchpad.net/~fheimes/+git/lp1887124

  [Test Case]

  * Have a IBM Z or LInuxONE system (ideally on LPAR) in place that is
  connected to a DS8xxx storage subsystem that supports, zfcp SCSI
  storage with DIF and DIX.

  * Have an Ubuntu Server 20.04 installed in such a LPAR system.

  * Now enable DIF (zfcp.dif=1) or DIX (zfcp.dix=1) and connect the
  system to a logical unit.

  * Monitor the system for any kernel crashes (/var/log/syslog and
  /var/log/kern.log) - look for kernel panic in scsi_queue_rq.

  [Regression Potential]

  * Even if the modifications are substantial, the regression potnetial
  can be considered as moderate.

  * This issue could be mainly tracked down to commit '737eb78e82d5'
  (made for v5.4) that made the problem more visible.

  * With the old blk queue DIF/DIX worked fine, but after scsi_mod switched to 
blk-mq (and because requests are now
  all allocated during allocation time of the blk-mq tag-set), it didn't worked 
anymore.

  * The solution is to allocate/add the shost object for a HBA after all
  of its base capabilities are known.

  * Since the situation is like this for quite a while, several places
  in the zfcp driver code (where it's assumed that the shost object was
  correctly allocated) needed to be touched.

  * This is finally the reason (as well as the fact that some parts
  depend on code that went upstream with the kernels 5.5 and 5.7) for
  this rather big patchset for fixing DIF and DIX support in zfcp.

  * On the other hand side this entire set is now upstream accepted and
  entirely included in 5.8 (and with that soon in groovy), and no
  5.4-specific (hand-crafted) backports are needed.

  * Also notice that all modifications are in the zfcp driver layer,
  hence they are s390x specific, and with that limited to
  /drivers/s390/scsi/zfcp_*

  * Finally the patches were already tested with a patched focal kernel
  with DIF/DIX/NONE, with I/O, and local/remote cable pulls - switched
  and point-to-point connected. No regressions were identified.

  [Other]

  * Alternatively the patches can also be cherry-picked from linux master with:
  git cherry-pick 92953c6e0aa7~1..e76acc519426
  git cherry-pick a3fd4bfe85fb
  git cherry-pick e05a10a05509~1..42cabdaf103b
  git cherry-pick cec9cbac5244
  git cherry-pick 978857c7e367~1..d0dff2ac98dd

  * The following lists the individual commits - just for the reason of
  completeness:

  * 92953c6e0aa77d4febcca6dd691e8192910c8a28 92953c6e0aa77 "scsi: zfcp:
  signal incomplete or error for sync exchange config/port data"

  * 7e418833e68948cb9ed15262889173b7db2960cb 7e418833e6894 "scsi: zfcp:
  diagnostics buffer caching and use for exchange port data"

  * 088210233e6fc039fd2c0bfe44b06bb94328d09e 088210233e6fc "scsi: zfcp:
  add diagnostics buffer for exchange config data"

  * a10a61e807b0a226b78e2041843cbf0521bd0c35 a10a61e807b0a "scsi: zfcp:
  support retrieval of SFP Data via Exchange Port Data"

  * 6028f7c4cd87cac13481255d7e35dd2c9207ecae 6028f7c4cd87c "scsi: zfcp:
  introduce sysfs interface for diagnostics of local SFP transceiver"

  * 8155eb0785279728b6b2e29aba2ca52d16aa526f 8155eb0785279 "scsi: zfcp:
  implicitly refresh port-data diagnostics when reading sysfs"

  * 5a2876f0d1ef26b76755749f978d46e4666013dd 5a2876f0d1ef2 "scsi: zfcp:
  introduce sysfs interface to read the local B2B-Credit"

  * 8a72db70b5ca3c3feb3ca25519e8a9516cc60cfe 8a72db70b5ca3 "scsi: zfcp:
  implicitly refresh config-data diagnostics when reading sysfs"

  * 48910f8c35cfd250d806f3e03150d256f40b6d4c 48910f8c35cfd "scsi: 

[Kernel-packages] [Bug 1887124] Re: [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the kernel crashes unconditionally

2020-07-15 Thread Stefan Bader
** Also affects: linux (Ubuntu Focal)
   Importance: Undecided
   Status: New

** Changed in: linux (Ubuntu Focal)
   Importance: Undecided => High

** Changed in: linux (Ubuntu Focal)
   Status: New => In Progress

-- 
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/1887124

Title:
  [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the
  kernel crashes unconditionally

Status in Ubuntu on IBM z Systems:
  In Progress
Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Focal:
  In Progress

Bug description:
  SRU Justification:
  ==

  [Impact]

  * DIF and DIX support in zfcp (s390x) is broken and the kernel crashes
  unconditionally, in case one activates either zfcp DIF (data integrity
  field) or DIX (data integrity extention) and attaches any LU.

  * zfcp used to allocate/add the shost object for a HBA, before knowing
  all the HBA's capabilities. But later the shost object got patched to
  make more of the capabilities known - including the protection
  capabilities.

  * Changes that are later made to the protection capabilities don't get
  reflected in the tag-set requests and are missing.

  * Now sending I/O, scsi_mod tries to access the protection payload
  data, that isn't there, and the kernel crashes.

  [Fix]

  * The SRU request was created as pull request, so please pull starting
  at 0b38938af911 to head / 9227405ee311 from
  https://code.launchpad.net/~fheimes/+git/lp1887124

  [Test Case]

  * Have a IBM Z or LInuxONE system (ideally on LPAR) in place that is
  connected to a DS8xxx storage subsystem that supports, zfcp SCSI
  storage with DIF and DIX.

  * Have an Ubuntu Server 20.04 installed in such a LPAR system.

  * Now enable DIF (zfcp.dif=1) or DIX (zfcp.dix=1) and connect the
  system to a logical unit.

  * Monitor the system for any kernel crashes (/var/log/syslog and
  /var/log/kern.log) - look for kernel panic in scsi_queue_rq.

  [Regression Potential]

  * Even if the modifications are substantial, the regression potnetial
  can be considered as moderate.

  * This issue could be mainly tracked down to commit '737eb78e82d5'
  (made for v5.4) that made the problem more visible.

  * With the old blk queue DIF/DIX worked fine, but after scsi_mod switched to 
blk-mq (and because requests are now
  all allocated during allocation time of the blk-mq tag-set), it didn't worked 
anymore.

  * The solution is to allocate/add the shost object for a HBA after all
  of its base capabilities are known.

  * Since the situation is like this for quite a while, several places
  in the zfcp driver code (where it's assumed that the shost object was
  correctly allocated) needed to be touched.

  * This is finally the reason (as well as the fact that some parts
  depend on code that went upstream with the kernels 5.5 and 5.7) for
  this rather big patchset for fixing DIF and DIX support in zfcp.

  * On the other hand side this entire set is now upstream accepted and
  entirely included in 5.8 (and with that soon in groovy), and no
  5.4-specific (hand-crafted) backports are needed.

  * Also notice that all modifications are in the zfcp driver layer,
  hence they are s390x specific, and with that limited to
  /drivers/s390/scsi/zfcp_*

  * Finally the patches were already tested with a patched focal kernel
  with DIF/DIX/NONE, with I/O, and local/remote cable pulls - switched
  and point-to-point connected. No regressions were identified.

  [Other]

  * Alternatively the patches can also be cherry-picked from linux master with:
  git cherry-pick 92953c6e0aa7~1..e76acc519426
  git cherry-pick a3fd4bfe85fb
  git cherry-pick e05a10a05509~1..42cabdaf103b
  git cherry-pick cec9cbac5244
  git cherry-pick 978857c7e367~1..d0dff2ac98dd

  * The following lists the individual commits - just for the reason of
  completeness:

  * 92953c6e0aa77d4febcca6dd691e8192910c8a28 92953c6e0aa77 "scsi: zfcp:
  signal incomplete or error for sync exchange config/port data"

  * 7e418833e68948cb9ed15262889173b7db2960cb 7e418833e6894 "scsi: zfcp:
  diagnostics buffer caching and use for exchange port data"

  * 088210233e6fc039fd2c0bfe44b06bb94328d09e 088210233e6fc "scsi: zfcp:
  add diagnostics buffer for exchange config data"

  * a10a61e807b0a226b78e2041843cbf0521bd0c35 a10a61e807b0a "scsi: zfcp:
  support retrieval of SFP Data via Exchange Port Data"

  * 6028f7c4cd87cac13481255d7e35dd2c9207ecae 6028f7c4cd87c "scsi: zfcp:
  introduce sysfs interface for diagnostics of local SFP transceiver"

  * 8155eb0785279728b6b2e29aba2ca52d16aa526f 8155eb0785279 "scsi: zfcp:
  implicitly refresh port-data diagnostics when reading sysfs"

  * 5a2876f0d1ef26b76755749f978d46e4666013dd 5a2876f0d1ef2 "scsi: zfcp:
  introduce sysfs interface to read the local B2B-Credit"

  * 8a72db70b5ca3c3feb3ca25519e8a9516cc60cfe 8a72db70b5ca3 

[Kernel-packages] [Bug 1887124] Re: [UBUNTU 20.04] DIF and DIX support in zfcp (s390x) is broken and the kernel crashes unconditionally

2020-07-14 Thread Frank Heimes
Kernel SRU request submitted:
https://lists.ubuntu.com/archives/kernel-team/2020-July/thread.html#112024
Updating status to 'In Progress'.

** Description changed:

+ SRU Justification:
+ ==
+ 
+ [Impact]
+ 
+ * DIF and DIX support in zfcp (s390x) is broken and the kernel crashes
+ unconditionally, in case one activates either zfcp DIF (data integrity
+ field) or DIX (data integrity extention) and attaches any LU.
+ 
+ * zfcp used to allocate/add the shost object for a HBA, before knowing
+ all the HBA's capabilities. But later the shost object got patched to
+ make more of the capabilities known - including the protection
+ capabilities.
+ 
+ * Changes that are later made to the protection capabilities don't get
+ reflected in the tag-set requests and are missing.
+ 
+ * Now sending I/O, scsi_mod tries to access the protection payload data,
+ that isn't there, and the kernel crashes.
+ 
+ [Fix]
+ 
+ * The SRU request was created as pull request, so please pull starting
+ at 0b38938af911 to head / 9227405ee311 from
+ https://code.launchpad.net/~fheimes/+git/lp1887124
+ 
+ [Test Case]
+ 
+ * Have a IBM Z or LInuxONE system (ideally on LPAR) in place that is
+ connected to a DS8xxx storage subsystem that supports, zfcp SCSI storage
+ with DIF and DIX.
+ 
+ * Have an Ubuntu Server 20.04 installed in such a LPAR system.
+ 
+ * Now enable DIF (zfcp.dif=1) or DIX (zfcp.dix=1) and connect the system
+ to a logical unit.
+ 
+ * Monitor the system for any kernel crashes (/var/log/syslog and
+ /var/log/kern.log) - look for kernel panic in scsi_queue_rq.
+ 
+ [Regression Potential]
+ 
+ * Even if the modifications are substantial, the regression potnetial
+ can be considered as moderate.
+ 
+ * This issue could be mainly tracked down to commit '737eb78e82d5' (made
+ for v5.4) that made the problem more visible.
+ 
+ * With the old blk queue DIF/DIX worked fine, but after scsi_mod switched to 
blk-mq (and because requests are now
+ all allocated during allocation time of the blk-mq tag-set), it didn't worked 
anymore.
+ 
+ * The solution is to allocate/add the shost object for a HBA after all
+ of its base capabilities are known.
+ 
+ * Since the situation is like this for quite a while, several places in
+ the zfcp driver code (where it's assumed that the shost object was
+ correctly allocated) needed to be touched.
+ 
+ * This is finally the reason (as well as the fact that some parts depend
+ on code that went upstream with the kernels 5.5 and 5.7) for this rather
+ big patchset for fixing DIF and DIX support in zfcp.
+ 
+ * On the other hand side this entire set is now upstream accepted and
+ entirely included in 5.8 (and with that soon in groovy), and no
+ 5.4-specific (hand-crafted) backports are needed.
+ 
+ * Also notice that all modifications are in the zfcp driver layer, hence
+ they are s390x specific, and with that limited to
+ /drivers/s390/scsi/zfcp_*
+ 
+ * Finally the patches were already tested with a patched focal kernel
+ with DIF/DIX/NONE, with I/O, and local/remote cable pulls - switched and
+ point-to-point connected. No regressions were identified.
+ 
+ [Other]
+ 
+ * Alternatively the patches can also be cherry-picked from linux master with:
+ git cherry-pick 92953c6e0aa7~1..e76acc519426
+ git cherry-pick a3fd4bfe85fb
+ git cherry-pick e05a10a05509~1..42cabdaf103b
+ git cherry-pick cec9cbac5244
+ git cherry-pick 978857c7e367~1..d0dff2ac98dd
+ 
+ * The following lists the individual commits - just for the reason of
+ completeness:
+ 
+ * 92953c6e0aa77d4febcca6dd691e8192910c8a28 92953c6e0aa77 "scsi: zfcp:
+ signal incomplete or error for sync exchange config/port data"
+ 
+ * 7e418833e68948cb9ed15262889173b7db2960cb 7e418833e6894 "scsi: zfcp:
+ diagnostics buffer caching and use for exchange port data"
+ 
+ * 088210233e6fc039fd2c0bfe44b06bb94328d09e 088210233e6fc "scsi: zfcp:
+ add diagnostics buffer for exchange config data"
+ 
+ * a10a61e807b0a226b78e2041843cbf0521bd0c35 a10a61e807b0a "scsi: zfcp:
+ support retrieval of SFP Data via Exchange Port Data"
+ 
+ * 6028f7c4cd87cac13481255d7e35dd2c9207ecae 6028f7c4cd87c "scsi: zfcp:
+ introduce sysfs interface for diagnostics of local SFP transceiver"
+ 
+ * 8155eb0785279728b6b2e29aba2ca52d16aa526f 8155eb0785279 "scsi: zfcp:
+ implicitly refresh port-data diagnostics when reading sysfs"
+ 
+ * 5a2876f0d1ef26b76755749f978d46e4666013dd 5a2876f0d1ef2 "scsi: zfcp:
+ introduce sysfs interface to read the local B2B-Credit"
+ 
+ * 8a72db70b5ca3c3feb3ca25519e8a9516cc60cfe 8a72db70b5ca3 "scsi: zfcp:
+ implicitly refresh config-data diagnostics when reading sysfs"
+ 
+ * 48910f8c35cfd250d806f3e03150d256f40b6d4c 48910f8c35cfd "scsi: zfcp:
+ move maximum age of diagnostic buffers into a per-adapter variable"
+ 
+ * e76acc51942649398660ca50655af5afecf29c42 e76acc5194264 "scsi: zfcp:
+ proper indentation to reduce confusion in zfcp_erp_required_act"
+ 
+ * a3fd4bfe85fbb67cf4ec1232d0af625ece3c508b a3fd4bfe85fbb "scsi: zfcp:
+ fix