Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f52b31ec authored by Dan Carpenter's avatar Dan Carpenter Committed by Greg Kroah-Hartman
Browse files

wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c()



[ Upstream commit b88d28146c30a8e14f0f012d56ebf19b68a348f4 ]

If the copy_from_user() fails or the user gives invalid date then the
correct thing to do is to return a negative error code.  (Currently it
returns success).

I made a copy additional related cleanups:
1) There is no need to check "buffer" for NULL.  That's handled by
copy_from_user().
2) The "h2c_len" variable cannot be negative because it is unsigned
and because sscanf() does not return negative error codes.

Fixes: 610247f4 ("rtlwifi: Improve debugging by using debugfs")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/YoOLnDkHgVltyXK7@kili


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent c59876f8
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -349,8 +349,8 @@ static ssize_t rtl_debugfs_set_write_h2c(struct file *filp,

	tmp_len = (count > sizeof(tmp) - 1 ? sizeof(tmp) - 1 : count);

	if (!buffer || copy_from_user(tmp, buffer, tmp_len))
		return count;
	if (copy_from_user(tmp, buffer, tmp_len))
		return -EFAULT;

	tmp[tmp_len] = '\0';

@@ -360,8 +360,8 @@ static ssize_t rtl_debugfs_set_write_h2c(struct file *filp,
			 &h2c_data[4], &h2c_data[5],
			 &h2c_data[6], &h2c_data[7]);

	if (h2c_len <= 0)
		return count;
	if (h2c_len == 0)
		return -EINVAL;

	for (i = 0; i < h2c_len; i++)
		h2c_data_packed[i] = (u8)h2c_data[i];