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(-)
--
2.17.1
The purpose of this patch series is, we can easily
add/modify/delete system call table support by cha-
nging entry in syscall.tbl file instead of manually
changing many files. The other goal is to unify the
system call table generation support implementation
across all the architectures.
The system call tables are in different format in
all architecture. It will be difficult to manually
add, modify or delete the system calls in the resp-
ective files manually. To make it easy by keeping a
script and which'll generate uapi header file and
syscall table file.
syscall.tbl contains the list of available system
calls along with system call number and correspond-
ing entry point. Add a new system call in this arch-
itecture will be possible by adding new entry in
the syscall.tbl file.
Adding a new table entry consisting of:
- System call number.
- ABI.
- System call name.
- Entry point name.
- Compat entry name, if required.
- spu entry name, if required.
ARM, s390 and x86 architecuture does exist the sim-
ilar support. I leverage their implementation to
come up with a generic solution.
I have done the same support for work for alpha,
ia64, m68k, microblaze, mips, parisc, sh, sparc,
and xtensa. Below mentioned git repository contains
more details about the workflow.
https://github.com/frzkhn/system_call_table_generator/
Finally, this is the ground work to solve the Y2038
issue. We need to add two dozen of system calls to
solve Y2038 issue. So this patch series will help to
add new system calls easily by adding new entry in the
syscall.tbl.
changes since v2:
- modified/optimized the syscall.tbl to avoid duplicate
for the spu entries.
- updated the syscalltbl.sh to meet the above point.
changes since v1:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall_*.tbl.
- changed from generic-y to generated-y in Kbuild.
Firoz Khan (4):
powerpc: add __NR_syscalls along with NR_syscalls
powerpc: move macro definition from asm/systbl.h
powerpc: add system call table generation support
powerpc: generate uapi header and system call table files
arch/powerpc/Makefile | 3 +
arch/powerpc/include/asm/Kbuild | 4 +
arch/powerpc/include/asm/systbl.h | 396 --------------------------
arch/powerpc/include/asm/unistd.h | 3 +-
arch/powerpc/include/uapi/asm/Kbuild | 2 +
arch/powerpc/include/uapi/asm/unistd.h | 389 +------------------------
arch/powerpc/kernel/Makefile | 10 -
arch/powerpc/kernel/syscalls/Makefile | 63 ++++
arch/powerpc/kernel/syscalls/syscall.tbl | 427 ++++++++++++++++++++++++++++
arch/powerpc/kernel/syscalls/syscallhdr.sh | 36 +++
arch/powerpc/kernel/syscalls/syscalltbl.sh | 36 +++
arch/powerpc/kernel/systbl.S | 37 +--
arch/powerpc/kernel/systbl_chk.c | 60 ----
arch/powerpc/platforms/cell/spu_callbacks.c | 17 +-
14 files changed, 591 insertions(+), 892 deletions(-)
delete mode 100644 arch/powerpc/include/asm/systbl.h
create mode 100644 arch/powerpc/kernel/syscalls/Makefile
create mode 100644 arch/powerpc/kernel/syscalls/syscall.tbl
create mode 100644 arch/powerpc/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/powerpc/kernel/syscalls/syscalltbl.sh
delete mode 100644 arch/powerpc/kernel/systbl_chk.c
--
1.9.1
The purpose of this patch series is, we can easily
add/modify/delete system call table support by cha-
nging entry in syscall.tbl file instead of manually
changing many files. The other goal is to unify the
system call table generation support implementation
across all the architectures.
The system call tables are in different format in
all architecture. It will be difficult to manually
add, modify or delete the system calls in the resp-
ective files manually. To make it easy by keeping a
script and which'll generate uapi header file and
syscall table file.
syscall.tbl contains the list of available system
calls along with system call number and correspond-
ing entry point. Add a new system call in this arch-
itecture will be possible by adding new entry in the
syscall.tbl file.
Adding a new table entry consisting of:
- System call number.
- ABI.
- System call name.
- Entry point name.
ARM, s390 and x86 architecuture does exist the sim-
ilar support. I leverage their implementation to
come up with a generic solution.
I have done the same support for work for alpha, ia64,
microblaze, mips, parisc, powerpc, sh, sparc and xtensa.
Below mentioned git repository contains more details
about the workflow.
https://github.com/frzkhn/system_call_table_generator/
Finally, this is the ground work to solve the Y2038
issue. We need to add two dozen of system calls to
solve Y2038 issue. So this patch series will help to
add new system calls easily by adding new entry in
the syscall.tbl.
changes since v4:
- changed from generic-y to generated-y in Kbuild.
- remove the patch "0001-m68k-rename-system-call-
table-file-name.patch".
changes since v3:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall_*.tbl.
changes since v2:
- removed __IGNORE entries which was added in v2
to suppress the warning.
- added missing new line.
changes since v1:
- enclosed __NR_sycalls macro with __KERNEL__.
Firoz Khan (3):
m68k: add __NR_syscalls along with NR_syscalls
m68k: add system call table generation support
m68k: generate uapi header and syscall table header files
arch/m68k/Makefile | 3 +
arch/m68k/include/asm/Kbuild | 1 +
arch/m68k/include/asm/unistd.h | 3 +-
arch/m68k/include/uapi/asm/Kbuild | 1 +
arch/m68k/include/uapi/asm/unistd.h | 385 +------------------------------
arch/m68k/kernel/syscalls/Makefile | 38 ++++
arch/m68k/kernel/syscalls/syscall.tbl | 389 ++++++++++++++++++++++++++++++++
arch/m68k/kernel/syscalls/syscallhdr.sh | 36 +++
arch/m68k/kernel/syscalls/syscalltbl.sh | 32 +++
arch/m68k/kernel/syscalltable.S | 387 +------------------------------
10 files changed, 507 insertions(+), 768 deletions(-)
create mode 100644 arch/m68k/kernel/syscalls/Makefile
create mode 100644 arch/m68k/kernel/syscalls/syscall.tbl
create mode 100644 arch/m68k/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/m68k/kernel/syscalls/syscalltbl.sh
--
1.9.1