From: Linus Torvalds Date: Sun, 9 May 2021 20:07:03 +0000 (-0700) Subject: Merge tag 'locking-urgent-2021-05-09' of git://git.kernel.org/pub/scm/linux/kernel... X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=732a27a0891cb5db1a0f9c33a018ea6eca9a4023;p=linux.git Merge tag 'locking-urgent-2021-05-09' of git://git./linux/kernel/git/tip/tip Pull locking fixes from Thomas Gleixner: "A set of locking related fixes and updates: - Two fixes for the futex syscall related to the timeout handling. FUTEX_LOCK_PI does not support the FUTEX_CLOCK_REALTIME bit and because it's not set the time namespace adjustment for clock MONOTONIC is applied wrongly. FUTEX_WAIT cannot support the FUTEX_CLOCK_REALTIME bit because its always a relative timeout. - Cleanups in the futex syscall entry points which became obvious when the two timeout handling bugs were fixed. - Cleanup of queued_write_lock_slowpath() as suggested by Linus - Fixup of the smp_call_function_single_async() prototype" * tag 'locking-urgent-2021-05-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: futex: Make syscall entry points less convoluted futex: Get rid of the val2 conditional dance futex: Do not apply time namespace adjustment on FUTEX_LOCK_PI Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op") locking/qrwlock: Cleanup queued_write_lock_slowpath() smp: Fix smp_call_function_single_async prototype --- 732a27a0891cb5db1a0f9c33a018ea6eca9a4023 diff --cc include/linux/smp.h index 669e35c03be28,f0d3ef6542070..510519e8a1eb7 --- a/include/linux/smp.h +++ b/include/linux/smp.h @@@ -53,16 -53,8 +53,16 @@@ int smp_call_function_single(int cpuid void on_each_cpu_cond_mask(smp_cond_func_t cond_func, smp_call_func_t func, void *info, bool wait, const struct cpumask *mask); - int smp_call_function_single_async(int cpu, call_single_data_t *csd); + int smp_call_function_single_async(int cpu, struct __call_single_data *csd); +/* + * Cpus stopping functions in panic. All have default weak definitions. + * Architecture-dependent code may override them. + */ +void panic_smp_self_stop(void); +void nmi_panic_self_stop(struct pt_regs *regs); +void crash_smp_send_stop(void); + /* * Call a function on all processors */