summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorChristian Marangi <ansuelsmth@gmail.com>2023-10-24 20:30:15 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-01-31 16:18:50 -0800
commita979f56aa4b93579cf0e4265ae04d7e9300fd3e8 (patch)
tree1dfd1abea3f71be2dd0a3806545e6c465975179a /Documentation
parentc1f525a1470f87ac33244d0936e416a043a69490 (diff)
downloadlinux-riscv-a979f56aa4b93579cf0e4265ae04d7e9300fd3e8.tar.gz
linux-riscv-a979f56aa4b93579cf0e4265ae04d7e9300fd3e8.tar.bz2
linux-riscv-a979f56aa4b93579cf0e4265ae04d7e9300fd3e8.zip
PM / devfreq: Fix buffer overflow in trans_stat_show
commit 08e23d05fa6dc4fc13da0ccf09defdd4bbc92ff4 upstream. Fix buffer overflow in trans_stat_show(). Convert simple snprintf to the more secure scnprintf with size of PAGE_SIZE. Add condition checking if we are exceeding PAGE_SIZE and exit early from loop. Also add at the end a warning that we exceeded PAGE_SIZE and that stats is disabled. Return -EFBIG in the case where we don't have enough space to write the full transition table. Also document in the ABI that this function can return -EFBIG error. Link: https://lore.kernel.org/all/20231024183016.14648-2-ansuelsmth@gmail.com/ Cc: stable@vger.kernel.org Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218041 Fixes: e552bbaf5b98 ("PM / devfreq: Add sysfs node for representing frequency transition information.") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ABI/testing/sysfs-class-devfreq3
1 files changed, 3 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-class-devfreq b/Documentation/ABI/testing/sysfs-class-devfreq
index 5e6b74f30406..1e7e0bb4c14e 100644
--- a/Documentation/ABI/testing/sysfs-class-devfreq
+++ b/Documentation/ABI/testing/sysfs-class-devfreq
@@ -52,6 +52,9 @@ Description:
echo 0 > /sys/class/devfreq/.../trans_stat
+ If the transition table is bigger than PAGE_SIZE, reading
+ this will return an -EFBIG error.
+
What: /sys/class/devfreq/.../available_frequencies
Date: October 2012
Contact: Nishanth Menon <nm@ti.com>