[v2,00/12] Update for linux v5.1

Submitted by Szabolcs Nagy on June 29, 2019, 9:28 p.m.

Details

Message ID 20190629212821.GB21055@port70.net
State New
Series "Update for linux v5.1"
Headers show

Patch hide | download patch | download mbox

From 87a9d17527458ce105d473fb7a78192a68e2b6e7 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Thu, 9 May 2019 20:44:27 +0000
Subject: [PATCH 12/12] add new syscall numbers from linux v5.1

syscall numbers are now synced up across targets (starting from 403 the
numbers are the same on all targets other than an arch specific offset)

IPC syscalls sem*, shm*, msg* got added where they were missing (except
for semop: only semtimedop got added), the new semctl, shmctl, msgctl
imply IPC_64, see

  linux commit 0d6040d4681735dfc47565de288525de405a5c99
  arch: add split IPC system calls where needed

new 64bit time_t syscall variants got added on 32bit targets, see

  linux commit 48166e6ea47d23984f0b481ca199250e1ce0730a
  y2038: add 64-bit time_t syscalls to all 32-bit architectures

new async io syscalls got added, see

  linux commit 2b188cc1bb857a9d4701ae59aa7768b5124e262e
  Add io_uring IO interface

  linux commit edafccee56ff31678a091ddb7219aba9b28bc3cb
  io_uring: add support for pre-mapped user IO buffers

a new syscall got added that uses the fd of /proc/<pid> as a stable
handle for processes: allows sending signals without pid reuse issues,
intended to eventually replace rt_sigqueueinfo, kill, tgkill and
rt_tgsigqueueinfo, see

  linux commit 3eb39f47934f9d5a3027fe00d906a45fe3a15fad
  signal: add pidfd_send_signal() syscall

on some targets (arm, m68k, s390x, sh) some previously missing syscall
numbers got added as well.
---
 arch/aarch64/bits/syscall.h.in    |  4 ++++
 arch/arm/bits/syscall.h.in        | 26 +++++++++++++++++++++
 arch/i386/bits/syscall.h.in       | 34 +++++++++++++++++++++++++++
 arch/m68k/bits/syscall.h.in       | 39 +++++++++++++++++++++++++++++++
 arch/microblaze/bits/syscall.h.in | 24 +++++++++++++++++++
 arch/mips/bits/syscall.h.in       | 34 +++++++++++++++++++++++++++
 arch/mips64/bits/syscall.h.in     |  4 ++++
 arch/mipsn32/bits/syscall.h.in    | 24 +++++++++++++++++++
 arch/or1k/bits/syscall.h.in       | 24 +++++++++++++++++++
 arch/powerpc/bits/syscall.h.in    | 34 +++++++++++++++++++++++++++
 arch/powerpc64/bits/syscall.h.in  | 15 ++++++++++++
 arch/s390x/bits/syscall.h.in      | 18 ++++++++++++++
 arch/sh/bits/syscall.h.in         | 39 +++++++++++++++++++++++++++++++
 arch/x32/bits/syscall.h.in        |  4 ++++
 arch/x86_64/bits/syscall.h.in     |  4 ++++
 15 files changed, 327 insertions(+)

diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
index 4db85162..eed5a612 100644
--- a/arch/aarch64/bits/syscall.h.in
+++ b/arch/aarch64/bits/syscall.h.in
@@ -277,4 +277,8 @@ 
 #define __NR_io_pgetevents 292
 #define __NR_rseq 293
 #define __NR_kexec_file_load 294
+#define __NR_pidfd_send_signal 424
+#define __NR_io_uring_setup 425
+#define __NR_io_uring_enter 426
+#define __NR_io_uring_register 427
 
diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in
index 1787099d..8ce1d70a 100644
--- a/arch/arm/bits/syscall.h.in
+++ b/arch/arm/bits/syscall.h.in
@@ -355,6 +355,32 @@ 
 #define __NR_statx	397
 #define __NR_rseq	398
 #define __NR_io_pgetevents	399
