Quaisquer drivers que não façam parte da árvore principal do kernel (o que obviamente inclui drivers proprietários) devem ser reconstruídos para novas versões do kernel, já que as interfaces internas do kernel podem ter mudado. Os drivers são strongmente acoplados ao kernel porque são executados no espaço do kernel e usam interfaces de kernel internas. As aplicações são um jogo de bola diferente e usam a interface syscall, que é a interface do usuário para a interface do kernel, e essa interface é extremamente estável.
Greg Kroah-Hartman postou um ótimo artigo sobre este assunto aqui .