Thread (25 messages) 25 messages, 3 authors, 2014-12-04

Re: [PATCH 03/10] mm: Convert p[te|md]_numa users to p[te|md]_protnone_numa

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2014-12-02 20:52:18
Also in: linux-mm, lkml

On Tue, 2014-12-02 at 13:01 +0530, Aneesh Kumar K.V wrote:
Benjamin Herrenschmidt [off-list ref] writes:
quoted
On Fri, 2014-11-21 at 13:57 +0000, Mel Gorman wrote:
quoted
void set_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep,
                pte_t pte)
 {
-#ifdef CONFIG_DEBUG_VM
-       WARN_ON(pte_val(*ptep) & _PAGE_PRESENT);
-#endif
+       /*
+        * When handling numa faults, we already have the pte marked
+        * _PAGE_PRESENT, but we can be sure that it is not in hpte.
+        * Hence we can use set_pte_at for them.
+        */
+       VM_WARN_ON((pte_val(*ptep) & (_PAGE_PRESENT | _PAGE_USER)) ==
+               (_PAGE_PRESENT | _PAGE_USER));
+
His is that going to fare with set_pte_at() called for kernel pages ?
Yes, we won't capture those errors now. But is there any other debug
check i could use to capture the wrong usage of set_pte_at ?
Actually the above is fine, for some reason I mis-read the test as
blowing on kernel pages, it doesn't.

We probably do need to make sure however that protnone isn't used for
kernel pages.

Cheers,
Ben.
-aneesh

--
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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help