summaryrefslogtreecommitdiffstats
path: root/fs/select.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/select.c')
-rw-r--r--fs/select.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/fs/select.c b/fs/select.c
index 4a6b6e4b21cb..22b3bf89f051 100644
--- a/fs/select.c
+++ b/fs/select.c
@@ -1120,7 +1120,7 @@ int compat_poll_select_copy_remaining(struct timespec64 *end_time, void __user *
1120 ts.tv_sec = ts.tv_nsec = 0; 1120 ts.tv_sec = ts.tv_nsec = 0;
1121 1121
1122 if (timeval) { 1122 if (timeval) {
1123 struct compat_timeval rtv; 1123 struct old_timeval32 rtv;
1124 1124
1125 rtv.tv_sec = ts.tv_sec; 1125 rtv.tv_sec = ts.tv_sec;
1126 rtv.tv_usec = ts.tv_nsec / NSEC_PER_USEC; 1126 rtv.tv_usec = ts.tv_nsec / NSEC_PER_USEC;
@@ -1128,7 +1128,7 @@ int compat_poll_select_copy_remaining(struct timespec64 *end_time, void __user *
1128 if (!copy_to_user(p, &rtv, sizeof(rtv))) 1128 if (!copy_to_user(p, &rtv, sizeof(rtv)))
1129 return ret; 1129 return ret;
1130 } else { 1130 } else {
1131 if (!compat_put_timespec64(&ts, p)) 1131 if (!put_old_timespec32(&ts, p))
1132 return ret; 1132 return ret;
1133 } 1133 }
1134 /* 1134 /*
@@ -1257,10 +1257,10 @@ out_nofds:
1257 1257
1258static int do_compat_select(int n, compat_ulong_t __user *inp, 1258static int do_compat_select(int n, compat_ulong_t __user *inp,
1259 compat_ulong_t __user *outp, compat_ulong_t __user *exp, 1259 compat_ulong_t __user *outp, compat_ulong_t __user *exp,
1260 struct compat_timeval __user *tvp) 1260 struct old_timeval32 __user *tvp)
1261{ 1261{
1262 struct timespec64 end_time, *to = NULL; 1262 struct timespec64 end_time, *to = NULL;
1263 struct compat_timeval tv; 1263 struct old_timeval32 tv;
1264 int ret; 1264 int ret;
1265 1265
1266 if (tvp) { 1266 if (tvp) {
@@ -1282,7 +1282,7 @@ static int do_compat_select(int n, compat_ulong_t __user *inp,
1282 1282
1283COMPAT_SYSCALL_DEFINE5(select, int, n, compat_ulong_t __user *, inp, 1283COMPAT_SYSCALL_DEFINE5(select, int, n, compat_ulong_t __user *, inp,
1284 compat_ulong_t __user *, outp, compat_ulong_t __user *, exp, 1284 compat_ulong_t __user *, outp, compat_ulong_t __user *, exp,
1285 struct compat_timeval __user *, tvp) 1285 struct old_timeval32 __user *, tvp)
1286{ 1286{
1287 return do_compat_select(n, inp, outp, exp, tvp); 1287 return do_compat_select(n, inp, outp, exp, tvp);
1288} 1288}
@@ -1307,7 +1307,7 @@ COMPAT_SYSCALL_DEFINE1(old_select, struct compat_sel_arg_struct __user *, arg)
1307 1307
1308static long do_compat_pselect(int n, compat_ulong_t __user *inp, 1308static long do_compat_pselect(int n, compat_ulong_t __user *inp,
1309 compat_ulong_t __user *outp, compat_ulong_t __user *exp, 1309 compat_ulong_t __user *outp, compat_ulong_t __user *exp,
1310 struct compat_timespec __user *tsp, compat_sigset_t __user *sigmask, 1310 struct old_timespec32 __user *tsp, compat_sigset_t __user *sigmask,
1311 compat_size_t sigsetsize) 1311 compat_size_t sigsetsize)
1312{ 1312{
1313 sigset_t ksigmask, sigsaved; 1313 sigset_t ksigmask, sigsaved;
@@ -1315,7 +1315,7 @@ static long do_compat_pselect(int n, compat_ulong_t __user *inp,
1315 int ret; 1315 int ret;
1316 1316
1317 if (tsp) { 1317 if (tsp) {
1318 if (compat_get_timespec64(&ts, tsp)) 1318 if (get_old_timespec32(&ts, tsp))
1319 return -EFAULT; 1319 return -EFAULT;
1320 1320
1321 to = &end_time; 1321 to = &end_time;
@@ -1355,7 +1355,7 @@ static long do_compat_pselect(int n, compat_ulong_t __user *inp,
1355 1355
1356COMPAT_SYSCALL_DEFINE6(pselect6, int, n, compat_ulong_t __user *, inp, 1356COMPAT_SYSCALL_DEFINE6(pselect6, int, n, compat_ulong_t __user *, inp,
1357 compat_ulong_t __user *, outp, compat_ulong_t __user *, exp, 1357 compat_ulong_t __user *, outp, compat_ulong_t __user *, exp,
1358 struct compat_timespec __user *, tsp, void __user *, sig) 1358 struct old_timespec32 __user *, tsp, void __user *, sig)
1359{ 1359{
1360 compat_size_t sigsetsize = 0; 1360 compat_size_t sigsetsize = 0;
1361 compat_uptr_t up = 0; 1361 compat_uptr_t up = 0;
@@ -1373,7 +1373,7 @@ COMPAT_SYSCALL_DEFINE6(pselect6, int, n, compat_ulong_t __user *, inp,
1373} 1373}
1374 1374
1375COMPAT_SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds, 1375COMPAT_SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds,
1376 unsigned int, nfds, struct compat_timespec __user *, tsp, 1376 unsigned int, nfds, struct old_timespec32 __user *, tsp,
1377 const compat_sigset_t __user *, sigmask, compat_size_t, sigsetsize) 1377 const compat_sigset_t __user *, sigmask, compat_size_t, sigsetsize)
1378{ 1378{
1379 sigset_t ksigmask, sigsaved; 1379 sigset_t ksigmask, sigsaved;
@@ -1381,7 +1381,7 @@ COMPAT_SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds,
1381 int ret; 1381 int ret;
1382 1382
1383 if (tsp) { 1383 if (tsp) {
1384 if (compat_get_timespec64(&ts, tsp)) 1384 if (get_old_timespec32(&ts, tsp))
1385 return -EFAULT; 1385 return -EFAULT;
1386 1386
1387 to = &end_time; 1387 to = &end_time;