Bluetooth: Re-use kstrtobool_from_user()
Subsystems (2)
PATCH 1/2 Bluetooth: Re-use kstrtobool_from_user()
Re-use kstrtobool_from_user() instead of open coded variant.
Signed-off-by Andy Shevchenko <[email protected]>
--- net/bluetooth/hci_core.c | 23 +++++++---------------- net/bluetooth/hci_debugfs.c | 24 ++++++++---------------- net/bluetooth/smp.c | 12 ++++-------- 3 files changed, 19 insertions(+), 40 deletions(-)
net/bluetooth/hci_core.c +7 -16
@@ -76,19 +76,15 @@ static ssize_t dut_mode_write(struct file *file, const char __user *user_buf, {struct hci_dev *hdev = file->private_data;struct sk_buff *skb; -char buf[32 ]; -size_t buf_size =min (count, (sizeof (buf)-1 ));bool enable; +int err;if (!test_bit (HCI_UP , &hdev->flags))return -ENETDOWN ; -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_DUT_MODE ))return -EALREADY ;
@@ -135,17 +131,12 @@ static ssize_t vendor_diag_write(struct file *file, const char __user *user_buf, 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 (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;/* When the diagnostic flags are not persistent and the transport * is not active or in user channel operation, then there is no need
net/bluetooth/hci_debugfs.c +8 -16
@@ -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 ;
net/bluetooth/smp.c +4 -8
@@ -3315,16 +3315,12 @@ static ssize_t force_bredr_smp_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 (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_BREDR_SMP ))return -EALREADY ;
Signature · 1 line
2.17.0
PATCH 2/2 Bluetooth: btmrvl: Re-use kstrtol_from_user()
Re-use kstrtol_from_user() instead of open coded variant.
Signed-off-by Andy Shevchenko <[email protected]>
--- drivers/bluetooth/btmrvl_debugfs.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-)
drivers/bluetooth/btmrvl_debugfs.c +3 -21
@@ -35,15 +35,9 @@ static ssize_t btmrvl_hscfgcmd_write(struct file *file, const char __user *ubuf, size_t count, loff_t *ppos) { struct btmrvl_private *priv = file->private_data; -char buf[16 ];long result, ret; -memset (buf,0 ,sizeof (buf)); - -if (copy_from_user (&buf, ubuf,min_t (size_t,sizeof (buf) -1 , count))) -return -EFAULT ; - - ret =kstrtol (buf,10 , &result); + ret =kstrtol_from_user (ubuf, count,10 , &result);if (ret)return ret;
@@ -81,15 +75,9 @@ static ssize_t btmrvl_pscmd_write(struct file *file, const char __user *ubuf, size_t count, loff_t *ppos) { struct btmrvl_private *priv = file->private_data; -char buf[16 ];long result, ret; -memset (buf,0 ,sizeof (buf)); - -if (copy_from_user (&buf, ubuf,min_t (size_t,sizeof (buf) -1 , count))) -return -EFAULT ; - - ret =kstrtol (buf,10 , &result); + ret =kstrtol_from_user (ubuf, count,10 , &result);if (ret)return ret;
@@ -127,15 +115,9 @@ static ssize_t btmrvl_hscmd_write(struct file *file, const char __user *ubuf, size_t count, loff_t *ppos) { struct btmrvl_private *priv = file->private_data; -char buf[16 ];long result, ret; -memset (buf,0 ,sizeof (buf)); - -if (copy_from_user (&buf, ubuf,min_t (size_t,sizeof (buf) -1 , count))) -return -EFAULT ; - - ret =kstrtol (buf,10 , &result); + ret =kstrtol_from_user (ubuf, count,10 , &result);if (ret)return ret;
Signature · 1 line
2.17.0
Marcel Holtmann
maintainerRe: [PATCH v1 2/2] Bluetooth: btmrvl: Re-use kstrtol_from_user()
Hi Andy,
Quoted 6 lines
Re-use
kstrtol_from_user()instead of open coded variant.Signed-off-by Andy Shevchenko <[email protected]>---
drivers/bluetooth/btmrvl_debugfs.c| 24 +++---------------------1 file changed, 3 insertions(+), 21 deletions(-)
patch has been applied to bluetooth-next tree.
Regards
Marcel
Marcel Holtmann
maintainerHi Andy,
Quoted 8 lines
Re-use
kstrtobool_from_user()instead of open coded variant.Signed-off-by Andy Shevchenko <[email protected]>---
net/bluetooth/hci_core.c | 23 +++++++---------------- net/bluetooth/hci_debugfs.c | 24 ++++++++---------------- net/bluetooth/smp.c | 12 ++++-------- 3 files changed, 19 insertions(+), 40 deletions(-)
patch has been applied to bluetooth-next tree.
Regards
Marcel