PTI build regression with nvidia drivers

From: Kees Cook
Date: Thu Jan 04 2018 - 13:17:31 EST


Hi,

This was pointed out in a few places, but not forwarded to lkml yet that I saw:

https://devtalk.nvidia.com/default/topic/1028222/linux/lts-kernel-patch-for-intel-cpu-vulnerability-breaks-nvidia-driver/post/5230546

Before and after PTI, cpu_tlbstate is a GPL export:

$ git show v4.14:arch/x86/mm/init.c | grep cpu_tlbstate
DEFINE_PER_CPU_SHARED_ALIGNED(struct tlb_state, cpu_tlbstate) = {
EXPORT_SYMBOL_GPL(cpu_tlbstate);

But after PTI, inlining or something is dragging cpu_tlbstate into the
open, causing build failures.

Technically, to avoid regressions for that module, we'll need to drop
the GPL marking on that symbol, or find some other solution...

-Kees

--
Kees Cook
Pixel Security