CVE-2022-49192

Summary

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

drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool

cpsw_ethtool_begin directly returns the result of pm_runtime_get_sync when successful. pm_runtime_get_sync returns -error code on failure and 0 on successful resume but also 1 when the device is already active. So the common case for cpsw_ethtool_begin is to return 1. That leads to inconsistent calls to pm_runtime_put in the call-chain so that pm_runtime_put is called one too many times and as result leaving the cpsw dev behind suspended.

The suspended cpsw dev leads to an access violation later on by different parts of the cpsw driver.

Fix this by calling the return-friendly pm_runtime_resume_and_get function.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxd43c65b05b848e0b2db1a6c78b02c189da3a95b5 < 585dc196a08fccdcd1b7fcf473cf566b34c4b840affected
LinuxLinuxd43c65b05b848e0b2db1a6c78b02c189da3a95b5 < 459080fab12b23c0526026e5cedbf3fabb5457ccaffected
LinuxLinuxd43c65b05b848e0b2db1a6c78b02c189da3a95b5 < 30ad11bff021a94aff6dab1ec9236fdfd884fbffaffected
LinuxLinuxd43c65b05b848e0b2db1a6c78b02c189da3a95b5 < 2844e2434385819f674d1fb4130c308c50ba681eaffected
LinuxLinux5.15affected
LinuxLinux0 < 5.15unaffected
LinuxLinux5.15.33 <= 5.15.*unaffected
LinuxLinux5.16.19 <= 5.16.*unaffected
LinuxLinux5.17.2 <= 5.17.*unaffected
LinuxLinux5.18 <= *unaffected

Weaknesses

References