From: Oleg Nesterov <oleg@redhat.com>
To: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Daniel Lezcano <dlezcano@fr.ibm.com>,
Sukadev Bhattiprolu <sukadev@us.ibm.com>,
Linux Containers <containers@lists.osdl.org>,
roland@redhat.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/4] signals: SEND_SIG_NOINFO should be considered as SI_FROMUSER()
Date: Mon, 5 Oct 2009 20:39:47 +0200 [thread overview]
Message-ID: <20091005183947.GB943@redhat.com> (raw)
In-Reply-To: <20091005175855.GB30442@us.ibm.com>
On 10/05, Sukadev Bhattiprolu wrote:
>
> Oleg Nesterov [oleg@redhat.com] wrote:
> | >From __send_signal()'s pov they mean
> |
> | SEND_SIG_NOINFO from user
>
> Just to complicate further, all 'SEND_SIG_NOINFO' signals are from user,
> but not all 'from user' signals are SEND_SIG_NOINFO.
Yes, SEND_SIG_NOINFO means: sent by kernel on behalf of some process.
>
> | SEND_SIG_PRIV from kernel
>
> SEND_SIG_PRIV also means there is no real info, just that sender is
> privileged.
Well. Unlike SEND_SIG_FORCED, SEND_SIG_NOINFO/SEND_SIG_NOINFO ask
__send_signal() to allocate and queue "struct sigqueue". But
SEND_SIG_PRIV and SEND_SIG_NOINFO both mean the real info, jut
this info is filled by __send_signal().
> | SEND_SIG_FORCED no info
>
> Are 'forced' signals considered 'from kernel' too ?
I think yes.
> | +static inline bool si_fromuser(const struct siginfo *info)
> | +{
> | + return info == SEND_SIG_NOINFO ||
> | + (!is_si_special(info) && SI_FROMUSER(info));
> | +}
> | +
>
> This change makes sense, but can we even drop the SEND_SIG_NOINFO
> altogether and simply check for NULL:
>
> return (!info || (is_si_special(info)) && SI_FROMUSER(info))
IOW, you suggest to use NULL instead of SEND_SIG_NOINFO.
Why?
If we use NULL as a "special" info, then SEND_SIG_FORCED semantics
makes more sense because __send_signal(SEND_SIG_FORCED) does not queue
info.
But I don't think we should use NULL. I think it is better to use the
symbolic names instead of NULL which is in fact the "harcoded constant".
But it would be nice to rename them.
Oleg.
next prev parent reply other threads:[~2009-10-05 18:44 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4AC608BE.9020805@fr.ibm.com>
2009-10-03 17:10 ` pidns : PR_SET_PDEATHSIG + SIGKILL regression Sukadev Bhattiprolu
2009-10-04 2:18 ` [PATCH 0/4] Was: " Oleg Nesterov
2009-10-04 2:19 ` [PATCH 1/4] signals: SEND_SIG_NOINFO should be considered as SI_FROMUSER() Oleg Nesterov
2009-10-04 2:25 ` Oleg Nesterov
2009-10-05 17:58 ` Sukadev Bhattiprolu
2009-10-05 18:39 ` Oleg Nesterov [this message]
2009-10-06 0:09 ` Sukadev Bhattiprolu
2009-10-06 7:31 ` Roland McGrath
2009-10-06 13:37 ` Oleg Nesterov
2009-10-06 17:57 ` Roland McGrath
2009-10-07 11:30 ` Oleg Nesterov
2009-10-08 1:57 ` Roland McGrath
2009-10-04 2:19 ` [PATCH 2/4] signals: send_signal: use si_fromuser() to detect from_ancestor_ns Oleg Nesterov
2009-10-05 18:12 ` Sukadev Bhattiprolu
2009-10-05 18:25 ` Oleg Nesterov
2009-10-05 19:37 ` Sukadev Bhattiprolu
2009-10-05 19:44 ` Oleg Nesterov
2009-10-05 19:55 ` Oleg Nesterov
2009-10-06 0:06 ` Sukadev Bhattiprolu
2009-10-06 1:09 ` Oleg Nesterov
2009-10-06 2:34 ` Sukadev Bhattiprolu
2009-10-06 13:18 ` Oleg Nesterov
2009-10-06 18:01 ` Roland McGrath
2009-10-06 0:16 ` Sukadev Bhattiprolu
2009-10-04 2:20 ` [PATCH 3/4] signals: cosmetic, collect_signal: use SI_USER Oleg Nesterov
2009-10-05 18:03 ` Sukadev Bhattiprolu
2009-10-04 2:20 ` [PATCH 4/4] signals: kill force_sig_specific() Oleg Nesterov
2009-10-05 18:04 ` Sukadev Bhattiprolu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091005183947.GB943@redhat.com \
--to=oleg@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=containers@lists.osdl.org \
--cc=dlezcano@fr.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=roland@redhat.com \
--cc=sukadev@linux.vnet.ibm.com \
--cc=sukadev@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).