[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z8zHAwpFDECRYVC6@grain>
Date: Sun, 9 Mar 2025 01:38:59 +0300
From: Cyrill Gorcunov <gorcunov@...il.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>,
Anna-Maria Behnsen <anna-maria@...utronix.de>,
Frederic Weisbecker <frederic@...nel.org>,
Benjamin Segall <bsegall@...gle.com>,
Eric Dumazet <edumazet@...gle.com>,
Andrey Vagin <avagin@...nvz.org>,
Pavel Tikhomirov <ptikhomirov@...tuozzo.com>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [patch V3 16/18] posix-timers: Dont iterate /proc/$PID/timers
with sighand:: Siglock held
On Sat, Mar 08, 2025 at 05:48:45PM +0100, Thomas Gleixner wrote:
...
>
> static int show_timer(struct seq_file *m, void *v)
> {
> - struct k_itimer *timer;
> - struct timers_private *tp = m->private;
> - int notify;
> static const char * const nstr[] = {
> + [SIGEV_SIGNAL] = "signal",
> + [SIGEV_NONE] = "none",
> + [SIGEV_THREAD] = "thread",
> };
>
...
> - seq_printf(m, "notify: %s/%s.%d\n",
> - nstr[notify & ~SIGEV_THREAD_ID],
> + seq_printf(m, "notify: %s/%s.%d\n", nstr[notify & ~SIGEV_THREAD_ID],
> (notify & SIGEV_THREAD_ID) ? "tid" : "pid",
> pid_nr_ns(timer->it_pid, tp->ns));
...
Btw this nstr[notify & ~SIGEV_THREAD_ID] has been always fishy since ~SIGEV_THREAD_ID
doesn't give a proper mask over nstr size :-) It just happen to work but if for some
reason ::it_sigev_notify get screwed we will get a surprise. I think later (not in this
series) we better provide an explicit bitwise mask here.
Cyrill
Powered by blists - more mailing lists