{"id":69581,"date":"2025-09-05T23:32:01","date_gmt":"2025-09-05T20:02:01","guid":{"rendered":"https:\/\/afaghhosting.net\/blog\/cve-2025-39726-s390-ism-fix-concurrency-management-in-ism_cmd\/"},"modified":"2025-09-05T23:32:01","modified_gmt":"2025-09-05T20:02:01","slug":"cve-2025-39726-s390-ism-fix-concurrency-management-in-ism_cmd","status":"publish","type":"post","link":"https:\/\/afaghhosting.net\/blog\/cve-2025-39726-s390-ism-fix-concurrency-management-in-ism_cmd\/","title":{"rendered":"CVE-2025-39726 &#8211; s390\/ism: fix concurrency management in ism_cmd()"},"content":{"rendered":"<p><strong>CVE ID : <\/strong>CVE-2025-39726<br \/>\n<br \/>\n<strong>Published : <\/strong> Sept. 5, 2025, 6:15 p.m. | 1\u00a0hour ago<br \/>\n<br \/>\n<strong>Description : <\/strong>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>s390\/ism: fix concurrency management in ism_cmd()<\/p>\n<p>The s390x ISM device data sheet clearly states that only one<br \/>\nrequest-response sequence is allowable per ISM function at any point in<br \/>\ntime.  Unfortunately as of today the s390\/ism driver in Linux does not<br \/>\nhonor that requirement. This patch aims to rectify that.<\/p>\n<p>This problem was discovered based on Aliaksei&#8217;s bug report which states<br \/>\nthat for certain workloads the ISM functions end up entering error state<br \/>\n(with PEC 2 as seen from the logs) after a while and as a consequence<br \/>\nconnections handled by the respective function break, and for future<br \/>\nconnection requests the ISM device is not considered &#8212; given it is in a<br \/>\ndysfunctional state. During further debugging PEC 3A was observed as<br \/>\nwell.<\/p>\n<p>A kernel message like<br \/>\n[ 1211.244319] zpci: 061a:00:00.0: Event 0x2 reports an error for PCI function 0x61a<br \/>\nis a reliable indicator of the stated function entering error state<br \/>\nwith PEC 2. Let me also point out that a kernel message like<br \/>\n[ 1211.244325] zpci: 061a:00:00.0: The ism driver bound to the device does not support error recovery<br \/>\nis a reliable indicator that the ISM function won&#8217;t be auto-recovered<br \/>\nbecause the ISM driver currently lacks support for it.<\/p>\n<p>On a technical level, without this synchronization, commands (inputs to<br \/>\nthe FW) may be partially or fully overwritten (corrupted) by another CPU<br \/>\ntrying to issue commands on the same function. There is hard evidence that<br \/>\nthis can lead to DMB token values being used as DMB IOVAs, leading to<br \/>\nPEC 2 PCI events indicating invalid DMA. But this is only one of the<br \/>\nfailure modes imaginable. In theory even completely losing one command<br \/>\nand executing another one twice and then trying to interpret the outputs<br \/>\nas if the command we intended to execute was actually executed and not<br \/>\nthe other one is also possible.  Frankly, I don&#8217;t feel confident about<br \/>\nproviding an exhaustive list of possible consequences.<br \/>\n<br \/>\n<strong>Severity:<\/strong> 0.0 | NA<br \/>\n<br \/>\nVisit the link for more details, such as CVSS details, affected products, timeline, and more&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CVE ID : CVE-2025-39726 Published : Sept. 5, 2025, 6:15 p.m. | 1\u00a0hour ago Description : In the Linux kernel, the following vulnerability has been resolved: s390\/ism: fix concurrency management in ism_cmd() The s390x ISM device data sheet clearly states that only one request-response sequence is allowable per ISM function at any point in time. &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-69581","post","type-post","status-publish","format-standard","hentry","category-vulnerability"],"_links":{"self":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/69581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/comments?post=69581"}],"version-history":[{"count":0,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/posts\/69581\/revisions"}],"wp:attachment":[{"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/media?parent=69581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/categories?post=69581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afaghhosting.net\/blog\/wp-json\/wp\/v2\/tags?post=69581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}