Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp1706134ybg; Sun, 27 Oct 2019 03:18:41 -0700 (PDT) X-Google-Smtp-Source: APXvYqyEJjsbtaAGgXavQw5Mgph5oPx1IFZ0Zc+rRvdkKhYRaz5XozUliiMMmqmxOw0n5MSXUsAL X-Received: by 2002:a17:906:c444:: with SMTP id ck4mr8782729ejb.110.1572171521074; Sun, 27 Oct 2019 03:18:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572171521; cv=none; d=google.com; s=arc-20160816; b=vJMScwS+sJI7rFkrPzVU5TeIp6mEkNCSNmx7DrDQ6PaB9otfz+LJmWD/SF0yGgdADb G+V6vzQo5pworGWUiW7I53GmCpgwEZYHB03VgumTyvyw29MJyJLdUoY0pNR8XU1sCntm ByEzlXEJLXdWvXB95FYNoT1yksHCTZIj+TI6PjzOivh+Myv3PdUJdsu3rmE8KwmL1N06 r+z2WQArVMt/HfO1IDesS0i6A3inSaZGCOAj+U9kVrEMcu/MMNleKP83eLGznIQNCr0N kvtBpeyvE7VHGCzmP5G1j2Lg8ZDPzF1p0KAKX9EBz3jV+WHuNK4TMR0H319ni1NRT11w Msww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=+767jZ5Pa6X+mZw5r7RLZZtMOC4GdVtw81TnlTo5l5Q=; b=Y2X7oDRpsj3mP4a8hp5IuFl8SzJPsyLknapsU8AHF9po0h4J6FbPb0qILbPXk8c6vw JK9gbzB6+X5W/H7hTa5xoZVOmy/Jk5TS7RwkfoKDjr9ycz883+BSQV50EtmXJ1/P+sLR CndgK0ja04sDbp/lhYNSQcrcX3REPUi+q9/wHNynGKGPZsZ4sBpedhub7pfHcpcg51z2 daGZ4zKcG0Lkvqs7kMOXvh7S0OekHX13EKplOp/4gtWLHx1diTb+YHAQkK0xEjAP6p80 NvcG8kdCJfsh2i+JgJhLpoXFR5woSv3JsCneMj05TFRLwBDLdLabawqS3KgjI2EnM8MZ 0tjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FMnlGwZW; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 17si4301361ejx.213.2019.10.27.03.18.17; Sun, 27 Oct 2019 03:18:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FMnlGwZW; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726769AbfJ0KRl (ORCPT + 99 others); Sun, 27 Oct 2019 06:17:41 -0400 Received: from mail.kernel.org ([198.145.29.99]:41432 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726695AbfJ0KRl (ORCPT ); Sun, 27 Oct 2019 06:17:41 -0400 Received: from aquarius.haifa.ibm.com (nesher1.haifa.il.ibm.com [195.110.40.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 55B66205C9; Sun, 27 Oct 2019 10:17:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572171460; bh=1/GtICbB1QJ08IPcfmlm4myAOcU2vLpne1WtR9Iw6ts=; h=From:To:Cc:Subject:Date:From; b=FMnlGwZWVBSvgfAhsWpuI8j3qxhrKgdjEWUTs1k5EeL2bX14jcHRCvErRcZ4gOE2T JKokAHe/xHMocxAfjtJhRmfXAQ4wAAAZY3Y94aR8kXojAUt2RLgCJn8DVf7lNwBOKq EfXLKG6WtLcMz1d40S+JguVm/LO4yAu3xTsJ0raU= From: Mike Rapoport To: linux-kernel@vger.kernel.org Cc: Alexey Dobriyan , Andrew Morton , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Dave Hansen , James Bottomley , Mike Rapoport , Peter Zijlstra , Steven Rostedt , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , linux-api@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, Mike Rapoport Subject: [PATCH RFC] mm: add MAP_EXCLUSIVE to create exclusive user mappings Date: Sun, 27 Oct 2019 12:17:31 +0200 Message-Id: <1572171452-7958-1-git-send-email-rppt@kernel.org> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mike Rapoport Hi, The patch below aims to allow applications to create mappins that have pages visible only to the owning process. Such mappings could be used to store secrets so that these secrets are not visible neither to other processes nor to the kernel. I've only tested the basic functionality, the changes should be verified against THP/migration/compaction. Yet, I'd appreciate early feedback. Mike Rapoport (1): mm: add MAP_EXCLUSIVE to create exclusive user mappings arch/x86/mm/fault.c | 14 ++++++++++ fs/proc/task_mmu.c | 1 + include/linux/mm.h | 9 +++++++ include/linux/page-flags.h | 7 +++++ include/linux/page_excl.h | 49 ++++++++++++++++++++++++++++++++++ include/trace/events/mmflags.h | 9 ++++++- include/uapi/asm-generic/mman-common.h | 1 + kernel/fork.c | 3 ++- mm/Kconfig | 3 +++ mm/gup.c | 8 ++++++ mm/memory.c | 3 +++ mm/mmap.c | 16 +++++++++++ mm/page_alloc.c | 5 ++++ 13 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 include/linux/page_excl.h -- 2.7.4