lib: cleanup kstrto*() usage

Use proper conversion functions.  kstrto*() variants exist for all
standard types.

Link: https://lkml.kernel.org/r/20201122123410.GB92364@localhost.localdomain
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Alexey Dobriyan 2020-12-15 20:44:00 -08:00 committed by Linus Torvalds
parent d58b0b1a41
commit 506dfc9906
2 changed files with 13 additions and 22 deletions

View file

@ -364,18 +364,15 @@ static ssize_t test_dev_config_show_int(char *buf, int val)
static int test_dev_config_update_u8(const char *buf, size_t size, u8 *cfg)
{
u8 val;
int ret;
long new;
ret = kstrtol(buf, 10, &new);
ret = kstrtou8(buf, 10, &val);
if (ret)
return ret;
if (new > U8_MAX)
return -EINVAL;
mutex_lock(&test_fw_mutex);
*(u8 *)cfg = new;
*(u8 *)cfg = val;
mutex_unlock(&test_fw_mutex);
/* Always return full write size even if we didn't consume all */

View file

@ -877,20 +877,17 @@ static int test_dev_config_update_uint_sync(struct kmod_test_device *test_dev,
int (*test_sync)(struct kmod_test_device *test_dev))
{
int ret;
unsigned long new;
unsigned int val;
unsigned int old_val;
ret = kstrtoul(buf, 10, &new);
ret = kstrtouint(buf, 10, &val);
if (ret)
return ret;
if (new > UINT_MAX)
return -EINVAL;
mutex_lock(&test_dev->config_mutex);
old_val = *config;
*(unsigned int *)config = new;
*(unsigned int *)config = val;
ret = test_sync(test_dev);
if (ret) {
@ -914,18 +911,18 @@ static int test_dev_config_update_uint_range(struct kmod_test_device *test_dev,
unsigned int min,
unsigned int max)
{
unsigned int val;
int ret;
unsigned long new;
ret = kstrtoul(buf, 10, &new);
ret = kstrtouint(buf, 10, &val);
if (ret)
return ret;
if (new < min || new > max)
if (val < min || val > max)
return -EINVAL;
mutex_lock(&test_dev->config_mutex);
*config = new;
*config = val;
mutex_unlock(&test_dev->config_mutex);
/* Always return full write size even if we didn't consume all */
@ -936,18 +933,15 @@ static int test_dev_config_update_int(struct kmod_test_device *test_dev,
const char *buf, size_t size,
int *config)
{
int val;
int ret;
long new;
ret = kstrtol(buf, 10, &new);
ret = kstrtoint(buf, 10, &val);
if (ret)
return ret;
if (new < INT_MIN || new > INT_MAX)
return -EINVAL;
mutex_lock(&test_dev->config_mutex);
*config = new;
*config = val;
mutex_unlock(&test_dev->config_mutex);
/* Always return full write size even if we didn't consume all */
return size;