lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0710151103591.5204@alien.or.mcafeemobile.com>
Date:	Mon, 15 Oct 2007 11:14:24 -0700 (PDT)
From:	Davide Libenzi <davidel@...ilserver.org>
To:	Michael Kerrisk <mtk.manpages@...glemail.com>
cc:	Michael Kerrisk <mtk-manpages@....net>,
	lkml <linux-kernel@...r.kernel.org>,
	Subrata Modak <subrata@...ux.vnet.ibm.com>,
	geoff@...are.org.uk, Christoph Hellwig <hch@....de>
Subject: Re: Revised signalfd man-page

On Mon, 15 Oct 2007, Michael Kerrisk wrote:

> Hi Davide,
> 
> There were two questions that you overlooked in my earlier draft of the
> signalfd man page.  I've revised one of the questions slightly.  Could you
> look at these please:

I think I already answered those, no? Anyway ...



> .SS execve(2) semantics
> [TO BE COMPLETED]
> .\" FIXME
> .\" Davide, what are the intended semantics after an execve()?
> .\" I would hope that the descriptor remains available, and can
> .\" be used to read any queued signals.  This is analogous with
> .\" traditional behavior, where blocked signals that are pending
> .\" prior to an execve() remain pending after the execve().
> .\"
> .\" Below, was my original question, based on how things
> .\" worked at one point, but perhaps they have changed by now:
> .\"===
> .\" As far as I can work out, after an execve() the file descriptor
> .\" is still available, but reads from it always return 0, even if:
> .\"
> .\" a) there were signals pending before the execve().
> .\"    However, sigpending() shows the signal as pending,
> .\"    and the signal can be accepted using sigwaitinfo().
> .\"
> .\" b) we generate the signal after the exec.
> .\"
> .\" Is this intended behavior (the "orphaned sighand" condition
> .\" described above?)?  Is it a bug?

With the new code Linus already merged, signalfd does not attach to the 
sighand anymore, so the "orphaned sighand" behaviour is no more there.
An exec() will carry the fd over, and you will be able to use the fd in 
the same way you did before the exec(). If sigpending()/sigwaitinfo() will 
show signals available, so it should signalfd.



> .SS Thread semantics
> [TO BE COMPLETED]
> .\" FIXME Davide, a signal can be directed to the process as
> .\" a whole, or to a particular thread.  What are the intended
> .\" semantics for signalfd()?  If a thread calls signalfd(),
> .\" does the resulting file descriptor return just those
> .\" signals directed to [the thread and the process as a whole],
> .\" or will it also receive signals that are targeted at
> .\" other threads in the process?

It'll return the signals that would be normally returned to the thread 
with the standard signal delivery methods. That is, calling thread private 
signals, and calling thread-group shared signals.



- Davide


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