diff mbox series

[4/5] wifi: ath11k: use kstrtoul_from_user() where appropriate

Message ID 20230824075121.121144-4-dmantipov@yandex.ru (mailing list archive)
State Accepted
Commit 458f66c30df2b8495790cf6fca76ebad44046921
Delegated to: Kalle Valo
Headers show
Series [1/5] wifi: ath11k: drop redundant check in ath11k_dp_rx_mon_dest_process() | expand

Commit Message

Dmitry Antipov Aug. 24, 2023, 7:50 a.m. UTC
Use 'kstrtoul_from_user()' in 'ath11k_write_file_spectral_count()'
and 'ath11k_write_file_spectral_bins()'

Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
---
 drivers/net/wireless/ath/ath11k/spectral.c | 26 +++++++---------------
 1 file changed, 8 insertions(+), 18 deletions(-)

Comments

Jeff Johnson Aug. 24, 2023, 5:46 p.m. UTC | #1
On 8/24/2023 12:50 AM, Dmitry Antipov wrote:
> 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>

> ---
>   drivers/net/wireless/ath/ath11k/spectral.c | 26 +++++++---------------
>   1 file changed, 8 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath11k/spectral.c b/drivers/net/wireless/ath/ath11k/spectral.c
> index 97eb2a457685..b5530e484507 100644
> --- a/drivers/net/wireless/ath/ath11k/spectral.c
> +++ b/drivers/net/wireless/ath/ath11k/spectral.c
> @@ -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)
Kalle Valo Sept. 28, 2023, 2:25 p.m. UTC | #2
Dmitry Antipov <dmantipov@yandex.ru> wrote:

> 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>

Patch applied to ath-next branch of ath.git, thanks.

458f66c30df2 wifi: ath11k: use kstrtoul_from_user() where appropriate
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath11k/spectral.c b/drivers/net/wireless/ath/ath11k/spectral.c
index 97eb2a457685..b5530e484507 100644
--- a/drivers/net/wireless/ath/ath11k/spectral.c
+++ b/drivers/net/wireless/ath/ath11k/spectral.c
@@ -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)