Линус долго критиковал проверку пространства пользователей на наличие определенных версий ядра, чтобы узнать, доступна ли эта функция - вместо этого рекомендуется проверять нужную функцию (не реализованные системные вызовы возвращают ENOSYS
).
Одной из причин этого является то, что номера версий просто не значат так много, как кажется - ядра распространителей, которые на самом деле работают у большинства пользователей, часто имеют функции, перенесенные из более новых версий ядра. Некоторые из них являются настоящими монстрами Франкенштейна в этом отношении.