You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.2 KiB

diff -Naur 0/linux/init/main.c 4/linux/init/main.c
--- 0/linux/init/main.c 2016-08-08 09:40:13.000000000 +0800
+++ 4/linux/init/main.c 2021-07-06 14:16:56.000000000 +0800
@@ -208,3 +208,9 @@
}
_exit(0); /* NOTE! _exit, not exit() */
}
+
+void print_nr(int sid)
+{
+ if (sid > 86)
+ printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid);
+}
diff -Naur 0/linux/kernel/system_call.s 4/linux/kernel/system_call.s
--- 0/linux/kernel/system_call.s 2015-09-03 20:21:09.000000000 +0800
+++ 4/linux/kernel/system_call.s 2021-07-06 14:18:56.000000000 +0800
@@ -91,6 +91,11 @@
mov %dx,%es
movl $0x17,%edx # fs points to local data space
mov %dx,%fs
+
+ pushl %eax #by wyj
+ call print_nr
+ popl %eax
+
call sys_call_table(,%eax,4)
pushl %eax
movl current,%eax
diff -Naur 0/linux/mm/memory.c 4/linux/mm/memory.c
--- 0/linux/mm/memory.c 2015-09-04 15:24:20.000000000 +0800
+++ 4/linux/mm/memory.c 2021-07-06 14:21:45.000000000 +0800
@@ -370,6 +370,9 @@
unsigned long page;
int block,i;
+ if (current->pid > 5)
+ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid);
+
address &= 0xfffff000;
tmp = address - current->start_code;
if (!current->executable || tmp >= current->end_data) {