diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 22:20:35 +0300 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 22:20:35 +0300 | 
| commit | 7731b8bc94e599c9a79e428f3359ff2c34b7576a (patch) | |
| tree | 879f18ccbe274122f2d4f095b43cbc7f953e0ada /net/bluetooth/hci_debugfs.c | |
| parent | 48e315618dc4dc8904182cd221e3d395d5d97005 (diff) | |
| parent | 9ffc59d57228d74809700be6f7ecb1db10292f05 (diff) | |
| download | linux-7731b8bc94e599c9a79e428f3359ff2c34b7576a.tar.xz | |
Merge branch 'linus' into x86/urgent
Required to queue a dependent fix.
Diffstat (limited to 'net/bluetooth/hci_debugfs.c')
| -rw-r--r-- | net/bluetooth/hci_debugfs.c | 24 | 
1 files changed, 8 insertions, 16 deletions
diff --git a/net/bluetooth/hci_debugfs.c b/net/bluetooth/hci_debugfs.c index 418b76e557b0..0d8ab5b3c177 100644 --- a/net/bluetooth/hci_debugfs.c +++ b/net/bluetooth/hci_debugfs.c @@ -47,19 +47,15 @@ static ssize_t __name ## _write(struct file *file,			      \  				 size_t count, loff_t *ppos)		      \  {									      \  	struct hci_dev *hdev = file->private_data;			      \ -	char buf[32];							      \ -	size_t buf_size = min(count, (sizeof(buf) - 1));		      \  	bool enable;							      \ +	int err;							      \  									      \  	if (test_bit(HCI_UP, &hdev->flags))				      \  		return -EBUSY;						      \  									      \ -	if (copy_from_user(buf, user_buf, buf_size))			      \ -		return -EFAULT;						      \ -									      \ -	buf[buf_size] = '\0';						      \ -	if (strtobool(buf, &enable))					      \ -		return -EINVAL;						      \ +	err = kstrtobool_from_user(user_buf, count, &enable);		      \ +	if (err)							      \ +		return err;						      \  									      \  	if (enable == test_bit(__quirk, &hdev->quirks))			      \  		return -EALREADY;					      \ @@ -658,19 +654,15 @@ static ssize_t force_static_address_write(struct file *file,  					  size_t count, loff_t *ppos)  {  	struct hci_dev *hdev = file->private_data; -	char buf[32]; -	size_t buf_size = min(count, (sizeof(buf)-1));  	bool enable; +	int err;  	if (test_bit(HCI_UP, &hdev->flags))  		return -EBUSY; -	if (copy_from_user(buf, user_buf, buf_size)) -		return -EFAULT; - -	buf[buf_size] = '\0'; -	if (strtobool(buf, &enable)) -		return -EINVAL; +	err = kstrtobool_from_user(user_buf, count, &enable); +	if (err) +		return err;  	if (enable == hci_dev_test_flag(hdev, HCI_FORCE_STATIC_ADDR))  		return -EALREADY;  | 
