linux添加新的带参数的系统调用,在用户态下测试时发现传入参数和系统调用获得的参数不同,是什么原因?

实验环境是Ubuntu18.04, linux 5.5.4

新添加的系统调用为:
asmlinkage long testProcess(int id,char __user *buf, size_t count)
其中id是指定的进程pid

在测试时使用 syscall(548, 1139, buffer, count) 进行测试,1139是id参数值,但是在系统调用中获取到的值为1086799704这样的一串数字,而且每次编译运行该测试程序时都输出不一样的一串数字,就是不输出1139,这是为什么?

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问