+#define __NR_migrate_pages	400
+#define __NR_kexec_file_load	401
+#define __NR_clock_gettime64	403
+#define __NR_clock_settime64	404
+#define __NR_clock_adjtime64	405
+#define __NR_clock_getres_time64	406
+#define __NR_clock_nanosleep_time64	407
+#define __NR_timer_gettime64	408
+#define __NR_timer_settime64	409
+#define __NR_timerfd_gettime64	410
+#define __NR_timerfd_settime64	411
+#define __NR_utimensat_time64	412
+#define __NR_pselect6_time64	413
+#define __NR_ppoll_time64	414
+#define __NR_io_pgetevents_time64	416
+#define __NR_recvmmsg_time64	417
+#define __NR_mq_timedsend_time64	418
+#define __NR_mq_timedreceive_time64	419
+#define __NR_semtimedop_time64	420
+#define __NR_rt_sigtimedwait_time64	421
+#define __NR_futex_time64	422
+#define __NR_sched_rr_get_interval_time64	423
+#define __NR_pidfd_send_signal	424
+#define __NR_io_uring_setup	425
+#define __NR_io_uring_enter	426
+#define __NR_io_uring_register	427
 
 #define __ARM_NR_breakpoint	0x0f0001
 #define __ARM_NR_cacheflush	0x0f0002
diff --git a/arch/i386/bits/syscall.h.in b/arch/i386/bits/syscall.h.in
index 47f4ae03..fdfdc710 100644
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -384,4 +384,38 @@ 
 #define __NR_arch_prctl		384
 #define __NR_io_pgetevents	385
 #define __NR_rseq		386
+#define __NR_semget		393
+#define __NR_semctl		394
+#define __NR_shmget		395
+#define __NR_shmctl		396
+#define __NR_shmat		397
+#define __NR_shmdt		398
+#define __NR_msgget		399
+#define __NR_msgsnd		400
+#define __NR_msgrcv		401
+#define __NR_msgctl		402
+#define __NR_clock_gettime64	403
+#define __NR_clock_settime64	404
+#define __NR_clock_adjtime64	405
+#define __NR_clock_getres_time64 406
+#define __NR_clock_nanosleep_time64 407
+#define __NR_timer_gettime64	408
+#define __NR_timer_settime64	409
+#define __NR_timerfd_gettime64	410
+#define __NR_timerfd_settime64	411
+#define __NR_utimensat_time64	412
+#define __NR_pselect6_time64	413
+#define __NR_ppoll_time64	414
+#define __NR_io_pgetevents_time64 416
+#define __NR_recvmmsg_time64	417
+#define __NR_mq_timedsend_time64 418
+#define __NR_mq_timedreceive_time64 419
+#define __NR_semtimedop_time64	420
+#define __NR_rt_sigtimedwait_time64 421
+#define __NR_futex_time64	422
+#define __NR_sched_rr_get_interval_time64 423
+#define __NR_pidfd_send_signal	424
+#define __NR_io_uring_setup	425
+#define __NR_io_uring_enter	426
+#define __NR_io_uring_register	427
 
diff --git a/arch/m68k/bits/syscall.h.in b/arch/m68k/bits/syscall.h.in
index 89cf114c..c7859b99 100644
--- a/arch/m68k/bits/syscall.h.in
+++ b/arch/m68k/bits/syscall.h.in
@@ -359,3 +359,42 @@ 
 #define __NR_preadv2		377
 #define __NR_pwritev2		378
 #define __NR_statx		379
