DEBIAN-CVE-2022-50818

Source
https://security-tracker.debian.org/tracker/CVE-2022-50818
Import Source
https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2022-50818.json
JSON Data
https://api.test.osv.dev/v1/vulns/DEBIAN-CVE-2022-50818
Upstream
Published
2025-12-30T13:15:56.200Z
Modified
2025-12-31T11:20:30.510805Z
Summary
[none]
Details

In the Linux kernel, the following vulnerability has been resolved: scsi: pm8001: Fix runningreq for internal abort commands Disabling the remote phy for a SATA disk causes a hang: root@(none)$ more /sys/class/sasphy/phy-0:0:8/targetportprotocols sata root@(none)$ echo 0 > sys/class/sasphy/phy-0:0:8/enable root@(none)$ [ 67.855950] sas: ex 500e004aaaaaaa1f phy08 change count has changed [ 67.920585] sd 0:0:2:0: [sdc] Synchronizing SCSI cache [ 67.925780] sd 0:0:2:0: [sdc] Synchronize Cache(10) failed: Result: hostbyte=0x04 driverbyte=DRIVEROK [ 67.935094] sd 0:0:2:0: [sdc] Stopping disk [ 67.939305] sd 0:0:2:0: [sdc] Start/Stop Unit failed: Result: hostbyte=0x04 driverbyte=DRIVEROK ... [ 123.998998] INFO: task kworker/u192:1:642 blocked for more than 30 seconds. [ 124.005960] Not tainted 6.0.0-rc1-205202-gf26f8f761e83 #218 [ 124.012049] "echo 0 > /proc/sys/kernel/hungtasktimeoutsecs" disables this message. [ 124.019872] task:kworker/u192:1 state:D stack:0 pid: 642 ppid: 2 flags:0x00000008 [ 124.028223] Workqueue: 0000:04:00.0eventq sasporteventworker [ 124.034319] Call trace: [ 124.036758] _switchto+0x128/0x278 [ 124.040333] _schedule+0x434/0xa58 [ 124.043820] schedule+0x94/0x138 [ 124.047045] scheduletimeout+0x2fc/0x368 [ 124.051052] waitforcompletion+0xdc/0x200 [ 124.055234] _flushworkqueue+0x1a8/0x708 [ 124.059328] sasportebroadcastrcvd+0xa8/0xc0 [ 124.063858] sasporteventworker+0x60/0x98 [ 124.068126] processonework+0x3f8/0x660 [ 124.072134] workerthread+0x70/0x700 [ 124.075793] kthread+0x1a4/0x1b8 [ 124.079014] retfromfork+0x10/0x20 The issue is that the per-device runningreq read in pm8001devgonenotify() never goes to zero and we never make progress. This is caused by missing accounting for runningreq for when an internal abort command completes. In commit 2cbbf489778e ("scsi: pm8001: Use libsas internal abort support") we started to send internal abort commands as a proper sastask. In this when we deliver a sastask to HW the per-device runningreq is incremented in pm8001queuecommand(). However it is never decremented for internal abort commnds, so decrement in pm8001mpitaskabortresp().

References

Affected packages

Debian:12 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.0.3-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Database specific

source

"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2022-50818.json"

Debian:13 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.0.3-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Database specific

source

"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2022-50818.json"

Debian:14 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.0.3-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Database specific

source

"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2022-50818.json"