Skip to content

y2038: Make ppoll, io_pgetevents and pselect y2038 safe

Deepa Dinamani linux-api linux-fsdevel lkml 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest5 patches 1 replyIn review
  2. v35 patches 2 repliesSuperseded
  3. v25 patches 4 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v15 patches3 repliesSuperseded

Changes in v4 from the cover letter

* fixed pselect copy+paste error

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5signal: Add set_user_sigmask()fs/aio.c fs/eventpoll.c fs/select.c +3 more+76 -700 replies
2/5signal: Add restore_user_sigmask()fs/aio.c fs/eventpoll.c fs/select.c +2 more+51 -1030 replies
3/5ppoll: use __kernel_timespecfs/select.c include/linux/compat.h include/linux/syscalls.h+120 -560 replies
4/5pselect6: use __kernel_timespecfs/select.c include/linux/compat.h include/linux/syscalls.h+90 -140 replies
5/5io_pgetevents: use __kernel_timespecfs/aio.c include/linux/compat.h include/linux/syscalls.h+95 -50 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.

Read the v4 thread

Cover letter [PATCH v4 0/5] y2038: Make ppoll, io_pgetevents and pselect y2038 safe

The series transitions the ppoll, io_getevents, and pselect syscalls to be y2038 safe.

This is part of the work proceeding for syscalls for y2038. It is based on the series [1] from Arnd Bergmann.

The overview of the series is as below:
1. Refactor sigmask handling logic for the above syscalls.
2. Provide y2038 safe versions of the syscalls for all ABIs.

[1] https://lkml.org/lkml/2018/8/27/651

Changes since v3:
* fixed pselect copy+paste error
Changes since v2:
* remove 64BIT_TIME conditional for ppoll, pselect, io_getpevents as per review comments
Changes since v1:
* fixed bug pointed out by arnd

Deepa Dinamani (5):
signal: Add set_user_sigmask()
signal: Add restore_user_sigmask()
ppoll: use __kernel_timespec
pselect6: use __kernel_timespec
io_pgetevents: use __kernel_timespec

 fs/aio.c                 | 134 ++++++++++-----
 fs/eventpoll.c           |  52 +-----
 fs/select.c              | 360 ++++++++++++++++++++++-----------------
 include/linux/compat.h   |  20 +++
 include/linux/signal.h   |   4 +
 include/linux/syscalls.h |  20 ++-
 kernel/signal.c          |  78 +++++++++
 7 files changed, 426 insertions(+), 242 deletions(-)
Signature · 1 line
2.17.1