[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m1im43qrug.fsf_-_@fess.ebiederm.org>
Date: Fri, 30 Apr 2021 18:23:51 -0500
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Marco Elver <elver@...gle.com>
Cc: Arnd Bergmann <arnd@...db.de>, Florian Weimer <fweimer@...hat.com>,
"David S. Miller" <davem@...emloft.net>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Collingbourne <pcc@...gle.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
Alexander Potapenko <glider@...gle.com>,
sparclinux <sparclinux@...r.kernel.org>,
linux-arch <linux-arch@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux API <linux-api@...r.kernel.org>,
kasan-dev <kasan-dev@...glegroups.com>
Subject: Is perf_sigtrap synchronous?
I am looking at perf_sigtrap and I am confused by the code.
/*
* We'd expect this to only occur if the irq_work is delayed and either
* ctx->task or current has changed in the meantime. This can be the
* case on architectures that do not implement arch_irq_work_raise().
*/
if (WARN_ON_ONCE(event->ctx->task != current))
return;
/*
* perf_pending_event() can race with the task exiting.
*/
if (current->flags & PF_EXITING)
return;
It performs tests that absolutely can never fail if we are talking about
a synchronous exception. The code force_sig family of functions only
make sense to use with and are only safe to use with synchronous
exceptions.
Are the tests in perf_sigtrap necessary or is perf_sigtrap not reporting
a synchronous event?
Eric
Powered by blists - more mailing lists