All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Lutomirski <luto@kernel.org>
To: x86@kernel.org, Borislav Petkov <bp@alien8.de>,
	Kees Cook <keescook@chromium.org>
Cc: linux-kernel@vger.kernel.org, Oleg Nesterov <oleg@redhat.com>,
	Andy Lutomirski <luto@kernel.org>
Subject: [PATCH v3 0/7] mm, x86/vdso: Special IO mapping improvements
Date: Tue, 29 Dec 2015 20:12:17 -0800	[thread overview]
Message-ID: <cover.1451446564.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

Changes from v2:
 - Added patch 1, which is needed in -tip to fix the build
 - Fixed -EBUSY handling in vvar's .fault.

Changes from v1:
 - Lots of changelog clarification requested by akpm
 - Minor tweaks to style and comments in the first two patches

Andy Lutomirski (7):
  x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST=n
  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/pvclock.h          |   2 +-
 arch/x86/include/asm/vdso.h             |   3 -
 arch/x86/include/asm/vgtod.h            |   6 ++
 include/linux/mm.h                      |   2 +
 include/linux/mm_types.h                |  22 +++++-
 mm/memory.c                             |  25 ++++++-
 mm/mmap.c                               |  13 ++--
 12 files changed, 152 insertions(+), 73 deletions(-)

-- 
2.5.0


             reply	other threads:[~2015-12-30  4:12 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-30  4:12 Andy Lutomirski [this message]
2015-12-30  4:12 ` [PATCH v3 1/7] x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST=n Andy Lutomirski
2016-01-05 19:21   ` Borislav Petkov
2016-01-06  9:54   ` [tip:x86/asm] x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST= n tip-bot for Andy Lutomirski
2015-12-30  4:12 ` [PATCH v3 2/7] mm: Add a vm_special_mapping .fault method Andy Lutomirski
2016-01-12 12:02   ` [tip:x86/asm] mm: Add a vm_special_mapping.fault() method tip-bot for Andy Lutomirski
2015-12-30  4:12 ` [PATCH v3 3/7] mm: Add vm_insert_pfn_prot Andy Lutomirski
2016-01-12 12:02   ` [tip:x86/asm] mm: Add vm_insert_pfn_prot() tip-bot for Andy Lutomirski
2015-12-30  4:12 ` [PATCH v3 4/7] x86/vdso: Track each mm's loaded vdso image as well as its base Andy Lutomirski
2016-01-12 12:03   ` [tip:x86/asm] x86/vdso: Track each mm' s loaded vDSO " tip-bot for Andy Lutomirski
2015-12-30  4:12 ` [PATCH v3 5/7] x86,vdso: Use .fault for the vdso text mapping Andy Lutomirski
2016-01-12 12:03   ` [tip:x86/asm] x86/vdso: Use .fault for the vDSO " tip-bot for Andy Lutomirski
2015-12-30  4:12 ` [PATCH v3 6/7] x86,vdso: Use .fault instead of remap_pfn_range for the vvar mapping Andy Lutomirski
2016-01-12 12:04   ` [tip:x86/asm] x86/vdso: Use ->fault() instead of remap_pfn_range( ) " tip-bot for Andy Lutomirski
2015-12-30  4:12 ` [PATCH v3 7/7] x86/vdso: Disallow vvar access to vclock IO for never-used vclocks Andy Lutomirski
2016-01-12 12:04   ` [tip:x86/asm] " tip-bot for Andy Lutomirski
2016-01-05  0:02 ` [PATCH v3 0/7] mm, x86/vdso: Special IO mapping improvements Kees Cook

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.1451446564.git.luto@kernel.org \
    --to=luto@kernel.org \
    --cc=bp@alien8.de \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oleg@redhat.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.