The branch stable/14 has been updated by kib:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=010f09a7b16c2799d23161ba819a67f309318ef6

commit 010f09a7b16c2799d23161ba819a67f309318ef6
Author:     Konstantin Belousov <k...@freebsd.org>
AuthorDate: 2024-07-13 04:07:18 +0000
Commit:     Konstantin Belousov <k...@freebsd.org>
CommitDate: 2024-07-21 08:50:29 +0000

    amd64 pmap_allocpte_nosleep(): stop testing tautological condition
    
    (cherry picked from commit 10a6ae0ddffb1de842a0ba6a6ca29786de6d3bfd)
---
 sys/amd64/amd64/pmap.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 50a52d89db85..0d364dec7c82 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -4704,8 +4704,8 @@ pmap_allocpte_nosleep(pmap_t pmap, vm_pindex_t ptepindex, 
struct rwlock **lockp,
                *pml5 = VM_PAGE_TO_PHYS(m) | PG_U | PG_RW | PG_V | PG_A | PG_M;
 
                if (pmap->pm_pmltopu != NULL && pml5index < NUPML5E) {
-                       if (pmap->pm_ucr3 != PMAP_NO_CR3)
-                               *pml5 |= pg_nx;
+                       MPASS(pmap->pm_ucr3 != PMAP_NO_CR3);
+                       *pml5 |= pg_nx;
 
                        pml5u = &pmap->pm_pmltopu[pml5index];
                        *pml5u = VM_PAGE_TO_PHYS(m) | PG_U | PG_RW | PG_V |
@@ -4725,6 +4725,8 @@ pmap_allocpte_nosleep(pmap_t pmap, vm_pindex_t ptepindex, 
struct rwlock **lockp,
 
                if (!pmap_is_la57(pmap) && pmap->pm_pmltopu != NULL &&
                    pml4index < NUPML4E) {
+                       MPASS(pmap->pm_ucr3 != PMAP_NO_CR3);
+
                        /*
                         * PTI: Make all user-space mappings in the
                         * kernel-mode page table no-execute so that
@@ -4732,8 +4734,7 @@ pmap_allocpte_nosleep(pmap_t pmap, vm_pindex_t ptepindex, 
struct rwlock **lockp,
                         * the kernel-mode page table active on return
                         * to user space.
                         */
-                       if (pmap->pm_ucr3 != PMAP_NO_CR3)
-                               *pml4 |= pg_nx;
+                       *pml4 |= pg_nx;
 
                        pml4u = &pmap->pm_pmltopu[pml4index];
                        *pml4u = VM_PAGE_TO_PHYS(m) | PG_U | PG_RW | PG_V |

Reply via email to