Commit Graph

723 Commits

Author SHA1 Message Date
Rolf Neugebauer
1257fd9ce9 kernel: Adjust 4.4 config for x86
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-22 22:42:00 +00:00
Rolf Neugebauer
ab3f4950aa kernel: Adjust arm64 4.14 config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-22 22:06:44 +00:00
Rolf Neugebauer
92d6966307 kernel: Updat to 4.19.3/4.18.20/4.14.82/4.9.138/4.4.164
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-22 20:44:45 +00:00
Jason A. Donenfeld
dfc05c676f wireguard: upgrade to 0.0.20181119
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-19 18:30:34 +01:00
Tiejun Chen
116f9be99b update -rt to 4.14.78-rt47
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2018-11-18 15:56:01 -08:00
Rolf Neugebauer
535cbfaf32 kernel: Adjust 4.18.x kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-15 22:54:05 +00:00
Rolf Neugebauer
8b816a87a5 kernel: Adjust 4.19.x kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-15 22:14:28 +00:00
Rolf Neugebauer
9482281f5b kernel: Update to 4.19.2/4.18.19/4.14.81/4.9.137
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-15 22:11:30 +00:00
Jason A. Donenfeld
7494396812 wireguard: upgrade to 0.0.20181115
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-15 12:13:38 -08:00
Rolf Neugebauer
cc544d1cf2 kernel: Update to 4.18.18/4.14.80/4.9.136/4.4.163
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-12 21:49:34 +00:00
Rolf Neugebauer
3c5062ff9b kernel: Update to 4.19.1/4.18.17/4.14.79
Also fix the boolean expression for 'perf' in the Dockerfile.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-10 10:26:22 +00:00
Rolf Neugebauer
077e31c10a kernel: Remove unused config files
A previosu commit removed suppoer for 4.18.x kernels for
arm64 and s390x but did not remove the config files. Fix it.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-09 22:51:22 +00:00
Rolf Neugebauer
e90c9a0687 kernel: perf only for LTS and latest stable/disable for arm64
The logic for perf became too complex. Just build for latest LTS
and latest stable.

Disable for arm64 for now as it is broken for 4.19 due to a header
mismatch:

In file included from /linux/tools/arch/arm64/include/uapi/asm/unistd.h:20:0,
                 from libbpf.c:36:
/linux/tools/include/uapi/asm-generic/unistd.h:754:0: error: "__NR_fcntl" redefined [-Werror]

In file included from /usr/include/sys/syscall.h:4:0,
                 from /linux/tools/perf/perf-sys.h:7,
                 from libbpf.c:35:
/usr/include/bits/syscall.h:26:0: note: this is the location of the previous definition

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-28 21:46:14 +00:00
Rolf Neugebauer
1467a70b44 kernel: Compile bcc for 4.19 instead of 4.18 (x86_64 only)
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-27 12:37:51 +01:00
Rolf Neugebauer
936d47fd2f kernel: Remove 4.18.x for arm64 and s390x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-27 12:37:16 +01:00
Rolf Neugebauer
2d483ca898 kernel: Add support for the 4.19 kernel
The kernel configs were constructed by running the 4.18.x config
through the 4.19 oldconfig process.

The 4.19.x has a new option, RANDOM_TRUST_CPU, which indicates
if the CPUs random instruction is to be trusted. It defaults to
"no" and this default was accepted.

Most of the defaults were accepted, except for:
BLK_CGROUP_IOLATENCY=y
NFT_TUNNEL=y
NFT_OSF=y
NFT_TPROXY=y
NETFILTER_XT_MATCH_SOCKET=y
NET_VENDOR_CADENCE=n
NET_VENDOR_NETERION=n
NET_VENDOR_PACKET_ENGINES=n

We also disallow CIFS for insecure legacy servers:
CIFS_ALLOW_INSECURE_LEGACY=n

For arm64, the following changes were made to the default:
SENSORS_RASPBERRYPI_HWMON=y
CRYPTO_DEV_QCOM_RNG=m
CRYPTO_DEV_HISI_SEC=m

For s390x, the additional changes were made to the default:
KERNEL_BZIP2 (default is gzip)
GCC_PLUGINS=y
GCC_PLUGIN_STRUCTLEAK=y
GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
GCC_PLUGIN_RANDSTRUCT=y
GCC_PLUGIN_RANDSTRUCT_PERFORMANCE=y

Running the 4.18 and 4.19 kernel config through
./scripts/kconfig-split.py yields the following 4.19.x
only config options for x86_64:

The x86_64 kernel difference to 4.18 for

CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_BLK_CGROUP_IOLATENCY=y
CONFIG_BNXT_HWMON=y
CONFIG_BUILD_SALT=""
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CRASH_CORE=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_MEMCG_KMEM=y
CONFIG_MLX5_EN_ARFS=y
CONFIG_MLX5_EN_RXNFC=y
CONFIG_NETFILTER_NETLINK_OSF=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NFT_OSF=y
CONFIG_NFT_TPROXY=y
CONFIG_NFT_TUNNEL=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_XEN_SCRUB_PAGES_DEFAULT=y

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-27 12:23:52 +01:00
Rolf Neugebauer
35a72cc63c kernel: Update to 4.18.16/4.14.78/4.9.135/4.4.162
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-21 13:04:44 +01:00
Rolf Neugebauer
6b7b64fb08 kernel: Update to 4.18.15/4.14.77/4.9.134/4.4.161
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-20 14:16:28 +01:00
Rolf Neugebauer
40d223b654 kernel: Update to 4.18.14/4.14.76/4.9.133/4.4.160
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-20 11:40:30 +01:00
Rolf Neugebauer
4ed9e4f0d3 kernel: Adjust 4.18.x kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-20 01:27:15 +01:00
Rolf Neugebauer
564a2e85d0 kernel: Update to 4.18.13/4.14.75/4.9.132
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-20 01:08:53 +01:00
Rolf Neugebauer
5b2bdd3ef7 kernel: Print unified diff if kernel config does not match
After 'make oldconfig' we check that that the kernel config
is as we expect and error if they don't. We used to print
the default 'diff' output on a mismatch but a unified diff
is easier to read.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-20 01:05:05 +01:00
Jason A. Donenfeld
bbb459c2ad wireguard: upgrade to 0.0.20181018
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-18 03:48:12 +02:00
Tiejun Chen
59cf2ceea6 update -rt to 4.14.71-rt44
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2018-10-15 12:57:29 -07:00
Rolf Neugebauer
2e710766e3
Merge pull request #3194 from rn/kup
Kernel update to 4.18.12/4.14.74/4.9.131
2018-10-08 02:46:55 +01:00
Jason A. Donenfeld
49e6aed4fb wireguard: upgrade to 0.0.20181006
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-06 05:07:57 +02:00
Rolf Neugebauer
1854a59e9f kernel: Update to 4.18.12/4.14.74/4.9.131
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-04 21:07:47 +01:00
Rolf Neugebauer
7b1c1b1818 kernel: Update to 4.18.11/4.14.73/4.9.130/4.4.159
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-01 19:03:09 +01:00
Rolf Neugebauer
617154e2a4 kernel: Update to 4.18.10/4.14.72/4.9.129/4.4.158
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-27 19:42:54 +01:00
Rolf Neugebauer
f5cf0bd054 kernel: Update build to latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-27 19:38:33 +01:00
Rolf Neugebauer
9c1277787b kernel: Update to 4.18.9/4.14.71/4.9.128/4.4.157
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-20 21:19:31 +01:00
Jason A. Donenfeld
10c3de3ded wireguard: upgrade to 0.0.20180918
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-18 16:56:10 +02:00
Rolf Neugebauer
a6f7d40d07 kernel: Update to 4.18.8/4.14.70/4.9.127/4.4.156
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-15 19:40:16 +01:00
Rolf Neugebauer
8d7586b867 kernel: Adjust arm64 kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-15 16:45:14 +01:00
Rolf Neugebauer
c33c14d810 kernel: Update to 4.18.7/4.14.69/4.9.126/4.4.155
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-15 16:02:40 +01:00
Jason A. Donenfeld
8be1a84dee wireguard: upgrade to 0.0.20180910
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-10 18:59:29 -06:00
Rolf Neugebauer
2743d53a7c kernel: Adjust x86_64 kernel config for 4.18.x and 4.14.x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-06 07:47:15 +01:00
Rolf Neugebauer
4c725f0318 kernel: Cherry pick multicast fixes into 4.9.x
This cherry picks:
- b6fe0440c637 ("bridge: implement missing ndo_uninit()")
- b1b9d366028f ("bridge: move bridge multicast cleanup to ndo_uninit")

