Yea, I don't get it either. Unless it adds a new syscall, how can that help?
This paragraph from the article, when trimmed to be proper, explains the original issue pretty well:
NVIDIA can't directly utilize the Linux kernel's DMA_BUF buffer sharing mechanism -- a zero-copy way to share buffers between different kernel drivers whether it be DRM or other sub-systems -- due to GPL-only kernel
1) The majority of the code is under the GPL, yes. But considering Linux does not require copyright assignment, I'm pretty sure you can include any code that is under any license that is GPL compatible.
2) Also yes, the new code would not use EXPORT_SYMBOL_GPL and would instead declare EXPORT_SYMBOL
Thats why Linus said "The kernel will always be GPLv2" He wasn't making a promise, he was stating a fact. Thanks to the fact that copyright assignment isnt forced, in order to change the license of the kernel as a whole The Linux Foundation would have to get the "Ok." From every single person who has ever committed one piece of code to the kernel and the code they didnt get an "Ok" for would have to be rewritten by someone who was giving their "Ok"