+#define __NR_seccomp		380
+#define __NR_pkey_mprotect	381
+#define __NR_pkey_alloc		382
+#define __NR_pkey_free		383
+#define __NR_rseq		384
+#define __NR_semget		393
+#define __NR_semctl		394
+#define __NR_shmget		395
+#define __NR_shmctl		396
+#define __NR_shmat		397
+#define __NR_shmdt		398
+#define __NR_msgget		399
+#define __NR_msgsnd		400
+#define __NR_msgrcv		401
+#define __NR_msgctl		402
+#define __NR_clock_gettime64	403
+#define __NR_clock_settime64	404
+#define __NR_clock_adjtime64	405
+#define __NR_clock_getres_time64 406
+#define __NR_clock_nanosleep_time64 407
+#define __NR_timer_gettime64	408
+#define __NR_timer_settime64	409
+#define __NR_timerfd_gettime64	410
+#define __NR_timerfd_settime64	411
+#define __NR_utimensat_time64	412
+#define __NR_pselect6_time64	413
+#define __NR_ppoll_time64	414
+#define __NR_io_pgetevents_time64 416
+#define __NR_recvmmsg_time64	417
+#define __NR_mq_timedsend_time64 418
+#define __NR_mq_timedreceive_time64 419
+#define __NR_semtimedop_time64	420
+#define __NR_rt_sigtimedwait_time64 421
+#define __NR_futex_time64	422
+#define __NR_sched_rr_get_interval_time64 423
+#define __NR_pidfd_send_signal	424
+#define __NR_io_uring_setup	425
+#define __NR_io_uring_enter	426
+#define __NR_io_uring_register	427
diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in
index f0583961..91bc244e 100644
--- a/arch/microblaze/bits/syscall.h.in
+++ b/arch/microblaze/bits/syscall.h.in
@@ -395,4 +395,28 @@ 
 #define __NR_statx 398
 #define __NR_io_pgetevents 399
 #define __NR_rseq 400
+#define __NR_clock_gettime64 403
+#define __NR_clock_settime64 404
+#define __NR_clock_adjtime64 405
+#define __NR_clock_getres_time64 406
+#define __NR_clock_nanosleep_time64 407
+#define __NR_timer_gettime64 408
+#define __NR_timer_settime64 409
+#define __NR_timerfd_gettime64 410
+#define __NR_timerfd_settime64 411
+#define __NR_utimensat_time64 412
+#define __NR_pselect6_time64 413
+#define __NR_ppoll_time64 414
+#define __NR_io_pgetevents_time64 416
+#define __NR_recvmmsg_time64 417
+#define __NR_mq_timedsend_time64 418
+#define __NR_mq_timedreceive_time64 419
+#define __NR_semtimedop_time64 420
+#define __NR_rt_sigtimedwait_time64 421
+#define __NR_futex_time64 422
+#define __NR_sched_rr_get_interval_time64 423
+#define __NR_pidfd_send_signal 424
+#define __NR_io_uring_setup 425
+#define __NR_io_uring_enter 426
+#define __NR_io_uring_register 427
 
diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in
index be8c3207..6175a7c2 100644
--- a/arch/mips/bits/syscall.h.in
+++ b/arch/mips/bits/syscall.h.in
@@ -366,4 +366,38 @@ 
 #define __NR_statx                   4366
 #define __NR_rseq                    4367
 #define __NR_io_pgetevents           4368
+#define __NR_semget                  4393
+#define __NR_semctl                  4394
+#define __NR_shmget                  4395
+#define __NR_shmctl                  4396
+#define __NR_shmat                   4397
+#define __NR_shmdt                   4398
+#define __NR_msgget                  4399
+#define __NR_msgsnd                  4400
+#define __NR_msgrcv                  4401
+#define __NR_msgctl                  4402
+#define __NR_clock_gettime64         4403
+#define __NR_clock_settime64         4404
+#define __NR_clock_adjtime64         4405
+#define __NR_clock_getres_time64     4406
+#define __NR_clock_nanosleep_time64  4407
+#define __NR_timer_gettime64         4408
+#define __NR_timer_settime64         4409
+#define __NR_timerfd_gettime64       4410
+#define __NR_timerfd_settime64       4411
+#define __NR_utimensat_time64        4412
+#define __NR_pselect6_time64         4413
+#define __NR_ppoll_time64            4414
+#define __NR_io_pgetevents_time64    4416
+#define __NR_recvmmsg_time64         4417
+#define __NR_mq_timedsend_time64     4418
+#define __NR_mq_timedreceive_time64  4419
+#define __NR_semtimedop_time64       4420
+#define __NR_rt_sigtimedwait_time64  4421
+#define __NR_futex_time64            4422
+#define __NR_sched_rr_get_interval_time64 4423
+#define __NR_pidfd_send_signal       4424
+#define __NR_io_uring_setup          4425
+#define __NR_io_uring_enter          4426
+#define __NR_io_uring_register       4427
 
diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in
index 9eebbb6a..ca99e453 100644
--- a/arch/mips64/bits/syscall.h.in
+++ b/arch/mips64/bits/syscall.h.in
@@ -326,4 +326,8 @@ 
 #define __NR_statx			5326
 #define __NR_rseq			5327
 #define __NR_io_pgetevents		5328
+#define __NR_pidfd_send_signal		5424
+#define __NR_io_uring_setup		5425
+#define __NR_io_uring_enter		5426
+#define __NR_io_uring_register		5427
 
diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in
index c1726180..f31ee446 100644
--- a/arch/mipsn32/bits/syscall.h.in
+++ b/arch/mipsn32/bits/syscall.h.in
@@ -330,4 +330,28 @@ 
 #define __NR_statx			6330
 #define __NR_rseq			6331
 #define __NR_io_pgetevents		6332
+#define __NR_clock_gettime64		6403
+#define __NR_clock_settime64		6404
+#define __NR_clock_adjtime64		6405
+#define __NR_clock_getres_time64	6406
+#define __NR_clock_nanosleep_time64	6407
+#define __NR_timer_gettime64		6408
+#define __NR_timer_settime64		6409
+#define __NR_timerfd_gettime64		6410
+#define __NR_timerfd_settime64		6411
+#define __NR_utimensat_time64		6412
+#define __NR_pselect6_time64		6413
+#define __NR_ppoll_time64		6414
+#define __NR_io_pgetevents_time64	6416
+#define __NR_recvmmsg_time64		6417
+#define __NR_mq_timedsend_time64	6418
+#define __NR_mq_timedreceive_time64	6419
+#define __NR_semtimedop_time64		6420
+#define __NR_rt_sigtimedwait_time64	6421
+#define __NR_futex_time64		6422
+#define __NR_sched_rr_get_interval_time64 6423
+#define __NR_pidfd_send_signal		6424
+#define __NR_io_uring_setup		6425
+#define __NR_io_uring_enter		6426
+#define __NR_io_uring_register		6427
 
diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
index 4c3df0a3..33a86861 100644
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -279,4 +279,28 @@ 
 #define __NR_io_pgetevents 292
 #define __NR_rseq 293
 #define __NR_kexec_file_load 294
+#define __NR_clock_gettime64 403
+#define __NR_clock_settime64 404
+#define __NR_clock_adjtime64 405
+#define __NR_clock_getres_time64 406
+#define __NR_clock_nanosleep_time64 407
+#define __NR_timer_gettime64 408
+#define __NR_timer_settime64 409
+#define __NR_timerfd_gettime64 410
+#define __NR_timerfd_settime64 411
+#define __NR_utimensat_time64 412
+#define __NR_pselect6_time64 413
+#define __NR_ppoll_time64 414
+#define __NR_io_pgetevents_time64 416
+#define __NR_recvmmsg_time64 417
+#define __NR_mq_timedsend_time64 418
+#define __NR_mq_timedreceive_time64 419
+#define __NR_semtimedop_time64 420
+#define __NR_rt_sigtimedwait_time64 421
+#define __NR_futex_time64 422
+#define __NR_sched_rr_get_interval_time64 423
+#define __NR_pidfd_send_signal 424
+#define __NR_io_uring_setup 425
+#define __NR_io_uring_enter 426
+#define __NR_io_uring_register 427
 
diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
index 54e155f2..0a6c9add 100644
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -373,4 +373,38 @@ 
 #define __NR_pkey_mprotect         386
 #define __NR_rseq                  387
 #define __NR_io_pgetevents         388
+#define __NR_semget                393
+#define __NR_semctl                394
+#define __NR_shmget                395
+#define __NR_shmctl                396
+#define __NR_shmat                 397
+#define __NR_shmdt                 398
+#define __NR_msgget                399
+#define __NR_msgsnd                400
+#define __NR_msgrcv                401
+#define __NR_msgctl                402
+#define __NR_clock_gettime64       403
+#define __NR_clock_settime64       404
+#define __NR_clock_adjtime64       405
+#define __NR_clock_getres_time64   406
+#define __NR_clock_nanosleep_time64 407
+#define __NR_timer_gettime64       408
+#define __NR_timer_settime64       409
+#define __NR_timerfd_gettime64     410
+#define __NR_timerfd_settime64     411
+#define __NR_utimensat_time64      412
+#define __NR_pselect6_time64       413
+#define __NR_ppoll_time64          414
+#define __NR_io_pgetevents_time64  416
+#define __NR_recvmmsg_time64       417
+#define __NR_mq_timedsend_time64   418
+#define __NR_mq_timedreceive_time64 419
+#define __NR_semtimedop_time64     420
+#define __NR_rt_sigtimedwait_time64 421
+#define __NR_futex_time64          422
+#define __NR_sched_rr_get_interval_time64 423
+#define __NR_pidfd_send_signal     424
+#define __NR_io_uring_setup        425
+#define __NR_io_uring_enter        426
+#define __NR_io_uring_register     427
 
diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
index 4e29cedf..0c894a23 100644
--- a/arch/powerpc64/bits/syscall.h.in
+++ b/arch/powerpc64/bits/syscall.h.in
@@ -364,4 +364,19 @@ 
 #define __NR_pkey_mprotect          386
 #define __NR_rseq                   387
 #define __NR_io_pgetevents          388
+#define __NR_semtimedop             392
+#define __NR_semget                 393
+#define __NR_semctl                 394
+#define __NR_shmget                 395
+#define __NR_shmctl                 396
+#define __NR_shmat                  397
+#define __NR_shmdt                  398
+#define __NR_msgget                 399
+#define __NR_msgsnd                 400
+#define __NR_msgrcv                 401
+#define __NR_msgctl                 402
+#define __NR_pidfd_send_signal      424
+#define __NR_io_uring_setup         425
+#define __NR_io_uring_enter         426
+#define __NR_io_uring_register      427
 
diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in
index 85a18e79..72fd2cce 100644
--- a/arch/s390x/bits/syscall.h.in
+++ b/arch/s390x/bits/syscall.h.in
@@ -326,4 +326,22 @@ 
 #define __NR_kexec_file_load            381
 #define __NR_io_pgetevents              382
 #define __NR_rseq                       383
+#define __NR_pkey_mprotect              384
+#define __NR_pkey_alloc                 385
+#define __NR_pkey_free                  386
+#define __NR_semtimedop                 392
+#define __NR_semget                     393
+#define __NR_semctl                     394
+#define __NR_shmget                     395
+#define __NR_shmctl                     396
+#define __NR_shmat                      397
+#define __NR_shmdt                      398
+#define __NR_msgget                     399
+#define __NR_msgsnd                     400
+#define __NR_msgrcv                     401
+#define __NR_msgctl                     402
+#define __NR_pidfd_send_signal          424
+#define __NR_io_uring_setup             425
+#define __NR_io_uring_enter             426
+#define __NR_io_uring_register          427
 
diff --git a/arch/sh/bits/syscall.h.in b/arch/sh/bits/syscall.h.in
index 420f4a0f..ad35fc64 100644
--- a/arch/sh/bits/syscall.h.in
+++ b/arch/sh/bits/syscall.h.in
@@ -352,4 +352,43 @@ 
 #define __NR_copy_file_range        380
 #define __NR_preadv2                381
 #define __NR_pwritev2               382
+#define __NR_statx                  383
+#define __NR_pkey_mprotect          384
+#define __NR_pkey_alloc             385
+#define __NR_pkey_free              386
+#define __NR_rseq                   387
+#define __NR_semget                 393
+#define __NR_semctl                 394
+#define __NR_shmget                 395
+#define __NR_shmctl                 396
+#define __NR_shmat                  397
+#define __NR_shmdt                  398
+#define __NR_msgget                 399
+#define __NR_msgsnd                 400
+#define __NR_msgrcv                 401
+#define __NR_msgctl                 402
+#define __NR_clock_gettime64        403
+#define __NR_clock_settime64        404
+#define __NR_clock_adjtime64        405
+#define __NR_clock_getres_time64    406
+#define __NR_clock_nanosleep_time64 407
+#define __NR_timer_gettime64        408
+#define __NR_timer_settime64        409
+#define __NR_timerfd_gettime64      410
+#define __NR_timerfd_settime64      411
+#define __NR_utimensat_time64       412
+#define __NR_pselect6_time64        413
+#define __NR_ppoll_time64           414
+#define __NR_io_pgetevents_time64   416
+#define __NR_recvmmsg_time64        417
+#define __NR_mq_timedsend_time64    418
+#define __NR_mq_timedreceive_time64 419
+#define __NR_semtimedop_time64      420
+#define __NR_rt_sigtimedwait_time64 421
+#define __NR_futex_time64           422
+#define __NR_sched_rr_get_interval_time64 423
+#define __NR_pidfd_send_signal      424
+#define __NR_io_uring_setup         425
+#define __NR_io_uring_enter         426
+#define __NR_io_uring_register      427
 
diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
index 67d89f91..77ec432f 100644
--- a/arch/x32/bits/syscall.h.in
+++ b/arch/x32/bits/syscall.h.in
@@ -286,6 +286,10 @@ 
 #define __NR_statx (0x40000000 + 332)
 #define __NR_io_pgetevents (0x40000000 + 333)
 #define __NR_rseq (0x40000000 + 334)
+#define __NR_pidfd_send_signal (0x40000000 + 424)
+#define __NR_io_uring_setup (0x40000000 + 425)
+#define __NR_io_uring_enter (0x40000000 + 426)
+#define __NR_io_uring_register (0x40000000 + 427)
 
 #define __NR_rt_sigaction (0x40000000 + 512)
 #define __NR_rt_sigreturn (0x40000000 + 513)
diff --git a/arch/x86_64/bits/syscall.h.in b/arch/x86_64/bits/syscall.h.in
index 9cdb7789..49572ef2 100644
--- a/arch/x86_64/bits/syscall.h.in
+++ b/arch/x86_64/bits/syscall.h.in
@@ -333,4 +333,8 @@ 
 #define __NR_statx				332
 #define __NR_io_pgetevents			333
 #define __NR_rseq				334
+#define __NR_pidfd_send_signal			424
+#define __NR_io_uring_setup			425
+#define __NR_io_uring_enter			426
+#define __NR_io_uring_register			427
 
-- 
2.21.0


Comments

