Skip to content

Add Linux 4.14.12 (Meltdown/Spectre) #565

Merged
merged 17 commits into from
Jan 8, 2018
Merged

Add Linux 4.14.12 (Meltdown/Spectre) #565

merged 17 commits into from
Jan 8, 2018

Conversation

pmenzel
Copy link
Collaborator

@pmenzel pmenzel commented Dec 21, 2017

Install with the commands below.

$ sudo bee install -f linux-4.14.12 nvidia_linux-4.14.12-200-340.104 nvidia_legacy5-340.104 nvidia_linux-4.14.12-200-384.111 nvidia_current-384.111
$ sudo mxgrub mariux-4.14.12-200

Tested on mrtorgue, keineahnung (Intel), sigusr2 (Nvidia), hmmjaeeh (Nvidia).

@pmenzel
Copy link
Collaborator Author

pmenzel commented Dec 21, 2017

The external NVIDIA driver modules are missing, and the Linux configuration needs to be checked and potentially re-created.

@pmenzel pmenzel changed the title Add Linux 4.14.8 Add Linux 4.14.10 Jan 2, 2018
@pmenzel
Copy link
Collaborator Author

pmenzel commented Jan 2, 2018

[…]
 CONFTEST: drm_atomic_modeset_nonblocking_commit_available
  CC [M]  /dev/shm/bee-root/nvidia/nvidia_linux-4.14.10-198-375.39-0/source/kernel/nvidia/nv-frontend.o
In file included from /dev/shm/bee-root/nvidia/nvidia_linux-4.14.10-198-375.39-0/source/kernel/nvidia/nv-frontend.c:13:0:
/dev/shm/bee-root/nvidia/nvidia_linux-4.14.10-198-375.39-0/source/kernel/common/inc/nv-linux.h:227:2: error: #error "This driver requires the ability to change memory types!"
 #error "This driver requires the ability to change memory types!"
  ^
scripts/Makefile.build:314: recipe for target '/dev/shm/bee-root/nvidia/nvidia_linux-4.14.10-198-375.39-0/source/kernel/nvidia/nv-frontend.o' failed
make[2]: *** [/dev/shm/bee-root/nvidia/nvidia_linux-4.14.10-198-375.39-0/source/kernel/nvidia/nv-frontend.o] Error 1
Makefile:1504: recipe for target '_module_/dev/shm/bee-root/nvidia/nvidia_linux-4.14.10-198-375.39-0/source/kernel' failed
make[1]: *** [_module_/dev/shm/bee-root/nvidia/nvidia_linux-4.14.10-198-375.39-0/source/kernel] Error 2
make[1]: Leaving directory '/dev/shm/linux-4.14.10-198.x86_64/source'
Makefile:81: recipe for target 'modules' failed
make: *** [modules] Error 2

@pmenzel pmenzel changed the title Add Linux 4.14.10 Add Linux 4.14.11 Jan 4, 2018
@pmenzel pmenzel changed the title Add Linux 4.14.11 Add Linux 4.14.12 (Meltdown/Spectre) Jan 8, 2018
@pmenzel pmenzel force-pushed the add-linux-4.14 branch 3 times, most recently from 6d2a912 to 0ad3c1b Compare January 8, 2018 14:20
pmenzel and others added 17 commits January 8, 2018 15:23
Announcement for Linux 4.14 [1]:

> No surprises this week, although it is probably worth pointing out how
> the 0day robot has been getting even better (it was very useful
> before, but Fengguang has been working on making it even better, and
> reporting the problems it has found).
>
> Sure, some of the new reports turned out to be just 0day doing things
> that just don't work (ie KASAN with old gcc versions, but also doing
> things like loading old ISA drivers in situations that just don't make
> sense - remember when you couldn't even ask if the hardware existed or
> not, and just had to know), but even then it's been all good.
>
> The appended shortlog is obviously only for the (small) haul since
> rc8, and it really is tiny. Not very many commits, and they are small.
> The biggest thing that stands out in the diffstat is the
> "leaking_addresses" perl script, which is actually under active
> development, but I put the first version in for 4.14 just so that
> people could see that initial state and start looking at the end
> result and perhaps ask themselves "should my code make these kernel
> addresses visible to user space".
>
> The actual changes will hopefully start percolating into 4.15, with
> one notable llikely early change (which has been discussed extensively
> on the list) being to just hash any "%p" addresses by default. We used
> to have strict modes that just zeroed the address out, but that was
> actually counter-productive, in that often people use the address as a
> "kernel object identity" for debugging (or fro cross-correlation -
> think network sockets), and so just clearing the pointer value makes
> those kinds of uses pointless. But using a secure hash allows for
> those kinds of identity uses, while not actually leaking the address
> itself.
>
> (Other situations where the actual address is relevant then need other
> approaches - we'll be restricting /proc/kallsyms only to entities that
> actually need them etc etc).
>
> Anyway, apart from that one script, the rest of it really is
> one-liners or "few-liners".
>
> The most noticeable last-minute change is probably that we had to
> revert the code that showed a good MHz value in /proc/cpuinfo even for
> the modern "CPU picks frequency dynamically" case. It worked fine, but
> it was much too expensive on machines with tens or hundreds of CPU
> cores. There's a cunning plan, but it didn't make 4.14, so we'll get
> it working and then back-port.
>
> Anything else is pretty esoteric, you can just read the changelog..
>
> And with this, the merge window for 4.15 is obviously open. As
> mentioned in the late rc announcements, the extra week for rc8 means
> that now Thanksgiving week ends up happening during the second half of
> the merge window, and I'll be off on a family vacation.
>
> We'll see how that goes.
>
> I might decide that I'll extend the merge window if I feel that I
> can't be responsive enough.
>
> Or maybe you guys won't even notice, because I _will_ have my laptop
> and internet access.
>
> Or maybe I will just decide that 4.14 was a painful release, and any
> late stragglers for 4.15 are not worth _another_ painful release, and
> I'll just say "tough luck, you were late to the merge window, and I
> felt more like being out in the sun than taking your second-week pull
> request".
>
> Because it really would be lovely to have a smaller and calmer release for 4.15.
>
> Anyway, go out and test the new 4.14 release, that is slated to be the
> next LTS kernel - and start sending me pull request for the 4.15 merge
> window.

