What happened

Mixed outcomes. Android introduced a shared kernel and module boundary in response to the difficulty of updating divergent device kernels. The architecture changed where customization could occur. Its practical security benefit still depends on manufacturers delivering repairs through to users’ devices.

  • Contributions pass through a chain of subsystem maintainers before integration into Linux’s mainline repository. How the development process works
  • Android’s account identifies custom device kernels as a source of difficult security backports, delayed upgrades, and costly upstream contribution. Generic Kernel Image project
  • GKI moves hardware-specific support into modules around a common kernel and stable module interface, with requirements applying to relevant Android 12 launches. Generic Kernel Image project

What might explain it

Plausible

Shared integration boundaries may reduce duplicated adaptation work without removing product-specific variation. Generic Kernel Image project How the development process works

Alternative explanation: Benefits may depend on central platform enforcement and vendor resources rather than modularity alone.

Plausible

Permission to fork is valuable only when participants can sustain the integration work it creates. Generic Kernel Image project

Alternative explanation: Some divergence is necessary for unsupported hardware or independent priorities; convergence could sacrifice useful autonomy.

Questions to take into practice

  • Estimate the lifetime cost of carrying a private branch, not just the cost of making the initial modification.
  • Design explicit paths for downstream improvements and repairs to return to the shared core.

What remains uncertain

  • Google’s diagnosis explains the intended benefit of GKI. Measuring its realized effect requires following update delivery across manufacturers, including differences in their resources and implementation. The Linux maintainer hierarchy and Android’s downstream requirements exercise authority at different points in that process.