mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 09:02:21 -04:00
ipmi: ssif_bmc: fix missing check for copy_to_user() partial failure
copy_to_user() returns the number of bytes that could not be copied,
with a non-zero value indicating a partial or complete failure. The
current code only checks for negative return values and treats all
non-negative results as success.
Treating any positive return value from copy_to_user() as
an error and returning -EFAULT.
Fixes: dd2bc5cc9e ("ipmi: ssif_bmc: Add SSIF BMC driver")
Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>
Message-ID: <20260403090603.3988423-2-zhangjian.3032@bytedance.com>
Signed-off-by: Corey Minyard <corey@minyard.net>
This commit is contained in:
committed by
Corey Minyard
parent
7fc3e2546c
commit
ea641be7a4
@@ -163,6 +163,8 @@ static ssize_t ssif_bmc_read(struct file *file, char __user *buf, size_t count,
|
||||
spin_unlock_irqrestore(&ssif_bmc->lock, flags);
|
||||
|
||||
ret = copy_to_user(buf, &msg, count);
|
||||
if (ret > 0)
|
||||
ret = -EFAULT;
|
||||
}
|
||||
|
||||
return (ret < 0) ? ret : count;
|
||||
|
||||
Reference in New Issue
Block a user