linux-um archives
 help / color / mirror / Atom feed
From: Florian Fainelli <f.fainelli@gmail.com>
To: Thomas Meyer <thomas@m3y3r.de>,
	Richard Weinberger <richard@nod.at>,
	linux-kernel@vger.kernel.org
Cc: Jeff Dike <jdike@addtoit.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
	<x86@kernel.org>,
	"open list:USER-MODE LINUX (UML)"
	<user-mode-linux-devel@lists.sourceforge.net>,
	"open list:USER-MODE LINUX (UML)"
	<user-mode-linux-user@lists.sourceforge.net>
Subject: Re: [PATCH v2] um: Avoid longjmp/setjmp symbol clashes with libpthread.a
Date: Thu, 1 Jun 2017 22:49:03 -0700	[thread overview]
Message-ID: <3672f56d-da81-1114-f06a-ac99d3680661@gmail.com> (raw)
In-Reply-To: <1496352322.9072.1.camel@m3y3r.de>



On 06/01/2017 02:25 PM, Thomas Meyer wrote:
> Am Donnerstag, den 01.06.2017, 22:58 +0200 schrieb Richard Weinberger:
>>
>> Sorry, I thought you are CC'ed.
>> Thomas please speak up. AFAIR UML fails to boot on one of your new
>> Laptops.
> 
> Hi,
> 
> yes, the first userspace process failes here:
> 
> void userspace(struct uml_pt_regs *regs)
> {
>         int err, status, op, pid = userspace_pid[0];
>         /* To prevent races if using_sysemu changes under us.*/
>         int local_using_sysemu;
>         siginfo_t si;
> 
>         /* Handle any immediate reschedules or signals */
>         interrupt_end();
> 
>         while (1) {
> 
>                 /*
>                  * This can legitimately fail if the process loads a
>                  * bogus value into a segment register.  It will
>                  * segfault and PTRACE_GETREGS will read that value
>                  * out of the process.  However, PTRACE_SETREGS will
>                  * fail.  In this case, there is nothing to do but
>                  * just kill the process.
>                  */
>                 if (ptrace(PTRACE_SETREGS, pid, 0, regs->gp))
>                         fatal_sigsegv();
> 
>                 if (put_fp_registers(pid, regs->fp))
> ->                        fatal_sigsegv();
> 
> the put_fp_registers fails with errno 4 if I recall correctly.
> 
> I didn't investigate yet further, why the the xstate ptrace call fails.

Which of the branches is put_fp_registers() taking? The
restore_fpx_registers() or restore_fp_registers()? 4 would be EINTR...
What kernel version is used on your host running the UML binary?

Thanks
-- 
Florian


  reply	other threads:[~2017-06-02  5:49 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-24  0:32 [PATCH v2] um: Avoid longjmp/setjmp symbol clashes with libpthread.a Florian Fainelli
2017-05-24  7:02 ` Richard Weinberger
2017-05-24 16:19   ` Florian Fainelli
2017-06-01 19:38     ` Florian Fainelli
2017-06-01 20:11       ` [uml-devel] " Richard Weinberger
2017-06-01 20:15         ` Florian Fainelli
2017-06-01 20:17           ` [uml-devel] " Richard Weinberger
2017-06-01 20:40             ` Florian Fainelli
2017-06-01 20:44               ` Richard Weinberger
2017-06-01 20:53                 ` Florian Fainelli
2017-06-01 20:58                   ` Richard Weinberger
2017-06-01 21:25                     ` Thomas Meyer
2017-06-02  5:49                       ` Florian Fainelli [this message]
2017-06-02  7:38                         ` Richard Weinberger
2017-06-03 21:25                           ` Thomas Meyer
2017-06-03 21:36                             ` Richard Weinberger
2017-06-02  8:04                         ` Thomas Meyer
2017-06-02  8:30                           ` Richard Weinberger
2017-06-02  9:15                             ` Thomas Meyer
2017-06-02 13:18                             ` Thomas Meyer
2017-06-05 19:32 ` Florian Fainelli
2017-06-05 19:34   ` Richard Weinberger
2017-06-28 22:40     ` Florian Fainelli
2017-06-29  7:25       ` [uml-devel] " Richard Weinberger

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=3672f56d-da81-1114-f06a-ac99d3680661@gmail.com \
    --to=f.fainelli@gmail.com \
    --cc=hpa@zytor.com \
    --cc=jdike@addtoit.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=richard@nod.at \
    --cc=tglx@linutronix.de \
    --cc=thomas@m3y3r.de \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    --cc=user-mode-linux-user@lists.sourceforge.net \
    --cc=x86@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox