mirror of https://gitee.com/openkylin/linux.git
[PATCH] Check return value of copy_to_user in compat_sys_pselect7
Fix linux/fs/compat.c: In function compat_sys_pselect7 linux/fs/compat.c:1869: warning: ignoring return value of copy_to_user, declared with attribute warn_unused_result To make it easier to handle I changed to semantics to not try to write out a timespec if an error occurred. I hope that's ok. Cc: dwmw2@infradead.org Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
parent
95912008ba
commit
758333458a
|
@ -1855,7 +1855,7 @@ asmlinkage long compat_sys_pselect7(int n, compat_ulong_t __user *inp,
|
|||
|
||||
} while (!ret && !timeout && tsp && (ts.tv_sec || ts.tv_nsec));
|
||||
|
||||
if (tsp && !(current->personality & STICKY_TIMEOUTS)) {
|
||||
if (ret == 0 && tsp && !(current->personality & STICKY_TIMEOUTS)) {
|
||||
struct compat_timespec rts;
|
||||
|
||||
rts.tv_sec = timeout / HZ;
|
||||
|
@ -1866,7 +1866,8 @@ asmlinkage long compat_sys_pselect7(int n, compat_ulong_t __user *inp,
|
|||
}
|
||||
if (compat_timespec_compare(&rts, &ts) >= 0)
|
||||
rts = ts;
|
||||
copy_to_user(tsp, &rts, sizeof(rts));
|
||||
if (copy_to_user(tsp, &rts, sizeof(rts)))
|
||||
ret = -EFAULT;
|
||||
}
|
||||
|
||||
if (ret == -ERESTARTNOHAND) {
|
||||
|
|
Loading…
Reference in New Issue