Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\signal.c Create Date:2022-07-28 07:30:49
Last Modify:2022-05-22 06:23:02 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:handle_signal

Proto:static void handle_signal(struct ksignal *ksig, struct pt_regs *regs)

Type:void

Parameter:

TypeParameterName
struct ksignal *ksig
struct pt_regs *regs
714  fpu = fpu
716  If v8086_mode(regs) Then save_v86_state((structkernel_vm86_regs * )regs, urn due to signal )
720  If Only the low 32 bits of orig_ax are meaningful, so we return int.* This importantly ignores the high bits on 64-bit, so comparisons* sign-extend the low 32 bits. >= 0 Then
723  Case syscall_get_error(current process, regs) == -start by calling sys_restart_syscall
725  ax = -EINTR
726  Break
729  If Not (sa_flags & SA_RESTART) Then
730  ax = -EINTR
731  Break
735  ax = orig_ax
736  ip -= 2
737  Break
746  stepping = test_thread_flag(able singlestep on user return)
747  If stepping Then user_disable_single_step(current process)
750  failed = setup_rt_frame(ksig, regs) < 0
751  If Not failed Then
762  flags &= ~( X86_EFLAGS_DF | X86_EFLAGS_RF | X86_EFLAGS_TF)
766  fpu__clear(fpu)
768  signal_setup_done(failed, ksig, stepping)
Caller
NameDescribe
do_signalNote that 'init' is a special process: it doesn't get signals it doesn't* want to handle. Thus you cannot kill init even with a SIGKILL even by* mistake.