linux-man.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Kerrisk <mtk.manpages-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
To: Andi Kleen <andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org>
Cc: linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] [1/4] Document hwpoison signal extensions
Date: Tue, 15 Jun 2010 07:25:36 +0200	[thread overview]
Message-ID: <AANLkTikvazub4Ni-3aL4CFhimfVoTYz4xI1FskFUMSGd@mail.gmail.com> (raw)
In-Reply-To: <20100614082054.GD17092-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>

Hi Andi,

On Mon, Jun 14, 2010 at 10:20 AM, Andi Kleen <andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org> wrote:
> On Mon, Jun 14, 2010 at 07:10:06AM +0200, Michael Kerrisk wrote:
>> >> * It's incomplete. If you compare against the corresponding
>> >> information in sigaction(2) [better pull the latest page from git for
>> >> this comparison], there is more information about which fields are set
>> >> by the various signals. Also, various siginfo_t fields (si_signo) are
>> >> missing from your table.
>> >
>> > Ok it could be listed.
>>
>> This was an example. I didn't check for all incomplete pieces.
>
> What else should be missing?

I'm not sure. si_signo was one that immediately jumped out at me. I
didn't exhaustively check. Another quick scan doesn't show anything
else obviously missing.

> I generated the table by looking at the trap handlers.
>
>> >> Likewise, it suggests that there is useful info in si_trapno, but
>> >> usually there is not. The entry for SIGKILL also seems strange.
>> >
>> > There is useful information in trapno for the signals where
>> > I listed it.
>>
>> So, there may be a problem here. sigaction.2 currently states
>>
>>                int      si_trapno;   /* Trap number that caused
>>                                         hardware-generated signal
>>                                         (unused on most architectures) */
>>
>> Is the last line true? Checking this, my reading of the source is that
>
> It's not true.
>
> I think it's also needed in some cases to figure out what exactly
> happened, although in most cases code gives this information.
>
>> si_trapno is only used on SPARC/MIPS/Alpha. (These are the
>> architectures that define __ARCH_SI_TRAPNO) Is that wrong? In
>> particular, x86 doesn't generally seem to set si_trapno, right?
>
> arch/x86/kernel/signal.c:162:             put_user_ex(current->thread.trap_no, &sc->trapno);

Okay -- so at this point I plead ignorance/blindness. These are the
things that confuse me (and I admit not being able to follow all the
kernel code convolutions here):

1. It's not clear to me how the information in sc->trapno then gets
into siginfo_t.si_trapno. The line you quote above appears to me to
result in a change in the ucontext structure given as the third
argument of the handler (but that's partly a guess).

2. In kernel/signal.c, we have:

#ifdef __ARCH_SI_TRAPNO
                err |= __put_user(from->si_trapno, &to->si_trapno);
#endif

But __ARCH_SI_TRAPNO appears not to be set on x86. In fact, only
SPARC, MIPS, and Alpha seem to set it.

3. In the siginfo_t structure that glibc provides to userspace, there
is the following:

#ifdef __ARCH_SI_TRAPNO
#define si_trapno       _sifields._sigfault._trapno
#endif

And on x86, this means that si_trapno is not in the structure.

What have I missed?

>> > Why is SIGKILL strange?
>>
>> I suspect that this should be a more general statement about signals
>> sent with kill(2), right? There's nothing special about SIGKILL in
>> this respect, AFAIK. By the way, the sigaction.2 page, has a statement
>> that covers this.
>
> It was more a comparison to non KILL signals, but ok
> you're right RT signals would need to be listed too.

In principle, I'd accept a patch like you suggest for sigaction.2 --
probably by the time we finish this discussion, I'll be able to write
it myself ;-).

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Author of "The Linux Programming Interface" http://blog.man7.org/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2010-06-15  5:25 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-20 15:29 [PATCH] [0/4] NUMA & hwpoison man page updates Andi Kleen
     [not found] ` <20100320429.026463287-Vw/NltI1exuRpAAqCnN02g@public.gmane.org>
2010-03-20 15:29   ` [PATCH] [1/4] Document hwpoison signal extensions Andi Kleen
     [not found]     ` <20100320152928.0FA17B19E8-Oisruko67ZwogZNkvFMw5WD2FQJk+8+b@public.gmane.org>
2010-06-11  5:45       ` Michael Kerrisk
2010-06-11  8:06       ` Michael Kerrisk
     [not found]         ` <AANLkTimT70TyR_mr3B44DpseY6KobM1441KAO1IhvkCY-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-11  8:31           ` Andi Kleen
     [not found]             ` <20100611083134.GF6864-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-11 14:46               ` Michael Kerrisk
     [not found]                 ` <AANLkTikG5Axa39aSgHkCRzmk56fGBIE6rqkXzko3iuOa-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-13 10:33                   ` Andi Kleen
     [not found]                     ` <20100613103343.GE31464-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-14  5:10                       ` Michael Kerrisk
     [not found]                         ` <AANLkTilzdFecfwtgrMjEX2bT_ruPa6oegFeVUgSXBvM0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14  8:20                           ` Andi Kleen
     [not found]                             ` <20100614082054.GD17092-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-15  5:25                               ` Michael Kerrisk [this message]
     [not found]                                 ` <AANLkTikvazub4Ni-3aL4CFhimfVoTYz4xI1FskFUMSGd-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-15 11:05                                   ` Andi Kleen
     [not found]                                     ` <20100615110552.GG6727-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-16  7:36                                       ` Michael Kerrisk
2010-03-20 15:29   ` [PATCH] [2/4] Add a migrate_pages(2) page Andi Kleen
     [not found]     ` <20100320152929.12751B19E8-Oisruko67ZwogZNkvFMw5WD2FQJk+8+b@public.gmane.org>
2010-06-11 15:38       ` Michael Kerrisk
     [not found]         ` <AANLkTiltMCXRd9jKI5Rd9b6Kt-t_zIHuOtkq0-IMGVyS-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-12 15:31           ` Michael Kerrisk
2010-06-13 10:23           ` Andi Kleen
     [not found]             ` <20100613102345.GD31464-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-14  4:08               ` Michael Kerrisk
2010-03-20 15:29   ` [PATCH] [3/4] Clarify includes/libraries in move_pages page Andi Kleen
     [not found]     ` <20100320152930.15367B19E8-Oisruko67ZwogZNkvFMw5WD2FQJk+8+b@public.gmane.org>
2010-06-11  8:31       ` Michael Kerrisk
2010-03-20 15:29   ` [PATCH] [4/4] Document the hwpoison prctls in 2.6.32 Andi Kleen
     [not found]     ` <20100320152931.17E2DB19E8-Oisruko67ZwogZNkvFMw5WD2FQJk+8+b@public.gmane.org>
2010-06-12 14:50       ` Michael Kerrisk
     [not found]         ` <AANLkTiloYpJOYq8_r2O9pT2Zj336Zw2mca7XRWlqcy00-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-13 10:19           ` Andi Kleen
     [not found]             ` <20100613101919.GC31464-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-14  4:22               ` Michael Kerrisk

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=AANLkTikvazub4Ni-3aL4CFhimfVoTYz4xI1FskFUMSGd@mail.gmail.com \
    --to=mtk.manpages-gm/ye1e23mwn+bqq9rbeug@public.gmane.org \
    --cc=andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org \
    --cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /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).