Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [day] [month] [year] [list]
Date: Wed, 13 Sep 2017 01:08:44 +0200
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: linux v4.10, v4.11, v4.12, v4.13 uapi updates

Szabolcs Nagy (22):
  add SCM_TIMESTAMPING_OPT_STATS and related TCP_ enums from linux v4.10
  add IP_RECVFRAGSIZE and IPV6_RECVFRAGSIZE from linux v4.10
  add ETH_MIN_MTU and ETH_MAX_MTU from linux v4.10
  add TFD_TIMER_CANCEL_ON_SET that timerfd.h was missing
  add microblaze syscall numbers from linux v4.10
  add kexec_file_load syscall number on powerpc from linux v4.10
  update aarch64 hwcap.h for linux v4.11
  add ETH_P_IBOE from linux v4.11
  add TCP_FASTOPEN_CONNECT tcp socket option from linux v4.11
  add TCP_NLA_* enums from linux v4.11
  add statx syscall numbers from linux v4.11
  add new SO_ socket options from linux v4.12
  add ARPHDR_VSOCKMON from linux v4.12
  aarch64: add new HWCAP_* flags from linux v4.12
  i386: add arch_prctl syscall number from linux v4.12
  s390x: add syscall number for s390_guarded_storage from linux v4.12
  add SO_ getsockopt options from linux v4.13
  ioctl TIOCGPTPEER from linux v4.13
  add new fcntl.h macros from linux v4.13
  add new tcp.h socket options from linux v4.13
  aarch64: add extra_context struct from linux v4.13
  microblaze: add statx syscall from linux v4.13

 arch/aarch64/bits/hwcap.h         |  5 +++++
 arch/aarch64/bits/signal.h        |  7 +++++++
 arch/aarch64/bits/syscall.h.in    |  1 +
 arch/arm/bits/syscall.h.in        |  1 +
 arch/generic/bits/ioctl.h         |  1 +
 arch/i386/bits/syscall.h.in       |  2 ++
 arch/microblaze/bits/syscall.h.in |  7 +++++++
 arch/mips/bits/ioctl.h            |  1 +
 arch/mips/bits/syscall.h.in       |  1 +
 arch/mips64/bits/ioctl.h          |  1 +
 arch/mips64/bits/syscall.h.in     |  1 +
 arch/mipsn32/bits/ioctl.h         |  1 +
 arch/mipsn32/bits/syscall.h.in    |  1 +
 arch/or1k/bits/syscall.h.in       |  1 +
 arch/powerpc/bits/ioctl.h         |  1 +
 arch/powerpc/bits/syscall.h.in    |  2 ++
 arch/powerpc64/bits/ioctl.h       |  1 +
 arch/powerpc64/bits/syscall.h.in  |  2 ++
 arch/s390x/bits/syscall.h.in      |  2 ++
 arch/sh/bits/ioctl.h              |  1 +
 arch/x32/bits/syscall.h.in        |  1 +
 arch/x86_64/bits/syscall.h.in     |  1 +
 include/fcntl.h                   | 12 ++++++++++++
 include/net/if_arp.h              |  1 +
 include/netinet/if_ether.h        |  3 +++
 include/netinet/in.h              |  2 ++
 include/netinet/tcp.h             | 22 ++++++++++++++++++++--
 include/sys/socket.h              |  6 ++++++
 include/sys/timerfd.h             |  1 +
 29 files changed, 87 insertions(+), 2 deletions(-)

-- 
2.14.1


>From 9c357daef6ec11c3c6bb570412d80b6f6c81d776 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sun, 5 Mar 2017 20:51:23 +0000
Subject: [PATCH 01/22] add SCM_TIMESTAMPING_OPT_STATS and related TCP_ enums
 from linux v4.10

for tcp timestamp control messages, new in linux commit
1c885808e45601b2b6f68b30ac1d999e10b6f606
and export time measurements via tcp_info, added in linux commit
efd90174167530c67a54273fd5d8369c87f9bd32
---
 include/netinet/tcp.h | 10 ++++++++++
 include/sys/socket.h  |  1 +
 2 files changed, 11 insertions(+)

diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index 1339fcc3..935107a5 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -44,6 +44,13 @@
 #define TCP_LISTEN       10
 #define TCP_CLOSING      11
 
+enum {
+	TCP_NLA_PAD,
+	TCP_NLA_BUSY,
+	TCP_NLA_RWND_LIMITED,
+	TCP_NLA_SNDBUF_LIMITED,
+};
+
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #define TCPOPT_EOL              0
 #define TCPOPT_NOP              1
