From: Tycho Andersen <tycho@docker.com>
To: linux-kernel@vger.kernel.org
Cc: linux-mm@kvack.org, kernel-hardening@lists.openwall.com,
Marco Benatto <marco.antonio.780@gmail.com>,
Juerg Haefliger <juerg.haefliger@canonical.com>,
Tycho Andersen <tycho@docker.com>
Subject: [PATCH v5 00/10] Add support for eXclusive Page Frame Ownership
Date: Wed, 9 Aug 2017 14:07:45 -0600 [thread overview]
Message-ID: <20170809200755.11234-1-tycho@docker.com> (raw)
Hi all,
Here's a v5 of the XPFO set. Changes from v4 are:
* huge pages support actually works now on x86
* arm64 support, which boots on several different arm64 boards
* tests for hugepages support as well via LKDTM (thanks Kees for suggesting how
to make this work)
Patch 2 contains some potentially controversial stuff, exposing the cpa_lock
and lifting some other static functions out; there is probably a better way to
do this, thoughts welcome.
Still to do are:
* get it to work with non-64k pages on ARM
* get rid of the BUG()s, in favor or WARN or similar
* other things people come up with in this review
Please have a look. Thoughts welcome!
Previously: http://www.openwall.com/lists/kernel-hardening/2017/06/07/24
Tycho
Juerg Haefliger (8):
mm, x86: Add support for eXclusive Page Frame Ownership (XPFO)
swiotlb: Map the buffer if it was unmapped by XPFO
arm64: Add __flush_tlb_one()
arm64/mm: Add support for XPFO
arm64/mm: Disable section mappings if XPFO is enabled
arm64/mm: Don't flush the data cache if the page is unmapped by XPFO
arm64/mm: Add support for XPFO to swiotlb
lkdtm: Add test for XPFO
Tycho Andersen (2):
mm: add MAP_HUGETLB support to vm_mmap
mm: add a user_virt_to_phys symbol
Documentation/admin-guide/kernel-parameters.txt | 2 +
arch/arm64/Kconfig | 1 +
arch/arm64/include/asm/cacheflush.h | 11 ++
arch/arm64/include/asm/tlbflush.h | 8 +
arch/arm64/mm/Makefile | 2 +
arch/arm64/mm/dma-mapping.c | 32 ++--
arch/arm64/mm/flush.c | 5 +-
arch/arm64/mm/mmu.c | 14 +-
arch/arm64/mm/xpfo.c | 160 +++++++++++++++++
arch/x86/Kconfig | 1 +
arch/x86/include/asm/pgtable.h | 23 +++
arch/x86/mm/Makefile | 1 +
arch/x86/mm/pageattr.c | 24 +--
arch/x86/mm/xpfo.c | 153 +++++++++++++++++
drivers/misc/Makefile | 1 +
drivers/misc/lkdtm.h | 4 +
drivers/misc/lkdtm_core.c | 4 +
drivers/misc/lkdtm_xpfo.c | 62 +++++++
include/linux/highmem.h | 15 +-
include/linux/mm.h | 2 +
include/linux/xpfo.h | 47 +++++
lib/swiotlb.c | 3 +-
mm/Makefile | 1 +
mm/mmap.c | 19 +--
mm/page_alloc.c | 2 +
mm/page_ext.c | 4 +
mm/util.c | 32 ++++
mm/xpfo.c | 217 ++++++++++++++++++++++++
security/Kconfig | 19 +++
29 files changed, 810 insertions(+), 59 deletions(-)
create mode 100644 arch/arm64/mm/xpfo.c
create mode 100644 arch/x86/mm/xpfo.c
create mode 100644 drivers/misc/lkdtm_xpfo.c
create mode 100644 include/linux/xpfo.h
create mode 100644 mm/xpfo.c
--
2.11.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:[~2017-08-09 20:08 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-09 20:07 Tycho Andersen [this message]
2017-08-09 20:07 ` [PATCH v5 01/10] mm: add MAP_HUGETLB support to vm_mmap Tycho Andersen
2017-08-09 20:07 ` [PATCH v5 02/10] mm, x86: Add support for eXclusive Page Frame Ownership (XPFO) Tycho Andersen
2017-08-14 18:51 ` Laura Abbott
2017-08-14 22:30 ` Laura Abbott
2017-08-15 3:47 ` Tycho Andersen
2017-08-15 3:51 ` Tycho Andersen
2017-08-09 20:07 ` [PATCH v5 03/10] swiotlb: Map the buffer if it was unmapped by XPFO Tycho Andersen
2017-08-10 13:01 ` Konrad Rzeszutek Wilk
2017-08-10 16:22 ` Tycho Andersen
2017-09-20 16:19 ` Dave Hansen
2017-09-20 22:47 ` Tycho Andersen
2017-09-20 23:25 ` Dave Hansen
2017-08-09 20:07 ` [PATCH v5 04/10] arm64: Add __flush_tlb_one() Tycho Andersen
2017-08-12 11:26 ` [kernel-hardening] " Mark Rutland
2017-08-14 16:35 ` Tycho Andersen
2017-08-14 16:50 ` Mark Rutland
2017-08-14 17:01 ` Tycho Andersen
2017-08-23 16:58 ` Tycho Andersen
2017-08-23 17:04 ` Mark Rutland
2017-08-23 17:13 ` Tycho Andersen
2017-08-24 15:45 ` Mark Rutland
2017-08-29 17:24 ` Tycho Andersen
2017-08-30 5:31 ` Juerg Haefliger
2017-08-30 16:47 ` Tycho Andersen
2017-08-31 9:43 ` Juerg Haefliger
2017-08-31 9:47 ` Mark Rutland
2017-08-31 21:21 ` Tycho Andersen
2017-08-09 20:07 ` [PATCH v5 05/10] arm64/mm: Add support for XPFO Tycho Andersen
2017-08-11 18:01 ` [kernel-hardening] " Laura Abbott
2017-08-11 20:19 ` Tycho Andersen
2017-08-09 20:07 ` [PATCH v5 06/10] arm64/mm: Disable section mappings if XPFO is enabled Tycho Andersen
2017-08-11 17:25 ` [kernel-hardening] " Laura Abbott
2017-08-11 21:13 ` Tycho Andersen
2017-08-11 21:52 ` Tycho Andersen
2017-08-12 11:17 ` Mark Rutland
2017-08-14 16:22 ` Tycho Andersen
2017-08-14 18:42 ` Laura Abbott
2017-08-14 20:28 ` Tycho Andersen
2017-08-09 20:07 ` [PATCH v5 07/10] arm64/mm: Don't flush the data cache if the page is unmapped by XPFO Tycho Andersen
2017-08-12 11:57 ` [kernel-hardening] " Mark Rutland
2017-08-14 16:54 ` Mark Rutland
2017-08-14 20:27 ` Tycho Andersen
2017-08-15 9:39 ` Mark Rutland
2017-08-09 20:07 ` [PATCH v5 08/10] arm64/mm: Add support for XPFO to swiotlb Tycho Andersen
2017-08-10 13:11 ` Konrad Rzeszutek Wilk
2017-08-10 16:35 ` Tycho Andersen
2017-08-09 20:07 ` [PATCH v5 09/10] mm: add a user_virt_to_phys symbol Tycho Andersen
2017-08-09 20:07 ` [PATCH v5 10/10] lkdtm: Add test for XPFO Tycho Andersen
2017-08-12 20:24 ` kbuild test robot
2017-08-14 16:21 ` Tycho Andersen
2017-08-12 21:05 ` kbuild test robot
2017-08-14 19:10 ` Kees Cook
2017-08-14 20:29 ` Tycho Andersen
2017-08-11 23:35 ` [kernel-hardening] [PATCH v5 00/10] Add support for eXclusive Page Frame Ownership Laura Abbott
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=20170809200755.11234-1-tycho@docker.com \
--to=tycho@docker.com \
--cc=juerg.haefliger@canonical.com \
--cc=kernel-hardening@lists.openwall.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=marco.antonio.780@gmail.com \
/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).