标签: linux system-calls
我想知道,在Linux中使用_syscall0到_syscall6来处理不同数量的参数是什么原因。单独使用_syscall6是否存在任何安全/性能问题,并且让调用代码为未使用的参数传递空值?
答案 0 :(得分:1)
需要减少所需寄存器副本的数量并提高性能。
每个参数都需要从用户的ABI移动到内核中的参数传递约定。
此外,一些此类系统调用与地址参数的行为不同。但是在少数拱门上需要这种转换。