[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.1902041736240.3006@nanos.tec.linutronix.de>
Date: Mon, 4 Feb 2019 17:38:48 +0000 (GMT)
From: Thomas Gleixner <tglx@...utronix.de>
To: Dmitry Vyukov <dvyukov@...gle.com>
cc: Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
LKML <linux-kernel@...r.kernel.org>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
jolsa@...hat.com, Namhyung Kim <namhyung@...nel.org>,
luca abeni <luca.abeni@...tannapisa.it>,
syzkaller <syzkaller@...glegroups.com>,
Oleg Nesterov <oleg@...hat.com>,
"Eric W. Biederman" <ebiederm@...ssion.com>
Subject: Re: perf_event_open+clone = unkillable process
On Mon, 4 Feb 2019, Dmitry Vyukov wrote:
> On Mon, Feb 4, 2019 at 10:27 AM Thomas Gleixner <tglx@...utronix.de> wrote:
> >
> > On Fri, 1 Feb 2019, Dmitry Vyukov wrote:
> >
> > > On Fri, Feb 1, 2019 at 5:48 PM Dmitry Vyukov <dvyukov@...gle.com> wrote:
> > > >
> > > > Hello,
> > > >
> > > > The following program creates an unkillable process that eats CPU.
> > > > /proc/pid/stack is empty, I am not sure what other info I can provide.
> > > >
> > > > Tested is on upstream commit 4aa9fc2a435abe95a1e8d7f8c7b3d6356514b37a.
> > > > Config is attached.
> > >
> > > Looking through other reproducers that create unkillable processes, I
> > > think I found a much simpler reproducer (below). It's single threaded
> > > and just setups SIGBUS handler and does timer_create+timer_settime to
> > > send repeated SIGBUS. The resulting process can't be killed with
> > > SIGKILL.
> > > +Thomas for timers.
> >
> > +Oleg, Eric
> >
> > That's odd. With some tracing I can see that SIGKILL is generated and
> > queued, but its not delivered by some weird reason. I'm traveling in the
> > next days, so I won't be able to do much about it. Will look later this
> > week.
>
> Just a random though looking at the repro: can constant SIGBUS
> delivery starve delivery of all other signals (incl SIGKILL)?
Indeed. SIGBUS is 7, SIGKILL is 9 and next_signal() delivers the lowest
number first....
Thanks,
tglx
Powered by blists - more mailing lists