public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: liubo <liubo2009@cn.fujitsu.com>
To: Garrett Cooper <yanegomi@gmail.com>
Cc: Mike Frysinger <vapier@gentoo.org>, ltp-list <ltp-list@lists.sf.net>
Subject: Re: [LTP] [PATCH] syscalls: fix some failure on arch X86_64
Date: Wed, 09 Dec 2009 15:29:14 +0800	[thread overview]
Message-ID: <4B1F51CA.6030906@cn.fujitsu.com> (raw)
In-Reply-To: <364299f40911301600t1993f27do55101ea022d15ca0@mail.gmail.com>

Hi,
> Yes. I [mostly] fixed the rt_sigaction01 test a few hours ago. A
> summary of the issues with the old version:
>
> 1. The test as it was written before verified functionality by
> ensuring that coredumps and crashes didn't occur. The new version
> either catches the appropriate rt signal and increments, or catches
> SIGSEGV and continues. Eventually once all of the issues are worked
> out with SIGRTMIN, the known issue TINFO printout needs to be removed
> from include/ltp_signal.h
> 2. If the sa_flags field of a struct sigaction `object' specifies
> SA_SIGINFO, you should and must use sa_sigaction instead of
> sa_handler, as stated in the manpage, because sa_handler and
> sa_sigaction are a union structure on many architectures, or not
> present when rt_* not implemented.
> 3. An autoconf test was added to look for sa_sigaction in struct
> sigaction, as it isn't present on all architectures.
>
> So, while this does fix rt_sigaction01, by and large, the following
> issues still exist with the rt_sig* syscalls:
> 1. SIGRTMIN always SIGSEGV's because signal_fault is being called in
> arch/x86/kernel/signal.c . I need to put some printk's in the code to
> understand why -EFAULT is being thrown, and thus why signal_fault is
> being tossed.
> 2. rt_sigprocmask01 and rt_sigsuspend01 still segfault for the same
> reason, as noted in 1.
>
>     Someone in the kernel.org team should generate some kind of
> documentation to clarify several points (including architectural
> quirks) with the rt_sig* syscalls. This trial and error problem
> solving isn't very helpful and there are a fair number of gotchas
> involved with implementing a functional set of sigaction-like calls
> using rt_sig*.
>
> Thanks,
> -Garrett
>
>
>   
I've made a patch to fix this rt_sig problem, but I encounted a trouble.

I figured out that syscall __NR_rt_sigaction doesn't use struct
sigaction, and glibc defines a
struct called kernel_sigaction to fit __NR_rt_sigaction so that glibc
function can pass it.
And the struct sigaction may change in the future.

My trouble is if we define a struct to fit this syscall just as what
glibc does, after the struct
sigaction change, we'll define another struct as well.

Looking forward to any advice about this trouble...


Thanks,
Liubo 

------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2009-12-09  7:29 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-10  9:38 [LTP] [PATCH] syscalls: fix some failure on arch X86_64 liubo
2009-11-11  1:28 ` liubo
2009-11-11  4:14   ` Garrett Cooper
2009-11-11  4:30     ` Wei Yongjun
2009-11-11  5:22     ` liubo
2009-11-11  4:33 ` Mike Frysinger
2009-11-11  5:03   ` Wei Yongjun
2009-11-16  8:13     ` Subrata Modak
2009-11-16  8:53       ` liubo
2009-11-26 11:11         ` Garrett Cooper
2009-11-27  5:33           ` liubo
2009-11-27  6:49             ` Garrett Cooper
2009-11-27  8:50               ` Garrett Cooper
2009-11-27 10:07                 ` liubo
2009-11-27 22:18                   ` Garrett Cooper
2009-11-29  1:22                     ` Wei Yongjun
2009-12-01  0:00                       ` Garrett Cooper
2009-12-09  7:29                         ` liubo [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-12-09  7:34 liubo
2009-12-09 12:14 ` Subrata Modak
2009-12-18 16:03 ` Subrata Modak
2009-12-22  2:51   ` Garrett Cooper
2009-12-22 13:12     ` liubo
2010-02-22  5:21 liubo
2010-02-22  7:56 ` Garrett Cooper
2010-02-22  9:08   ` liubo
2010-02-22 18:05     ` Garrett Cooper
2010-02-23  0:59       ` liubo
2010-02-25  7:26         ` liubo
2010-02-25 10:00           ` Garrett Cooper
2010-02-26  0:35             ` liubo
2010-02-27  4:12               ` Garrett Cooper
2010-02-22  9:20 liubo
2010-02-22 14:45 ` Rishikesh K Rajak

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=4B1F51CA.6030906@cn.fujitsu.com \
    --to=liubo2009@cn.fujitsu.com \
    --cc=ltp-list@lists.sf.net \
    --cc=vapier@gentoo.org \
    --cc=yanegomi@gmail.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