pagemap: make useable for non-privilege users
From: | Konstantin Khlebnikov <khlebnikov@yandex-team.ru> | |
To: | linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>, Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> | |
Subject: | [PATCHSET v4 0/5] pagemap: make useable for non-privilege users | |
Date: | Tue, 14 Jul 2015 18:37:34 +0300 | |
Message-ID: | <20150714152516.29844.69929.stgit@buzz> | |
Cc: | "Kirill A. Shutemov" <kirill@shutemov.name>, Mark Williamson <mwilliamson@undo-software.com>, linux-kernel@vger.kernel.org, linux-api@vger.kernel.org | |
Archive‑link: | Article |
This patchset makes pagemap useable again in the safe way (after row hammer bug it was made CAP_SYS_ADMIN-only). This patchset restores access for non-privileged users but hides PFNs from them. Also it adds bit 'map-exlusive' which is set if page is mapped only here: it helps in estimation of working set without exposing pfns and allows to distinguish CoWed and non-CoWed private anonymous pages. Second patch removes page-shift bits and completes migration to the new pagemap format: flags soft-dirty and mmap-exlusive are available only in the new format. Changes since v3: * patches reordered: cleanup now in second patch * update pagemap for hugetlb, add missing 'FILE' bit * fix PM_PFRAME_BITS: its 55 not 54 as was in previous versions --- Konstantin Khlebnikov (5): pagemap: check permissions and capabilities at open time pagemap: switch to the new format and do some cleanup pagemap: rework hugetlb and thp report pagemap: hide physical addresses from non-privileged users pagemap: add mmap-exclusive bit for marking pages mapped only here Documentation/vm/pagemap.txt | 3 fs/proc/task_mmu.c | 267 ++++++++++++++++++------------------------ tools/vm/page-types.c | 35 +++--- 3 files changed, 137 insertions(+), 168 deletions(-) -- Konstantin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/