From: Hanjun Guo Date: Tue, 19 May 2020 06:25:20 +0000 (+0800) Subject: cpuidle: sysfs: Fix the overlap for showing available governors X-Git-Tag: v5.10.7~2502^2~2^2~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3f9f8daad3422809d1db47ef1ca5b1400c889f9d;p=platform%2Fkernel%2Flinux-rpi.git cpuidle: sysfs: Fix the overlap for showing available governors When showing the available governors, it's "%s " in scnprintf(), not "%s", so if the governor name has 15 characters, it will overlap with the later one, fix it by adding one more for the size. While we are at it, fix the minor coding style issue and remove the "/sizeof(char)" since sizeof(char) always equals 1. Signed-off-by: Hanjun Guo Reviewed-by: Doug Smythies Tested-by: Doug Smythies Signed-off-by: Rafael J. Wysocki --- diff --git a/drivers/cpuidle/sysfs.c b/drivers/cpuidle/sysfs.c index d3ef1d7..477b05a 100644 --- a/drivers/cpuidle/sysfs.c +++ b/drivers/cpuidle/sysfs.c @@ -35,10 +35,10 @@ static ssize_t show_available_governors(struct device *dev, mutex_lock(&cpuidle_lock); list_for_each_entry(tmp, &cpuidle_governors, governor_list) { - if (i >= (ssize_t) ((PAGE_SIZE/sizeof(char)) - - CPUIDLE_NAME_LEN - 2)) + if (i >= (ssize_t) (PAGE_SIZE - (CPUIDLE_NAME_LEN + 2))) goto out; - i += scnprintf(&buf[i], CPUIDLE_NAME_LEN, "%s ", tmp->name); + + i += scnprintf(&buf[i], CPUIDLE_NAME_LEN + 1, "%s ", tmp->name); } out: