In the Linux kernel, the following vulnerability has been resolved:
drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool
cpswethtoolbegin directly returns the result of pmruntimegetsync when successful. pmruntimegetsync returns -error code on failure and 0 on successful resume but also 1 when the device is already active. So the common case for cpswethtoolbegin is to return 1. That leads to inconsistent calls to pmruntimeput in the call-chain so that pmruntimeput 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 pmruntimeresumeandget function.