On Thu, Dec 08, 2016 at 10:39:57AM -0800, Andy Lutomirski wrote: > On Thu, Dec 8, 2016 at 8:21 AM, Kirill A. Shutemov > <kirill.shutemov@xxxxxxxxxxxxxxx> wrote: > > We don't need it anymore. 17be0aec74fb ("x86/asm/entry/64: Implement > > better check for canonical addresses") made canonical address check > > generic wrt. address width. > > This code existed in part to remind us that this needs very careful > adjustment when the paging size becomes dynamic. If you want to > remove it, please add test cases to tools/testing/selftests/x86 that > verify: > > a. Either mmap(2^47-4096, ..., MAP_FIXED, ...) fails or that, if it > succeeds and you put a syscall instruction at the very end, that > invoking the syscall instruction there works. The easiest way to do > this may be to have the selftest literally have a page of text that > has 4094 0xcc bytes and a syscall and to map that page or perhaps move > it into place with mremap. That will avoid annoying W^X userspace > stuff from messing up the test. You'll need to handle the signal when > you fall off the end of the world after the syscall. > > b. Ditto for the new highest possible userspace page. > > c. Ditto for one page earlier to make sure that your test actually works. > > d. For each possible maximum address, call raise(SIGUSR1) and, in the > signal handler, change RIP to point to the first noncanonical address > and RCX to match RIP. Return and catch the resulting exception. This > may be easy to integrate into the sigreturn tests, and I can help with > that. Thanks, for hints. I'll come back to you with testcases to verify that they are you wanted to see. -- Kirill A. Shutemov -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html