Rich Felker July 1, 2019, 8:08 p.m.
On Sat, Jun 29, 2019 at 11:28:21PM +0200, Szabolcs Nagy wrote:
> v2:
> - split the sys/socket.h patch so the time_t change is separate.
> - note the microblaze ipc syscall behaviour change
> 
> Szabolcs Nagy (12):
>   sys/fanotify.h: update for linux v5.1
>   fcntl.h: add F_SEAL_FUTURE_WRITE from linux v5.1
>   sys/prctl.h: add PR_SPEC_DISABLE_NOEXEC from linux v5.1
>   netinet/in.h: add IPV6_ROUTER_ALERT_ISOLATE from linux v5.1
>   s390x: drop SO_ definitions from bits/socket.h
>   sys/socket.h: add SO_BINDTOIFINDEX from linux v5.1
>   sys/socket.h: add time_t related SO_ definitions from linux v5.1
>   netinet/in.h: add INADDR_ALLSNOOPERS_GROUP from linux v5.1
>   elf.h: add NT_ARM_PAC{A,G}_KEYS from linux v5.1
>   mips64: fix syscall numbers of io_pgetevents and rseq
>   ipc: prefer SYS_ipc when it is defined
>   add new syscall numbers from linux v5.1

I'm merging these, with patch 7 omitted for now:

> From 59bb3d263decbe56b59a426f3292bdf7e115402a Mon Sep 17 00:00:00 2001
> From: Szabolcs Nagy <nsz@port70.net>
> Date: Thu, 9 May 2019 19:20:17 +0000
> Subject: [PATCH 07/12] sys/socket.h: add time_t related SO_ definitions from
>  linux v5.1
> 
> the new definitions are from commits
> 
>   linux commit a9beb86ae6e55bd92f38453c8623de60b8e5a308
>   sock: Add SO_RCVTIMEO_NEW and SO_SNDTIMEO_NEW
> 
>   linux commit 45bdc66159d49bfc7f75fe02d25bc74f5d2660cf
>   socket: Rename SO_RCVTIMEO/ SO_SNDTIMEO with _OLD suffixes
> 
>   linux commit 9718475e69084de15c3930ce35672a7dc6da866b
>   socket: Add SO_TIMESTAMPING_NEW
> 
>   linux commit 887feae36aee6c08e0dafcdaa5ba921abbb2c56b
>   socket: Add SO_TIMESTAMP[NS]_NEW
> 
>   linux commit 7f1bc6e95d7840d4305595b3e4025cddda88cee5
>   sockopt: Rename SO_TIMESTAMP* to SO_TIMESTAMP*_OLD
> 
> _NEW socket options got introduced for 64bit time_t support on 32bit
> targets, in musl the affected socket options are always the same as
> the _OLD values since different time_t requires a new abi, so the
> _OLD vs _NEW dispatch logic was not copied from the uapi headers.
> ---
>  include/sys/socket.h | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/include/sys/socket.h b/include/sys/socket.h
> index 8692efa7..e6d43d08 100644
> --- a/include/sys/socket.h
> +++ b/include/sys/socket.h
> @@ -238,6 +238,16 @@ struct linger {
>  #define SO_TXTIME               61
>  #define SCM_TXTIME              SO_TXTIME
>  #define SO_BINDTOIFINDEX        62
> +#define SO_TIMESTAMP_NEW        63
> +#define SO_TIMESTAMPNS_NEW      64
> +#define SO_TIMESTAMPING_NEW     65
> +#define SO_RCVTIMEO_NEW         66
> +#define SO_SNDTIMEO_NEW         67
> +#define SO_TIMESTAMP_OLD        SO_TIMESTAMP
> +#define SO_TIMESTAMPNS_OLD      SO_TIMESTAMPNS
> +#define SO_TIMESTAMPING_OLD     SO_TIMESTAMPING
> +#define SO_RCVTIMEO_OLD         SO_RCVTIMEO
> +#define SO_SNDTIMEO_OLD         SO_SNDTIMEO
>  
>  #ifndef SOL_SOCKET
>  #define SOL_SOCKET      1

It's still not clear to me whether we should be making the separate
OLD/NEW macro values application-facing, rather than them just being
choices for how libc defines the standard names depending on how it
defines time_t. We can always go back and add this if it turns out
there is a good reason to expose both, whereas going back and removing
it would potentially cause regressions.

Rich