A thorough introduction to eBPF
lwn.net
lwn.net
Really?
That seems a bit harsh...
That said, lawyers have certainly given their approval to the way Nvidia packages their driver, so it should be fine or at least very very hard to challenge.
Unfortunately, I don't believe the high level list of which hooks have gpl helpers is published, so reading the code is the best method currently.
Where GPL comes in is when you use BPF to introspect the kernel. It is quite possible to use BPF programs with the kprobe hook to extract data about how the kernel itself works, and the opinion of the kernel developers on this is that such use cases are within the realm of GPL protection.
One of the things I'm playing around with is higher level loop construct stolen from graphics shaders. You should still be able to guarantee termination and worse case execution time if done right.
Just need to find the motivation to sort out my lemon grammar...