[00/20] posix-timers: Fixes and cleanups

Message ID 20230425181827.219128101@linutronix.de
Headers
Series posix-timers: Fixes and cleanups |

Message

Thomas Gleixner April 25, 2023, 6:48 p.m. UTC
  Hi!

A recent syzcaller/KCSAN report about a data race and an actually broken
loop termination due to that race made me look deeper into the posix timer
code.

Aside of the loop termination issue this unearthed another issue in the
exit() path where timer deletion might livelock on RT enabled kernels.

While going through the code with a fine comb, I stumbled over another
place which needs READ/WRITE_ONCE() annotations, tons of outdated and/or
uncomprehensible comments and a bunch of silly code.

The series has therefore a larger set of cleanups on top of the two fixes.

It is based on

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core

and also availble from git:

   git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git timers/posix

Thanks,

	tglx
---
 include/linux/sched/signal.h |    2 
 kernel/time/posix-timers.c   |  523 ++++++++++++++++++++++++++-----------------
 2 files changed, 321 insertions(+), 204 deletions(-)
  

Comments

Frederic Weisbecker June 5, 2023, 2:32 p.m. UTC | #1
Le Tue, Apr 25, 2023 at 08:48:55PM +0200, Thomas Gleixner a écrit :
> Hi!
> 
> A recent syzcaller/KCSAN report about a data race and an actually broken
> loop termination due to that race made me look deeper into the posix timer
> code.
> 
> Aside of the loop termination issue this unearthed another issue in the
> exit() path where timer deletion might livelock on RT enabled kernels.
> 
> While going through the code with a fine comb, I stumbled over another
> place which needs READ/WRITE_ONCE() annotations, tons of outdated and/or
> uncomprehensible comments and a bunch of silly code.
> 
> The series has therefore a larger set of cleanups on top of the two fixes.
> 
> It is based on
> 
>    git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
> 
> and also availble from git:
> 
>    git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git timers/posix
> 
> Thanks,
> 
> 	tglx

Thanks for this extremely useful series!