wifi: ath11k: use kstrtoul_from_user() where appropriate
authorDmitry Antipov <dmantipov@yandex.ru>
Thu, 21 Sep 2023 08:16:57 +0000 (11:16 +0300)
committerKalle Valo <quic_kvalo@quicinc.com>
Thu, 28 Sep 2023 14:18:15 +0000 (17:18 +0300)
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

index 705868198df4bc7d7b2e5a15470c4b341c52fd42..51d0c4a56b93f58ec0139b073032d3e6eb5d9142 100644 (file)
@@ -382,16 +382,11 @@ static ssize_t ath11k_write_file_spectral_count(struct file *file,
 {
        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;
@@ -437,16 +432,11 @@ static ssize_t ath11k_write_file_spectral_bins(struct file *file,
 {
        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)