All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Greg Kroah-Hartman <gregkh@linux-foundation.org>,
	Razvan Ghitulete <rga@amazon.de>,
	Guenter Roeck <linux@roeck-us.net>
Cc: stable@vger.kernel.org
Subject: Re: Build errors in v4.4-stable-queue (i386)
Date: Fri, 19 Jan 2018 11:21:54 +0100	[thread overview]
Message-ID: <1516357314.5087.19.camel@infradead.org> (raw)
In-Reply-To: <1516354459.5087.16.camel@infradead.org>

[-- Attachment #1: Type: text/plain, Size: 1752 bytes --]

On Fri, 2018-01-19 at 10:34 +0100, David Woodhouse wrote:
> On Thu, 2018-01-18 at 19:10 +0100, Greg Kroah-Hartman wrote:
> > 
> > On Thu, Jan 18, 2018 at 08:41:58AM -0800, Guenter Roeck wrote:
> > > 
> > > 
> > > Building i386:defconfig ... failed
> > > --------------
> > > Error log:
> > > arch/x86/entry/entry_32.S: Assembler messages:
> > > arch/x86/entry/entry_32.S:230: Error: too many memory references
> > > for `mov'
> > Ick, no good, 0-day has pointed this out as well.
> > 
> > Razvan and David, any ideas?
> 
> 	CALL_NOSPEC PT_EBX(%esp)
> 
> That turns into a retpoline with
> 
>         mov PT_EBX(%esp), 0(%esp)
> 
> Which is doubly wrong, because not only can't you have two memory
> operands to a 'mov' but %esp has already *moved* by the time we get
> here so we'd be using the wrong source anyway.
> 
> We need to pick a victim register and load PT_EBX(%esp) into it, then
> CALL_NOSPEC %\reg.
> 
> We'll fix this and also the RSP-clobbering in context switch that you
> just sent a "fails to apply" message for.

Try this. Not even build tested. I think we can have %edx here, as it
would be the second argument to the kthread function, and clobbered by
it too.

Signed-off-by-if-it-works: David Woodhouse <dwmw@amazon.co.uk>

--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -227,7 +227,8 @@ ENTRY(ret_from_kernel_thread)
        pushl   $0x0202                         # Reset kernel eflags
        popfl
        movl    PT_EBP(%esp), %eax
-       CALL_NOSPEC PT_EBX(%esp)
+       movl    PT_EBX(%esp), %edx
+       CALL_NOSPEC %edx
        movl    $0, PT_EAX(%esp)
 

[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 5213 bytes --]

  reply	other threads:[~2018-01-19 10:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-18 16:41 Build errors in v4.4-stable-queue (i386) Guenter Roeck
2018-01-18 18:10 ` Greg Kroah-Hartman
2018-01-19  9:34   ` David Woodhouse
2018-01-19 10:21     ` David Woodhouse [this message]
2018-01-19 12:26       ` Greg Kroah-Hartman
2018-01-19 13:08         ` David Woodhouse
2018-01-19 13:16           ` Greg Kroah-Hartman
2018-01-19 18:28           ` Guenter Roeck
2018-01-20  7:30             ` Greg Kroah-Hartman

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=1516357314.5087.19.camel@infradead.org \
    --to=dwmw2@infradead.org \
    --cc=gregkh@linux-foundation.org \
    --cc=linux@roeck-us.net \
    --cc=rga@amazon.de \
    --cc=stable@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.