* [PATCH 1/7] add preadv2 and pwritev2 syscall numbers for linux v4.6
2016-05-26 20:04 [PATCH 0/7] linux v4.6 update Szabolcs Nagy
@ 2016-05-26 20:04 ` Szabolcs Nagy
2016-05-26 20:05 ` [PATCH 2/7] add SO_CNX_ADVICE to sys/socket.h, new in " Szabolcs Nagy
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-05-26 20:04 UTC (permalink / raw)
To: musl
the syscalls take an additional flag argument, they were added in commit
f17d8b35452cab31a70d224964cd583fb2845449 and a RWF_HIPRI priority hint
flag was added to linux/fs.h in 97be7ebe53915af504fb491fb99f064c7cf3cb09.
the syscall is not allocated for microblaze and sh yet.
---
arch/aarch64/bits/syscall.h.in | 2 ++
arch/arm/bits/syscall.h.in | 2 ++
arch/i386/bits/syscall.h.in | 2 ++
arch/mips/bits/syscall.h.in | 2 ++
arch/mips64/bits/syscall.h.in | 2 ++
arch/mipsn32/bits/syscall.h.in | 2 ++
arch/or1k/bits/syscall.h.in | 2 ++
arch/powerpc/bits/syscall.h.in | 2 ++
arch/powerpc64/bits/syscall.h.in | 2 ++
arch/x32/bits/syscall.h.in | 2 ++
arch/x86_64/bits/syscall.h.in | 2 ++
11 files changed, 22 insertions(+)
diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
index bcf69d2..332f437 100644
--- a/arch/aarch64/bits/syscall.h.in
+++ b/arch/aarch64/bits/syscall.h.in
@@ -269,4 +269,6 @@
#define __NR_membarrier 283
#define __NR_mlock2 284
#define __NR_copy_file_range 285
+#define __NR_preadv2 286
+#define __NR_pwritev2 287
diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in
index 143b0a8..04c8b1c 100644
--- a/arch/arm/bits/syscall.h.in
+++ b/arch/arm/bits/syscall.h.in
@@ -345,6 +345,8 @@
#define __NR_membarrier 389
#define __NR_mlock2 390
#define __NR_copy_file_range 391
+#define __NR_preadv2 392
+#define __NR_pwritev2 393
#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 108fbbc..5fe9c5c 100644
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -376,4 +376,6 @@
#define __NR_membarrier 375
#define __NR_mlock2 376
#define __NR_copy_file_range 377
+#define __NR_preadv2 378
+#define __NR_pwritev2 379
diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in
index 61ff7a5..bcceaa2 100644
--- a/arch/mips/bits/syscall.h.in
+++ b/arch/mips/bits/syscall.h.in
@@ -358,4 +358,6 @@
#define __NR_membarrier 4358
#define __NR_mlock2 4359
#define __NR_copy_file_range 4360
+#define __NR_preadv2 4361
+#define __NR_pwritev2 4362
diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in
index 0e20683..eef8543 100644
--- a/arch/mips64/bits/syscall.h.in
+++ b/arch/mips64/bits/syscall.h.in
@@ -318,4 +318,6 @@
#define __NR_membarrier 5318
#define __NR_mlock2 5319
#define __NR_copy_file_range 5320
+#define __NR_preadv2 5321
+#define __NR_pwritev2 5322
diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in
index 6c38f68..5fda0b5 100644
--- a/arch/mipsn32/bits/syscall.h.in
+++ b/arch/mipsn32/bits/syscall.h.in
@@ -322,4 +322,6 @@
#define __NR_membarrier 6322
#define __NR_mlock2 6323
#define __NR_copy_file_range 6324
+#define __NR_preadv2 6325
+#define __NR_pwritev2 6326
diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
index c6e55c6..c6b6cf2 100644
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -269,4 +269,6 @@
#define __NR_membarrier 283
#define __NR_mlock2 284
#define __NR_copy_file_range 285
+#define __NR_preadv2 286
+#define __NR_pwritev2 287
diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
index f55e69c..9d02232 100644
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -369,4 +369,6 @@
#define __NR_membarrier 365
#define __NR_mlock2 378
#define __NR_copy_file_range 379
+#define __NR_preadv2 380
+#define __NR_pwritev2 381
diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
index ff37536..c9880fa 100644
--- a/arch/powerpc64/bits/syscall.h.in
+++ b/arch/powerpc64/bits/syscall.h.in
@@ -355,4 +355,6 @@
#define __NR_membarrier 365
#define __NR_mlock2 378
#define __NR_copy_file_range 379
+#define __NR_preadv2 380
+#define __NR_pwritev2 381
diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
index 0b9362a..cf2b4f1 100644
--- a/arch/x32/bits/syscall.h.in
+++ b/arch/x32/bits/syscall.h.in
@@ -280,6 +280,8 @@
#define __NR_membarrier (0x40000000 + 324)
#define __NR_mlock2 (0x40000000 + 325)
#define __NR_copy_file_range (0x40000000 + 326)
+#define __NR_preadv2 (0x40000000 + 327)
+#define __NR_pwritev2 (0x40000000 + 328)
#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 7e638a0..d0c5518 100644
--- a/arch/x86_64/bits/syscall.h.in
+++ b/arch/x86_64/bits/syscall.h.in
@@ -325,4 +325,6 @@
#define __NR_membarrier 324
#define __NR_mlock2 325
#define __NR_copy_file_range 326
+#define __NR_preadv2 327
+#define __NR_pwritev2 328
--
2.8.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/7] add SO_CNX_ADVICE to sys/socket.h, new in linux v4.6
2016-05-26 20:04 [PATCH 0/7] linux v4.6 update Szabolcs Nagy
2016-05-26 20:04 ` [PATCH 1/7] add preadv2 and pwritev2 syscall numbers for linux v4.6 Szabolcs Nagy
@ 2016-05-26 20:05 ` Szabolcs Nagy
2016-05-26 20:05 ` [PATCH 3/7] add ETH_P_MACSEC netinet/if_ether.h, " Szabolcs Nagy
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-05-26 20:05 UTC (permalink / raw)
To: musl
new socket option so application can give advice about routing
path quality of connected udp sockets, added in linux commit
a87cb3e48ee86d29868d3f59cfb9ce1a8fa63314
---
include/sys/socket.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/sys/socket.h b/include/sys/socket.h
index fd65349..1904b74 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -222,6 +222,7 @@ struct linger
#define SO_DETACH_BPF SO_DETACH_FILTER
#define SO_ATTACH_REUSEPORT_CBPF 51
#define SO_ATTACH_REUSEPORT_EBPF 52
+#define SO_CNX_ADVICE 53
#ifndef SOL_SOCKET
#define SOL_SOCKET 1
--
2.8.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/7] add ETH_P_MACSEC netinet/if_ether.h, new in linux v4.6
2016-05-26 20:04 [PATCH 0/7] linux v4.6 update Szabolcs Nagy
2016-05-26 20:04 ` [PATCH 1/7] add preadv2 and pwritev2 syscall numbers for linux v4.6 Szabolcs Nagy
2016-05-26 20:05 ` [PATCH 2/7] add SO_CNX_ADVICE to sys/socket.h, new in " Szabolcs Nagy
@ 2016-05-26 20:05 ` Szabolcs Nagy
2016-05-26 20:06 ` [PATCH 4/7] update siginfo struct for " Szabolcs Nagy
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-05-26 20:05 UTC (permalink / raw)
To: musl
ethertype for macsec added in linux commit
dece8d2b78d19df7fe5e4e965f1f0d1a3e188d1b
---
include/netinet/if_ether.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/netinet/if_ether.h b/include/netinet/if_ether.h
index 4802f09..4c2322b 100644
--- a/include/netinet/if_ether.h
+++ b/include/netinet/if_ether.h
@@ -51,6 +51,7 @@
#define ETH_P_8021AD 0x88A8
#define ETH_P_802_EX1 0x88B5
#define ETH_P_TIPC 0x88CA
+#define ETH_P_MACSEC 0x88E5
#define ETH_P_8021AH 0x88E7
#define ETH_P_MVRP 0x88F5
#define ETH_P_1588 0x88F7
--
2.8.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 4/7] update siginfo struct for linux v4.6
2016-05-26 20:04 [PATCH 0/7] linux v4.6 update Szabolcs Nagy
` (2 preceding siblings ...)
2016-05-26 20:05 ` [PATCH 3/7] add ETH_P_MACSEC netinet/if_ether.h, " Szabolcs Nagy
@ 2016-05-26 20:06 ` Szabolcs Nagy
2016-05-26 20:06 ` [PATCH 5/7] add CLONE_NEWCGROUP clone flag, new in " Szabolcs Nagy
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-05-26 20:06 UTC (permalink / raw)
To: musl
x86 protection key faults are reported in the si_pkey field,
added in linux commit cd0ea35ff5511cde299a61c21a95889b4a71464e
---
include/signal.h | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/include/signal.h b/include/signal.h
index c6323c6..a16094c 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -74,6 +74,7 @@ typedef struct sigaltstack stack_t;
#define SEGV_MAPERR 1
#define SEGV_ACCERR 2
#define SEGV_BNDERR 3
+#define SEGV_PKUERR 4
#define BUS_ADRALN 1
#define BUS_ADRERR 2
@@ -123,10 +124,13 @@ typedef struct {
struct {
void *si_addr;
short si_addr_lsb;
- struct {
- void *si_lower;
- void *si_upper;
- } __addr_bnd;
+ union {
+ struct {
+ void *si_lower;
+ void *si_upper;
+ } __addr_bnd;
+ unsigned si_pkey;
+ } __first;
} __sigfault;
struct {
long si_band;
@@ -147,8 +151,9 @@ typedef struct {
#define si_value __si_fields.__si_common.__second.si_value
#define si_addr __si_fields.__sigfault.si_addr
#define si_addr_lsb __si_fields.__sigfault.si_addr_lsb
-#define si_lower __si_fields.__sigfault.__addr_bnd.si_lower
-#define si_upper __si_fields.__sigfault.__addr_bnd.si_upper
+#define si_lower __si_fields.__sigfault.__first.__addr_bnd.si_lower
+#define si_upper __si_fields.__sigfault.__first.__addr_bnd.si_upper
+#define si_pkey __si_fields.__sigfault.__first.si_pkey
#define si_band __si_fields.__sigpoll.si_band
#define si_fd __si_fields.__sigpoll.si_fd
#define si_timerid __si_fields.__si_common.__first.__timer.si_timerid
--
2.8.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 5/7] add CLONE_NEWCGROUP clone flag, new in linux v4.6
2016-05-26 20:04 [PATCH 0/7] linux v4.6 update Szabolcs Nagy
` (3 preceding siblings ...)
2016-05-26 20:06 ` [PATCH 4/7] update siginfo struct for " Szabolcs Nagy
@ 2016-05-26 20:06 ` Szabolcs Nagy
2016-05-26 20:07 ` [PATCH 6/7] add new tcp_info fields from " Szabolcs Nagy
2016-05-26 20:07 ` [PATCH 7/7] update sys/socket.h to " Szabolcs Nagy
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-05-26 20:06 UTC (permalink / raw)
To: musl
flag for new cgroup namespace, added in linux commit
5e2bec7c2248ae27c5b16cd97215ae05c1d39179
---
include/sched.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/sched.h b/include/sched.h
index 7e88f09..af82d6c 100644
--- a/include/sched.h
+++ b/include/sched.h
@@ -59,6 +59,7 @@ int sched_yield(void);
#define CLONE_DETACHED 0x00400000
#define CLONE_UNTRACED 0x00800000
#define CLONE_CHILD_SETTID 0x01000000
+#define CLONE_NEWCGROUP 0x02000000
#define CLONE_NEWUTS 0x04000000
#define CLONE_NEWIPC 0x08000000
#define CLONE_NEWUSER 0x10000000
--
2.8.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 6/7] add new tcp_info fields from linux v4.6
2016-05-26 20:04 [PATCH 0/7] linux v4.6 update Szabolcs Nagy
` (4 preceding siblings ...)
2016-05-26 20:06 ` [PATCH 5/7] add CLONE_NEWCGROUP clone flag, new in " Szabolcs Nagy
@ 2016-05-26 20:07 ` Szabolcs Nagy
2016-05-26 20:07 ` [PATCH 7/7] update sys/socket.h to " Szabolcs Nagy
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-05-26 20:07 UTC (permalink / raw)
To: musl
new fields and associated linux commit:
tcpi_notsent_bytes, tcpi_min_rtt cd9b266095f422267bddbec88f9098b48ea548fc
tcpi_data_segs_in, tcpi_data_segs_out a44d6eacdaf56f74fad699af7f4925a5f5ac0e7f
---
include/netinet/tcp.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index 244a21e..d6f41ca 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -184,6 +184,10 @@ struct tcp_info
uint64_t tcpi_bytes_received;
uint32_t tcpi_segs_out;
uint32_t tcpi_segs_in;
+ uint32_t tcpi_notsent_bytes;
+ uint32_t tcpi_min_rtt;
+ uint32_t tcpi_data_segs_in;
+ uint32_t tcpi_data_segs_out;
};
#define TCP_MD5SIG_MAXKEYLEN 80
--
2.8.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 7/7] update sys/socket.h to linux v4.6
2016-05-26 20:04 [PATCH 0/7] linux v4.6 update Szabolcs Nagy
` (5 preceding siblings ...)
2016-05-26 20:07 ` [PATCH 6/7] add new tcp_info fields from " Szabolcs Nagy
@ 2016-05-26 20:07 ` Szabolcs Nagy
6 siblings, 0 replies; 8+ messages in thread
From: Szabolcs Nagy @ 2016-05-26 20:07 UTC (permalink / raw)
To: musl
kernel connection multiplexor macros AF_KCM, PF_KCM, SOL_KCM were
added in linux commit ab7ac4eb9832e32a09f4e8042705484d2fb0aad3
MSG_BATCH sendmsg flag for performance optimization was added
in linux commit f092276d85b82504e8a07498f4e9e0c51f06745c
SOL_* macros are now synced with linux socket.h which is not a uapi
header and glibc did not have the macros either, but that has changed
http://sourceware.org/ml/libc-alpha/2016-05/msg00322.html
---
include/sys/socket.h | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/include/sys/socket.h b/include/sys/socket.h
index 1904b74..e96c268 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -109,7 +109,8 @@ struct linger
#define PF_ALG 38
#define PF_NFC 39
#define PF_VSOCK 40
-#define PF_MAX 41
+#define PF_KCM 41
+#define PF_MAX 42
#define AF_UNSPEC PF_UNSPEC
#define AF_LOCAL PF_LOCAL
@@ -155,6 +156,7 @@ struct linger
#define AF_ALG PF_ALG
#define AF_NFC PF_NFC
#define AF_VSOCK PF_VSOCK
+#define AF_KCM PF_KCM
#define AF_MAX PF_MAX
#ifndef SO_DEBUG
@@ -239,6 +241,21 @@ struct linger
#define SOL_ATM 264
#define SOL_AAL 265
#define SOL_IRDA 266
+#define SOL_NETBEUI 267
+#define SOL_LLC 268
+#define SOL_DCCP 269
+#define SOL_NETLINK 270
+#define SOL_TIPC 271
+#define SOL_RXRPC 272
+#define SOL_PPPOL2TP 273
+#define SOL_BLUETOOTH 274
+#define SOL_PNPIPE 275
+#define SOL_RDS 276
+#define SOL_IUCV 277
+#define SOL_CAIF 278
+#define SOL_ALG 279
+#define SOL_NFC 280
+#define SOL_KCM 281
#define SOMAXCONN 128
@@ -259,6 +276,7 @@ struct linger
#define MSG_NOSIGNAL 0x4000
#define MSG_MORE 0x8000
#define MSG_WAITFORONE 0x10000
+#define MSG_BATCH 0x40000
#define MSG_FASTOPEN 0x20000000
#define MSG_CMSG_CLOEXEC 0x40000000
--
2.8.1
^ permalink raw reply [flat|nested] 8+ messages in thread