Это канонический вопрос. Я хочу понять, почему не работает конкретный системный вызов. Можно ли отобразить трассировку стека ядра системного вызова:
errno
)Пробовал с trace
/trace-bpfcc
из bcc-tools
(Fedora) /bpfcc-tools
(Ubuntu), но трассировка стека бессмысленна:
$ sudo /usr/sbin/trace-bpfcc -K 'r::do_sys_open "%llx", retval'&
$ touch /root # As normal user
15979 15979 touch do_sys_open fffffffffffffffe
kretprobe_trampoline+0x0 [kernel]
do_syscall_64+0x5a [kernel]
entry_SYSCALL_64_after_hwframe+0x44 [kernel]
Но трассировка стека бессмысленна.