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 ia64, m68k,
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 v2:
- changed from generic-y to generated-y in Kbuild.
- made changes in syscall.tbl for removing entry -
alpha_ni_syscall.
changes since v1:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall.tbl.
- enclosed __NR_sycalls macro with __KERNEL__.
- added missing new line.
Firoz Khan (5):
alpha: move __IGNORE* entries to non uapi header
alpha: remove CONFIG_OSF4_COMPAT flag from syscall table
alpha: add __NR_syscalls along with NR_SYSCALLS
alpha: add system call table generation support
alpha: generate uapi header and syscall table header files
arch/alpha/Makefile | 3 +
arch/alpha/include/asm/Kbuild | 2 +-
arch/alpha/include/asm/unistd.h | 23 +-
arch/alpha/include/uapi/asm/Kbuild | 1 +
arch/alpha/include/uapi/asm/unistd.h | 484 +--------------------------
arch/alpha/kernel/osf_sys.c | 9 +-
arch/alpha/kernel/syscalls/Makefile | 38 +++
arch/alpha/kernel/syscalls/syscall.tbl | 453 ++++++++++++++++++++++++++
arch/alpha/kernel/syscalls/syscallhdr.sh | 36 ++
arch/alpha/kernel/syscalls/syscalltbl.sh | 32 ++
arch/alpha/kernel/systbls.S | 542 +------------------------------
11 files changed, 596 insertions(+), 1027 deletions(-)
create mode 100644 arch/alpha/kernel/syscalls/Makefile
create mode 100644 arch/alpha/kernel/syscalls/syscall.tbl
create mode 100644 arch/alpha/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/alpha/kernel/syscalls/syscalltbl.sh
--
1.9.1
The series introduces new socket timestamps that are
y2038 safe.
The time data types used for the existing socket timestamp
options: SO_TIMESTAMP, SO_TIMESTAMPNS and SO_TIMESTAMPING
are not y2038 safe. The series introduces SO_TIMESTAMP_NEW,
SO_TIMESTAMPNS_NEW and SO_TIMESTAMPING_NEW to replace these.
These new timestamps can be used on all architectures.
The alternative considered was to extend the sys_setsockopt()
by using the flags. We did not receive any strong opinions about
either of the approaches. Hence, this was chosen, as glibc folks
preferred this.
The series does not deal with updating the internal kernel socket
calls like rxrpc to make them y2038 safe. This will be dealt
with separately.
Note that the timestamps behavior already does not match the
man page specific behavior:
SIOCGSTAMP
This ioctl should only be used if the socket option SO_TIMESTAMP
is not set on the socket. Otherwise, it returns the timestamp of
the last packet that was received while SO_TIMESTAMP was not set,
or it fails if no such packet has been received,
(i.e., ioctl(2) returns -1 with errno set to ENOENT).
The recommendation is to update the man page to remove the above statement.
The overview of the series is as below:
1. Delete asm specific socket.h when possible.
2. Support SO/SCM_TIMESTAMP* options only in userspace.
3. Rename current SO/SCM_TIMESTAMP* to SO/SCM_TIMESTAMP*_OLD.
3. Alter socket options so that SOCK_RCVTSTAMPNS does
not rely on SOCK_RCVTSTAMP.
4. Introduce y2038 safe types for socket timestamp.
5. Introduce new y2038 safe socket options SO/SCM_TIMESTAMP*_NEW.
Changes since v1:
* Dropped the change to disentangle sock flags
* Renamed sock_timeval to __kernel_sock_timeval
* Updated a few comments
* Added documentation changes
Deepa Dinamani (8):
arch: Use asm-generic/socket.h when possible
sockopt: Rename SO_TIMESTAMP* to SO_TIMESTAMP*_OLD
arch: sparc: Override struct __kernel_old_timeval
socket: Use old_timeval types for socket timestamps
socket: Add struct __kernel_sock_timeval
socket: Add SO_TIMESTAMP[NS]_NEW
socket: Add SO_TIMESTAMPING_NEW
socket: Update timestamping Documentation
Documentation/networking/timestamping.txt | 43 ++++++-
arch/alpha/include/uapi/asm/socket.h | 35 ++++--
arch/ia64/include/uapi/asm/Kbuild | 1 +
arch/ia64/include/uapi/asm/socket.h | 120 -------------------
arch/mips/include/uapi/asm/socket.h | 34 ++++--
arch/parisc/include/uapi/asm/socket.h | 34 ++++--
arch/s390/include/uapi/asm/Kbuild | 1 +
arch/s390/include/uapi/asm/socket.h | 117 ------------------
arch/sparc/include/uapi/asm/posix_types.h | 10 ++
arch/sparc/include/uapi/asm/socket.h | 36 ++++--
arch/x86/include/uapi/asm/Kbuild | 1 +
arch/x86/include/uapi/asm/socket.h | 1 -
arch/xtensa/include/asm/Kbuild | 1 +
arch/xtensa/include/uapi/asm/Kbuild | 1 +
arch/xtensa/include/uapi/asm/socket.h | 122 -------------------
drivers/isdn/mISDN/socket.c | 2 +-
include/linux/skbuff.h | 24 +++-
include/linux/socket.h | 7 ++
include/net/sock.h | 1 +
include/uapi/asm-generic/socket.h | 35 ++++--
include/uapi/linux/errqueue.h | 4 +
include/uapi/linux/time.h | 7 ++
net/bluetooth/hci_sock.c | 4 +-
net/compat.c | 12 +-
net/core/scm.c | 27 +++++
net/core/sock.c | 138 ++++++++++++++--------
net/ipv4/tcp.c | 82 ++++++++-----
net/rds/af_rds.c | 10 +-
net/rds/recv.c | 18 ++-
net/rxrpc/local_object.c | 2 +-
net/smc/af_smc.c | 3 +-
net/socket.c | 64 +++++++---
32 files changed, 478 insertions(+), 519 deletions(-)
delete mode 100644 arch/ia64/include/uapi/asm/socket.h
delete mode 100644 arch/s390/include/uapi/asm/socket.h
delete mode 100644 arch/x86/include/uapi/asm/socket.h
delete mode 100644 arch/xtensa/include/uapi/asm/socket.h
base-commit: b124b524bc97868cc2b5656e6ffa21a9b752b7e0
--
2.17.1
Cc: chris(a)zankel.net
Cc: deller(a)gmx.de
Cc: dhowells(a)redhat.com
Cc: fenghua.yu(a)intel.com
Cc: isdn(a)linux-pingi.de
Cc: jejb(a)parisc-linux.org
Cc: ralf(a)linux-mips.org
Cc: rth(a)twiddle.net
Cc: schwidefsky(a)de.ibm.com
Cc: tglx(a)linutronix.de
Cc: ubraun(a)linux.ibm.com
Cc: linux-afs(a)lists.infradead.org
Cc: linux-alpha(a)vger.kernel.org
Cc: linux-arch(a)vger.kernel.org
Cc: linux-ia64(a)vger.kernel.org
Cc: linux-mips(a)linux-mips.org
Cc: linux-parisc(a)vger.kernel.org
Cc: linux-rdma(a)vger.kernel.org
Cc: linux-s390(a)vger.kernel.org
Cc: linux-xtensa(a)linux-xtensa.org
Cc: netdev(a)vger.kernel.org
Cc: sparclinux(a)vger.kernel.org
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 v4:
- DOTSYM macro removed for ppc32, which was causing
the compilation error.
Changes since v3:
- split compat syscall table out from native table.
- modified the script to add new line in the generated
file.
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 (5):
powerpc: add __NR_syscalls along with NR_syscalls
powerpc: move macro definition from asm/systbl.h
powerpc: add system call table generation support
powerpc: split compat syscall table out from native table
powerpc: generate uapi header and system call table files
arch/powerpc/Makefile | 3 +
arch/powerpc/include/asm/Kbuild | 4 +
arch/powerpc/include/asm/syscall.h | 3 +-
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/entry_64.S | 7 +-
arch/powerpc/kernel/syscalls/Makefile | 63 ++++
arch/powerpc/kernel/syscalls/syscall.tbl | 427 ++++++++++++++++++++++++++++
arch/powerpc/kernel/syscalls/syscallhdr.sh | 37 +++
arch/powerpc/kernel/syscalls/syscalltbl.sh | 36 +++
arch/powerpc/kernel/systbl.S | 40 ++-
arch/powerpc/kernel/systbl_chk.c | 60 ----
arch/powerpc/kernel/vdso.c | 7 +-
arch/powerpc/platforms/cell/spu_callbacks.c | 17 +-
17 files changed, 606 insertions(+), 898 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.
- Compat 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, 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 v3:
- rearranged the patches for '64' to 'n64' conver-
sion.
- moved the unistd_nr_*.h files to asm/unistd.h
- modified the *.sh files.
Changes since v2:
- fixed __NR_syscalls assign issue.
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 (7):
mips: add __NR_syscalls along with __NR_Linux_syscalls
mips: remove unused macros
mips: rename macros and files from '64' to 'n64'
mips: add +1 to __NR_syscalls in uapi header
mips: remove syscall table entries
mips: add system call table generation support
mips: generate uapi header and system call table files
arch/mips/Makefile | 3 +
arch/mips/include/asm/Kbuild | 4 +
arch/mips/include/asm/asm.h | 6 +-
arch/mips/include/asm/fpregdef.h | 4 +-
arch/mips/include/asm/fw/arc/hinv.h | 2 +-
arch/mips/include/asm/regdef.h | 4 +-
arch/mips/include/asm/sigcontext.h | 4 +-
arch/mips/include/asm/unistd.h | 11 +-
arch/mips/include/uapi/asm/Kbuild | 6 +
arch/mips/include/uapi/asm/fcntl.h | 2 +-
arch/mips/include/uapi/asm/reg.h | 4 +-
arch/mips/include/uapi/asm/sgidefs.h | 2 +-
arch/mips/include/uapi/asm/sigcontext.h | 4 +-
arch/mips/include/uapi/asm/stat.h | 4 +-
arch/mips/include/uapi/asm/statfs.h | 4 +-
arch/mips/include/uapi/asm/unistd.h | 1069 +----------------------------
arch/mips/kernel/Makefile | 2 +-
arch/mips/kernel/ftrace.c | 8 +-
arch/mips/kernel/scall32-o32.S | 391 +----------
arch/mips/kernel/scall64-64.S | 444 ------------
arch/mips/kernel/scall64-n32.S | 341 +--------
arch/mips/kernel/scall64-n64.S | 117 ++++
arch/mips/kernel/scall64-o32.S | 379 +---------
arch/mips/kernel/syscalls/Makefile | 96 +++
arch/mips/kernel/syscalls/syscall_n32.tbl | 343 +++++++++
arch/mips/kernel/syscalls/syscall_n64.tbl | 339 +++++++++
arch/mips/kernel/syscalls/syscall_o32.tbl | 382 +++++++++++
arch/mips/kernel/syscalls/syscallhdr.sh | 37 +
arch/mips/kernel/syscalls/syscallnr.sh | 28 +
arch/mips/kernel/syscalls/syscalltbl.sh | 36 +
arch/mips/kvm/entry.c | 4 +-
arch/mips/vdso/vdso.h | 2 +-
arch/mips/vdso/vdso.lds.S | 2 +-
33 files changed, 1450 insertions(+), 2634 deletions(-)
delete mode 100644 arch/mips/kernel/scall64-64.S
create mode 100644 arch/mips/kernel/scall64-n64.S
create mode 100644 arch/mips/kernel/syscalls/Makefile
create mode 100644 arch/mips/kernel/syscalls/syscall_n32.tbl
create mode 100644 arch/mips/kernel/syscalls/syscall_n64.tbl
create mode 100644 arch/mips/kernel/syscalls/syscall_o32.tbl
create mode 100644 arch/mips/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/mips/kernel/syscalls/syscallnr.sh
create mode 100644 arch/mips/kernel/syscalls/syscalltbl.sh
--
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.
- 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 v3:
- split compat syscall table out from native table.
- modified the script to add new line in the generated
file.
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 (5):
powerpc: add __NR_syscalls along with NR_syscalls
powerpc: move macro definition from asm/systbl.h
powerpc: add system call table generation support
powerpc: split compat syscall table out from native table
powerpc: generate uapi header and system call table files
arch/powerpc/Makefile | 3 +
arch/powerpc/include/asm/Kbuild | 4 +
arch/powerpc/include/asm/syscall.h | 3 +-
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/entry_64.S | 7 +-
arch/powerpc/kernel/syscalls/Makefile | 63 ++++
arch/powerpc/kernel/syscalls/syscall.tbl | 427 ++++++++++++++++++++++++++++
arch/powerpc/kernel/syscalls/syscallhdr.sh | 37 +++
arch/powerpc/kernel/syscalls/syscalltbl.sh | 36 +++
arch/powerpc/kernel/systbl.S | 40 ++-
arch/powerpc/kernel/systbl_chk.c | 60 ----
arch/powerpc/kernel/vdso.c | 7 +-
arch/powerpc/platforms/cell/spu_callbacks.c | 17 +-
17 files changed, 606 insertions(+), 898 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.
Please note, this support is only available for 32-bit
kernel, not 64-bit kernel. As I came across the 64-bit
kernel is not active for long time.
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, powerpc, 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:
- changed from generic-y to generated-y in Kbuild.
Changes since v1:
- optimized/updated the syscall table generation
scripts.
- fixed all mixed indentation issues in syscall.tbl.
- added "comments" in syscall.tbl.
Firoz Khan (3):
sh: add __NR_syscalls along with NR_syscalls
sh: add system call table generation support
sh: generate uapi header and syscall table header files
arch/sh/Makefile | 3 +
arch/sh/include/asm/Kbuild | 1 +
arch/sh/include/asm/unistd.h | 2 +
arch/sh/include/uapi/asm/Kbuild | 1 +
arch/sh/include/uapi/asm/unistd_32.h | 4 +-
arch/sh/include/uapi/asm/unistd_64.h | 4 +-
arch/sh/kernel/syscalls/Makefile | 38 ++++
arch/sh/kernel/syscalls/syscall.tbl | 392 ++++++++++++++++++++++++++++++++++
arch/sh/kernel/syscalls/syscallhdr.sh | 36 ++++
arch/sh/kernel/syscalls/syscalltbl.sh | 32 +++
arch/sh/kernel/syscalls_32.S | 387 +--------------------------------
11 files changed, 514 insertions(+), 386 deletions(-)
create mode 100644 arch/sh/kernel/syscalls/Makefile
create mode 100644 arch/sh/kernel/syscalls/syscall.tbl
create mode 100644 arch/sh/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/sh/kernel/syscalls/syscalltbl.sh
--
1.9.1
On Fri, Dec 7, 2018 at 10:50 PM kbuild test robot <lkp(a)intel.com> wrote:
> >> arch/sh/boards/mach-dreamcast/rtc.c:36: warning: Function parameter or member 'dev' not described in 'aica_rtc_gettimeofday'
> >> arch/sh/boards/mach-dreamcast/rtc.c:36: warning: Function parameter or member 'tm' not described in 'aica_rtc_gettimeofday'
> arch/sh/boards/mach-dreamcast/rtc.c:36: warning: Excess function parameter 'ts' description in 'aica_rtc_gettimeofday'
> >> arch/sh/boards/mach-dreamcast/rtc.c:63: warning: Function parameter or member 'dev' not described in 'aica_rtc_settimeofday'
> >> arch/sh/boards/mach-dreamcast/rtc.c:63: warning: Function parameter or member 'tm' not described in 'aica_rtc_settimeofday'
Nice catch. I'm fixing up those comments now, but wonder if they should
just be removed since it is not providing an API but instead implementing
one.
Arnd
This is another set of system call changes that were intended to get
merged much earlier. I've rebased the patches on top of the latest kernel
and Deepa's poll/select/io_pgetevents series now, and applied it to the
same y2038 branch for inclusion in 4.21.
This is just a continuation of the earlier system call changes, so I
expect no surprises here, unless I made a mistake in the rebase.
After this series, the only remaining system calls that need to be
modified are:
- setsockopt/getsockopt, they do not need a new entry in the system
call table, only new numbers assigned for their socket options.
Deepa is finalizing her series to passing 64-bit timestamps in cmsg
correctly for SO_TIMESTAMP{,NS,ING}.
Further, we need a new SO_RCVTIMEO/SO_SNDTIMEO implementation
here, which has not been implemented yet.
- waitid/getrusage, this needs a rewrite now from earlier versions
based on recent feedback. The plan now is to incorporate nanosecond
timestamps in a new revision of the 'rusage' structure. Possibly also
include BSD wait6() semantics of passing back the child resource
usage in waitid(), and/or a method to pass a signal mask as in
io_pgetevents(). waitid/getrusage() are not required for correct
behavior with 64-bit time_t and can be safely emulated on top of
the existing syscalls by the C library beyond 2038. This needs more
discussion.
- clock_adjtime, this is also optional and can be implemented
by the C library if necessary. The plan is to do the same as x32
and use the 64-bit structure natively on both 32-bit and 64-bit
architectures. The timex structure contains a 'timeval' at the
moment, but also supports nanoseconds passed in it.
- getitimer/setitimer, these again can be trivially emulated
by the C library.
Arnd
Arnd Bergmann (5):
y2038: futex: Move compat implementation into futex.c
y2038: futex: Add support for __kernel_timespec
y2038: socket: Add compat_sys_recvmmsg_time64
y2038: signal: Add sys_rt_sigtimedwait_time32
y2038: signal: Add compat_sys_rt_sigtimedwait_time64
include/linux/compat.h | 8 +-
include/linux/futex.h | 8 --
include/linux/socket.h | 9 +-
include/linux/syscalls.h | 9 +-
kernel/Makefile | 3 -
kernel/futex.c | 207 +++++++++++++++++++++++++++++++++++++--
kernel/futex_compat.c | 202 --------------------------------------
kernel/signal.c | 65 ++++++++++++
kernel/sys_ni.c | 2 +
net/compat.c | 34 +++----
net/socket.c | 62 +++++++++---
11 files changed, 345 insertions(+), 264 deletions(-)
delete mode 100644 kernel/futex_compat.c
--
2.18.0
Here are some older cleanups that for one reason or another never made
it into the mainline kernel so far:
- the arch/sh series was posted a couple of times by both
Baolin and me, with no reply from the sh maintainers
- the vfs patch initially got some opposition when the new
interfaces were not documented right, but that is done now.
- The remaining three patches simply remove functions that
have been obsoleted a while ago and have lost their last
callers now.
I'm adding these into my y2038 tree now, so they make it into
linux-next, planning to send a pull request to Thomas for the
tip tree afterwards.
Arnd
Arnd Bergmann (8):
sh: dreamcast: rtc: push down rtc class ops into driver
sh: sh03: rtc: push down rtc class ops into driver
sh: remove unused rtc_sh_get/set_time infrastructure
sh: remove board_time_init() callback
timekeeping: remove unused {read,update}_persistent_clock
timekeeping: remove timespec_add/timespec_del
vfs: replace current_kernel_time64 with ktime equivalent
timekeeping: remove obsolete time accessors
Documentation/sh/new-machine.txt | 8 --
arch/sh/boards/mach-dreamcast/Makefile | 4 +-
arch/sh/boards/mach-dreamcast/rtc.c | 39 +++++++---
arch/sh/boards/mach-dreamcast/setup.c | 1 -
arch/sh/boards/mach-sh03/Makefile | 3 +-
arch/sh/boards/mach-sh03/rtc.c | 51 ++++++++-----
arch/sh/boards/mach-sh03/setup.c | 9 ---
arch/sh/boards/of-generic.c | 8 --
arch/sh/configs/dreamcast_defconfig | 2 +
arch/sh/configs/sh03_defconfig | 2 +
arch/sh/include/asm/rtc.h | 3 -
arch/sh/include/mach-dreamcast/mach/sysasic.h | 1 -
arch/sh/kernel/time.c | 74 +------------------
fs/inode.c | 4 +-
include/linux/time32.h | 25 -------
include/linux/timekeeping.h | 14 ----
include/linux/timekeeping32.h | 15 ----
kernel/time/ntp.c | 10 +--
kernel/time/time.c | 36 ---------
kernel/time/timekeeping.c | 12 +--
20 files changed, 73 insertions(+), 248 deletions(-)
--
2.18.0
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.
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, 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 v2:
- fixed __NR_syscalls assign issue.
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 (6):
mips: add __NR_syscalls along with __NR_Linux_syscalls
mips: remove unused macros
mips: add +1 to __NR_syscalls in uapi header
mips: remove syscall table entries
mips: add system call table generation support
mips: generate uapi header and system call table files
arch/mips/Makefile | 3 +
arch/mips/include/asm/Kbuild | 4 +
arch/mips/include/asm/unistd.h | 8 -
arch/mips/include/uapi/asm/Kbuild | 6 +
arch/mips/include/uapi/asm/unistd.h | 1065 +----------------------------
arch/mips/kernel/Makefile | 2 +-
arch/mips/kernel/ftrace.c | 8 +-
arch/mips/kernel/scall32-o32.S | 391 +----------
arch/mips/kernel/scall64-64.S | 444 ------------
arch/mips/kernel/scall64-n32.S | 341 +--------
arch/mips/kernel/scall64-n64.S | 117 ++++
arch/mips/kernel/scall64-o32.S | 379 +---------
arch/mips/kernel/syscalls/Makefile | 96 +++
arch/mips/kernel/syscalls/syscall_n32.tbl | 343 ++++++++++
arch/mips/kernel/syscalls/syscall_n64.tbl | 339 +++++++++
arch/mips/kernel/syscalls/syscall_o32.tbl | 382 +++++++++++
arch/mips/kernel/syscalls/syscallhdr.sh | 36 +
arch/mips/kernel/syscalls/syscallnr.sh | 30 +
arch/mips/kernel/syscalls/syscalltbl.sh | 36 +
19 files changed, 1430 insertions(+), 2600 deletions(-)
delete mode 100644 arch/mips/kernel/scall64-64.S
create mode 100644 arch/mips/kernel/scall64-n64.S
create mode 100644 arch/mips/kernel/syscalls/Makefile
create mode 100644 arch/mips/kernel/syscalls/syscall_n32.tbl
create mode 100644 arch/mips/kernel/syscalls/syscall_n64.tbl
create mode 100644 arch/mips/kernel/syscalls/syscall_o32.tbl
create mode 100644 arch/mips/kernel/syscalls/syscallhdr.sh
create mode 100644 arch/mips/kernel/syscalls/syscallnr.sh
create mode 100644 arch/mips/kernel/syscalls/syscalltbl.sh
--
1.9.1