diff options
Diffstat (limited to 'fs/select.c')
-rw-r--r-- | fs/select.c | 20 |
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 | ||
1258 | static int do_compat_select(int n, compat_ulong_t __user *inp, | 1258 | static 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 | ||
1283 | COMPAT_SYSCALL_DEFINE5(select, int, n, compat_ulong_t __user *, inp, | 1283 | COMPAT_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 | ||
1308 | static long do_compat_pselect(int n, compat_ulong_t __user *inp, | 1308 | static 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 | ||
1356 | COMPAT_SYSCALL_DEFINE6(pselect6, int, n, compat_ulong_t __user *, inp, | 1356 | COMPAT_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 | ||
1375 | COMPAT_SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds, | 1375 | COMPAT_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; |