OSDN Git Service

scsi: ufs: Fix off-by-one bug in ufs debugfs driver
authorSayali Lokhande <sayalil@codeaurora.org>
Fri, 17 Nov 2017 04:57:18 +0000 (10:27 +0530)
committerSayali Lokhande <sayalil@codeaurora.org>
Tue, 21 Nov 2017 03:04:42 +0000 (08:34 +0530)
When getting string from userspace by simple_write_to_buffer
in ufs_qcom_dbg_testbus_cfg_write() function, null byte may
be written out of bounds of configuration buffer if return
value is same as size of buffer, causing off-by-one bug.
This change passes correct available size of configuration
buffer to simple_write_to_buffer function.

Change-Id: If6085e806aa34622a9a57b02f563869c51011d2f
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
drivers/scsi/ufs/ufs-qcom-debugfs.c

index 494ecd1..db4ecec 100644 (file)
@@ -121,7 +121,8 @@ static ssize_t ufs_qcom_dbg_testbus_cfg_write(struct file *file,
        struct ufs_hba *hba = host->hba;
 
 
-       ret = simple_write_to_buffer(configuration, TESTBUS_CFG_BUFF_LINE_SIZE,
+       ret = simple_write_to_buffer(configuration,
+               TESTBUS_CFG_BUFF_LINE_SIZE - 1,
                &buff_pos, ubuf, cnt);
        if (ret < 0) {
                dev_err(host->hba->dev, "%s: failed to read user data\n",