X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=arch%2Farm64%2Fkernel%2Fsignal.c;h=03183563feb8c05c9b319e754d6bb92f94a3e31a;hb=a1bd55431114f35158e3c5a46db754fd74c55889;hp=b3e1beccf45886b2df777e3acb563e0609967660;hpb=8cddd07976261b48f8558251650b1d53eeb22384;p=platform%2Fkernel%2Flinux-rpi.git diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c index b3e1bec..0318356 100644 --- a/arch/arm64/kernel/signal.c +++ b/arch/arm64/kernel/signal.c @@ -922,7 +922,7 @@ static void do_signal(struct pt_regs *regs) void do_notify_resume(struct pt_regs *regs, unsigned long thread_flags) { do { - if (thread_flags & _TIF_NEED_RESCHED) { + if (thread_flags & _TIF_NEED_RESCHED_MASK) { /* Unmask Debug and SError for the next task */ local_daif_restore(DAIF_PROCCTX_NOIRQ); @@ -930,6 +930,14 @@ void do_notify_resume(struct pt_regs *regs, unsigned long thread_flags) } else { local_daif_restore(DAIF_PROCCTX); +#ifdef ARCH_RT_DELAYS_SIGNAL_SEND + if (unlikely(current->forced_info.si_signo)) { + struct task_struct *t = current; + force_sig_info(&t->forced_info); + t->forced_info.si_signo = 0; + } +#endif + if (thread_flags & _TIF_UPROBE) uprobe_notify_resume(regs);