unix: update Dockerfile to Linux 5.9 and Go 1.15.2

Also add some newly added IFLA_* and PERF_* consts and adjust the
renamed NFTA_LIST_UNPEC const (see torvalds/linux@da9125df854e).

Change-Id: Ic37f39e5b5bfe063ae6d7701de05ced07e62abfb
Reviewed-on: https://go-review.googlesource.com/c/sys/+/261457
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Matt Layher <mdlayher@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
diff --git a/unix/linux/Dockerfile b/unix/linux/Dockerfile
index 559347d..a478f78 100644
--- a/unix/linux/Dockerfile
+++ b/unix/linux/Dockerfile
@@ -15,15 +15,15 @@
 # Get the git sources. If not cached, this takes O(5 minutes).
 WORKDIR /git
 RUN git config --global advice.detachedHead false
-# Linux Kernel: Released 02 Aug 2020
-RUN git clone --branch v5.8 --depth 1 https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
+# Linux Kernel: Released 11 Oct 2020
+RUN git clone --branch v5.9 --depth 1 https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
 # GNU C library: Released 06 Aug 2020 (we should try to get a secure way to clone this)
 RUN git clone --branch release/2.32/master --depth 1 git://sourceware.org/git/glibc.git
 
 # Get Go
-ENV GOLANG_VERSION 1.15.1
+ENV GOLANG_VERSION 1.15.2
 ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
-ENV GOLANG_DOWNLOAD_SHA256 70ac0dbf60a8ee9236f337ed0daa7a4c3b98f6186d4497826f68e97c0c0413f6
+ENV GOLANG_DOWNLOAD_SHA256 b49fda1ca29a1946d6bb2a5a6982cf07ccd2aba849289508ee0f9918f6bb4552
 
 RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz \
     && echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - \
diff --git a/unix/linux/types.go b/unix/linux/types.go
index 42ea25e..92f940a 100644
--- a/unix/linux/types.go
+++ b/unix/linux/types.go
@@ -727,6 +727,10 @@
 	IFLA_NEW_IFINDEX        = C.IFLA_NEW_IFINDEX
 	IFLA_MIN_MTU            = C.IFLA_MIN_MTU
 	IFLA_MAX_MTU            = C.IFLA_MAX_MTU
+	IFLA_PROP_LIST          = C.IFLA_PROP_LIST
+	IFLA_ALT_IFNAME         = C.IFLA_ALT_IFNAME
+	IFLA_PERM_ADDRESS       = C.IFLA_PERM_ADDRESS
+	IFLA_PROTO_DOWN_REASON  = C.IFLA_PROTO_DOWN_REASON
 	IFLA_MAX                = C.IFLA_MAX
 	IFLA_INFO_KIND          = C.IFLA_INFO_KIND
 	IFLA_INFO_DATA          = C.IFLA_INFO_DATA
@@ -1196,9 +1200,11 @@
 	PERF_RECORD_KSYMBOL                   = C.PERF_RECORD_KSYMBOL
 	PERF_RECORD_BPF_EVENT                 = C.PERF_RECORD_BPF_EVENT
 	PERF_RECORD_CGROUP                    = C.PERF_RECORD_CGROUP
+	PERF_RECORD_TEXT_POKE                 = C.PERF_RECORD_TEXT_POKE
 	PERF_RECORD_MAX                       = C.PERF_RECORD_MAX
 	PERF_RECORD_KSYMBOL_TYPE_UNKNOWN      = C.PERF_RECORD_KSYMBOL_TYPE_UNKNOWN
 	PERF_RECORD_KSYMBOL_TYPE_BPF          = C.PERF_RECORD_KSYMBOL_TYPE_BPF
+	PERF_RECORD_KSYMBOL_TYPE_OOL          = C.PERF_RECORD_KSYMBOL_TYPE_OOL
 	PERF_RECORD_KSYMBOL_TYPE_MAX          = C.PERF_RECORD_KSYMBOL_TYPE_MAX
 	PERF_BPF_EVENT_UNKNOWN                = C.PERF_BPF_EVENT_UNKNOWN
 	PERF_BPF_EVENT_PROG_LOAD              = C.PERF_BPF_EVENT_PROG_LOAD
