Esta questão tem muitas suposições.
Aqui estão algumas razões.
A interface do kernel é não estável, portanto, um módulo para uma versão pode não ser compilado para uma versão diferente.
O kernel não pode expor um recurso necessário.
O kernel pode expor um recurso necessário, mas não de uma maneira aceitável, por exemplo, exigindo que o módulo tenha uma licença específica.
As pessoas que escreveram o código acharam mais rápido escrever o código dessa maneira.
Quanto às suas opções, se você precisar de um kernel mais novo.
- encontre alguém que já tenha portado o código
- portar você mesmo
- pague alguém para transportá-lo (pode não precisar de dinheiro, cerveja, bajulação e curiosidade podem funcionar).