exit_addr = swap_ksyms("do_exit");
sys_exit_group_addr = swap_ksyms("sys_exit_group");
do_group_exit_addr = swap_ksyms("do_group_exit");
+ sys_exit_addr = swap_ksyms("sys_exit");
if ((void *)sched_addr == NULL ||
(void *)fork_addr == NULL ||
(void *)exit_addr == NULL ||
(void *)sys_exit_group_addr == NULL ||
- (void *)do_group_exit_addr == NULL) {
+ (void *)do_group_exit_addr == NULL ||
+ (void *)sys_exit_addr == NULL) {
return -ESRCH;
}
} else if ((unsigned long)rp->kp.addr == sys_exit_group_addr) {
rp->kp.pre_handler = NULL;
rp->maxactive = 0;
+ } else if ((unsigned long)rp->kp.addr == sys_exit_addr) {
+ rp->kp.pre_handler = NULL;
+ rp->maxactive = 0;
} else if (rp->maxactive <= 0) {
#if 1//def CONFIG_PREEMPT
rp->maxactive = max (COMMON_RP_NR, 2 * NR_CPUS);
unsigned long exit_addr;
unsigned long sys_exit_group_addr;
unsigned long do_group_exit_addr;
+unsigned long sys_exit_addr;
#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 29)
/* kernel define 'pgd_offset_k' redefinition */
extern unsigned long exit_addr;
extern unsigned long sys_exit_group_addr;
extern unsigned long do_group_exit_addr;
+extern unsigned long sys_exit_addr;
DECLARE_MOD_DEP_WRAPPER (__flush_anon_page, \
void, struct vm_area_struct *vma, \