mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
tools/cpupower: Fix incorrect size in cpuidle_state_disable()
Fix incorrect size parameter passed to cpuidle_state_write_file() in cpuidle_state_disable(). The function was incorrectly using sizeof(disable) which returns the size of the unsigned int variable (4 bytes) instead of the actual length of the string stored in the 'value' buffer. Since 'value' is populated with snprintf() to contain the string representation of the disable value, we should use the length returned by snprintf() to get the correct string length for writing to the sysfs file. This ensures the correct number of bytes is written to the cpuidle state disable file in sysfs. Link: https://lore.kernel.org/r/20250917050820.1785377-1-kaushlendra.kumar@intel.com Signed-off-by: Kaushlendra Kumar <kaushlendra.kumar@intel.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
57b100d4cf
commit
23199d2aa6
|
|
@ -233,6 +233,7 @@ int cpuidle_state_disable(unsigned int cpu,
|
|||
{
|
||||
char value[SYSFS_PATH_MAX];
|
||||
int bytes_written;
|
||||
int len;
|
||||
|
||||
if (cpuidle_state_count(cpu) <= idlestate)
|
||||
return -1;
|
||||
|
|
@ -241,10 +242,10 @@ int cpuidle_state_disable(unsigned int cpu,
|
|||
idlestate_value_files[IDLESTATE_DISABLE]))
|
||||
return -2;
|
||||
|
||||
snprintf(value, SYSFS_PATH_MAX, "%u", disable);
|
||||
len = snprintf(value, SYSFS_PATH_MAX, "%u", disable);
|
||||
|
||||
bytes_written = cpuidle_state_write_file(cpu, idlestate, "disable",
|
||||
value, sizeof(disable));
|
||||
value, len);
|
||||
if (bytes_written)
|
||||
return 0;
|
||||
return -3;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user