고수님들 부탁 드려요!! 디바이스 드라이버에서 force_sig()를 사용시 시스템이 죽는 현상 ㅠ.ㅠ

thewarparty의 이미지

유저에서 시그널을 기다림

fd = open(name,O_RDWR|O_NDELAY);
i = signal(SIGUSR2, (void *)test_handler); //////////////////
printf("fd : %d\n", fd);

info.size = getpid();
printf(" pid %d \n", info.size);

ioctl(fd, IOCTLTEST_WRITE , &info.size);
printf( " signal ok %d\n", i);

디바이스 드라이버에서 시그널을 보냄

if (check_number == 1 )
{
force_sig(SIGUSR2, user_struct);
printk(" signal send user process \n");
}
else
{
printk(" signal send not user process \n");
}

return 0;

이렇듯 작성을 했는데 몇번 시그널이 와서 시그널 핸들러를 수행하다가 시스템이 죽습니다...
무엇이 문제일까요?? 부탁 드립니다.