From: Andy Lutomirski <luto@kernel.org>
To: x86@kernel.org
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Andrew Morton <akpm@linux-foundation.org>,
Andy Lutomirski <luto@kernel.org>
Subject: [PATCH 0/6] mm, x86/vdso: Special IO mapping improvements
Date: Thu, 10 Dec 2015 19:21:41 -0800 [thread overview]
Message-ID: <cover.1449803537.git.luto@kernel.org> (raw)
This applies on top of the earlier vdso pvclock series I sent out.
Once that lands in -tip, this will apply to -tip.
This series cleans up the hack that is our vvar mapping. We currently
initialize the vvar mapping as a special mapping vma backed by nothing
whatsoever and then we abuse remap_pfn_range to populate it.
This cheats the mm core, probably breaks under various evil madvise
workloads, and prevents handling faults in more interesting ways.
To clean it up, this series:
- Adds a special mapping .fault operation
- Adds a vm_insert_pfn_prot helper
- Uses the new .fault infrastructure in x86's vdso and vvar mappings
- Hardens the HPET mapping, mitigating an HW attack surface that bothers me
I'd appreciate some review from the mm folks. Also, akpm, if you're
okay with this whole series going in through -tip, that would be
great -- it will avoid splitting it across two releases.
Andy Lutomirski (6):
mm: Add a vm_special_mapping .fault method
mm: Add vm_insert_pfn_prot
x86/vdso: Track each mm's loaded vdso image as well as its base
x86,vdso: Use .fault for the vdso text mapping
x86,vdso: Use .fault instead of remap_pfn_range for the vvar mapping
x86/vdso: Disallow vvar access to vclock IO for never-used vclocks
arch/x86/entry/vdso/vdso2c.h | 7 --
arch/x86/entry/vdso/vma.c | 124 ++++++++++++++++++++------------
arch/x86/entry/vsyscall/vsyscall_gtod.c | 9 ++-
arch/x86/include/asm/clocksource.h | 9 +--
arch/x86/include/asm/mmu.h | 3 +-
arch/x86/include/asm/vdso.h | 3 -
arch/x86/include/asm/vgtod.h | 6 ++
include/linux/mm.h | 2 +
include/linux/mm_types.h | 19 ++++-
mm/memory.c | 25 ++++++-
mm/mmap.c | 13 ++--
11 files changed, 150 insertions(+), 70 deletions(-)
--
2.5.0
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2015-12-11 3:21 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-11 3:21 Andy Lutomirski [this message]
2015-12-11 3:21 ` [PATCH 1/6] mm: Add a vm_special_mapping .fault method Andy Lutomirski
2015-12-11 22:28 ` Andrew Morton
2015-12-14 9:17 ` Ingo Molnar
2015-12-11 3:21 ` [PATCH 2/6] mm: Add vm_insert_pfn_prot Andy Lutomirski
2015-12-11 22:33 ` Andrew Morton
2015-12-11 22:44 ` Andy Lutomirski
2015-12-11 3:21 ` [PATCH 3/6] x86/vdso: Track each mm's loaded vdso image as well as its base Andy Lutomirski
2015-12-11 3:21 ` [PATCH 4/6] x86,vdso: Use .fault for the vdso text mapping Andy Lutomirski
2015-12-11 3:21 ` [PATCH 5/6] x86,vdso: Use .fault instead of remap_pfn_range for the vvar mapping Andy Lutomirski
2015-12-11 3:21 ` [PATCH 6/6] x86/vdso: Disallow vvar access to vclock IO for never-used vclocks Andy Lutomirski
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=cover.1449803537.git.luto@kernel.org \
--to=luto@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=x86@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).