@@ -1446,7 +1452,7 @@
 	NFT_MSG_DELOBJ                    = C.NFT_MSG_DELOBJ
 	NFT_MSG_GETOBJ_RESET              = C.NFT_MSG_GETOBJ_RESET
 	NFT_MSG_MAX                       = C.NFT_MSG_MAX
-	NFTA_LIST_UNPEC                   = C.NFTA_LIST_UNPEC
+	NFTA_LIST_UNSPEC                  = C.NFTA_LIST_UNSPEC
 	NFTA_LIST_ELEM                    = C.NFTA_LIST_ELEM
 	NFTA_HOOK_UNSPEC                  = C.NFTA_HOOK_UNSPEC
 	NFTA_HOOK_HOOKNUM                 = C.NFTA_HOOK_HOOKNUM
diff --git a/unix/zerrors_linux.go b/unix/zerrors_linux.go
index 6232b2e..2069fb8 100644
--- a/unix/zerrors_linux.go
+++ b/unix/zerrors_linux.go
@@ -324,6 +324,7 @@
 	CAP_AUDIT_WRITE                             = 0x1d
 	CAP_BLOCK_SUSPEND                           = 0x24
 	CAP_BPF                                     = 0x27
+	CAP_CHECKPOINT_RESTORE                      = 0x28
 	CAP_CHOWN                                   = 0x0
 	CAP_DAC_OVERRIDE                            = 0x1
 	CAP_DAC_READ_SEARCH                         = 0x2
@@ -332,7 +333,7 @@
 	CAP_IPC_LOCK                                = 0xe
 	CAP_IPC_OWNER                               = 0xf
 	CAP_KILL                                    = 0x5
-	CAP_LAST_CAP                                = 0x27
+	CAP_LAST_CAP                                = 0x28
 	CAP_LEASE                                   = 0x1c
 	CAP_LINUX_IMMUTABLE                         = 0x9
 	CAP_MAC_ADMIN                               = 0x21
@@ -650,8 +651,8 @@
 	FAN_DELETE                                  = 0x200
 	FAN_DELETE_SELF                             = 0x400
 	FAN_DENY                                    = 0x2
-	FAN_DIR_MODIFY                              = 0x80000
 	FAN_ENABLE_AUDIT                            = 0x40
+	FAN_EVENT_INFO_TYPE_DFID                    = 0x3
 	FAN_EVENT_INFO_TYPE_DFID_NAME               = 0x2
 	FAN_EVENT_INFO_TYPE_FID                     = 0x1
 	FAN_EVENT_METADATA_LEN                      = 0x18
@@ -679,7 +680,10 @@
 	FAN_OPEN_EXEC_PERM                          = 0x40000
 	FAN_OPEN_PERM                               = 0x10000
 	FAN_Q_OVERFLOW                              = 0x4000
+	FAN_REPORT_DFID_NAME                        = 0xc00
+	FAN_REPORT_DIR_FID                          = 0x400
 	FAN_REPORT_FID                              = 0x200
+	FAN_REPORT_NAME                             = 0x800
 	FAN_REPORT_TID                              = 0x100
 	FAN_UNLIMITED_MARKS                         = 0x20
 	FAN_UNLIMITED_QUEUE                         = 0x10
@@ -1980,6 +1984,7 @@
 	RTPROT_EIGRP                                = 0xc0
 	RTPROT_GATED                                = 0x8
 	RTPROT_ISIS                                 = 0xbb
+	RTPROT_KEEPALIVED                           = 0x12
 	RTPROT_KERNEL                               = 0x2
 	RTPROT_MROUTED                              = 0x11
 	RTPROT_MRT                                  = 0xa
@@ -2170,6 +2175,7 @@
 	SO_EE_ORIGIN_TXSTATUS                       = 0x4
 	SO_EE_ORIGIN_TXTIME                         = 0x6
 	SO_EE_ORIGIN_ZEROCOPY                       = 0x5
+	SO_EE_RFC4884_FLAG_INVALID                  = 0x1
 	SO_GET_FILTER                               = 0x1a
 	SO_NO_CHECK                                 = 0xb
 	SO_PEERNAME                                 = 0x1c
