Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1487781

Re: [PATCH 3/9] x86/entry/32: fix the end of the stack for newly forked tasks

From Josh Poimboeuf <jpoimboe@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH 3/9] x86/entry/32: fix the end of the stack for newly forked tasks
Date 2016-09-21 05:40 +0200
Message-ID <sjGy6-3Gi-3@gated-at.bofh.it> (permalink)
References <sjzwB-7F4-3@gated-at.bofh.it> <sjzwC-7F4-39@gated-at.bofh.it> <sjEmC-2hJ-9@gated-at.bofh.it> <sjGop-3D2-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, Sep 20, 2016 at 10:25:16PM -0500, Josh Poimboeuf wrote:
> On Tue, Sep 20, 2016 at 09:10:55PM -0400, Brian Gerst wrote:
> > Dropping asmlinkage from schedule_tail() would be a better option if possible.
> 
> My understanding is that it's still needed for ia64.  AFAICT, ia64
> relies on schedule_tail() having the syscall_linkage function attribute.
> From the gcc manual:
> 
>   This attribute is used to modify the IA64 calling convention by
>   marking all input registers as live at all function exits. This makes
>   it possible to restart a system call after an interrupt without having
>   to save/restore the input registers. This also prevents kernel data
>   from leaking into application code. 
> 
> And the ia64 entry code has some similar language:
> 
> 		/*
> 		 * Invoke schedule_tail(task) while preserving in0-in7, which may be needed
> 		 * in case a system call gets restarted.
> 		 */
> 	GLOBAL_ENTRY(ia64_invoke_schedule_tail)
> 		...

(But I should note that I'm a complete ia64 neophyte, so I could be
misreading that...)

-- 
Josh

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/9] x86/entry/head: standardize the end of the stack Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-20 22:10 +0200
  [PATCH 2/9] x86/entry/32: rename 'error_code' to 'common_exception' Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-20 22:10 +0200
  [PATCH 6/9] x86/asm/head: use a common function for starting CPUs Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-20 22:10 +0200
  [PATCH 3/9] x86/entry/32: fix the end of the stack for newly forked tasks Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-20 22:10 +0200
    Re: [PATCH 3/9] x86/entry/32: fix the end of the stack for newly  forked tasks Brian Gerst <brgerst@gmail.com> - 2016-09-21 03:20 +0200
      Re: [PATCH 3/9] x86/entry/32: fix the end of the stack for newly  forked tasks Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-21 05:30 +0200
        Re: [PATCH 3/9] x86/entry/32: fix the end of the stack for newly  forked tasks Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-21 05:40 +0200
        Re: [PATCH 3/9] x86/entry/32: fix the end of the stack for newly  forked tasks Andy Lutomirski <luto@amacapital.net> - 2016-09-21 08:50 +0200
          Re: [PATCH 3/9] x86/entry/32: fix the end of the stack for newly  forked tasks Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-21 13:40 +0200
  [PATCH 9/9] x86: move _stext marker to before head code Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-20 22:10 +0200
  [PATCH 7/9] x86/head: put real return address on idle task stack Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-20 22:10 +0200
  [PATCH 4/9] x86/head/32: fix the end of the stack for idle tasks Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-20 22:10 +0200
  [PATCH 5/9] x86/smp: fix initial idle stack location on 32-bit Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-20 22:10 +0200
  [PATCH 1/9] x86/entry/head/32: use local labels Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-20 22:10 +0200
    Re: [PATCH 1/9] x86/entry/head/32: use local labels Andy Lutomirski <luto@amacapital.net> - 2016-09-21 03:00 +0200
      Re: [PATCH 1/9] x86/entry/head/32: use local labels Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-21 05:00 +0200
  [PATCH 8/9] x86/head: fix the end of the stack for idle tasks Josh Poimboeuf <jpoimboe@redhat.com> - 2016-09-20 22:10 +0200

csiph-web