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@xxxxxxxx> --- arch/mips/sibyte/common/sb_tbprof.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/mips/sibyte/common/sb_tbprof.c b/arch/mips/sibyte/common/sb_tbprof.c index f80d7a7..eac125f --- a/arch/mips/sibyte/common/sb_tbprof.c +++ b/arch/mips/sibyte/common/sb_tbprof.c @@ -465,7 +465,7 @@ static ssize_t sbprof_tb_read(struct file *filp, char *buf, if (err) { *offp = cur_off + cur_count - err; mutex_unlock(&sbp.lock); - return err; + return -EFAULT; } pr_debug(DEVNAME ": read from sample %d, %d bytes\n", cur_sample, cur_count); -- 2.7.4