2023-04-25 18:50:10

by Thomas Gleixner

[permalink] [raw]
Subject: [patch 00/20] posix-timers: Fixes and cleanups

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(-)



2023-06-05 14:49:33

by Frederic Weisbecker

[permalink] [raw]
Subject: Re: [patch 00/20] posix-timers: Fixes and cleanups

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!