我正在尝试将系统调用添加到Linux内核

时间:2020-05-21 01:01:29

标签: linux linux-kernel

我刚刚将系统调用添加到linux内核。它只需要一个int参数并返回一个int。 这是系统调用代码:

asmlinkage int sys_mycall(int num) 
{ printk("This is mycall.");
  if(num%2==0)
  num = 100003;
  else
  num = 3; 
  return num; 
}

这是应该运行系统调用进行测试的代码:

#include<stdio.h>
#include<unistd.h>
int main()
{
  int num;
  num = syscall(335,1);
  printf("%d",num);
}

我的问题是,无论我的论点是什么(例如num = 1或num = 2),系统只会输出100003,永远不会输出3。

新功能: 我改变了3个地方。 enter image description here enter image description here enter image description here

dmesg enter image description here

uname -a enter image description here

0 个答案:

没有答案