@@ -190,6 +197,9 @@ struct tcp_info {
 	uint32_t tcpi_data_segs_in;
 	uint32_t tcpi_data_segs_out;
 	uint64_t tcpi_delivery_rate;
+	uint64_t tcpi_busy_time;
+	uint64_t tcpi_rwnd_limited;
+	uint64_t tcpi_sndbuf_limited;
 };
 
 #define TCP_MD5SIG_MAXKEYLEN    80
diff --git a/include/sys/socket.h b/include/sys/socket.h
index 8664779a..acb6ee0b 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -224,6 +224,7 @@ struct linger {
 #define SO_ATTACH_REUSEPORT_CBPF 51
 #define SO_ATTACH_REUSEPORT_EBPF 52
 #define SO_CNX_ADVICE           53
+#define SCM_TIMESTAMPING_OPT_STATS 54
 
 #ifndef SOL_SOCKET
 #define SOL_SOCKET      1
-- 
2.14.1


>From 02f27cacee6a80b144f8996630dfde8d6abdf911 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sun, 5 Mar 2017 22:58:13 +0000
Subject: [PATCH 02/22] add IP_RECVFRAGSIZE and IPV6_RECVFRAGSIZE from linux
 v4.10

added in linux commit 70ecc24841326396a827deb55c3fefac582a729d
---
 include/netinet/in.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/netinet/in.h b/include/netinet/in.h
index 84982f5e..f18b478d 100644
--- a/include/netinet/in.h
+++ b/include/netinet/in.h
@@ -200,6 +200,7 @@ uint16_t ntohs(uint16_t);
 #define IP_NODEFRAG        22
 #define IP_CHECKSUM        23
 #define IP_BIND_ADDRESS_NO_PORT 24
+#define IP_RECVFRAGSIZE    25
 #define IP_MULTICAST_IF    32
 #define IP_MULTICAST_TTL   33
 #define IP_MULTICAST_LOOP  34
@@ -361,6 +362,7 @@ struct ip6_mtuinfo {
 #define IPV6_RECVORIGDSTADDR    IPV6_ORIGDSTADDR
 #define IPV6_TRANSPARENT        75
 #define IPV6_UNICAST_IF         76
+#define IPV6_RECVFRAGSIZE       77
 
 #define IPV6_ADD_MEMBERSHIP     IPV6_JOIN_GROUP
 #define IPV6_DROP_MEMBERSHIP    IPV6_LEAVE_GROUP
-- 
2.14.1


>From 9403b2fe18fcb787b2b66361fc0cad32e2a456dd Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sun, 5 Mar 2017 23:21:30 +0000
Subject: [PATCH 03/22] add ETH_MIN_MTU and ETH_MAX_MTU from linux v4.10

min max mtu size definitions mostly for drivers.
new in linux commits a52ad514fdf3b8a57ca4322c92d2d8d5c6182485 and
d894be57ca92c8a8819ab544d550809e8731137b
---
 include/netinet/if_ether.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/netinet/if_ether.h b/include/netinet/if_ether.h
index 11ee6582..c52514c5 100644
--- a/include/netinet/if_ether.h
+++ b/include/netinet/if_ether.h
@@ -10,6 +10,8 @@
 #define ETH_DATA_LEN	1500
 #define ETH_FRAME_LEN	1514
 #define ETH_FCS_LEN	4
+#define ETH_MIN_MTU	68
+#define ETH_MAX_MTU	0xFFFFU
 
 #define ETH_P_LOOP	0x0060
 #define ETH_P_PUP	0x0200
-- 
2.14.1


>From 8fb38fb5911db7edacdd6735ceb73d5bd35b6bc4 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sun, 5 Mar 2017 23:54:52 +0000
Subject: [PATCH 04/22] add TFD_TIMER_CANCEL_ON_SET that timerfd.h was missing

linux commit 575b1967e10a1f3038266244d2c7a3ca6b99fed8 moved timerfd
apis to a new uapi header which showed musl was missing this flag.
---
 include/sys/timerfd.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/sys/timerfd.h b/include/sys/timerfd.h
index 9724d903..2794d36a 100644
--- a/include/sys/timerfd.h
+++ b/include/sys/timerfd.h
@@ -12,6 +12,7 @@ extern "C" {
 #define TFD_CLOEXEC O_CLOEXEC
 
 #define TFD_TIMER_ABSTIME 1
+#define TFD_TIMER_CANCEL_ON_SET (1 << 1)
 
 struct itimerspec;
 
-- 
2.14.1


>From a40ad0b3809438fac4f9fa61c6aba9723df5aba0 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Mon, 6 Mar 2017 00:18:37 +0000
Subject: [PATCH 05/22] add microblaze syscall numbers from linux v4.10

missing syscalls got allocated on microblaze.
---
 arch/microblaze/bits/syscall.h.in | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in
index e5f928e3..251c2f61 100644
--- a/arch/microblaze/bits/syscall.h.in
+++ b/arch/microblaze/bits/syscall.h.in
@@ -386,4 +386,10 @@
 #define __NR_userfaultfd 389
 #define __NR_membarrier 390
 #define __NR_mlock2 391
+#define __NR_copy_file_range 392
+#define __NR_preadv2 393
+#define __NR_pwritev2 394
+#define __NR_pkey_mprotect 395
+#define __NR_pkey_alloc 396
+#define __NR_pkey_free 397
 
-- 
2.14.1


>From bb5764366a4f064933cb2df59ff887ab416629eb Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Mon, 6 Mar 2017 00:28:33 +0000
Subject: [PATCH 06/22] add kexec_file_load syscall number on powerpc from
 linux v4.10

added in linux commit 80f60e509a03ff9ff2bdbf9cd1e935c6360b8bd9
---
 arch/powerpc/bits/syscall.h.in   | 1 +
 arch/powerpc64/bits/syscall.h.in | 1 +
 2 files changed, 2 insertions(+)

diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
index 35f7033e..d537a1dc 100644
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -366,4 +366,5 @@
 #define __NR_copy_file_range       379
 #define __NR_preadv2               380
 #define __NR_pwritev2              381
+#define __NR_kexec_file_load       382
 
diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
index c9880fa2..9907ae9b 100644
--- a/arch/powerpc64/bits/syscall.h.in
+++ b/arch/powerpc64/bits/syscall.h.in
@@ -357,4 +357,5 @@
 #define __NR_copy_file_range        379
 #define __NR_preadv2                380
 #define __NR_pwritev2               381
+#define __NR_kexec_file_load        382
 
-- 
2.14.1


>From 65697fa213016324baaa76880e0f476dab9d1767 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sat, 17 Jun 2017 21:23:57 +0000
Subject: [PATCH 07/22] update aarch64 hwcap.h for linux v4.11

new hwcap bits were added in kernel commits
77c97b4ee21290f5f083173d957843b615abbff2
f92f5ce01ee6a6a86cbfc4e3b0d18529c302b1ea
---
 arch/aarch64/bits/hwcap.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/aarch64/bits/hwcap.h b/arch/aarch64/bits/hwcap.h
index 2b923f71..26c14545 100644
--- a/arch/aarch64/bits/hwcap.h
+++ b/arch/aarch64/bits/hwcap.h
@@ -9,3 +9,5 @@
 #define HWCAP_ATOMICS		(1 << 8)
 #define HWCAP_FPHP		(1 << 9)
 #define HWCAP_ASIMDHP		(1 << 10)
+#define HWCAP_CPUID		(1 << 11)
+#define HWCAP_ASIMDRDM		(1 << 12)
-- 
2.14.1


>From 8fef7ca9f4155decf49220f8a059acdce8851cf9 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sat, 17 Jun 2017 21:40:15 +0000
Subject: [PATCH 08/22] add ETH_P_IBOE from linux v4.11

new in linux commit 69ae543969abeba48e04dd93277684c8c0895f3b
---
 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 c52514c5..d9a131aa 100644
--- a/include/netinet/if_ether.h
+++ b/include/netinet/if_ether.h
@@ -63,6 +63,7 @@
 #define ETH_P_FCOE	0x8906
 #define ETH_P_TDLS	0x890D
 #define ETH_P_FIP	0x8914
+#define ETH_P_IBOE	0x8915
 #define ETH_P_80221	0x8917
 #define ETH_P_HSR	0x892F
 #define ETH_P_LOOPBACK	0x9000
-- 
2.14.1


>From 8d16780c40db79dd09b0672b88fda91cdfcf00c6 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sat, 17 Jun 2017 21:45:03 +0000
Subject: [PATCH 09/22] add TCP_FASTOPEN_CONNECT tcp socket option from linux
 v4.11

new in linux commit 19f6d3f3c8422d65b5e3d2162e30ef07c6e21ea2
---
 include/netinet/tcp.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index 935107a5..b85844c8 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -31,6 +31,7 @@
 #define TCP_SAVE_SYN     27
 #define TCP_SAVED_SYN    28
 #define TCP_REPAIR_WINDOW 29
+#define TCP_FASTOPEN_CONNECT 30
 
 #define TCP_ESTABLISHED  1
 #define TCP_SYN_SENT     2
-- 
2.14.1


>From cbb88cd17af47f4eb42a8541c5ed6de72b09457e Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sat, 17 Jun 2017 21:50:03 +0000
Subject: [PATCH 10/22] add TCP_NLA_* enums from linux v4.11

two new stats for SCM_TIMESTAMPING_OPT_STATS, added in linux commit
7e98102f489775d8c000884fca8a0d995ea688a9
---
 include/netinet/tcp.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index b85844c8..652418be 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -50,6 +50,8 @@ enum {
 	TCP_NLA_BUSY,
 	TCP_NLA_RWND_LIMITED,
 	TCP_NLA_SNDBUF_LIMITED,
+	TCP_NLA_DATA_SEGS_OUT,
+	TCP_NLA_TOTAL_RETRANS,
 };
 
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-- 
2.14.1


>From 9f667dda60835a50bd34d6eebdc8030c36443125 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sun, 9 Jul 2017 19:22:31 +0000
Subject: [PATCH 11/22] add statx syscall numbers from linux v4.11

statx was added in linux commit a528d35e8bfcc521d7cb70aaf03e1bd296c8493f
(there is no libc wrapper yet and microblaze and sh misses the number).
---
 arch/aarch64/bits/syscall.h.in   | 1 +
 arch/arm/bits/syscall.h.in       | 1 +
 arch/i386/bits/syscall.h.in      | 1 +
 arch/mips/bits/syscall.h.in      | 1 +
 arch/mips64/bits/syscall.h.in    | 1 +
 arch/mipsn32/bits/syscall.h.in   | 1 +
 arch/or1k/bits/syscall.h.in      | 1 +
 arch/powerpc/bits/syscall.h.in   | 1 +
 arch/powerpc64/bits/syscall.h.in | 1 +
 arch/s390x/bits/syscall.h.in     | 1 +
 arch/x32/bits/syscall.h.in       | 1 +
 arch/x86_64/bits/syscall.h.in    | 1 +
 12 files changed, 12 insertions(+)

diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
index 8b56afff..0d4a9bca 100644
--- a/arch/aarch64/bits/syscall.h.in
+++ b/arch/aarch64/bits/syscall.h.in
@@ -273,4 +273,5 @@
 #define __NR_pkey_mprotect 288
 #define __NR_pkey_alloc 289
 #define __NR_pkey_free 290
+#define __NR_statx 291
 
diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in
index 0096fe7c..c594152e 100644
--- a/arch/arm/bits/syscall.h.in
+++ b/arch/arm/bits/syscall.h.in
@@ -352,6 +352,7 @@
 #define __NR_pkey_mprotect	394
 #define __NR_pkey_alloc	395
 #define __NR_pkey_free	396
+#define __NR_statx	397
 
 #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 1217f89a..b556d83b 100644
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -380,4 +380,5 @@
 #define __NR_pkey_mprotect	380
 #define __NR_pkey_alloc		381
 #define __NR_pkey_free		382
+#define __NR_statx		383
 
diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in
index 1a2147a7..c1e23635 100644
--- a/arch/mips/bits/syscall.h.in
+++ b/arch/mips/bits/syscall.h.in
@@ -363,4 +363,5 @@
 #define __NR_pkey_mprotect           4363
 #define __NR_pkey_alloc              4364
 #define __NR_pkey_free               4365
+#define __NR_statx                   4366
 
diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in
index a207133c..b0fe49b5 100644
--- a/arch/mips64/bits/syscall.h.in
+++ b/arch/mips64/bits/syscall.h.in
@@ -323,4 +323,5 @@
 #define __NR_pkey_mprotect		5323
 #define __NR_pkey_alloc			5324
 #define __NR_pkey_free			5325
+#define __NR_statx			5326
 
diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in
index cd843a76..70c5d0b8 100644
--- a/arch/mipsn32/bits/syscall.h.in
+++ b/arch/mipsn32/bits/syscall.h.in
@@ -327,4 +327,5 @@
 #define __NR_pkey_mprotect		6327
 #define __NR_pkey_alloc			6328
 #define __NR_pkey_free			6329
+#define __NR_statx			6330
 
diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
index 54581fb4..03735e88 100644
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -275,4 +275,5 @@
 #define __NR_pkey_mprotect 288
 #define __NR_pkey_alloc 289
 #define __NR_pkey_free 290
+#define __NR_statx 291
 
diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
index d537a1dc..20833915 100644
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -367,4 +367,5 @@
 #define __NR_preadv2               380
 #define __NR_pwritev2              381
 #define __NR_kexec_file_load       382
+#define __NR_statx                 383
 
diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
index 9907ae9b..936f43c0 100644
--- a/arch/powerpc64/bits/syscall.h.in
+++ b/arch/powerpc64/bits/syscall.h.in
@@ -358,4 +358,5 @@
 #define __NR_preadv2                380
 #define __NR_pwritev2               381
 #define __NR_kexec_file_load        382
+#define __NR_statx                  383
 
diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in
index 1b8fdf0c..bb1c0f4d 100644
--- a/arch/s390x/bits/syscall.h.in
+++ b/arch/s390x/bits/syscall.h.in
@@ -320,4 +320,5 @@
 #define __NR_copy_file_range            375
 #define __NR_preadv2                    376
 #define __NR_pwritev2                   377
+#define __NR_statx                      379
 
diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
index de6cffe0..23ef4472 100644
--- a/arch/x32/bits/syscall.h.in
+++ b/arch/x32/bits/syscall.h.in
@@ -283,6 +283,7 @@
 #define __NR_pkey_mprotect (0x40000000 + 329)
 #define __NR_pkey_alloc (0x40000000 + 330)
 #define __NR_pkey_free (0x40000000 + 331)
+#define __NR_statx (0x40000000 + 332)
 
 #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 6e743dfb..bffcc4ee 100644
--- a/arch/x86_64/bits/syscall.h.in
+++ b/arch/x86_64/bits/syscall.h.in
@@ -330,4 +330,5 @@
 #define __NR_pkey_mprotect			329
 #define __NR_pkey_alloc				330
 #define __NR_pkey_free				331
+#define __NR_statx				332
 
-- 
2.14.1


>From 60074b22760959531f8cd19e281d3b822256c0da Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sun, 9 Jul 2017 18:39:21 +0000
Subject: [PATCH 12/22] add new SO_ socket options from linux v4.12

SO_MEMINFO added in linux commit a2d133b1d465016d0d97560b11f54ba0ace56d3e
SO_INCOMING_NAPI_ID added in 6d4339028b350efbf87c61e6d9e113e5373545c9
SO_COOKIE added in 5daab9db7b65df87da26fd8cfa695fb9546a1ddb
---
 include/sys/socket.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/sys/socket.h b/include/sys/socket.h
index acb6ee0b..bcaf87f9 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -225,6 +225,9 @@ struct linger {
 #define SO_ATTACH_REUSEPORT_EBPF 52
 #define SO_CNX_ADVICE           53
 #define SCM_TIMESTAMPING_OPT_STATS 54
+#define SO_MEMINFO              55
+#define SO_INCOMING_NAPI_ID     56
+#define SO_COOKIE               57
 
 #ifndef SOL_SOCKET
 #define SOL_SOCKET      1
-- 
2.14.1


>From 38bae4b76df77624e0d64c777e87c29c7fc60a53 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sun, 9 Jul 2017 18:51:36 +0000
Subject: [PATCH 13/22] add ARPHDR_VSOCKMON from linux v4.12

new in linux commit 531b374834c891ae2abf800693074df35a7d1a36
---
 include/net/if_arp.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/net/if_arp.h b/include/net/if_arp.h
index 361ecfc9..c832ff95 100644
--- a/include/net/if_arp.h
+++ b/include/net/if_arp.h
@@ -92,6 +92,7 @@ struct arphdr {
 #define ARPHRD_IP6GRE 823
 #define ARPHRD_NETLINK 824
 #define ARPHRD_6LOWPAN 825
+#define ARPHRD_VSOCKMON 826
 
 #define ARPHRD_VOID	  0xFFFF
 #define ARPHRD_NONE	  0xFFFE
-- 
2.14.1


>From 8cf7ec477a59ebf2650d433f1f4141a33c34ed87 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sat, 9 Sep 2017 09:13:27 +0000
Subject: [PATCH 14/22] aarch64: add new HWCAP_* flags from linux v4.12

hwcap bits for armv8.3 extensions, added in linux commits
c8c3798d2369e4285da44b244638eafe446a8f8a
cb567e79fa504575cb97fb2f866d2040ed1c92e7
c651aae5a7732287c1c9bc974ece4ed798780544
---
 arch/aarch64/bits/hwcap.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/aarch64/bits/hwcap.h b/arch/aarch64/bits/hwcap.h
index 26c14545..11396d31 100644
--- a/arch/aarch64/bits/hwcap.h
+++ b/arch/aarch64/bits/hwcap.h
@@ -11,3 +11,6 @@
 #define HWCAP_ASIMDHP		(1 << 10)
 #define HWCAP_CPUID		(1 << 11)
 #define HWCAP_ASIMDRDM		(1 << 12)
+#define HWCAP_JSCVT		(1 << 13)
+#define HWCAP_FCMA		(1 << 14)
+#define HWCAP_LRCPC		(1 << 15)
-- 
2.14.1


>From 09dd1045af235d323ec7419d991bbb6536c72af7 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Sun, 10 Sep 2017 11:12:29 +0000
Subject: [PATCH 15/22] i386: add arch_prctl syscall number from linux v4.12

syscall for i386 compat mode on x86_64 for non-x86_64 prctls.
new in linux commit 79170fda313ed5be2394f87aa2a00d597f8ed4a1
---
 arch/i386/bits/syscall.h.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/i386/bits/syscall.h.in b/arch/i386/bits/syscall.h.in
index b556d83b..27e72fec 100644
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -381,4 +381,5 @@
 #define __NR_pkey_alloc		381
 #define __NR_pkey_free		382
 #define __NR_statx		383
+#define __NR_arch_prctl		384
 
-- 
2.14.1


>From 105776fd8693bc76c1d9b7a97d980499f9e944ad Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Mon, 11 Sep 2017 19:30:08 +0000
Subject: [PATCH 16/22] s390x: add syscall number for s390_guarded_storage from
 linux v4.12

new syscall in linux commit 916cda1aa1b412d7cf2991c3af7479544942d121
---
 arch/s390x/bits/syscall.h.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in
index bb1c0f4d..4fe1a64f 100644
--- a/arch/s390x/bits/syscall.h.in
+++ b/arch/s390x/bits/syscall.h.in
@@ -320,5 +320,6 @@
 #define __NR_copy_file_range            375
 #define __NR_preadv2                    376
 #define __NR_pwritev2                   377
+#define __NR_s390_guarded_storage       378
 #define __NR_statx                      379
 
-- 
2.14.1


>From 912447c772f5802d6354db4d26176a995da9539d Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Mon, 11 Sep 2017 20:50:40 +0000
Subject: [PATCH 17/22] add SO_ getsockopt options from linux v4.13

SCM_TIMESTAMPING_PKTINFO is new in aad9c8c470f2a8321a99eb053630ce0e199558d6
SO_PEERGROUPS is new in 28b5ba2aa0f55d80adb2624564ed2b170c19519e
---
 include/sys/socket.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/sys/socket.h b/include/sys/socket.h
index bcaf87f9..051d20e0 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -228,6 +228,8 @@ struct linger {
 #define SO_MEMINFO              55
 #define SO_INCOMING_NAPI_ID     56
 #define SO_COOKIE               57
+#define SCM_TIMESTAMPING_PKTINFO 58
+#define SO_PEERGROUPS           59
 
 #ifndef SOL_SOCKET
 #define SOL_SOCKET      1
-- 
2.14.1


>From f562f8048e6a15cb43acc7faac5ec45f994feefa Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Mon, 11 Sep 2017 22:38:05 +0000
Subject: [PATCH 18/22] ioctl TIOCGPTPEER from linux v4.13

added for safe opening of peer end of pty in a mount namespace.
new in linux commit c6325179238f1d4683edbec53d8322575d76d7e2
---
 arch/generic/bits/ioctl.h   | 1 +
 arch/mips/bits/ioctl.h      | 1 +
 arch/mips64/bits/ioctl.h    | 1 +
 arch/mipsn32/bits/ioctl.h   | 1 +
 arch/powerpc/bits/ioctl.h   | 1 +
 arch/powerpc64/bits/ioctl.h | 1 +
 arch/sh/bits/ioctl.h        | 1 +
 7 files changed, 7 insertions(+)

diff --git a/arch/generic/bits/ioctl.h b/arch/generic/bits/ioctl.h
index 44deb11a..42a8f1a2 100644
--- a/arch/generic/bits/ioctl.h
+++ b/arch/generic/bits/ioctl.h
@@ -63,6 +63,7 @@
 #define TIOCGPKT	0x80045438
 #define TIOCGPTLCK	0x80045439
 #define TIOCGEXCL	0x80045440
+#define TIOCGPTPEER	0x5441
 
 #define FIONCLEX	0x5450
 #define FIOCLEX		0x5451
diff --git a/arch/mips/bits/ioctl.h b/arch/mips/bits/ioctl.h
index 71394449..b8f77cb5 100644
--- a/arch/mips/bits/ioctl.h
+++ b/arch/mips/bits/ioctl.h
@@ -68,6 +68,7 @@
 #define TIOCGPKT	_IOR('T', 0x38, int)
 #define TIOCGPTLCK	_IOR('T', 0x39, int)
 #define TIOCGEXCL	_IOR('T', 0x40, int)
+#define TIOCGPTPEER	_IO('T', 0x41)
 
 #define TIOCSCTTY	0x5480
 #define TIOCGSOFTCAR	0x5481
diff --git a/arch/mips64/bits/ioctl.h b/arch/mips64/bits/ioctl.h
index 71394449..b8f77cb5 100644
--- a/arch/mips64/bits/ioctl.h
+++ b/arch/mips64/bits/ioctl.h
@@ -68,6 +68,7 @@
 #define TIOCGPKT	_IOR('T', 0x38, int)
 #define TIOCGPTLCK	_IOR('T', 0x39, int)
 #define TIOCGEXCL	_IOR('T', 0x40, int)
+#define TIOCGPTPEER	_IO('T', 0x41)
 
 #define TIOCSCTTY	0x5480
 #define TIOCGSOFTCAR	0x5481
diff --git a/arch/mipsn32/bits/ioctl.h b/arch/mipsn32/bits/ioctl.h
index 71394449..b8f77cb5 100644
--- a/arch/mipsn32/bits/ioctl.h
+++ b/arch/mipsn32/bits/ioctl.h
@@ -68,6 +68,7 @@
 #define TIOCGPKT	_IOR('T', 0x38, int)
 #define TIOCGPTLCK	_IOR('T', 0x39, int)
 #define TIOCGEXCL	_IOR('T', 0x40, int)
+#define TIOCGPTPEER	_IO('T', 0x41)
 
 #define TIOCSCTTY	0x5480
 #define TIOCGSOFTCAR	0x5481
diff --git a/arch/powerpc/bits/ioctl.h b/arch/powerpc/bits/ioctl.h
index d3771dd3..47586234 100644
--- a/arch/powerpc/bits/ioctl.h
+++ b/arch/powerpc/bits/ioctl.h
@@ -104,6 +104,7 @@
 #define TIOCGPKT	_IOR('T', 0x38, int)
 #define TIOCGPTLCK	_IOR('T', 0x39, int)
 #define TIOCGEXCL	_IOR('T', 0x40, int)
+#define TIOCGPTPEER	_IO('T', 0x41)
 
 #define TIOCSERCONFIG	0x5453
 #define TIOCSERGWILD	0x5454
diff --git a/arch/powerpc64/bits/ioctl.h b/arch/powerpc64/bits/ioctl.h
index d3771dd3..47586234 100644
--- a/arch/powerpc64/bits/ioctl.h
+++ b/arch/powerpc64/bits/ioctl.h
@@ -104,6 +104,7 @@
 #define TIOCGPKT	_IOR('T', 0x38, int)
 #define TIOCGPTLCK	_IOR('T', 0x39, int)
 #define TIOCGEXCL	_IOR('T', 0x40, int)
+#define TIOCGPTPEER	_IO('T', 0x41)
 
 #define TIOCSERCONFIG	0x5453
 #define TIOCSERGWILD	0x5454
diff --git a/arch/sh/bits/ioctl.h b/arch/sh/bits/ioctl.h
index 15256c51..3c7ab4bb 100644
--- a/arch/sh/bits/ioctl.h
+++ b/arch/sh/bits/ioctl.h
@@ -95,6 +95,7 @@
 #define TIOCGPKT            _IOR('T', 56, int)
 #define TIOCGPTLCK          _IOR('T', 57, int)
 #define TIOCGEXCL           _IOR('T', 64, int)
+#define TIOCGPTPEER         _IO('T', 0x41)
 
 #define TIOCSERCONFIG       _IO('T',  83)
 #define TIOCSERGWILD        _IOR('T', 84, int)
-- 
2.14.1


>From aa1ba99671b8cb57717affb43d01c09f921d7959 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Tue, 12 Sep 2017 22:04:20 +0000
Subject: [PATCH 19/22] add new fcntl.h macros from linux v4.13

for getting/setting write lifetime hints fcntl commands were
added in linux commit c75b1d9421f80f4143e389d2d50ddfc8a28c8c35

added under _GNU_SOURCE || _BSD_SOURCE, since RWH_* life time
hints are not in the POSIX reserved namespace.
---
 include/fcntl.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/include/fcntl.h b/include/fcntl.h
index 0e165ca3..6d8edcd1 100644
--- a/include/fcntl.h
+++ b/include/fcntl.h
@@ -127,6 +127,18 @@ int posix_fallocate(int, off_t, off_t);
 #define F_SEAL_GROW	0x0004
 #define F_SEAL_WRITE	0x0008
 
+#define F_GET_RW_HINT		1035
+#define F_SET_RW_HINT		1036
+#define F_GET_FILE_RW_HINT	1037
+#define F_SET_FILE_RW_HINT	1038
+
+#define RWF_WRITE_LIFE_NOT_SET	0
+#define RWH_WRITE_LIFE_NONE	1
+#define RWH_WRITE_LIFE_SHORT	2
+#define RWH_WRITE_LIFE_MEDIUM	3
+#define RWH_WRITE_LIFE_LONG	4
+#define RWH_WRITE_LIFE_EXTREME	5
+
 #define DN_ACCESS	0x00000001
 #define DN_MODIFY	0x00000002
 #define DN_CREATE	0x00000004
-- 
2.14.1


>From 4bab372c5a9fbe500db0821bda37ed11c3ef87c9 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Tue, 12 Sep 2017 22:14:24 +0000
Subject: [PATCH 20/22] add new tcp.h socket options from linux v4.13

TCP_ULP is new in linux commit 734942cc4ea6478eed125af258da1bdbb4afe578
TCP_MD5SIG_EXT is new in 8917a777be3ba566377be05117f71b93a5fd909d
---
 include/netinet/tcp.h | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index 652418be..4d20936a 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -32,6 +32,8 @@
 #define TCP_SAVED_SYN    28
 #define TCP_REPAIR_WINDOW 29
 #define TCP_FASTOPEN_CONNECT 30
+#define TCP_ULP          31
+#define TCP_MD5SIG_EXT   32
 
 #define TCP_ESTABLISHED  1
 #define TCP_SYN_SENT     2
@@ -207,11 +209,14 @@ struct tcp_info {
 
 #define TCP_MD5SIG_MAXKEYLEN    80
 
+#define TCP_MD5SIG_FLAG_PREFIX  1
+
 struct tcp_md5sig {
 	struct sockaddr_storage tcpm_addr;
-	uint16_t __tcpm_pad1;
+	uint8_t tcpm_flags;
+	uint8_t tcpm_prefixlen;
 	uint16_t tcpm_keylen;
-	uint32_t __tcpm_pad2;
+	uint32_t __tcpm_pad;
 	uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN];
 };
 
-- 
2.14.1


>From 7a9d86bebe770503e97ff4d39bb9076c5fd56a9a Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Tue, 12 Sep 2017 22:32:11 +0000
Subject: [PATCH 21/22] aarch64: add extra_context struct from linux v4.13

allows expanding the signal frame beyond the 4k reserved space.
new in linux commit 33f082614c3443d937f50fe936f284f62bbb4a1b
---
 arch/aarch64/bits/signal.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/aarch64/bits/signal.h b/arch/aarch64/bits/signal.h
index 00fb5f33..5eb3d91f 100644
--- a/arch/aarch64/bits/signal.h
+++ b/arch/aarch64/bits/signal.h
@@ -24,6 +24,7 @@ typedef struct sigcontext {
 
 #define FPSIMD_MAGIC 0x46508001
 #define ESR_MAGIC 0x45535201
+#define EXTRA_MAGIC 0x45585401
 struct _aarch64_ctx {
 	unsigned int magic;
 	unsigned int size;
@@ -38,6 +39,12 @@ struct esr_context {
 	struct _aarch64_ctx head;
 	unsigned long esr;
 };
+struct extra_context {
+	struct _aarch64_ctx head;
+	unsigned long datap;
+	unsigned int size;
+	unsigned int __reserved[3];
+};
 #else
 typedef struct {
 	long double __regs[18+256];
-- 
2.14.1


>From b6ba2cc0908409a20caf84e0c5ceefb6cd23ea49 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@...t70.net>
Date: Tue, 12 Sep 2017 22:37:38 +0000
Subject: [PATCH 22/22] microblaze: add statx syscall from linux v4.13

statx number is allocated for microblaze in linux commit
f5ef419630e85e80284cd0256cb5a13a66bbd6c5
---
 arch/microblaze/bits/syscall.h.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in
index 251c2f61..dda5218d 100644
--- a/arch/microblaze/bits/syscall.h.in
+++ b/arch/microblaze/bits/syscall.h.in
@@ -392,4 +392,5 @@
 #define __NR_pkey_mprotect 395
 #define __NR_pkey_alloc 396
 #define __NR_pkey_free 397
+#define __NR_statx 398
 
-- 
2.14.1


Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