CVE-2026-97589

Summary

In the Linux kernel, the following vulnerability has been resolved:

s390/crypto: Fix wrong return code to engine in asynch callbacks

When crypto_finalize_hash_request() or crypto_finalize_skcipher_request() explicitly completes a request, the do_one_request callback must return 0 to indicate successful handling. Returning a negative error code causes the crypto engine to assume the driver failed to take ownership and triggers a second completion via crypto_request_complete(), resulting in a double completion. This pattern occurs in paes_s390.c 4 times and once in phmac_s390.c.

Fixed in phmac_do_one_request() and all four paes do_one_request callbacks (ecb, cbc, ctr, xts) by returning 0 after explicit finalization instead of propagating the error code.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux6cd87cb5ef6ca50ae17c371482ceaab1d635e232 < 972e0d9b7d1d112240ccde1f1be85bf9ffaa1720affected
LinuxLinux6cd87cb5ef6ca50ae17c371482ceaab1d635e232 < 5480291aa848e19e61175abfd457933516db70c6affected
LinuxLinux6cd87cb5ef6ca50ae17c371482ceaab1d635e232 < ac1481320110b803ab9b79ab4d2ca11a74fc05f2affected
LinuxLinux6.16affected
LinuxLinux0 < 6.16unaffected
LinuxLinux6.18.53 <= 6.18.*unaffected
LinuxLinux7.2.7 <= 7.2.*unaffected
LinuxLinux7.3-rc3 <= *unaffected

Weaknesses

References