All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jordi Brínquez" <jordi.brinquez@gmail.com>
To: unlisted-recipients:; (no To-header on input)
Cc: linux-kernel@vger.kernel.org
Subject: Re: Possible bug on signal.h
Date: Fri, 25 Feb 2005 01:04:20 +0100	[thread overview]
Message-ID: <421E6B84.606@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.61.0502240953470.14909@chaos.analogic.com>

I'm trying to modify UML so I'm using kernel headers

but anyway there is a problem on sigaction definition on signal.h

Jordi



linux-os wrote:

> On Thu, 24 Feb 2005, Jordi Brinquez wrote:
>
>> Hi,
>>
>> I think I found a possible bug on file signal.h.
>>
>> The problem comes when you define a struct sigaction on a user program
>> and then you use the function sigaction to remap a signal handler (in
>> my case a page_fault) for my own function, this system call is
>> compiled as __NR_sigaction system call (by default this routine is
>> managed by sys_sigaction routine) and if the architecture defines
>> __ARCH_WANT_SYS_RT_SIGACTION kernel uses the routine sys_rt_sigaction
>> on the file kernel/signal.c that instead of copying the fields from
>> one structure to the other it just uses copy_from_user and
>> copy_to_user with the consequent mess with the fields.
>>
>
> You NEVER use kernel headers for user code.... EVER. If you
> are making something strange, like as you said a page-fault
> handler, then you make an in-kernel driver (module).
>
> FYI, no page-fault handler could ever work in user-mode
> anyway. A page-fault occurs because the user accesses some
> page it doesn't own (probably because it isn't in memory).
> The kernel page-fault handler checks to see if the page was
> promised. If not, it terminates the user-mode task with
> a signal. If so, it finds some free page or makes one
> available and maps it into the user's address-space before
> returning control to the user. Since the user doesn't own
> any free pages, it can't map in any.
>
>
> [SNIPPED...]
>
>
> Cheers,
> Dick Johnson
> Penguin : Linux version 2.6.10 on an i686 machine (5537.79 BogoMips).
>  Notice : All mail here is now cached for review by Dictator Bush.
>                  98.36% of all statistics are fiction.
>

      reply	other threads:[~2005-02-25  0:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-24 14:33 Possible bug on signal.h Jordi Brinquez
2005-02-24 15:01 ` linux-os
2005-02-25  0:04   ` Jordi Brínquez [this message]

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=421E6B84.606@gmail.com \
    --to=jordi.brinquez@gmail.com \
    --cc=linux-kernel@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.