<aside> 💡 Add System Call

</aside>

linux-5.X.X/kernel/my_syscall.c

#include <linux/kernel.h>
#include <linux/syscalls.h>

SYSCALL_DEFINE0(mycall) {
      printk();

      return 0;
}

linux-5.X.X/kernel/Makefile

obj-y    = ... \\ 
					 my_syscall.o

linux-5.X.X/arch/x86/entry/syscalls/syscall_64.tbl

335    common    mycall          sys_mycall

kernel compile & change

$ make menuconfig

$ sudo su
$ make && make modules_install && make install

example.c

#include <stdio.h>
#include <sys/syscall.h>

int main(void) {
	long int return_value = syscall(335);
	printf("System Call returned: %ld\\n", retrun_value)

	return 0;
}
$ gcc example.c -o result
$ ./result
$ dmesg -w

Untitled

Untitled