[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1614600349-15662-1-git-send-email-wangqing@vivo.com>
Date: Mon, 1 Mar 2021 20:05:48 +0800
From: Wang Qing <wangqing@...o.com>
To: Vineet Gupta <vgupta@...opsys.com>, Jens Axboe <axboe@...nel.dk>,
Wang Qing <wangqing@...o.com>,
Thomas Gleixner <tglx@...utronix.de>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>,
linux-snps-arc@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: [PATCH] arc: kernel: Return -EFAULT if copy_to_user() fails
The copy_to_user() function returns the number of bytes remaining to be
copied, but we want to return -EFAULT if the copy doesn't complete.
Signed-off-by: Wang Qing <wangqing@...o.com>
---
arch/arc/kernel/signal.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arc/kernel/signal.c b/arch/arc/kernel/signal.c
index a78d8f7..fdbe06c
--- a/arch/arc/kernel/signal.c
+++ b/arch/arc/kernel/signal.c
@@ -96,7 +96,7 @@ stash_usr_regs(struct rt_sigframe __user *sf, struct pt_regs *regs,
sizeof(sf->uc.uc_mcontext.regs.scratch));
err |= __copy_to_user(&sf->uc.uc_sigmask, set, sizeof(sigset_t));
- return err;
+ return err ? -EFAULT : 0;
}
static int restore_usr_regs(struct pt_regs *regs, struct rt_sigframe __user *sf)
@@ -110,7 +110,7 @@ static int restore_usr_regs(struct pt_regs *regs, struct rt_sigframe __user *sf)
&(sf->uc.uc_mcontext.regs.scratch),
sizeof(sf->uc.uc_mcontext.regs.scratch));
if (err)
- return err;
+ return -EFAULT;
set_current_blocked(&set);
regs->bta = uregs.scratch.bta;
--
2.7.4
Powered by blists - more mailing lists