Messages in this thread | | | Date | Wed, 1 Dec 2021 09:38:16 +0100 | Subject | Re: [PATCH 2/3] mm: page table check | From | Jiri Slaby <> |
| |
On 23. 11. 21, 22:48, Pasha Tatashin wrote: > Check user page table entries at the time they are added and removed. > > Allows to synchronously catch memory corruption issues related to > double mapping. > > When a pte for an anonymous page is added into page table, we verify > that this pte does not already point to a file backed page, and vice > versa if this is a file backed page that is being added we verify that > this page does not have an anonymous mapping > > We also enforce that read-only sharing for anonymous pages is allowed > (i.e. cow after fork). All other sharing must be for file pages. > > Page table check allows to protect and debug cases where "struct page" > metadata became corrupted for some reason. For example, when refcnt or > mapcount become invalid. > > Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com> ... > --- a/mm/Kconfig.debug > +++ b/mm/Kconfig.debug > @@ -62,6 +62,30 @@ config PAGE_OWNER > > If unsure, say N. > > +config PAGE_TABLE_CHECK > + bool "Check for invalid mappings in user page tables" > + depends on ARCH_SUPPORTS_PAGE_TABLE_CHECK > + select PAGE_EXTENSION > + help > + Check that anonymous page is not being mapped twice with read write > + permissions. Check that anonymous and file pages are not being > + erroneously shared. Since the checking is performed at the time > + entries are added and removed to user page tables, leaking, corruption > + and double mapping problems are detected synchronously. > + > + If unsure say "n". > + > +config PAGE_TABLE_CHECK_ENFORCED > + bool "Enforce the page table checking by defauled"
s/defauled/default/
regards, -- js suse labs
| |