]> git.baikalelectronics.ru Git - kernel.git/commitdiff
Merge tag 'locking-urgent-2021-05-09' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 9 May 2021 20:07:03 +0000 (13:07 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 9 May 2021 20:07:03 +0000 (13:07 -0700)
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 6a2ffac5de31 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op")
  locking/qrwlock: Cleanup queued_write_lock_slowpath()
  smp: Fix smp_call_function_single_async prototype

1  2 
include/linux/smp.h
kernel/up.c

index 669e35c03be283808a93b19c6a1b9bdcb9f636d6,f0d3ef65420709cea29a5c547467b72d0ce5750e..510519e8a1eb724d08d3685fba33977e56819e68
@@@ -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
   */
diff --cc kernel/up.c
Simple merge