diff --git a/unix/zsysnum_linux_386.go b/unix/zsysnum_linux_386.go
index a597e06..0f5a3f6 100644
--- a/unix/zsysnum_linux_386.go
+++ b/unix/zsysnum_linux_386.go
@@ -431,6 +431,7 @@
 	SYS_FSPICK                       = 433
 	SYS_PIDFD_OPEN                   = 434
 	SYS_CLONE3                       = 435
+	SYS_CLOSE_RANGE                  = 436
 	SYS_OPENAT2                      = 437
 	SYS_PIDFD_GETFD                  = 438
 	SYS_FACCESSAT2                   = 439
diff --git a/unix/zsysnum_linux_amd64.go b/unix/zsysnum_linux_amd64.go
index 8c102e5..36d5219 100644
--- a/unix/zsysnum_linux_amd64.go
+++ b/unix/zsysnum_linux_amd64.go
@@ -353,6 +353,7 @@
 	SYS_FSPICK                 = 433
 	SYS_PIDFD_OPEN             = 434
 	SYS_CLONE3                 = 435
+	SYS_CLOSE_RANGE            = 436
 	SYS_OPENAT2                = 437
 	SYS_PIDFD_GETFD            = 438
 	SYS_FACCESSAT2             = 439
diff --git a/unix/zsysnum_linux_arm.go b/unix/zsysnum_linux_arm.go
index 98f9b68..3622ba1 100644
--- a/unix/zsysnum_linux_arm.go
+++ b/unix/zsysnum_linux_arm.go
@@ -395,6 +395,7 @@
 	SYS_FSPICK                       = 433
 	SYS_PIDFD_OPEN                   = 434
 	SYS_CLONE3                       = 435
+	SYS_CLOSE_RANGE                  = 436
 	SYS_OPENAT2                      = 437
 	SYS_PIDFD_GETFD                  = 438
 	SYS_FACCESSAT2                   = 439
diff --git a/unix/zsysnum_linux_arm64.go b/unix/zsysnum_linux_arm64.go
index 4dabc33..6193c3d 100644
--- a/unix/zsysnum_linux_arm64.go
+++ b/unix/zsysnum_linux_arm64.go
@@ -298,6 +298,7 @@
 	SYS_FSPICK                 = 433
 	SYS_PIDFD_OPEN             = 434
 	SYS_CLONE3                 = 435
+	SYS_CLOSE_RANGE            = 436
 	SYS_OPENAT2                = 437
 	SYS_PIDFD_GETFD            = 438
 	SYS_FACCESSAT2             = 439
diff --git a/unix/zsysnum_linux_mips.go b/unix/zsysnum_linux_mips.go
index d5724e5..640b974 100644
--- a/unix/zsysnum_linux_mips.go
+++ b/unix/zsysnum_linux_mips.go
@@ -416,6 +416,7 @@
 	SYS_FSPICK                       = 4433
 	SYS_PIDFD_OPEN                   = 4434
 	SYS_CLONE3                       = 4435
+	SYS_CLOSE_RANGE                  = 4436
 	SYS_OPENAT2                      = 4437
 	SYS_PIDFD_GETFD                  = 4438
 	SYS_FACCESSAT2                   = 4439
diff --git a/unix/zsysnum_linux_mips64.go b/unix/zsysnum_linux_mips64.go
index c1d824a..3467fbb 100644
--- a/unix/zsysnum_linux_mips64.go
+++ b/unix/zsysnum_linux_mips64.go
@@ -346,6 +346,7 @@
 	SYS_FSPICK                 = 5433
 	SYS_PIDFD_OPEN             = 5434
 	SYS_CLONE3                 = 5435
+	SYS_CLOSE_RANGE            = 5436
 	SYS_OPENAT2                = 5437
 	SYS_PIDFD_GETFD            = 5438
 	SYS_FACCESSAT2             = 5439
