Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Andy Lutomirski
On Mon, Jun 27, 2016 at 10:28 AM, Linus Torvalds wrote: > On Mon, Jun 27, 2016 at 8:54 AM, Andy Lutomirski wrote: >> >> How about: >> >> tsk_stack = (unsigned long)task_stack_page(tsk); >> if (regs->rsp <= tsk_stack + 7*8 && regs->rsp >

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Andy Lutomirski
On Mon, Jun 27, 2016 at 10:28 AM, Linus Torvalds wrote: > On Mon, Jun 27, 2016 at 8:54 AM, Andy Lutomirski wrote: >> >> How about: >> >> tsk_stack = (unsigned long)task_stack_page(tsk); >> if (regs->rsp <= tsk_stack + 7*8 && regs->rsp > tsk_stack - PAGE_SIZE) { > > I'm not at all

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Linus Torvalds
On Mon, Jun 27, 2016 at 8:54 AM, Andy Lutomirski wrote: > > How about: > > tsk_stack = (unsigned long)task_stack_page(tsk); > if (regs->rsp <= tsk_stack + 7*8 && regs->rsp > tsk_stack - PAGE_SIZE) { I'm not at all convinced that regs->rsp will be all that reliable

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Linus Torvalds
On Mon, Jun 27, 2016 at 8:54 AM, Andy Lutomirski wrote: > > How about: > > tsk_stack = (unsigned long)task_stack_page(tsk); > if (regs->rsp <= tsk_stack + 7*8 && regs->rsp > tsk_stack - PAGE_SIZE) { I'm not at all convinced that regs->rsp will be all that reliable under a double-fault

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Brian Gerst
On Mon, Jun 27, 2016 at 1:09 PM, Brian Gerst wrote: > On Mon, Jun 27, 2016 at 12:35 PM, Andy Lutomirski wrote: >> On Mon, Jun 27, 2016 at 9:17 AM, Brian Gerst wrote: >>> On Mon, Jun 27, 2016 at 11:54 AM, Andy Lutomirski

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Brian Gerst
On Mon, Jun 27, 2016 at 1:09 PM, Brian Gerst wrote: > On Mon, Jun 27, 2016 at 12:35 PM, Andy Lutomirski wrote: >> On Mon, Jun 27, 2016 at 9:17 AM, Brian Gerst wrote: >>> On Mon, Jun 27, 2016 at 11:54 AM, Andy Lutomirski >>> wrote: On Mon, Jun 27, 2016 at 8:22 AM, Andy Lutomirski

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Brian Gerst
On Mon, Jun 27, 2016 at 12:35 PM, Andy Lutomirski wrote: > On Mon, Jun 27, 2016 at 9:17 AM, Brian Gerst wrote: >> On Mon, Jun 27, 2016 at 11:54 AM, Andy Lutomirski >> wrote: >>> On Mon, Jun 27, 2016 at 8:22 AM, Andy Lutomirski

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Brian Gerst
On Mon, Jun 27, 2016 at 12:35 PM, Andy Lutomirski wrote: > On Mon, Jun 27, 2016 at 9:17 AM, Brian Gerst wrote: >> On Mon, Jun 27, 2016 at 11:54 AM, Andy Lutomirski >> wrote: >>> On Mon, Jun 27, 2016 at 8:22 AM, Andy Lutomirski >>> wrote: On Mon, Jun 27, 2016 at 8:12 AM, Brian Gerst

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Andy Lutomirski
On Mon, Jun 27, 2016 at 9:17 AM, Brian Gerst wrote: > On Mon, Jun 27, 2016 at 11:54 AM, Andy Lutomirski wrote: >> On Mon, Jun 27, 2016 at 8:22 AM, Andy Lutomirski wrote: >>> On Mon, Jun 27, 2016 at 8:12 AM, Brian Gerst

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Andy Lutomirski
On Mon, Jun 27, 2016 at 9:17 AM, Brian Gerst wrote: > On Mon, Jun 27, 2016 at 11:54 AM, Andy Lutomirski wrote: >> On Mon, Jun 27, 2016 at 8:22 AM, Andy Lutomirski wrote: >>> On Mon, Jun 27, 2016 at 8:12 AM, Brian Gerst wrote: On Mon, Jun 27, 2016 at 11:01 AM, Brian Gerst wrote: > On

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Brian Gerst
On Mon, Jun 27, 2016 at 11:54 AM, Andy Lutomirski wrote: > On Mon, Jun 27, 2016 at 8:22 AM, Andy Lutomirski wrote: >> On Mon, Jun 27, 2016 at 8:12 AM, Brian Gerst wrote: >>> On Mon, Jun 27, 2016 at 11:01 AM, Brian Gerst

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Brian Gerst
On Mon, Jun 27, 2016 at 11:54 AM, Andy Lutomirski wrote: > On Mon, Jun 27, 2016 at 8:22 AM, Andy Lutomirski wrote: >> On Mon, Jun 27, 2016 at 8:12 AM, Brian Gerst wrote: >>> On Mon, Jun 27, 2016 at 11:01 AM, Brian Gerst wrote: On Sun, Jun 26, 2016 at 5:55 PM, Andy Lutomirski wrote: >

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Andy Lutomirski
On Mon, Jun 27, 2016 at 8:22 AM, Andy Lutomirski wrote: > On Mon, Jun 27, 2016 at 8:12 AM, Brian Gerst wrote: >> On Mon, Jun 27, 2016 at 11:01 AM, Brian Gerst wrote: >>> On Sun, Jun 26, 2016 at 5:55 PM, Andy Lutomirski

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Andy Lutomirski
On Mon, Jun 27, 2016 at 8:22 AM, Andy Lutomirski wrote: > On Mon, Jun 27, 2016 at 8:12 AM, Brian Gerst wrote: >> On Mon, Jun 27, 2016 at 11:01 AM, Brian Gerst wrote: >>> On Sun, Jun 26, 2016 at 5:55 PM, Andy Lutomirski wrote: #ifdef CONFIG_X86_64 /* Runs on IST stack */

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Andy Lutomirski
On Mon, Jun 27, 2016 at 8:12 AM, Brian Gerst wrote: > On Mon, Jun 27, 2016 at 11:01 AM, Brian Gerst wrote: >> On Sun, Jun 26, 2016 at 5:55 PM, Andy Lutomirski wrote: >>> This allows x86_64 kernels to enable vmapped stacks. There are a >>>

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Andy Lutomirski
On Mon, Jun 27, 2016 at 8:12 AM, Brian Gerst wrote: > On Mon, Jun 27, 2016 at 11:01 AM, Brian Gerst wrote: >> On Sun, Jun 26, 2016 at 5:55 PM, Andy Lutomirski wrote: >>> This allows x86_64 kernels to enable vmapped stacks. There are a >>> couple of interesting bits. >>> >>> First, x86 lazily

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Brian Gerst
On Mon, Jun 27, 2016 at 11:01 AM, Brian Gerst wrote: > On Sun, Jun 26, 2016 at 5:55 PM, Andy Lutomirski wrote: >> This allows x86_64 kernels to enable vmapped stacks. There are a >> couple of interesting bits. >> >> First, x86 lazily faults in top-level

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Brian Gerst
On Mon, Jun 27, 2016 at 11:01 AM, Brian Gerst wrote: > On Sun, Jun 26, 2016 at 5:55 PM, Andy Lutomirski wrote: >> This allows x86_64 kernels to enable vmapped stacks. There are a >> couple of interesting bits. >> >> First, x86 lazily faults in top-level paging entries for the vmalloc >> area.

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Brian Gerst
On Sun, Jun 26, 2016 at 5:55 PM, Andy Lutomirski wrote: > This allows x86_64 kernels to enable vmapped stacks. There are a > couple of interesting bits. > > First, x86 lazily faults in top-level paging entries for the vmalloc > area. This won't work if we get a page fault while

Re: [PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-27 Thread Brian Gerst
On Sun, Jun 26, 2016 at 5:55 PM, Andy Lutomirski wrote: > This allows x86_64 kernels to enable vmapped stacks. There are a > couple of interesting bits. > > First, x86 lazily faults in top-level paging entries for the vmalloc > area. This won't work if we get a page fault while trying to access

[PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-26 Thread Andy Lutomirski
This allows x86_64 kernels to enable vmapped stacks. There are a couple of interesting bits. First, x86 lazily faults in top-level paging entries for the vmalloc area. This won't work if we get a page fault while trying to access the stack: the CPU will promote it to a double-fault and we'll

[PATCH v4 15/29] x86/mm/64: Enable vmapped stacks

2016-06-26 Thread Andy Lutomirski
This allows x86_64 kernels to enable vmapped stacks. There are a couple of interesting bits. First, x86 lazily faults in top-level paging entries for the vmalloc area. This won't work if we get a page fault while trying to access the stack: the CPU will promote it to a double-fault and we'll