aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/ath11k/0021-wifi-ath11k-use-kstrtoul_from_user-where-appropriate.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/ath11k/0021-wifi-ath11k-use-kstrtoul_from_user-where-appropriate.patch')
-rw-r--r--package/kernel/mac80211/patches/ath11k/0021-wifi-ath11k-use-kstrtoul_from_user-where-appropriate.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/ath11k/0021-wifi-ath11k-use-kstrtoul_from_user-where-appropriate.patch b/package/kernel/mac80211/patches/ath11k/0021-wifi-ath11k-use-kstrtoul_from_user-where-appropriate.patch
new file mode 100644
index 00000000000..7a6b11b6d3f
--- /dev/null
+++ b/package/kernel/mac80211/patches/ath11k/0021-wifi-ath11k-use-kstrtoul_from_user-where-appropriate.patch
@@ -0,0 +1,60 @@
+From 458f66c30df2b8495790cf6fca76ebad44046921 Mon Sep 17 00:00:00 2001
+From: Dmitry Antipov <dmantipov@yandex.ru>
+Date: Thu, 21 Sep 2023 11:16:57 +0300
+Subject: [PATCH] wifi: ath11k: use kstrtoul_from_user() where appropriate
+
+Use 'kstrtoul_from_user()' in 'ath11k_write_file_spectral_count()'
+and 'ath11k_write_file_spectral_bins()'
+
+Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
+Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
+Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
+Link: https://lore.kernel.org/r/20230824075121.121144-4-dmantipov@yandex.ru
+---
+ drivers/net/wireless/ath/ath11k/spectral.c | 26 +++++++---------------
+ 1 file changed, 8 insertions(+), 18 deletions(-)
+
+--- a/drivers/net/wireless/ath/ath11k/spectral.c
++++ b/drivers/net/wireless/ath/ath11k/spectral.c
+@@ -386,16 +386,11 @@ static ssize_t ath11k_write_file_spectra
+ {
+ struct ath11k *ar = file->private_data;
+ unsigned long val;
+- char buf[32];
+- ssize_t len;
+-
+- len = min(count, sizeof(buf) - 1);
+- if (copy_from_user(buf, user_buf, len))
+- return -EFAULT;
++ ssize_t ret;
+
+- buf[len] = '\0';
+- if (kstrtoul(buf, 0, &val))
+- return -EINVAL;
++ ret = kstrtoul_from_user(user_buf, count, 0, &val);
++ if (ret)
++ return ret;
+
+ if (val > ATH11K_SPECTRAL_SCAN_COUNT_MAX)
+ return -EINVAL;
+@@ -441,16 +436,11 @@ static ssize_t ath11k_write_file_spectra
+ {
+ struct ath11k *ar = file->private_data;
+ unsigned long val;
+- char buf[32];
+- ssize_t len;
+-
+- len = min(count, sizeof(buf) - 1);
+- if (copy_from_user(buf, user_buf, len))
+- return -EFAULT;
++ ssize_t ret;
+
+- buf[len] = '\0';
+- if (kstrtoul(buf, 0, &val))
+- return -EINVAL;
++ ret = kstrtoul_from_user(user_buf, count, 0, &val);
++ if (ret)
++ return ret;
+
+ if (val < ATH11K_SPECTRAL_MIN_BINS ||
+ val > ar->ab->hw_params.spectral.max_fft_bins)