Greg needs to talk to a lawyer and have them explain the GPL to him. Canonical isn't required to contribute any patches to the kernel. Greg should be thankful for what he gets. As long as Canonical abides by the license then they are fine. If Greg doesn't like that then he's free to use a different license for his code.