Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sat, 30 Jul 2016 23:24:17 +0200 (CEST)
From: Igmar Palsenberg <>
Subject: Re: abort() fails to terminate PID 1 process

> > > does not imply "calling a function whose behavior is well-defined can
> > > legitimately lead to runaway code execution if the pid is 1".
> > 
> > But doesn't "bevavior is well-defined" also imply that that function 
> > behaves as it should ? If it doesn't, doesn't the "well-defined" no longer 
> > apply ? I call it UB in this case.
> "Behavior is well-defined" means the specification tells what it does
> and does not leave it implementation-defined, unspecified, or
> undefined -- neither by explicitly saying so, nor by omission.

Yeah, indeed. Sending signals is pretty well defined I assume.
> > The standard also says a process can't ignore a SIGKILL, but on pid 1, it 
> > has no effect. I pretty much call that UB myself.
> You keep using that word. I do not think it means what you think it
> means.
> If anything what you're arguing is that the Linux kernel has a bug,
> since the behavior of raising SIGKILL is specified and Linux does not
> do what the spec says (for pid 1). That does not mean it's undefined
> but rather that the implementation is behaving contrary to the defined
> behavior.

I wouldn't call it a bug, since it's documented behaviour. I have no idea 
how to call this to be honest, assuming that it even has a formal name.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.