[1] https://lkml.org/lkml/2017/11/12/123
We do want our kernel revision numbers to be unique over all linux
kernel packages. Avoid conflicts by doing a quick check against
the available bee files.
Announcement and change-log are available online [1][2].

Enable support for USB audio and USB MIDI devices.

```
$ diff -u /boot/config-4.14.4.mx64.192 /boot/config-4.14.5.mx64.194
--- /boot/config-4.14.4.mx64.192	2017-12-06 15:11:09.000000000 +0100
+++ /boot/config-4.14.5.mx64.194	2017-12-13 13:20:34.000000000 +0100
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.14.4 Kernel Configuration
+# Linux/x86 4.14.5 Kernel Configuration
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
@@ -52,7 +52,7 @@
 CONFIG_INIT_ENV_ARG_LIMIT=32
 CONFIG_CROSS_COMPILE=""
 # CONFIG_COMPILE_TEST is not set
-CONFIG_LOCALVERSION=".mx64.192"
+CONFIG_LOCALVERSION=".mx64.194"
 CONFIG_LOCALVERSION_AUTO=y
 CONFIG_HAVE_KERNEL_GZIP=y
 CONFIG_HAVE_KERNEL_BZIP2=y
@@ -330,6 +330,7 @@
 CONFIG_STRICT_KERNEL_RWX=y
 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
 CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_HAS_REFCOUNT=y
 # CONFIG_REFCOUNT_FULL is not set

 #
@@ -3244,7 +3245,19 @@
 CONFIG_SND_HDA_CORE=y
 CONFIG_SND_HDA_I915=y
 CONFIG_SND_HDA_PREALLOC_SIZE=64
-# CONFIG_SND_USB is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_USX2Y is not set
+# CONFIG_SND_USB_CAIAQ is not set
+# CONFIG_SND_USB_US122L is not set
+# CONFIG_SND_USB_6FIRE is not set
+# CONFIG_SND_USB_HIFACE is not set
+# CONFIG_SND_BCD2000 is not set
+# CONFIG_SND_USB_POD is not set
+# CONFIG_SND_USB_PODHD is not set
+# CONFIG_SND_USB_TONEPORT is not set
+# CONFIG_SND_USB_VARIAX is not set
 # CONFIG_SND_SOC is not set
 CONFIG_SND_X86=y
 # CONFIG_HDMI_LPE_AUDIO is not set
```

[1] https://lkml.org/lkml/2017/12/10/145
[2] https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.14.5
Run `make savedefconfig`, and paste the content of the generated file
`defconfig`.
According to the developer asynchronous mode is supported in Linux 4.14.

As the external driver fails to build, do not do that, and use the
shipped version.

```
$ uname -a
Linux mrtorgue.molgen.mpg.de 4.14.8.mx64.197 #1 SMP Thu Dec 21 17:35:49 CET 2017 x86_64 GNU/Linux
$ dmesg | grep -i aac
[    0.000000] ACPI: MSCT 0x000000007BAAC000 000090 (v01 DELL   PE_SC3 00000001 DELL 00000001)
[  171.387352] Adaptec aacraid driver 1.2.1[50834]-custom
[  171.387427] aacraid 0000:84:00.0: can't disable ASPM; OS doesn't have ASPM control
[  171.387960] aacraid: Comm Interface type3 enabled
[  171.391800] AAC0: kernel 3.52-0[0] Sep  7 2017
[  171.391802] AAC0: monitor 0.0-0[0]
[  171.391803] AAC0: bios 0.13-209[32000]
[  171.391804] AAC0: serial 10F447
[  171.391805] AAC0: Non-DASD support enabled.
[  171.391806] AAC0: 64bit support enabled.
[  171.391807] aacraid 0000:84:00.0: 64 Bit DAC enabled
[  171.393542] scsi host11: aacraid
```
Add the user space stuff for version 340.104.
375.39 is not compatible with Linux 4.14 anymore, so update to the long
lived branch version 384.111.

[1] http://www.nvidia.com/Download/driverResults.aspx/128737/en-us
Add the user space stuff for version 384.111.
@donald donald merged commit b8d1a3e into master Jan 8, 2018
@donald donald deleted the add-linux-4.14 branch February 1, 2018 13:01
Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants