Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'livepatching-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching

Pull livepatching update from Petr Mladek:

- Use TIF_NOTIFY_SIGNAL infrastructure instead of the fake signal

* tag 'livepatching-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching:
livepatch: Replace the fake signal sending with TIF_NOTIFY_SIGNAL infrastructure

+3 -6
+2 -3
kernel/livepatch/transition.c
··· 9 9 10 10 #include <linux/cpu.h> 11 11 #include <linux/stacktrace.h> 12 + #include <linux/tracehook.h> 12 13 #include "core.h" 13 14 #include "patch.h" 14 15 #include "transition.h" ··· 370 369 * Send fake signal to all non-kthread tasks which are 371 370 * still not migrated. 372 371 */ 373 - spin_lock_irq(&task->sighand->siglock); 374 - signal_wake_up(task, 0); 375 - spin_unlock_irq(&task->sighand->siglock); 372 + set_notify_signal(task); 376 373 } 377 374 } 378 375 read_unlock(&tasklist_lock);
+1 -3
kernel/signal.c
··· 43 43 #include <linux/cn_proc.h> 44 44 #include <linux/compiler.h> 45 45 #include <linux/posix-timers.h> 46 - #include <linux/livepatch.h> 47 46 #include <linux/cgroup.h> 48 47 #include <linux/audit.h> 49 48 ··· 180 181 181 182 void recalc_sigpending(void) 182 183 { 183 - if (!recalc_sigpending_tsk(current) && !freezing(current) && 184 - !klp_patch_pending(current)) 184 + if (!recalc_sigpending_tsk(current) && !freezing(current)) 185 185 clear_thread_flag(TIF_SIGPENDING); 186 186 187 187 }