The fix is in b1b9d366028f ("bridge: move bridge multicast cleanup
to ndo_uninit") but it requires b6fe0440c637 ("bridge: implement missing
ndo_uninit()"). Furthermore, b1b9d366028f needed some manual resolution
of a cherry-pick conflict because the surrounding code had changed.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-06 07:47:15 +01:00
Rolf Neugebauer
0a9361d769 kernel: Update to 4.18.6/4.14.68/4.9.125/4.4.154
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-05 21:23:15 +01:00
Jason A. Donenfeld
e446af1659 wireguard: upgrade to 0.0.20180904
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-04 12:34:05 -06:00
Rolf Neugebauer
763deafd03 kernel: Update to 4.4.153
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-03 20:52:56 +01:00
Rolf Neugebauer
4f29de94ad kernel: Remove 4.17.x. It has been EOLed
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-03 20:52:50 +01:00
Rolf Neugebauer
287c579934 kernel: Compile bcc for 4.18 not 4.17
We want to compile BCC for the latest LTS and the latest
stable and missed the update to 4.18 when enabling it. Do
it now.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-03 20:52:50 +01:00
Rolf Neugebauer
323043fdd8 kernel: Update to 4.18.5/4.17.19/4.14.67/4.9.124/4.4.152
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-28 07:24:36 +01:00
Rolf Neugebauer
77b3496d9f kernel: Update to 4.18.4/4.17.18/4.14.66/4.9.123/4.4.151
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-27 21:45:04 +01:00
Rolf Neugebauer
d66c2c6f45 kernel: Update to 4.18.3/4.17.17/4.14.65/4.9.122/4.4.150
Note, this update skips 4.18.2/4.17.16/4.14.64/4.9.121/4.4.149
as the change was a single patch, a bug fix.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-27 18:38:42 +01:00
Rolf Neugebauer
621f88f47e
Merge pull request #3169 from TiejunChina/master-dev
update -rt to 4.14.63-rt40
2018-08-27 18:29:52 +02:00
Tiejun Chen
a302b2dfa2 update -rt to 4.14.63-rt40
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2018-08-26 17:07:40 -07:00
Krister Johansen
1095c2721d Convert slow net subsystems to modules on 4.14.
In setup_net() there are a few particularly slow subsystems that
contribute more than 140ms of time to the new net namespace creation
path.  The docker daemon doesn't depend on these, and won't modprobe
them into the kernel.  Convert these to modules to reduce the amount of
time it takes for docker to start a container.  This change takes an
additional ~120 ms of time off container start time.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2018-08-20 17:45:54 -07:00
Krister Johansen
fac99683a7 Switch kernel hz to 1000.
While investigating performance problems around 'docker run' times, it
was observed that a large amount of time was spent in network namespace
creation.  Of that time, a large portion involved waiting for RCU grace
periods to elapse.  Increasing HZ causes the periodic timer to check for
quiesced periods more frequently, which consequently reduces the amount
of time RCU callers spend waiting for grace periods and in barrier
waits.

By itself, this change took the amount of time to execute a 'docker run
hello-world' down to 570ms from over 2000ms on 4.14, and down to 390ms
from 1260 on 4.17 and 4.18.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2018-08-20 17:45:03 -07:00
Rolf Neugebauer
bcd87f6f33 kernel: Remove 4.17.x kernel for s390x and arm64
4.17 will be EOLed soon anyway so save some cycles
compiling kernels on the "slower" arches.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 21:07:08 +01:00
Rolf Neugebauer
dfa6076900 kernel: Add support for 4.18.x kernels
The kernel config was derived from the 4.17.x kernel config
and then tweaked a little. Specifically:
- Enable XDP_SOCKETS
- Enable NFT_CONNLIMIT
- Enable IP_VS_MH
- Enable BPFILTER (as module)

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 16:57:36 +01:00
Rolf Neugebauer
a3bca0ea59 kernel: Add more packages to Dockerfile.kconfig
These packages are needed to enable the GCC_PLUGINS
during 'make oldconfig' for 4.18.x kernels.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 16:57:36 +01:00
Rolf Neugebauer
f93fa6ba9b kernel: Adjust 4.9 kernel config (x86 only)
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 16:57:36 +01:00
Rolf Neugebauer
85369b936f kernel: Adjust 4.14. kernel config (x86 only)
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 16:57:36 +01:00
Rolf Neugebauer
c0fc7b3b01 kernel: Adjust 4.17 kernel config (x86 only)
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 16:57:36 +01:00
Rolf Neugebauer
a1380fcd1c kernel: Update to 4.17.15/4.14.63/4.9.120/4.4.148
The 4.14.63 contains important security fixes in particular
against L1TF (CVE-2018-3615, CVE-2018-3620, CVE-2018-3646) and
userspace-userspace SpectreRSB.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 12:11:04 +01:00
Rolf Neugebauer
5011c473ca kernel: Update Intel microcode to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 11:58:42 +01:00
Rolf Neugebauer
4792fa5015 kernel: Tidy up Dockerfile.bcc
Use less layers and group it a little better. There should
be no real code change here.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 11:18:38 +01:00
Krister Johansen
188595fcb5 Pull bcc into kernel build.
Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2018-08-13 17:18:55 -07:00
Jason A. Donenfeld
d987c058bd wireguard: upgrade to 0.0.20180809
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-12 01:27:53 -07:00
Rolf Neugebauer
394b07da4a kernel: Update to 4.17.14/4.14.62/4.9.119/4.4.147
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-11 09:36:23 +01:00
Rolf Neugebauer
ac48c843e0 kernel: Update to 4.17.13/4.14.61/4.9.118/4.4.146
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-11 00:23:50 +01:00
Rolf Neugebauer
2e32902c98 kernel: Update to 4.17.12/4.14.60/4.9.117/4.4.145
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-10 23:20:43 +01:00
Rolf Neugebauer
9ac0a9a6e3 kernel: Update to 4.17.11/4.14.59/4.9.116
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-10 14:26:16 +01:00
Rolf Neugebauer
bdae7d72f7
Merge pull request #3149 from TiejunChina/master-dev
update -rt to 4.14.59-rt37
2018-08-07 16:37:35 +01:00
Jason A. Donenfeld
7a74c0a212 wireguard: upgrade to 0.0.20180802
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-03 22:12:29 +02:00
Tiejun Chen
b8928d6c56 update -rt to 4.14.59-rt37
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2018-08-01 21:19:37 -07:00
Rolf Neugebauer
21fb4db99b kernel: Update to 4.17.10/4.14.58/4.9.115/4.4.144
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-07-25 21:09:25 +01:00
Rolf Neugebauer
6bfba4e85c kernel: Adjust arm64 kernel config to upstream changes
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-07-24 13:13:42 +01:00
Rolf Neugebauer
480a8bc860 kernel: Update to 4.17.9/4.14.57/4.9.114/4.4.143
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-07-24 11:56:25 +01:00
Rolf Neugebauer
5ab7eaac89 kernel: Update to 4.17.8/4.4.142
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-07-24 10:26:37 +01:00
Jason A. Donenfeld
f8b14ba25a wireguard: upgrade to 0.0.20180718
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-19 00:00:08 +02:00
Rolf Neugebauer
1896951b04 kernel: Tweak config for x86
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-07-17 15:00:23 +01:00
Rolf Neugebauer
f70fc83b1d kernel: Update to 4.17.7/4.14.56/4.9.113/4.4.141
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-07-17 13:48:18 +01:00
Rolf Neugebauer
c9dc3b97de kernel: Update to 4.17.6/4.14.55/4.9.112/4.4.140
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-07-14 13:10:03 +01:00
Rolf Neugebauer
6a7b336ade kernel: Update to 4.17.5/4.14.54
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-07-10 10:58:18 +01:00
Jason A. Donenfeld
05753e7341 wireguard: upgrade to 0.0.20180708
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-07-08 19:43:03 +02:00
Rolf Neugebauer
d7d995cab5 kernel: Update build to use updated alpine base
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-07-07 17:51:08 +01:00
Tiejun Chen
a1d47ff766 update -rt to 4.14.53-rt34
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2018-07-06 14:02:07 +08:00
Rolf Neugebauer
dcc4a5e799 kernel: Update to 4.17.4/4.14.53/4.9.111/4.4.139
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-07-03 11:49:36 +01:00
Rolf Neugebauer
f7cf178ead kernel: Remove 4.16.x as it is EOLed
The previous commit updated to 4.16.18, which is the last
4.16.x kernel. The 4.16.18 kernel was compiled and pushed
but we may as well now remove it as it has been EOLed.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-27 14:49:08 +01:00
Rolf Neugebauer
e7a7fe9339 kernels: Update to 4.17.3/4.16.18/4.14.52/4.9.110
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-27 13:10:44 +01:00
Jason A. Donenfeld
bfd0ba0983 wireguard: upgrade to 0.0.20180625
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-25 19:58:49 +02:00
Rolf Neugebauer
2eec092862 kernel: Adjust kernel configs
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-22 10:01:18 +01:00
Rolf Neugebauer
9f1f99026d kernel: Update to 4.16.17/4.14.51/4.4.138
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-22 10:01:18 +01:00
Rolf Neugebauer
ef5c128a8c kernel: Update to 4.4.137
Somehow I missed this kernel update when it happened...

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-21 16:17:29 +01:00
Rolf Neugebauer
2ff0491ac1 kernel: Update to 4.17.2/4.16.16/4.14.50/4.9.109
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-20 13:50:23 +01:00
Rolf Neugebauer
268b5269f9 kernel: Update to 4.9.108
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-20 13:19:24 +01:00
Jason A. Donenfeld
8ce01c5736 wireguard: upgrade to 0.0.20180613
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-06-14 18:26:41 +02:00
Rolf Neugebauer
45f563fc66 kernel: Update to 4.17.1/4.16.15/4.14.49
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-12 17:18:11 +01:00
Rolf Neugebauer
6b629fa30b kernel: Tweak 4.4.x kernel config file
Add new (disabled) option CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-07 13:54:53 +01:00
Rolf Neugebauer
4e830a35a1 kernel: Update to 4.16.14/4.14.48/4.9.107/4.4.136
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-07 12:10:22 +01:00
Rolf Neugebauer
17d9870dd7 kernel: Update to 4.9.106
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-07 11:42:54 +01:00
Rolf Neugebauer
18ec668c91 kernel: Consistently use curl -f
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-06 18:32:23 +01:00
Rolf Neugebauer
5176ce7dd3 kernel: Stash kernel source and WireGuard source in the package
While we can re-create the kernel source code we don't have it
handily available in one place. This commit stashes the kernel
and the WireGuard source as /src/linux.tar.xz and
/src/wireguard.tar.xz in the kernel package.

This increases the size of the hub image by around 100MB.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-06 18:32:23 +01:00
Rolf Neugebauer
fc6bcde1fd kernel: Remove 4.16 for arm64 and s390x
Trying to keep the number of kernels we compile for these
platforms small and 4.16 is likely to be EOLed soon anyway.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-06 08:26:54 +01:00
Rolf Neugebauer
25738c0768 kernel: Add support for 4.17.x kernels
The kernel configs are the 4.16.x configs run through
a 'make defconfig && make oldconfig' cycle.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-06 08:26:54 +01:00
Rolf Neugebauer
ba5e75a24e kernel: Update to 4.14.47/4.9.105/4.4.135
These releases are a single patch only, fixing  a bug.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-06-06 08:26:54 +01:00
Jason A. Donenfeld
5e10631fe2 wireguard: upgrade to 0.0.20180531
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-31 02:21:28 +02:00
Rolf Neugebauer
9e8f458780 kernel: Adjust kernel config for arm64/x86 for 4.14.x and 4.16.x
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-30 16:14:53 +01:00
Rolf Neugebauer
acc059e6c8 kernel: Updatr to 4.16.13/4.14.46/4.9.104/4.4.134
Note, we skip 4.14.45 because 4.14.46 only has 3 patches
in it which unbreak 'perf' compilation.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-30 15:59:03 +01:00
Rolf Neugebauer
8acb257012 kernel: Fix s390x config for 4.16.x
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-30 14:51:45 +01:00
Rolf Neugebauer
d9a1ea45ce kernel: Update to 4.16.12/4.14.44/4.9.103/4.4.133
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-30 14:36:14 +01:00
Rolf Neugebauer
679edce979
Merge pull request #3047 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20180524
2018-05-24 15:39:44 +01:00
Jason A. Donenfeld
e945773f63 wireguard: upgrade to 0.0.20180524
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-24 14:45:29 +02:00
Rolf Neugebauer
00ce115df9 kernel: Update to 4.16.11/4.14.43/4.9.102
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-24 13:11:31 +01:00
Rolf Neugebauer
454d2142f3 kernel: Update to 4.16.10/4.14.42/4.9.101
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-24 10:54:45 +01:00
Jason A. Donenfeld
6e04261450 wireguard: upgrade to 0.0.20180519
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-19 03:19:21 +02:00
Rolf Neugebauer
bc7103d1a3 kernel: Fixup arm64 kernel config for 4.14.41
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-16 18:04:29 +01:00
Rolf Neugebauer
c4a265c77f kernel: Update to 4.16.9/4.14.41/4.9.100/4.4.132
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-16 17:55:10 +01:00
Tiejun Chen
ccd9998461 update -rt to 4.14.40-rt30
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2018-05-15 13:46:26 +08:00
Jason A. Donenfeld
49c1f0007c wireguard: upgrade to 0.0.20180513
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-05-13 21:38:28 +02:00
Tiejun Chen
ac2e5c53ec update -rt to 4.14.39-rt29
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2018-05-12 23:43:14 +08:00
Rolf Neugebauer
a0b27bb442 kernel: Fix kernel config for arm64
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-10 13:06:28 +01:00
Rolf Neugebauer
2e2de63133 kernel: Update to 4.16.8/4.14.40/4.9.99
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-10 13:06:28 +01:00
Rolf Neugebauer
01a17392f8 kernel: Update Intel microcode to 20180425
This microcode bundle comes with a file called "list"
which seems to confuse the 'iucode_tool', so we just
remove it.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-10 13:06:28 +01:00
Rolf Neugebauer
be8929da30 kernel: Fix SCTP kernel config
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-05-03 18:48:02 +01:00
Rolf Neugebauer
655bb391ca kernel: Update to 4.16.7/4.14.39/4.9.98/4.4.131
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-03 17:22:26 +01:00
Rolf Neugebauer
d87820124e kernel: Fix comment on when the perf compile failed
The version in the comment was accidentally bumped during
the past kernel updates.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-03 17:19:14 +01:00
Rolf Neugebauer
52874a18f7 kernel: Update alpine base to latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-05-03 17:18:49 +01:00
Sukchan Lee
aa7d5fc942 kernel: SCTP support
Enable SCTP protocol as a kernel module

Signed-off-by: Sukchan Lee <acetcom@gmail.com>
2018-05-01 23:04:29 +09:00
Rolf Neugebauer
b22d4000a3 kernel: Adjust s390x kernel config
the 4.14.38 kernel backported the Spectre mitigation requiring
a change of the kernel config.

Might as well enabled the mitigations by default.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-30 13:34:11 +01:00
Rolf Neugebauer
7a4233dec5 kernel: Add USB storage support for x86_64 and arm64
This is useful for some baremetal configs, such as using
USB sticks on a RPi3. I enabled it for x86_64 as well
to keep the differences smaller.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-04-30 10:35:33 +01:00
Rolf Neugebauer
551e00630c kernel: Enable SERIAL_DEV_BUS on arm64
Note, the depeding SERIAL_DEV_CTRL_TTYPORT defaults to
'N' with the 4.14.x kernel and 'Y' for the 4.16.x kernel.
I chose to stick with the defaults.

This may fix the serial console issue, I've seen on the RPi3
with 4.14.x kernels.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-04-30 10:35:33 +01:00
Rolf Neugebauer
262b25f874 kernel: Update to 4.16.6/4.14.38/4.9.97/4.4.130
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-30 10:35:33 +01:00
Rolf Neugebauer
f1046b9a29 kernel: Adjust 4.4.x kernel config
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-04-27 18:52:12 +01:00
Rolf Neugebauer
54ed15ccce kernel: Update to 4.16.5/4.14.37/4.9.96/4.4.129
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-27 16:45:36 +01:00
Rolf Neugebauer
865c6691b1 kernel: Update to 4.16.4/4.14.36
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-27 15:01:42 +01:00
Rolf Neugebauer
c255821674 kernel: EOL 4.15.x
See http://lkml.iu.edu/hypermail/linux/kernel/1804.2/03399.html

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-27 14:58:23 +01:00
Rolf Neugebauer
d56d66a7aa kernel: Update to 4.9.95
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-23 11:52:12 +01:00
Rolf Neugebauer
c08fe57306
Merge pull request #3010 from TiejunChina/master-dev
update -rt to 4.14.34-rt27
2018-04-22 21:38:13 +01:00
Jason A. Donenfeld
bfad9ad0e9 wireguard: upgrade to 0.0.20180420
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-20 20:39:14 +02:00
Tiejun Chen
ff23b35c5f update -rt to 4.14.34-rt27
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2018-04-20 22:30:03 +08:00
Rolf Neugebauer
deaa4b855c kernel: Fix perf compile
This was broken with commit ae6a739ac0 ("kernel: Skip
compiling perf for 4.9.x") [by me]

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-19 15:41:43 +01:00
Rolf Neugebauer
e09023d723 kernel: Update build to latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-19 13:52:26 +01:00
Rolf Neugebauer
24050c5817 kernel: Drop 4.15.x for s390x
The s390x build VM we have access to is quite slow. Dropping
the 4.15.x kernel, which soon will be EOLed anyway, to
save some time.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-19 13:48:30 +01:00
Rolf Neugebauer
2a9d21bee7 kernel: Update to 4.16.3/4.15.18/4.14.35
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-19 13:46:35 +01:00
Justin Cormack
ccd9d711c0
Some kernel builds need openssl binary for key generation
For example kernel module signatures if you do not provide a key. So add
to the dependencies for kernel builds.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2018-04-17 14:16:13 +01:00
Jason A. Donenfeld
60fd3c062e wireguard: upgrade to 0.0.20180413
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-04-17 00:18:42 +02:00
Rolf Neugebauer
ae6a739ac0 kernel: Skip compiling perf for 4.9.x
4.9.93 broke the compile:

  tests/code-reading.c: In function 'read_object_code':
  tests/code-reading.c:228:19: error: 'KMOD_DECOMP_LEN' undeclared (first use in this function)
    char decomp_name[KMOD_DECOMP_LEN];
                     ^~~~~~~~~~~~~~~
  tests/code-reading.c:228:19: note: each undeclared identifier is reported only once for each function it appears in
  tests/code-reading.c:291:7: error: implicit declaration of function 'dso__decompress_kmodule_path' [-Werror=implicit-function-declaration]
    if (dso__decompress_kmodule_path(al.map->dso, objdump_name,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  tests/code-reading.c:291:3: error: nested extern declaration of 'dso__decompress_kmodule_path' [-Werror=nested-externs]
    if (dso__decompress_kmodule_path(al.map->dso, objdump_name,
    ^~
  tests/code-reading.c:228:7: error: unused variable 'decomp_name' [-Werror=unused-variable]
    char decomp_name[KMOD_DECOMP_LEN];
         ^~~~~~~~~~~
  cc1: all warnings being treated as errors
  mv: can't rename '/build/perf/tests/.code-reading.o.tmp': No such file or directory
  make[3]: *** [/linux/tools/build/Makefile.build:101: /build/perf/tests/code-reading.o] Error 1
  make[3]: *** Waiting for unfinished jobs....
  make[2]: *** [/linux/tools/build/Makefile.build:144: tests] Error 2
  make[2]: *** Waiting for unfinished jobs....
  make[2]: *** [/linux/tools/build/Makefile.build:144: util] Error 2
  make[1]: *** [Makefile.perf:559: /build/perf/libperf-in.o] Error 2
  make[1]: *** Waiting for unfinished jobs....
  make[1]: *** [Makefile.perf:396: /build/perf/perf-in.o] Error 2
  make: *** [Makefile:69: all] Error 2
  make: Leaving directory '/linux/tools/perf'

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-04-14 12:21:53 +01:00
Rolf Neugebauer
054b9bb924 kernel: Update to 4.9.94/4.4.128
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-04-14 11:18:33 +01:00
Rolf Neugebauer
4454c7b854 kernel: Enable MPLS_ROUTING and MPLS_IPTUNNEL as modules
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-13 15:21:57 +01:00
Rolf Neugebauer
d1b73f7cf3 kernel: Update to 4.16.2/4.15.17/4.14.34
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-13 14:53:19 +01:00
Rolf Neugebauer
a5c039f7ad kernel: Add bison/flex to kconfig Dockerfile
These are required for the 4.16.x kernel configuration.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-09 11:21:13 +01:00
Rolf Neugebauer
b69fc45955 kernel: Add the 4.16.1 kernel
The kernel config is based on the 4.15.x kernel config
run through 'make defconfig && make oldconfig' and then
tweaked a little by hand.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-09 11:20:19 +01:00
Rolf Neugebauer
fa9452af09 kernel: Update to 4.15.16/4.14.33/4.9.93/4.4.127
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-04-09 10:35:34 +01:00
Rolf Neugebauer
a8cc4f4f42 kernel: Don't compile -rt kernels on s390x
Looks like commit 9a88a5e986 ("Upgrade -rt patches to
v4.14.29-rt25") accidentally added compiling -rt kernels
for s390x. Remove it.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-04-04 22:51:07 +01:00
Rolf Neugebauer
a5a685750d kernel: Update to 4.15.15/4.14.32/4.9.92/4.4.126
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-04-01 17:52:14 +01:00
Tiejun Chen
9a88a5e986 Upgrade -rt patches to v4.14.29-rt25
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2018-03-30 21:10:01 -07:00
Rolf Neugebauer
462961d5c9 kernel: Update to 4.15.14/4.14.31/4.9.91/4.4.125
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-03-30 13:29:03 +01:00
Rolf Neugebauer
7f12cb577a kernel: Update to 4.15.13/4.14.30/4.9.90/4.4.124
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-03-30 12:19:02 +01:00
Rolf Neugebauer
9cb6f2d802 kernel: Enable CONFIG_FB_EFI for x86_64 and arm64
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-03-30 12:18:31 +01:00
Rolf Neugebauer
913f31e150 kernel: Drop 4.9.x for arm64
There are too many kernels to compile and arm64 takes a bit
too long to compile even on a beefy arm64 server.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-03-30 12:18:05 +01:00
Rolf Neugebauer
80f5f228e0 kernel: Cherry-pick two Hyper-V SCSI driver patche
These fix some issues around hot-unplugging devices which may be the cause
of some LCOW issues we are seeing.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-03-22 20:00:20 +00:00
Rolf Neugebauer
208811355a kernel: Update to 4.15.12/4.14.29/4.9.89/4.4.123
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2018-03-22 19:55:57 +00:00
Rolf Neugebauer
45b613e668 kernel: Update to 4.15.11/4.14.28/4.9.88/4.4.122
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-20 12:05:27 +00:00
Rolf Neugebauer
513e368880 kernel: Enable CEPH, DRBD, and RBD
All enabled as modules

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-15 13:50:18 +00:00
Rolf Neugebauer
1ff6f2eea5 kernel: Update Intel CPU firmware to 20180312
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-15 13:50:18 +00:00
Rolf Neugebauer
627e982b79 kernel: Update rt kernel to 4.14.24
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-15 11:22:11 +00:00
Rolf Neugebauer
28f1ae2e77 kernel: Update to 4.15.10/4.14.27
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-15 11:22:11 +00:00
Rolf Neugebauer
9a5727f5e4 kernel: Update to latest alpine base image
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-15 11:22:11 +00:00
Rolf Neugebauer
659f877da6 kernel: Update to 4.15.9/4.14.26/4.9.87/4.4.121
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-12 17:00:06 +00:00
Rolf Neugebauer
c573eee0ff kernel: Update kernels to 4.14.25/4.15.26
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-12 15:30:51 +00:00
Rolf Neugebauer
48251e8bcf kernel: Enable IMA for 4.14.x and 4.15.x
Enable the Integrity Measurement Architecture (IMA) for 4.14.x
and 4.15.x kernels. This pretty much uses the defaults except we
also enable INTEGRITY_ASYMMETRIC_KEYS and IMA_READ_POLICY. The
latter may be useful for debugging.

For s390x we also needed to enable TPM support.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-12 15:26:23 +00:00
Justin Ko
2eefd62710 Non-existent target check is marked phony
The non-existent target "check" is marked phony.

Signed-off-by: Justin Ko <oknitsuj@gmail.com>
2018-03-09 09:13:59 -08:00
Rolf Neugebauer
ae30674227 kernel: Update to 4.14.24/4.9.86/4.4.120
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-09 12:39:11 +00:00
Rolf Neugebauer
eee71f46e0 kernel: Adjust s390x kernel config
- Disable all network device driver apart from Mellanox, which
  is the only support NIC on s390x
- Disable Fusion MPT
- Disable DAX/NVMEM/NVME
- Disable USB

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-09 12:39:11 +00:00
Rolf Neugebauer
35c6e782e3 kernel: Make it clearer which kernels are compiled per arch
While this now has some duplication, it is clearer as to which
kernels are compiled for each architecture.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-03-09 11:35:58 +00:00
Jason A. Donenfeld
dc92ae7e39 wireguard: update to 0.0.20180304
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-03-05 13:47:34 +01:00
Alice Frosi
db0045b0c9 Add s390 support for linuxkit kernel
Update building process to add s390 support.

The patch serial-forbid-8250-on-s390.patch has been added to disable
8250 serial for s390.

The patch is available upstream https://patchwork.kernel.org/patch/10106437/
but it is not backported.

Signed-off-by: Alice Frosi <alice@linux.vnet.ibm.com>
2018-03-01 12:18:16 +00:00
Rolf Neugebauer
c08a2f19a8 kernel: Update alpine base to latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-28 16:35:23 +00:00
Rolf Neugebauer
fcba3e2350 kernel: Update to 4.15.7/4.4.23/4.9.85/4.4.119
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-28 11:02:15 +00:00
Rolf Neugebauer
afd255d6c9 kernel: Adjust 4.4.x config file
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-26 14:37:44 +00:00
Rolf Neugebauer
75ac2563f5 kernel: Update to 4.15.6/4.14.22/4.9.84/4.4.118
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-26 12:16:51 +00:00
Rolf Neugebauer
89c5941b88 kernel: Adjust kernel config files for 4.14
- KMEMCHECK has been removed
- PROFILE_ALL_BRANCHES was added (but is disabled)

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-23 18:33:21 +00:00
Rolf Neugebauer
5c68ca489d kernel: Update to 4.15.5/4.14.21/4.9.83/4.4.117
Also remove the 4.4 patch which should have been removed by
231cead2cc ("kernel: Update to 4.15.4/4.14.20/4.9.82/4.4.116")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-23 18:06:18 +00:00
Rolf Neugebauer
cfc9c49269 kernel: Handle non-existing config file for 'make kconfig'
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-21 13:24:29 +00:00
Rolf Neugebauer
dbb14dfb69 kernel: Introduce per arch kernels and drop 4.4.x for arm64
We may soon get another arch, so wanted to set the template
for having per arch list of kernels to compile.

While at it also drop the 4.4.x kernel for arm64. We never really
tested it and folks should be on 4.9 or 4.14 anyway. I'll leave
4.4.x for x86 for now as it might be useful to test for regressions.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-21 13:24:28 +00:00
Rolf Neugebauer
bcc72c3502 kernel: Remove the 4.9.x and 4.14.x-rt debug kernels from build
In order to cut the number of kernels we build, remove the debug
kernel for the now non-default 4.9.x series.

Also remove the -rt debug kernel. Users who need it can build
it themselves with 'make EXTRA=-rt DEBUG=-dbg build_4.14.x'

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-21 10:44:22 +00:00
Rolf Neugebauer
1e9b769d65 kernel: Enable KAISER and Hardened Branch predictor for arm64
These are part of the Meltdown/Spectre mitigations for arm64
now available for 4.14 and 4.15

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-19 14:23:31 +00:00
Rolf Neugebauer
231cead2cc kernel: Update to 4.15.4/4.14.20/4.9.82/4.4.116
The 4.14.20 update has Meltdown/Spectre fixes for arm64

The 4.4.116 update incorporates the proper fix for the
div by zero crash in the firmware loader, so the patch
with the hackish workaround was dropped.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-19 14:06:11 +00:00
Rolf Neugebauer
1baf815c9a
Merge pull request #2897 from TiejunChina/master-dev
Support Preempt-RT Linux kernel
2018-02-19 14:00:54 +00:00
Jason A. Donenfeld
82ec5cd4e7 wireguard: update to 0.0.20180218
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-02-18 21:46:59 +01:00
Tiejun Chen
0e5d447f07 Support Preempt-RT Linux kernel
In order to get such a preempt-rt Linux kerne, we grab -rt patch via
https://www.kernel.org/pub/linux/kernel/projects/rt/. So far we just enable it
over 4.14.x.

Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2018-02-16 05:47:22 -08:00
Rolf Neugebauer
bf18c1366b kernel: Add Hyper-V socket trace points to 4.14 kernel
This should make debugging a lot easier. Note, 991f8f1c6eb6
("hyper-v: trace channel events"), patch 18, required some
minor modifications from upstream as another patch was not easy
to cherry-pick.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-13 18:00:39 +00:00
Rolf Neugebauer
43ba6de147 kernel: Update to 4.15.3/4.14.19/4.9.81
Drop the hack for the microcode division by 0 on GCP as
a proper fix is in upstream as:
2760f452a718 ("x86/microcode: Do the family check first")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-13 17:22:23 +00:00
Rolf Neugebauer
acfca26038 kernel: Update to 4.15.2/4.14.18
These kernels have significant changes/addition for Spectre
mitigation as well as the usual other set of fixes.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-08 11:50:17 +00:00
Rolf Neugebauer
d0d7738efa kernel: Tighten patching of the kernel
- Disable any fuzzing. Patches should apply cleanly
- Assume unified diffs

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-08 11:50:17 +00:00
Rolf Neugebauer
334334cea9 kernel: Adjust 4.4 kernel config
The CONFIG_BPF_JIT_ALWAYS_ON option has now been back-ported
to 4.4.115 as well. Enable it.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-06 18:43:34 +00:00
Rolf Neugebauer
ee0f182014 kernel: Update to 4.15.1/4.14.17/4.9.80/4.4.115
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-06 18:06:25 +00:00
Rolf Neugebauer
9ccfe3cef7 kernel: Add the 4.15.x kernel series
The kernel config was derived from the 4.14.x config being run
through make oldconfig

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-06 13:23:40 +00:00
Rolf Neugebauer
e4c4737548 kernel: Add patch to prevent division by zero panic
This adds a patch to avoid a division by zero panic for 4.4.x
and 4.9.x kernels on single vCPU machine types on Google Cloud.

4.14.x and 4.15.x kernels seem to work fine.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-06 13:23:40 +00:00
Rolf Neugebauer
82f3f9ae9a kernel: Enable new BPF_JIT_ALWAYS_ON
This option is not enabled by default, but disables the
BPF interpreter which can be used to inject speculative
execution into the kernel. Enabled it as it seems
like a good security measure.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-06 13:23:40 +00:00
Rolf Neugebauer
a6a5f69c8d kernel: Update to 4.14.16/4.9.79/4.4.114
The 4.14 and 4.9 kernels have a significant number of
fixes to eBPF and also a fix for kernel level sockets
and namespace removals, ie fixes some aspects of
https://github.com/moby/moby/issues/5618
"unregister_netdevice: waiting for lo to become free"

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-02-06 13:23:40 +00:00
Jason A. Donenfeld
fa77458231 wireguard: update to 0.0.20180202
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-02-02 19:12:19 +01:00
Emily Casey
e0374afb54 Use microcode-20171117 in kernel build as microcode-20180108 is no longer available
Signed-off-by: Emily Casey <ecasey@pivotal.io>
Signed-off-by: Steve Hiehn <shiehn@pivotal.io>
2018-01-30 17:51:40 -05:00
Rolf Neugebauer
183fcf0970 kernel: Add new retpoline option to the x86 4.4.x kernel
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-24 12:32:15 +00:00
Rolf Neugebauer
5de66f4fd9 kernel: Update to 4.14.15/4.9.78/4.4.113
While at it, also update to latest alpine base

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-24 11:56:34 +00:00
Jason A. Donenfeld
290d014959 wireguard: update to 0.0.20180118
* receive: treat packet checking as irrelevant for timers

Small simplification to the state machine, as discussed with Mathias
Hall-Andersen.

* socket: check for null socket before fishing out sport
* wg-quick: ifnames have max len of 15
* tools: plug memleak in config error path

Important bug fixes.

* external-tests: add python implementation

Piotr Lizonczyk has contributed a test vector written in Python.

* poly1305: remove indirect calls

From Samuel Neves, we now are in a better position to mitigate speculative
execution attacks.

* curve25519: modularize implementation
* curve25519: import 32-bit fiat-crypto implementation
* curve25519: import 64-bit hacl-star implementation
* curve25519: resolve symbol clash between fe types
* curve25519: wire up new impls and remove donna
* tools: import new curve25519 implementations
* contrib: keygen-html: update curve25519 implementation

Two of our Curve25519 implementations now use formally verified C. Read this
mailing list post for more information:
https://lists.zx2c4.com/pipermail/wireguard/2018-January/002304.html

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-01-19 11:53:18 +01:00
Rolf Neugebauer
130c6222bb kernel: Adjust kernel config with new options
- Enable RETPOLINE by default. Note, however, this will
  only be used if the compiler supports it.
- Enable sysfs interface for vulnerabilities

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-17 14:36:30 +00:00
Rolf Neugebauer
bfceb1dfbb kernel: Update to 4.14.14/4.9.77/4.4.112
The 4.4.14 has a number of important fixes/additions:
- New support for retpolines (enabled but requires newer gcc
  to take advantage of). This provides mitigation for Spectre
  style attacks.
- Various KPTI fixes including fixes for EFI booting
- More eBPF fixes around out-of-bounds and overflow of
  maps. These were used for variant 1 of CVE-2017-5753.
- Several KVM related to CVE-2017-5753, CVE-2017-5715,
  CVE-2017-17741.
- New sysfs interface listing vulnerabilities:
  /sys/devices/system/cpu/vulnerabilities

The 4.9.77 kernel also has seems to have most/all of the above
back-ported.

See https://lwn.net/SubscriberLink/744287/1fc3c18173f732e7/
for more details on the Spectre mitigation.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-17 14:31:54 +00:00
Rolf Neugebauer
2ed5334823 kernel: Fix up README.md
The content about debug was no longer valid.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-14 13:07:27 +00:00
Rolf Neugebauer
430bea64c3 kernel: Build the Intel ucode cpio archive and add to the kernel package
DOwnload and verify the Intel microcode package and convert it
to a cpio archive which can be prepended to the initrd.

It also adds the license file to the kernel package.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-14 13:07:27 +00:00
Rolf Neugebauer
9a101d1136 kernel: Update to 4.14.13/4.9.76/4.4.111
This looks like there are a couple of minor fixes to the
recent KPTI changes but nothing major...

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-10 11:12:27 +00:00
Rolf Neugebauer
682f6d8819 kernel: Enable KPTI on 4.9.x and 4.4.x kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-06 11:24:43 +00:00
Rolf Neugebauer
d86d43fe40 kernel: Update to 4.14.12/4.9.75/4.4.110
4.9.75 and 4.4.10 now have KPTI backported as well

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-06 10:00:13 +00:00
Rolf Neugebauer
821cb0b829 kernel: Enable KPTI for 4.14 on x86_64
This is the new Lernel Page Table Isolation (KPTI,
formerly KAISER) introduced with 4.14.11 (and in
4.15.rcX).

KPTI runs the kernel and userspace off separate
pagetables (and uses PCID on more recent processors
to minimise the TLB flush penalty). It comes with
a performance hit but is enabled by default as a
workaround around some serious, not yet disclosed,
bug in Intel processors.

When enabled in the kernel config, KPTI will be
be dynamically enabled at boot time deping on the
CPU it is executing (currently all Intel x86 CPUs).

Depending on the environment, you may choose to
disable it using 'pti=off' on the kernel commandline.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-03 11:21:04 +00:00
Rolf Neugebauer
7abc1df0ad kernel: Update to 4.14.11/4.9.74/4.4.109
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2018-01-03 11:03:52 +00:00
Rolf Neugebauer
37291f5967 kernel: Update to 4.14.10/4.9.73
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-30 16:11:10 +00:00
Rolf Neugebauer
57c8383ce0 kernel: Update WireGuard to 0.0.20171221
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-30 16:08:43 +00:00
Rolf Neugebauer
8419b030c0 kernel: Adjust 4.14.x config for x86_64
The UNWINDER config options where renamed in:
8af220c9e240 ("x86/unwind: Rename unwinder config options to 'CONFIG_UNWINDER_*'")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-28 17:57:43 +00:00
Rolf Neugebauer
dfb1982c65 kernel: Update to 4.14.9/4.9.72/4.4.108
This contains the fixes to the eBPF verifier which allowed
privilege escalation in 4.9 and 4.14 kernels.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-28 16:43:14 +00:00
Rolf Neugebauer
e140ab4acc kernel: Update to 4.14.8/4.9.71/4.4.107
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-28 14:48:20 +00:00
Rolf Neugebauer
467c1af0e2 kernel: Update to 4.14.7/4.9.70/4.4.106
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-18 16:59:21 +00:00
Rolf Neugebauer
36e46a55c8 kernel: Add forcepush/forcebuild targets for kernel and perf packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-18 16:59:21 +00:00
Rolf Neugebauer
1cf58d95b1 kernel: Update to 4.14.6/4.9.69
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-14 11:21:07 +00:00
Rolf Neugebauer
4df1c0ea56 kernel: Fix 4.14.x kernel config
Commit 340d45d70850 ("locking/refcounts, x86/asm: Enable
CONFIG_ARCH_HAS_REFCOUNT") re-enabled the ARCH_HAS_REFCOUNT
again as default. Pick it up in our kernel config.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-11 11:41:29 +00:00
Rolf Neugebauer
6a15459665 kernel: Update to 4.14.5/4.9.68/4.4.105
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-11 11:24:38 +00:00
Jason A. Donenfeld
584e3ac7b3 wireguard: update to 0.0.20171211
* curve25519: explictly depend on AS_AVX
* curve25519: modularize dispatch

It's now much cleaner to see which implementation we're calling, and it will
be simpler to add more implementations in the future.

* compat: support RAP in assembly

This should fix PaX/Grsecurity support.

* device: do not clear keys during sleep on Android

While we want to clear keys when going to sleep on ordinary Linux, this
doesn't make sense in the Android world, where phones often sleep but are
woken up every few milliseconds by the radios to process packets.

* compat: fix 3.10 backport

Important compat fixes for non-x86.

* device: clear last handshake timer on ifdown

When bringing up an interface, we don't want the rate limiting to handshakes
to apply.

* netlink: rename symbol to avoid clashes

Allows coexistance with horrible Android drivers.

* kernel-tree: jury rig is the more common spelling
* tools: no need to put this on the stack
* blake2s-x86_64: fix spacing

Small fixes.

* contrib: keygen-html for generating keys in the browser

This was covered here:
https://lists.zx2c4.com/pipermail/wireguard/2017-December/002127.html

* tools: remove undocumented unused syntax

Not only did nobody know about this or use it, but the implementation actually
exposed compiler bugs in Qualcomm's "Snapdragon Clang".

* poly1305: update x86-64 kernel to AVX512F only

From Samuel Neves, this pulls in Andy Polyakov's changes to only require F and
not VL for the Poly implementation.

* chacha20-arm: fix with clang -fno-integrated-as.

This pulls in David Benjamin's clang fix.

* global: add SPDX tags to all files

From Greg KH, we now have SPDX annotations on all files, matching upstream
kernel's new approach to file licenses.

* chacha20poly1305: cleaner generic code

This entirely removes the last remains of Martin Willi's ChaCha
implementation, and now the generic C implementation is extremely small and
clearly written, while delivering a small performance boost too.

* poly1305: fix avx512f alignment bug

Unlucky people may have had their linkers misalign a constant. This fixes that
potential.

* chacha20: avx512vl implementation

From Samuel Neves, this imports Andy Polyakov's AVX512VL implementation of
ChaCha which should have a ~50% performance improvement over AVX2, though it
is still much slower than our AVX512F implementation.

* chacha20poly1305: wire up avx512vl for skylake-x

Some Skylake machines do not have two FMA units (though others do), so we
prefer the AVX512VL implementation over the should-be-faster AVX512F
implementation on those machines. What's needed now is to read the PIROM in
order to determine at runtime whether the particular Skylake-X machine
actually has the second FMA unit or not, but until that happens, we just fall
back to the VL implementation for all Skylake-X.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-12-11 05:11:56 +01:00
Rolf Neugebauer
4254c91c9f kernel: Update build to use the alpine:3.7 base image
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-08 16:25:13 +00:00
Rolf Neugebauer
53127d7209 kernel: Update to 4.14.4/4.9.67/4.4.104
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-06 10:11:50 +00:00
Rolf Neugebauer
5eee692887 kernel: Add NVDIMM size patch to 4.14.x
This change hasn't made it upstream but seems to be required
for LCOW to work.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-05 10:32:33 +00:00
Rolf Neugebauer
3ed38c59f4 kernel: Update to 4.14.3/4.9.66/4.4.103
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-01 15:28:09 +00:00
Rolf Neugebauer
e7960ee0df kernel: Remove the 4.13.x kernel
4.13 has been EOLed with 4.13.16 being the last one.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-12-01 15:28:09 +00:00
Jason A. Donenfeld
62b5917526 wireguard: update to 0.0.20171122 to 0.0.20171127
This is a double bump.

Changes 0.0.20171122:

  * chacha20poly1305: fast primitives from Andy Polyakov

  Samuel Neves and I have spent considerable time and headaches porting,
  reworking, and partially rewriting Andy's optimized implementations of
  ChaCha20 and Poly1305. We now support the following:

  On x86_64:
    - Poly1305: integer unit
    - ChaCha20: SSSE3
    - HChaCha20: SSSE3
    - Poly1305: AVX
    - ChaCha20: AVX2
    - Poly1305: AVX2
    - ChaCha20: AVX512
    - Poly1305: AVX512

  On ARM:
    - Poly1305: integer unit
    - ChaCha20: NEON
    - Poly1305: NEON

  On ARM64:
    - Poly1305: integer unit
    - ChaCha20: NEON
    - Poly1305: NEON

  On MIPS64:
    - Poly1305: integer unit

  All others:
    - ChaCha20: generic C
    - Poly1305: generic C

  This is a pretty substantial amount of new handrolled assembly. It will
  perhaps MURDER KITTENS, so please tread lightly with this snapshot and adjust
  expectations accordingly. I'm looking forward to quickly fixing any issues
  folks find while testing.

  Performance-wise, this should see increases all around. The biggest speedups
  will be on ARM and ARM64, but x86_64 and MIPS64 should also see modest speed
  improvements too, especially on Skylake systems supporting AVX512.

  * chacha20poly1305: add more test vectors, some of which are weird

  Test vectors are pretty important, so we added more to catch odd edge cases
  using the following butcher's code:

    from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
    import os

    def encode_blob(blob):
        a = ""
        for i in blob:
            a += "\\x" + hex(i)[2:]
        return a

    enc = [ ]
    dec = [ ]

    def make_vector(plen, adlen):
        key = os.urandom(32)
        nonce = os.urandom(8)
        p = os.urandom(plen)
        ad = os.urandom(adlen)
        c = ChaCha20Poly1305(key).encrypt(nonce=bytes(4) + nonce, data=p, associated_data=ad)

        out = "{\n"
        out += "\t.key\t= \"" + encode_blob(key) + "\",\n"
        out += "\t.nonce\t= \"" + encode_blob(nonce) + "\",\n"
        out += "\t.assoc\t= \"" + encode_blob(ad) + "\",\n"
        out += "\t.alen\t= " + str(len(ad)) + ",\n"
        out += "\t.input\t= \"" + encode_blob(p) + "\",\n"
        out += "\t.ilen\t= " + str(len(p)) + ",\n"
        out += "\t.result\t= \"" + encode_blob(c) + "\"\n"
        out += "}"
        enc.append(out)

        out = "{\n"
        out += "\t.key\t= \"" + encode_blob(key) + "\",\n"
        out += "\t.nonce\t= \"" + encode_blob(nonce) + "\",\n"
        out += "\t.assoc\t= \"" + encode_blob(ad) + "\",\n"
        out += "\t.alen\t= " + str(len(ad)) + ",\n"
        out += "\t.input\t= \"" + encode_blob(c) + "\",\n"
        out += "\t.ilen\t= " + str(len(c)) + ",\n"
        out += "\t.result\t= \"" + encode_blob(p) + "\"\n"
        out += "}"
        dec.append(out)

    make_vector(0, 0)
    make_vector(0, 8)
    make_vector(1, 8)
    make_vector(1, 0)
    make_vector(129, 7)
    make_vector(256, 0)
    make_vector(512, 0)
    make_vector(513, 9)
    make_vector(1024, 16)
    make_vector(1933, 7)
    make_vector(2011, 63)

    print("======== encryption vectors ========")
    print(", ".join(enc))

    print("\n\n\n======== decryption vectors ========")
    print(", ".join(dec))

  * wg-quick: document localhost exception and v6 rule

  Probably a "kill switch" wants this too:
     -m addrtype ! --dst-type LOCAL
  so that basic local services can continue to work.

  * selftest: allowedips: randomized test mutex update
  * allowedips: do not write out of bounds
  * device: uninitialize socket first in destruction
  * tools: tighten up strtoul parsing

  Small fixups.

  * qemu: update kernel
  * qemu: use unprefixed strip when not cross-compiling

  Fedora/Redhat doesn't ship with a prefixed strip, and we don't need
  to use it anyway when we're not cross compiling, so don't.

  * compat: 3.16.50 got proper rt6_get_cookie
  * compat: stable finally backported fix
  * compat: new kernels have netlink fixes
  * compat: fix compilation with PaX

  Usual set of compatibility updates.

  * curve25519-neon: compile in thumb mode

  In thumb mode, it's not possible to use sp as an operand of and, so
  we have to muck around with r3 as a scratch register.

  * socket: only free socket after successful creation of new

  When an interface is down, the socket port can change freely. A socket
  will be allocated when the interface comes up, and if a socket can't be
  allocated, the interface doesn't come up.

  However, a socket port can change while the interface is up. In this
  case, if a new socket with a new port cannot be allocated, it's
  important to keep the interface in a consistent state. The choices are
  either to bring down the interface or to preserve the old socket. This
  patch implements the latter.

  * global: switch from timeval to timespec

  This gets us nanoseconds instead of microseconds, which is better, and
  we can do this pretty much without freaking out existing userspace,
  which doesn't actually make use of the nano/microseconds field. The below
  test program shows that this won't break existing sizes:

    zx2c4@thinkpad ~ $ cat a.c
    void main()
    {
        puts(sizeof(struct timeval) == sizeof(struct timespec) ?
          "success" : "failure");
    }
    zx2c4@thinkpad ~ $ gcc a.c -m64 && ./a.out
    success
    zx2c4@thinkpad ~ $ gcc a.c -m32 && ./a.out
    success

Changes 0.0.20171127:

  * compat: support timespec64 on old kernels
  * compat: support AVX512BW+VL by lying
  * compat: fix typo and ranges
  * compat: support 4.15's netlink and barrier changes
  * poly1305-avx512: requires AVX512F+VL+BW

  Numerous compat fixes which should keep us supporting 3.10-4.15-rc1.

  * blake2s: AVX512F+VL implementation
  * blake2s: tweak avx512 code
  * blake2s: hmac space optimization

  Another terrific submission from Samuel Neves: we now have an implementation
  of Blake2s using AVX512, which is extremely fast.

  * allowedips: optimize
  * allowedips: simplify
  * chacha20: directly assign constant and initial state

  Small performance tweaks.

  * tools: fix removing preshared keys
  * qemu: use netfilter.org https site
  * qemu: take shared lock for untarring

  Small bug fixes.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-11-27 20:55:31 +01:00
Rolf Neugebauer
43b2caf69e kernel: Update to 4.4.102/4.9.65/4.13.16/4.14.2
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-24 13:55:21 +00:00
Rolf Neugebauer
c6721e5343 kernel: Update to 4.4.101
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-24 13:55:21 +00:00
Rolf Neugebauer
4aa1845b96 kernel: Fix 4.14.x/4.13.x config for aarch64
The update in 6ede240737 ("kernel: Update to
4.14.1/4.13.15/4.9.64/4.4.100") failed to build on aarch64.
This fixes it.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-24 13:55:21 +00:00
Dennis Chen
b0cbfe1988 kernel: Fixing kernel_perf and kernel_zfs build issue
For 'build_perf_' and 'build_zfs_' targets in the Makefile,
since both of them are dependends on the build_$(2)$(3) target,
So, we pull the image with DCT as part of the dependency on build_$(2)$(3)
and then build with DOCKER_CONTENT_TRUST explicitly set to 0.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
2017-11-23 10:34:54 +00:00
Rolf Neugebauer
6ede240737 kernel: Update to 4.14.1/4.13.15/4.9.64/4.4.100
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-21 17:05:35 +00:00
Rolf Neugebauer
57226034e6 kernel: Move KEYS_COMPAT
Commit 31c8c4942820 ("security/keys: add CONFIG_KEYS_COMPAT
to Kconfig") moved the KEYS_COMPAT config option to a different
section. Adjust config file.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-21 15:55:47 +00:00
Rolf Neugebauer
f5e970b7fb kernel: Update to 4.13.14/4.9.63/4.4.99
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-21 15:54:15 +00:00
Rolf Neugebauer
717829ea89 kernel: Don't build a debug kernel for 4.13
We already have too many kernels to build and 4.13 will be EOLed soon

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-21 15:53:34 +00:00
Rolf Neugebauer
f79c392ce3 kernel: Enable REFCOUNT_FULL on kernels supporting it
REFCOUNT_FULL enables full reference count validation. There is a
potential slow down but ti protects against certain use-after-free
attacks.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-21 14:02:33 +00:00
Rolf Neugebauer
66342d0646 kernel: Enable GCC_PLUGIN_RANDSTRUCT on kernels supporting it
On 4.13 and 4.14 kernels GCC_PLUGIN_RANDSTRUCT can be use to randomise
some kernel data structures such as structs with function pointers.

We also select GCC_PLUGIN_RANDSTRUCT_PERFORMANCE which
tries harder to restrict randomisation to cache-lines in order to reduce
performance impact.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-21 14:02:33 +00:00
Rolf Neugebauer
8d16426644 kernel: Enable GCC_PLUGIN_STRUCTLEAK on kernels supporting it
The 4.13 and 4.14 kernels support GCC_PLUGIN_STRUCTLEAK, a GCC plugin
to zero initialise any structures with the __user attribute to prevent
information exposure.

On 4.14 kernels also enable GCC_PLUGIN_STRUCTLEAK_BYREF_ALL which is
an extension of the above

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-21 14:02:33 +00:00
Rolf Neugebauer
b0db43567e kernel: Enable GCC_PLUGIN on kernels supporting it
Subsequent commits will enable selected sub options.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-21 14:02:33 +00:00
Rolf Neugebauer
2c1fdc7b47 kernel: Use latest linuxkit/alpine and install mpc1-dev/mpfr-dev
The GCC_PLUGINS config options enabled in the next commits
require mpc1-dev/mpfr-dev

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-21 14:02:33 +00:00
Rolf Neugebauer
5995d9a10d kernel: Fix Dockerfile.kbuild
Patches were not applied and this fixes it as well as tidying
up the error handling.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-21 14:02:33 +00:00
zlim
8e5006f8f9
kernel: update README.md
Update description to reflect link to ../doc/kernels.md.

Signed-off-by: Zi Shen Lim <zlim.lnx@gmail.com>
2017-11-19 22:19:49 -08:00
Rolf Neugebauer
98025f4649 kernel: Update to 4.13.13/4.9.62/4.4.98
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-16 17:35:43 +00:00
Jason A. Donenfeld
5c6d73d7f1 wireguard: update to 0.0.20171111
Routine version bump that also removes the necessity of carrying that
extra patch. Changes:

  * Kconfig: remove trailing whitespace
  * allowedips: rename from routingtable
  * tools: remove ioctl cruft
  * global: revert checkpatch.pl changes

  Cleanliness.

  * device: please lockdep
  * device: wait for all peers to be freed before destroying

  These make the various checkers happy.

  * netlink: plug memory leak
  * qemu: check for memory leaks

  There was a small memory leak on the netlink configuration layer that's now
  been fixed.

  * receive: hoist fpu outside of receive loop

  Should be a small speedup on x86_64.

  * qemu: more debugging
  * qemu: bump kernel version

  Significantly more debugging checkers have been turned on.

  * wg-quick: stat the correct enclosing folder of config file
  * wg-quick: allow for tabs in keys

  Minor fixups for wg-quick(8).

  * compat: 4.4.0 has strange ECN function

  Nobody actually runs base 4.4.0, but this is more correct anyway.

  * netlink: make sure we reserve space for NLMSG_DONE

  A rather important change - due to an upstream kernel bug, that's existed
  since the advent of netlink itself, sometimes wg(8) failed to receive valid
  data back from kernelspace, resulting in "ENOBUFS" when trying to dump all
  peers. This patch works around it while we wait for upstream to commit the
  fix.

  * curve25519: reject deriving from NULL private keys
  * tools: allow for NULL keys everywhere

  A null 25519 private point isn't a valid point (prior to normalization), which
  is why we use it as the "unsetting" value. Conversely, however, except for
  psk, we should be using the existence of it in the netlink message being an
  indication of whether or not it's set, for the tools.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-11-15 17:48:24 +01:00
Rolf Neugebauer
eb4bb1fa39 kernel: Tweak the 4.14.x kernel config
- aarch64/x86_64: Disable RC_CORE: Don't need support for remote controls
- aarch64/x86_64: Enable RESET_ATTACK_MITIGATION (clear contents of RAM
  after reboot)
- x86_64: Disable NET_VENDOR_HUAWEI
- x86_64: Use ORC_UNWINDER for stack traces
- aarch64: Enable GPIO_THUNDERX
- aarch64: Enable BUG_ON_DATA_CORRUPTION

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-14 14:09:04 +00:00
Rolf Neugebauer
a6a46c8fcf kernel: 4.14.x config after oldconfig
The previous commit used the 4.13.x config files as the
4.14.x config files. This commit stashes the result of
running the 4.14.x oldconfig over them.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-14 14:09:03 +00:00
Rolf Neugebauer
c486675df0 kernel: Add initial support for 4.14 kernels
The kernel config files are a copy of the 4.13 kernel configs,
which will be refined in subsequent commits.

This does not yet include any patches which may
be required for LCOW.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-14 14:09:03 +00:00
Rolf Neugebauer
ca3e9edb00 kernel: Don't include firmware from linux source tree
4.14.x has dropped 'make firmware_install' and according to [1]
the in-tree firmware has not been updated since 2013, so drop it
for all kernels.

We will need to find another way to add firmware blobs to a
LinuxKit image (see [2])

[1] https://lkml.org/lkml/2017/9/15/343
[2] https://github.com/linuxkit/linuxkit/issues/2714

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-14 14:09:03 +00:00
Rolf Neugebauer
f103145050 kernel: Switch Dockerfile.kconfig to bsdtar
I got error when un-tarring the linux-4.14 kernel:
tar: linux-4.14/arch/arm64/boot/dts/arm: Directory renamed before its status could be extracted
tar: linux-4.14/arch/arm64/boot/dts: Directory renamed before its status could be extracted
tar: linux-4.14/arch/arm64/boot: Directory renamed before its status could be extracted
tar: linux-4.14/arch/arm64: Directory renamed before its status could be extracted
tar: linux-4.14/arch: Directory renamed before its status could be extracted

Using bsdtar, this error goes away.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-14 14:09:03 +00:00
Rolf Neugebauer
7a67aaf7db kernel: Update to 4.13.12/4.9.61/4.4.97
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-10 13:29:34 +00:00
Rolf Neugebauer
fe1c723011 kernel: Disable CMA for aarch64 kernels
We don't have it enabled on x86_64 and according to
https://github.com/linuxkit/linuxkit/issues/2434#issuecomment-342370982
may cause the ThunderX NIC driver from working.

Note, this also disables MEMORY_ISOLATION and ARCH_HAS_GIGANTIC_PAGE
which are internal config variables no longer needed.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-10 13:29:34 +00:00
Rolf Neugebauer
48ddaf9f44 kernel: Disable CONFIG_SCSI_PROC_FS on all kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-06 15:04:05 +00:00
Rolf Neugebauer
8500ac20ca kernel: Enable DSAF for HiSilicon arm64 servers
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-06 14:58:27 +00:00
Rolf Neugebauer
cb7699ee5a kernel: Temporarily patch wireguard
Version 0.0.20171101 errors out when compiled for
debug kernels. This will be fixed in the next release.

In the meantime pull in the patch which fixes the
compile error.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-03 15:11:06 +00:00
Rolf Neugebauer
1ea69cbcf3 kernel: Update to 4.13.11/4.9.60/4.4.96
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-03 15:11:06 +00:00
Jason A. Donenfeld
220a85c176 wireguard: update to 0.0.20171101
20171031, the Halloween edition, had a show stopper bug, which was
neither security related, nor did it affect LinuxKit kernels, but
was important enough for me to bump the snapshot. This is the
corresponding LinuxKit bump. Changes:

* wg-quick: save all hooks on save

Tiny bug fix for 'wg-quick save'.

* timers: switch to kees' new timer_list functions

Shiny new things for Linux 4.14.

* compat: unbreak unloading on kernels 4.6 through 4.9

The real motivation for this extra snapshot bump. Before we would run into
some issues when unloading the module, which was not good.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-11-01 01:07:14 +01:00
Jason A. Donenfeld
2e1f9f1782 wireguard: update to 0.0.20171031
Simple version bump. Changes:

* netns: use read built-in instead of ncat hack for dmesg
* netns: use time-based test instead of quantity-based
* qemu: allow for cross compilation
* qemu: work around ccache bugs
* qemu: test using four cores
* selftest: initialize mutex in routingtable selftest

We now cross compile and run in QEMU for x86_64, i686,
ARMv7, Aarch64, and MIPS. You can see the current build
status on: https://www.wireguard.com/build-status/

* stats: more robust accounting
* compat: fix up stat calculation for udp tunnel

The statistics from `ip link -stats` or from `wg show` are
now much more accurate.

* global: accept decent check_patch.pl suggestions
* global: infuriating kernel iterator style
* global: style nits
* global: use fewer BUG_ONs
* global: get rid of useless forward declarations
* blake2: include headers for macros
* tools: correct type for CTRL_ATTR_FAMILY_ID

Lots of style cleanups.

* crypto/avx: make sure we can actually use ymm registers

This fixes an issue on some Xen platforms that expose
conflicting CPU features.

* peer: get rid of peer_for_each magic
* peer: store total number of peers instead of iterating

A major cleanup of our peer iteration logic, getting rid
of a big ugly macro and clarifying our locking semantics.

* compat: be sure to include header before testing

* wg-quick: allow specifiying multiple hooks

You can now specify {Post,Pre}{Down,Up} multiple times, and
the commands will then run in succession.

* wg-quick: remember to rewind DNS settings on failure

Small consistency fix.

* wg-quick: allow for saving existing interface

There is now a 'save' option for saving an existing
configuration without having to bring down the device.

* wg-quick: fsync the temporary file before renaming

In case the system looses power, you are now left with
either the old file or the new file but not an empty file.

* wg-quick: allow for the hatchet, but not by default

In order to account for distributions that do not have an
implementation of resolvconf(8), the contrib directory ships
with an alternative implementation that may be patched in.
This was extensively discussed and debated on the mailing
list.

* device: only take reference if netns is different

Solves an important memory leak when tearing down network
namespaces that haven't moved the wireguard device.

* device: expand scope of destruct lock
* timers: guard entire setting in block

Just to be certain.

* curve25519: only enable int128 if compiler support is sound

Allows building for Aarch64 with old gcc (such as that used
by Android) where we don't want to branch to a __multi3.

* contrib: add reresolve-dns

A small script that's been passed around for a while now for
reresolving DNS entries from a cronjob.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-10-31 19:33:21 +01:00
Rolf Neugebauer
17e5b55d17 kernel: Update to 4.13.10/4.9.59/4.4.95
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-28 17:46:23 +01:00
Ian Campbell
6c7b1c0251 Bump all packages to newest alpine.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-24 10:11:24 +01:00
Rolf Neugebauer
89af138f18 kernel: Update to 4.13.9/4.9.58/4.4.94
Note: There were more conflicts in applying the
vmbus patches to 4.13. For now I've just skipped the
conflicting patches so the end-result may be that
Hyper-V sockets on 4.13 may break (if they were not
already broken by the update to 4.13.6).

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-22 19:49:15 +01:00
Rolf Neugebauer
12b8d9d6bd kernel: Update to 4.13.8/4.9.57/4.4.93
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-22 19:49:15 +01:00
Rolf Neugebauer
b4d2d36866 kernel: Remove the 4.4.x patches
The patches are for vsock and hvsock and anyone using these
should be using more modern kernels.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-22 19:49:14 +01:00
Rolf Neugebauer
4005564228 kernel: Drop 'kernel_' prefix from kernel config files
It's kinda obvious that these are kernel configuration files
and, looking at various other distros it seems more common
to call the files 'config-<foo>'.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-22 19:49:14 +01:00
Rolf Neugebauer
5afc16f275 kernel: Enable building kernels without patches
Copying the entire local directory into the container allows
us to check for the existence of the patch directory and
only apply the patches if the directory exists.

An alternative would have been to re-arrange the patch directory
into a sub-directory, but in terms of copying wouldn't have
made that much if a difference.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-22 19:49:14 +01:00
Rolf Neugebauer
ddbdb0aad7 kernel: Update to 4.13.7
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-22 19:49:14 +01:00
Rolf Neugebauer
571dba104d kernel: Update to 4.13.6/4.9.56/4.4.92
NOTE: Some of the 4.13.x VMBus patches did not apply cleanly and they
were dropped for now. This may break LCOW and other Windows support.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-20 20:22:03 +01:00
Rolf Neugebauer
5609cdeae7 kernel: Update to 4.9.55
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-20 20:22:03 +01:00
Rolf Neugebauer
847ae9d220 kernel: Add dtbs files to kernel.tar under /boot/dtb
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-19 09:20:21 +02:00
Rolf Neugebauer
ef67a145d9 kernel: Add minimal kernel config for the Raspberry Pi 3b
- Enable ARCH_BCM2835
- Enable USB_NET_SMSC95XX.
- Compile in MII and USB_USBNET. These are needed
  by the onboard network driver
- Enable the DWC2 USB controller.
- Enabled MMC, MMC_SDHCI, MMC_BCM2835 for SD card access
- Enable various BCM2835 platform devices: HW_RANDOM_BCM2835,
  I2C_BCM2835, PINCTRL_BCM2835, DMA_BCM2835,BCM2835_MBOX,
  WM_BCM2835, ...
- Enable SERIAL_8250 and friends.
- Enable FB_SIMPLE to get console output

The above configuration gives a minimal working system
with serial console access (via the GPIO pins), networking
and SD storage. The smsc95xx network driver does not
seem to get autoloaded. This is likely a mdev issue.

We specifically do not configure any WLAN,
sound or graphics drivers as they would pull in
too many other cruft into the kernel. To enable
these we consider adding a -rpi3 config similar
to the -dbg config to provide additional kernel
config options.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-19 09:20:21 +02:00
Jason A. Donenfeld
5db1bbeef6 wireguard: update to 0.0.20171017
Simple version bump. Changes:

  * noise: handshake constants can be read-only after init
  * noise: no need to take the RCU lock if we're not dereferencing
  * send: improve dead packet control flow
  * receive: improve control flow
  * socket: eliminate dead code
  * device: our use of queues means this check is worthless
  * device: no need to take lock for integer comparison
  * blake2s: modernize API and have faster _final
  * compat: support READ_ONCE
  * compat: just make ro_after_init read_mostly

  Assorted cleanups to the module, including nice things like marking our
  precomputations as const.

  * Makefile: even prettier output
  * Makefile: do not clean before cloc
  * selftest: better test index for rate limiter
  * netns: disable accept_dad for all interfaces

  Fixes in our testing and build infrastructure. Now works on the 4.14 rc
  series.

  * qemu: add build-only target
  * qemu: work on ubuntu toolchain
  * qemu: add more debugging options to main makefile
  * qemu: simplify shutdown
  * qemu: open /dev/console if we're started early
  * qemu: phase out bitbanging
  * qemu: always create directory before untarring
  * qemu: newer packages
  * qemu: put hvc directive into configuration

  This is the beginning of working out a cross building test suite, so we do
  several tricks to be less platform independent.

  * tools: encoding: be more paranoid
  * tools: retry resolution except when fatal
  * tools: don't insist on having a private key
  * tools: add pass example to wg-quick man page
  * tools: style
  * tools: newline after warning
  * tools: account for padding being in zero attribute

  Several important tools fixes, one of which suppresses a needless warning.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-10-17 22:18:45 +02:00
Jason A. Donenfeld
055db2d542 wireguard: bump version
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-10-11 16:41:47 +02:00
Rolf Neugebauer
38c37276a2 kernel: Update to 4.9.54/4.4.91
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-11 13:12:49 +01:00
Rolf Neugebauer
b294171311 kernel: Add the firmware to the result tarball
'make firmware_install' adds the firmware blobs creating
during the build to '/lib/firmware' in the result tarball.

This should be installed along with the kernel modules.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-11 13:12:49 +01:00
Rolf Neugebauer
6f81297da6 kernel: Enable RANDOMIZE_BASE on arm64 kernels as well
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-11 13:12:49 +01:00
Ian Campbell
a237b51511 Bump alpine base across the board.
By running:

    ./scripts/update-component-sha.sh --image linuxkit/alpine ad35b6ddbc70faa07e59a9d7dee7707c08122e8d

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 09:55:45 +01:00
Ian Campbell
13d11f49ba Rename "tag*" Makefile targets to "build*"
This better matches the `linuxkit pkg build` nomenclature.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 16:48:48 +01:00
Rolf Neugebauer
267017f484 Merge pull request #2568 from zx2c4/wireguard-bump
kernel/wireguard: version bump
2017-10-06 14:39:02 +01:00
Jason A. Donenfeld
c14e9e205b kernel/wireguard: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-10-06 03:42:57 +02:00
Rolf Neugebauer
06b09fb6a8 kernel: Update kernel to 4.13.5/4.9.53/4.4.90
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-05 12:01:12 +01:00
Rolf Neugebauer
ec06cfe69c kernel: Delete accidentally commit temporary files
Introduced with: fb98564e ("Add squashfs support to the kernel config")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-05 11:56:52 +01:00
Rolf Neugebauer
074541f79c Merge pull request #2551 from zx2c4/wireguard-bump
wireguard: version bump
2017-10-05 11:51:58 +01:00
Justin Cormack
fb98564ecc Add squashfs support to the kernel config
This is a useful read only filesystem for images that is efficient and
small as it supports compression.

For many use cases, when you are writing to media, it makes more sense than
using an initramfs as it does not require RAM, and it is more suitable for
disk media than ISO.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-10-03 15:09:27 +01:00
Rolf Neugebauer
d9bd133f58 kernel: Remove 4.12 kernel
4.12 has been EOLed:
http://lkml.iu.edu/hypermail/linux/kernel/1709.2/02589.html
Remove it and the related tests.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
6f535f866a kernel: Enable FORTIFY_SOURCE for 4.13 kernels
This new feature was disabled by default, enable it as it seems
sensible to have. From the documentation:
  Detect overflows of buffers in common string and memory functions
  where the compiler can determine and validate the buffer sizes.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
d0e55af229 kernel: Add support for 4.13 kernels
The patches from 4.12 applied cleanly, except for 81304747d9
("Drivers: hv: vmbus: Fix rescind handling"), which was already
in upstream so has been dropped from the patch series.

The kernel config is from 4.12 run through defconfig/oldconfig to
pick up any new defaults.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
6e540241c8 kernel: Update alpine base image for kernel builds
Since we are rebuilding the kernels might as well update the base

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Jason A. Donenfeld
43db718f14 wireguard: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-10-02 03:39:11 +02:00
Rolf Neugebauer
35fde3ec7d kernel: Update to 4.9.52/4.4.89
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-28 15:44:04 +01:00
Rolf Neugebauer
e75289e4e1 kernel: Update 4.12.x to latest VMBus/Hyper-V socket patches
Notie, the instructions added in: https://github.com/Microsoft/opengcs/pull/147
add a commit to revert another patch in this series. Instead of applying
c15d7f606f8 ("Revert "vmbus: destroy a hv_sock device only after the RESCIND_OFFER
is received"") we simply drop the orginal commit e37da6e7a52ea6 ("vmbus: destroy a
hv_sock device only after the RESCIND_OFFER is received") from our list.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-25 11:36:46 +01:00
Rolf Neugebauer
bd4723d1aa kernel: Update kernels to 4.12.14/4.9.51
While at it might as well update the alpine base...

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-20 12:13:26 +01:00
Rolf Neugebauer
f2a73dcd01 kernel: Enable HPSA and SMARTPQI SCSI driver modules
These drivers are for HPE SCSI cards and enabling them subsequently
enabled RAID_ATTRS and CHECK_SIGNATURE.

Only enabled for 4.9 and 4.12 kernels.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-20 11:59:06 +01:00
Jason A. Donenfeld
bd4775cf6f wireguard: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-09-19 03:43:14 +02:00
Rolf Neugebauer
ac18bbfda0 Merge pull request #2514 from matjohn2/zfs-depmod-fix
Ensure depmod is run on ZFS module builds (fixes ZFS modprobe)
2017-09-18 11:31:15 +01:00
Matt Johnson
fdc1c0edc8 Enable modprobe zfs by running depmod on the new kernel build.
Depmod in the zfs makefiles will never run as `/boot/` and relevant map files dont exist in our build environments.
Included style suggestions by @rn

Signed-off-by: Matt Johnson <matjohn2@cisco.com>
2017-09-18 08:55:17 +01:00
Rolf Neugebauer
7ba00c001b kernel: Update 4.12.x kernel patches
These are the recommended patches for 4.12 for Hyper-V sockets
and LCOW. Based on: https://github.com/Microsoft/opengcs/pull/138

This also includes a cherry-pick from upstream which fixes the
ext4/nvdimm/pax failures we have seen since 4.11.2.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-15 14:46:25 +01:00
Rolf Neugebauer
59782d502e kernel: Update to 4.12.13/4.9.50/4.4.88
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-14 17:19:43 +01:00
Rolf Neugebauer
3ed92e7497 kernel: Enable TASK_XACCT and TASK_IO_ACCOUNTING
This enables per task (IO) accounting which is useful
for monitoring IO activity and the like.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-12 11:47:05 +01:00
Rolf Neugebauer
7bc93a6c46 kernel: Update to 4,9.49/4.12.12
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-12 11:23:41 +01:00
Justin Cormack
ca4ee13fca Merge pull request #2499 from zx2c4/wireguard-bump
wireguard: bump to new snapshot with better RTS semantics
2017-09-11 20:51:34 +02:00
Jason A. Donenfeld
7fa39b172e wireguard: bump to new snapshot with better RTS semantics
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-09-11 18:46:07 +02:00
Rolf Neugebauer
5427147e3b kernel: Update to 4.12.11/4.9.48/4.4.87
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-08 14:44:44 +01:00