diff options
Diffstat (limited to 'fs/debugfs')
| -rw-r--r-- | fs/debugfs/file.c | 19 | 
1 files changed, 5 insertions, 14 deletions
diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c index 89d394d8fe24..90f76575c056 100644 --- a/fs/debugfs/file.c +++ b/fs/debugfs/file.c @@ -428,26 +428,17 @@ static ssize_t write_file_bool(struct file *file, const char __user *user_buf,  			       size_t count, loff_t *ppos)  {  	char buf[32]; -	int buf_size; +	size_t buf_size; +	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; -	} -	 +	if (strtobool(buf, &bv) == 0) +		*val = bv; +  	return count;  }  |