diff --git a/unix/zsysnum_linux_mips64le.go b/unix/zsysnum_linux_mips64le.go
index 598dd5d..0fc38d5 100644
--- a/unix/zsysnum_linux_mips64le.go
+++ b/unix/zsysnum_linux_mips64le.go
@@ -346,6 +346,7 @@
 	SYS_FSPICK                 = 5433
 	SYS_PIDFD_OPEN             = 5434
 	SYS_CLONE3                 = 5435
+	SYS_CLOSE_RANGE            = 5436
 	SYS_OPENAT2                = 5437
 	SYS_PIDFD_GETFD            = 5438
 	SYS_FACCESSAT2             = 5439
diff --git a/unix/zsysnum_linux_mipsle.go b/unix/zsysnum_linux_mipsle.go
index c36782d..999fd55 100644
--- a/unix/zsysnum_linux_mipsle.go
+++ b/unix/zsysnum_linux_mipsle.go
@@ -416,6 +416,7 @@
 	SYS_FSPICK                       = 4433
 	SYS_PIDFD_OPEN                   = 4434
 	SYS_CLONE3                       = 4435
+	SYS_CLOSE_RANGE                  = 4436
 	SYS_OPENAT2                      = 4437
 	SYS_PIDFD_GETFD                  = 4438
 	SYS_FACCESSAT2                   = 4439
diff --git a/unix/zsysnum_linux_ppc64.go b/unix/zsysnum_linux_ppc64.go
index 9287538..1df0d79 100644
--- a/unix/zsysnum_linux_ppc64.go
+++ b/unix/zsysnum_linux_ppc64.go
@@ -395,6 +395,7 @@
 	SYS_FSPICK                 = 433
 	SYS_PIDFD_OPEN             = 434
 	SYS_CLONE3                 = 435
+	SYS_CLOSE_RANGE            = 436
 	SYS_OPENAT2                = 437
 	SYS_PIDFD_GETFD            = 438
 	SYS_FACCESSAT2             = 439
diff --git a/unix/zsysnum_linux_ppc64le.go b/unix/zsysnum_linux_ppc64le.go
index 4dafad8..4db39cc 100644
--- a/unix/zsysnum_linux_ppc64le.go
+++ b/unix/zsysnum_linux_ppc64le.go
@@ -395,6 +395,7 @@
 	SYS_FSPICK                 = 433
 	SYS_PIDFD_OPEN             = 434
 	SYS_CLONE3                 = 435
+	SYS_CLOSE_RANGE            = 436
 	SYS_OPENAT2                = 437
 	SYS_PIDFD_GETFD            = 438
 	SYS_FACCESSAT2             = 439
diff --git a/unix/zsysnum_linux_riscv64.go b/unix/zsysnum_linux_riscv64.go
index 6642cfc..e692740 100644
--- a/unix/zsysnum_linux_riscv64.go
+++ b/unix/zsysnum_linux_riscv64.go
@@ -297,6 +297,7 @@
 	SYS_FSPICK                 = 433
 	SYS_PIDFD_OPEN             = 434
 	SYS_CLONE3                 = 435
+	SYS_CLOSE_RANGE            = 436
 	SYS_OPENAT2                = 437
 	SYS_PIDFD_GETFD            = 438
 	SYS_FACCESSAT2             = 439
diff --git a/unix/zsysnum_linux_s390x.go b/unix/zsysnum_linux_s390x.go
index 23367b9..a585aec 100644
--- a/unix/zsysnum_linux_s390x.go
+++ b/unix/zsysnum_linux_s390x.go
@@ -360,6 +360,7 @@
 	SYS_FSPICK                 = 433
 	SYS_PIDFD_OPEN             = 434
 	SYS_CLONE3                 = 435
+	SYS_CLOSE_RANGE            = 436
 	SYS_OPENAT2                = 437
 	SYS_PIDFD_GETFD            = 438
 	SYS_FACCESSAT2             = 439
diff --git a/unix/zsysnum_linux_sparc64.go b/unix/zsysnum_linux_sparc64.go
index 083aa02..d047e56 100644
--- a/unix/zsysnum_linux_sparc64.go
+++ b/unix/zsysnum_linux_sparc64.go
@@ -374,6 +374,7 @@
 	SYS_FSMOUNT                = 432
 	SYS_FSPICK                 = 433
 	SYS_PIDFD_OPEN             = 434
