Re: [PATCH 2/3] debugfs: move to new kstrtobool function

From: Jonathan Cameron
Date: Thu Mar 24 2011 - 06:52:36 EST


On 03/23/11 20:20, Ryan Mallon wrote:
> On 03/24/2011 02:39 AM, Jonathan Cameron wrote:
>> No functional changes requires that we eat errors from
>> kstrtobool. Note *val is still only updated if a valid
>> input is found.
>>
>> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxx>
>> ---
>> fs/debugfs/file.c | 19 ++++++-------------
>> 1 files changed, 6 insertions(+), 13 deletions(-)
>>
>> diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c
>> index 89d394d..fed4485 100644
>> --- a/fs/debugfs/file.c
>> +++ b/fs/debugfs/file.c
>> @@ -429,25 +429,18 @@ static ssize_t write_file_bool(struct file *file, const char __user *user_buf,
>> {
>> char buf[32];
>> int buf_size;
>> + int ret;
>> + bool bv;
>> u32 *val = file->private_data;
>>
>> buf_size = min(count, (sizeof(buf)-1));
>> if (copy_from_user(buf, user_buf, buf_size))
>> return -EFAULT;
>>
>> - switch (buf[0]) {
>> - case 'y':
>> - case 'Y':
>> - case '1':
>> - *val = 1;
>> - break;
>> - case 'n':
>> - case 'N':
>> - case '0':
>> - *val = 0;
>> - break;
>> - }
>> -
>> + ret = kstrtobool(buf, &bv);
>> + if (!ret)
>> + *val = bv;
>> +
>> return count;
>
> Shouldn't this be:
>
> ret = kstrtobool(buf, &bv);
> if (ret)
> return ret;
>
> *val = bv;
> return count;
>
That is indeed what one would normally expect to see.
However, I think we want to maintain what is already happening in
the function and previously it never returned an error for
an invalid value.

Now that's not to say I'd be against a 'fix' for that issue, but
it should be in a separate patch series as it has nothing to do
with the use of this new function.

Jonathan


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/