]> asedeno.scripts.mit.edu Git - linux.git/commit
ia64: mark special ia64 memory areas anonymous
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 1 Aug 2018 16:57:50 +0000 (09:57 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 1 Aug 2018 16:57:50 +0000 (09:57 -0700)
commitebad825cdd4e6b327eaf0dd72439408957049cea
tree1968af65b9f31924d271db19ade63809fed105ec
parent37b71411b75c6a6c918e3102097417fdfed667b8
ia64: mark special ia64 memory areas anonymous

Commit bfd40eaff5ab ("mm: fix vma_is_anonymous() false-positives") made
newly allocated vma's have a dummy vm_ops field so that they wouldn't be
mistaken for anonymous mappings, and if you wanted an anonymous vma you
had to explicitly say so by calling "vma_set_anonymous()" on it.

However, it missed the two special vmas that ia64 processes have: the
register backing store and the NaT page.  So they wouldn't actually act
like anonymous ranges, and page faults on them caused a SIGBUS rather
than the creation of a new anon page in them.

That obviously will make any ia64 binary very unhappy indeed, and the
boot fails early.

Fixes: bfd40eaff5ab ("mm: fix vma_is_anonymous() false-positives")
Reported-by: Tony Luck <tony.luck@intel.com>
Cc: Kirill Shutemov <kirill.shutemov@linux.intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: John Stultz <john.stultz@linaro.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/ia64/mm/init.c