+	SYS_CLOSE_RANGE            = 436
 	SYS_OPENAT2                = 437
 	SYS_PIDFD_GETFD            = 438
 	SYS_FACCESSAT2             = 439
diff --git a/unix/ztypes_linux.go b/unix/ztypes_linux.go
index 8d1429a..773fc32 100644
--- a/unix/ztypes_linux.go
+++ b/unix/ztypes_linux.go
@@ -554,7 +554,11 @@
 	IFLA_NEW_IFINDEX        = 0x31
 	IFLA_MIN_MTU            = 0x32
 	IFLA_MAX_MTU            = 0x33
-	IFLA_MAX                = 0x36
+	IFLA_PROP_LIST          = 0x34
+	IFLA_ALT_IFNAME         = 0x35
+	IFLA_PERM_ADDRESS       = 0x36
+	IFLA_PROTO_DOWN_REASON  = 0x37
+	IFLA_MAX                = 0x37
 	IFLA_INFO_KIND          = 0x1
 	IFLA_INFO_DATA          = 0x2
 	IFLA_INFO_XSTATS        = 0x3
@@ -946,7 +950,10 @@
 	Time_offset    uint64
 	Time_zero      uint64
 	Size           uint32
-	_              [948]uint8
+	_              uint32
+	Time_cycles    uint64
+	Time_mask      uint64
+	_              [928]uint8
 	Data_head      uint64
 	Data_tail      uint64
 	Data_offset    uint64
@@ -1145,10 +1152,12 @@
 	PERF_RECORD_KSYMBOL                   = 0x11
 	PERF_RECORD_BPF_EVENT                 = 0x12
 	PERF_RECORD_CGROUP                    = 0x13
-	PERF_RECORD_MAX                       = 0x14
+	PERF_RECORD_TEXT_POKE                 = 0x14
+	PERF_RECORD_MAX                       = 0x15
 	PERF_RECORD_KSYMBOL_TYPE_UNKNOWN      = 0x0
 	PERF_RECORD_KSYMBOL_TYPE_BPF          = 0x1
-	PERF_RECORD_KSYMBOL_TYPE_MAX          = 0x2
+	PERF_RECORD_KSYMBOL_TYPE_OOL          = 0x2
+	PERF_RECORD_KSYMBOL_TYPE_MAX          = 0x3
 	PERF_BPF_EVENT_UNKNOWN                = 0x0
 	PERF_BPF_EVENT_PROG_LOAD              = 0x1
 	PERF_BPF_EVENT_PROG_UNLOAD            = 0x2
@@ -1465,7 +1474,7 @@
 	NFT_MSG_DELOBJ                    = 0x14
 	NFT_MSG_GETOBJ_RESET              = 0x15
 	NFT_MSG_MAX                       = 0x19
-	NFTA_LIST_UNPEC                   = 0x0
+	NFTA_LIST_UNSPEC                  = 0x0
 	NFTA_LIST_ELEM                    = 0x1
 	NFTA_HOOK_UNSPEC                  = 0x0
 	NFTA_HOOK_HOOKNUM                 = 0x1
@@ -1904,9 +1913,12 @@
 }
 
 type XDPStatistics struct {
-	Rx_dropped       uint64
-	Rx_invalid_descs uint64
-	Tx_invalid_descs uint64
+	Rx_dropped               uint64
+	Rx_invalid_descs         uint64
+	Tx_invalid_descs         uint64
+	Rx_ring_full             uint64
+	Rx_fill_ring_empty_descs uint64
+	Tx_ring_empty_descs      uint64
 }
 
 type XDPDesc struct {
@@ -2553,7 +2565,7 @@
 	DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE     = 0x3c
 	DEVLINK_ATTR_PAD                          = 0x3d
 	DEVLINK_ATTR_ESWITCH_ENCAP_MODE           = 0x3e
-	DEVLINK_ATTR_MAX                          = 0x90
+	DEVLINK_ATTR_MAX                          = 0x94
 	DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE     = 0x0
 	DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX  = 0x1
 	DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT      = 0x0