В настоящее время я работаю над проектом, который подключается к различным системным вызовам и записывает вещи в журнал, в зависимости от того, какой из них был вызван. Так, например, когда я изменяю права доступа к файлу, я пишу небольшую запись в файл журнала, который отслеживает старое разрешение и новое разрешение. Тем не менее, у меня возникают проблемы с тем, где я должен смотреть. В приведенном выше примере strace сообщает мне, что команда «chmod» использует системный вызов sys_fchmodat(). Тем не менее, есть также sys_chmod() и sys_fchmod().Redundant Linux Kernel System Calls
Я уверен, что разработчики ядра знают, что они делают, но мне интересно: в чем смысл всех этих (по-видимому) избыточных системных вызовов и существует ли какое-либо правило, по которому они используются для чего? (Т.е. являются «на» системные вызовы или те, с префиксом «F» означает делать что-то конкретное?)