sync with OpenBSD -current

This commit is contained in:
purplerain 2024-06-04 00:57:36 +00:00
parent bef867f8da
commit a289465f63
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
9 changed files with 60 additions and 43 deletions

View file

@ -1,4 +1,4 @@
/* $OpenBSD: dhcp6leased.h,v 1.4 2024/06/03 11:08:31 florian Exp $ */ /* $OpenBSD: dhcp6leased.h,v 1.5 2024/06/03 18:10:04 florian Exp $ */
/* /*
* Copyright (c) 2017, 2021 Florian Obser <florian@openbsd.org> * Copyright (c) 2017, 2021 Florian Obser <florian@openbsd.org>
@ -221,13 +221,6 @@ struct imsg_ifinfo {
char lease[LEASE_SIZE]; char lease[LEASE_SIZE];
}; };
struct imsg_propose_rdns {
uint32_t if_index;
int rdomain;
int rdns_count;
struct in_addr rdns[MAX_RDNS_COUNT];
};
struct imsg_dhcp { struct imsg_dhcp {
uint32_t if_index; uint32_t if_index;
ssize_t len; ssize_t len;

View file

@ -1,4 +1,4 @@
/* $OpenBSD: engine.c,v 1.44 2024/06/02 12:39:26 florian Exp $ */ /* $OpenBSD: engine.c,v 1.45 2024/06/03 17:58:33 deraadt Exp $ */
/* /*
* Copyright (c) 2017, 2021 Florian Obser <florian@openbsd.org> * Copyright (c) 2017, 2021 Florian Obser <florian@openbsd.org>

View file

@ -1,4 +1,4 @@
/* $OpenBSD: frontend.c,v 1.33 2024/01/26 21:14:08 jan Exp $ */ /* $OpenBSD: frontend.c,v 1.34 2024/06/03 17:58:33 deraadt Exp $ */
/* /*
* Copyright (c) 2017, 2021 Florian Obser <florian@openbsd.org> * Copyright (c) 2017, 2021 Florian Obser <florian@openbsd.org>

View file

@ -1,4 +1,4 @@
/* $OpenBSD: log.h,v 1.3 2021/12/13 18:28:39 deraadt Exp $ */ /* $OpenBSD: log.h,v 1.4 2024/06/03 17:58:33 deraadt Exp $ */
/* /*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>

View file

@ -1,4 +1,4 @@
/* $OpenBSD: parse.y,v 1.8 2023/11/25 12:00:39 florian Exp $ */ /* $OpenBSD: parse.y,v 1.9 2024/06/03 17:58:33 deraadt Exp $ */
/* /*
* Copyright (c) 2018 Florian Obser <florian@openbsd.org> * Copyright (c) 2018 Florian Obser <florian@openbsd.org>

View file

@ -1,4 +1,4 @@
/* $OpenBSD: engine.c,v 1.89 2024/04/21 17:33:05 florian Exp $ */ /* $OpenBSD: engine.c,v 1.90 2024/06/03 17:58:33 deraadt Exp $ */
/* /*
* Copyright (c) 2017 Florian Obser <florian@openbsd.org> * Copyright (c) 2017 Florian Obser <florian@openbsd.org>

View file

@ -1,4 +1,4 @@
/* $OpenBSD: frontend.c,v 1.66 2024/02/11 21:29:12 bluhm Exp $ */ /* $OpenBSD: frontend.c,v 1.67 2024/06/03 17:58:33 deraadt Exp $ */
/* /*
* Copyright (c) 2017 Florian Obser <florian@openbsd.org> * Copyright (c) 2017 Florian Obser <florian@openbsd.org>

View file

@ -1,4 +1,4 @@
# $OpenBSD: mime.types,v 1.4 2018/01/06 22:05:03 sthen Exp $ # $OpenBSD: mime.types,v 1.5 2024/06/03 20:08:12 matthieu Exp $
application/atom+xml atom application/atom+xml atom
application/font-woff woff application/font-woff woff
@ -79,6 +79,7 @@ image/x-ms-bmp bmp
text/css css text/css css
text/html html htm shtml text/html html htm shtml
text/javascript mjs
text/mathml mml text/mathml mml
text/plain txt text/plain txt
text/vnd.sun.j2me.app-descriptor jad text/vnd.sun.j2me.app-descriptor jad

View file

@ -1,4 +1,4 @@
/* $OpenBSD: pmap.c,v 1.167 2024/05/03 13:48:29 dv Exp $ */ /* $OpenBSD: pmap.c,v 1.168 2024/06/03 20:53:00 dv Exp $ */
/* $NetBSD: pmap.c,v 1.3 2003/05/08 18:13:13 thorpej Exp $ */ /* $NetBSD: pmap.c,v 1.3 2003/05/08 18:13:13 thorpej Exp $ */
/* /*
@ -2408,6 +2408,8 @@ pmap_remove_ept(struct pmap *pmap, vaddr_t sgpa, vaddr_t egpa)
struct vmx_invept_descriptor vid; struct vmx_invept_descriptor vid;
#endif /* NVMM > 0 */ #endif /* NVMM > 0 */
mtx_enter(&pmap->pm_mtx);
DPRINTF("%s: sgpa=0x%llx egpa=0x%llx\n", __func__, (uint64_t)sgpa, DPRINTF("%s: sgpa=0x%llx egpa=0x%llx\n", __func__, (uint64_t)sgpa,
(uint64_t)egpa); (uint64_t)egpa);
for (v = sgpa; v < egpa + PAGE_SIZE; v += PAGE_SIZE) for (v = sgpa; v < egpa + PAGE_SIZE; v += PAGE_SIZE)
@ -2422,6 +2424,8 @@ pmap_remove_ept(struct pmap *pmap, vaddr_t sgpa, vaddr_t egpa)
invept(IA32_VMX_INVEPT_SINGLE_CTX, &vid); invept(IA32_VMX_INVEPT_SINGLE_CTX, &vid);
} }
#endif /* NVMM > 0 */ #endif /* NVMM > 0 */
mtx_leave(&pmap->pm_mtx);
} }
void void
@ -2433,6 +2437,8 @@ pmap_do_remove_ept(struct pmap *pmap, paddr_t gpa)
pd_entry_t *pd4, *pd3, *pd2, *pd1; pd_entry_t *pd4, *pd3, *pd2, *pd1;
pd_entry_t *pptes; pd_entry_t *pptes;
MUTEX_ASSERT_LOCKED(&pmap->pm_mtx);
l4idx = (gpa & L4_MASK) >> L4_SHIFT; /* PML4E idx */ l4idx = (gpa & L4_MASK) >> L4_SHIFT; /* PML4E idx */
l3idx = (gpa & L3_MASK) >> L3_SHIFT; /* PDPTE idx */ l3idx = (gpa & L3_MASK) >> L3_SHIFT; /* PDPTE idx */
l2idx = (gpa & L2_MASK) >> L2_SHIFT; /* PDE idx */ l2idx = (gpa & L2_MASK) >> L2_SHIFT; /* PDE idx */
@ -2510,6 +2516,7 @@ pmap_enter_ept(struct pmap *pmap, paddr_t gpa, paddr_t hpa, vm_prot_t prot)
struct vm_page *ptp, *pptp; struct vm_page *ptp, *pptp;
paddr_t npa; paddr_t npa;
struct uvm_object *obj; struct uvm_object *obj;
int ret = 0;
if (gpa > MAXDSIZ) if (gpa > MAXDSIZ)
return ENOMEM; return ENOMEM;
@ -2519,11 +2526,15 @@ pmap_enter_ept(struct pmap *pmap, paddr_t gpa, paddr_t hpa, vm_prot_t prot)
l2idx = (gpa & L2_MASK) >> L2_SHIFT; /* PDE idx */ l2idx = (gpa & L2_MASK) >> L2_SHIFT; /* PDE idx */
l1idx = (gpa & L1_MASK) >> L1_SHIFT; /* PTE idx */ l1idx = (gpa & L1_MASK) >> L1_SHIFT; /* PTE idx */
mtx_enter(&pmap->pm_mtx);
/* Start at PML4 / top level */ /* Start at PML4 / top level */
pd = (pd_entry_t *)pmap->pm_pdir; pd = (pd_entry_t *)pmap->pm_pdir;
if (pd == NULL) if (pd == NULL) {
return ENOMEM; ret = ENOMEM;
goto unlock;
}
/* npa = physaddr of PDPT */ /* npa = physaddr of PDPT */
npa = pd[l4idx] & PMAP_PA_MASK; npa = pd[l4idx] & PMAP_PA_MASK;
@ -2535,8 +2546,11 @@ pmap_enter_ept(struct pmap *pmap, paddr_t gpa, paddr_t hpa, vm_prot_t prot)
ptp = uvm_pagealloc(obj, ptp_va2o(gpa, 3), NULL, ptp = uvm_pagealloc(obj, ptp_va2o(gpa, 3), NULL,
UVM_PGA_USERESERVE|UVM_PGA_ZERO); UVM_PGA_USERESERVE|UVM_PGA_ZERO);
if (ptp == NULL) if (ptp == NULL) {
return ENOMEM; ret = ENOMEM;
goto unlock;
}
atomic_clearbits_int(&ptp->pg_flags, PG_BUSY);
/* /*
* New PDPT page - we are setting the first entry, so set * New PDPT page - we are setting the first entry, so set
@ -2576,8 +2590,11 @@ pmap_enter_ept(struct pmap *pmap, paddr_t gpa, paddr_t hpa, vm_prot_t prot)
ptp = uvm_pagealloc(obj, ptp_va2o(gpa, 2), NULL, ptp = uvm_pagealloc(obj, ptp_va2o(gpa, 2), NULL,
UVM_PGA_USERESERVE|UVM_PGA_ZERO); UVM_PGA_USERESERVE|UVM_PGA_ZERO);
if (ptp == NULL) if (ptp == NULL) {
return ENOMEM; ret = ENOMEM;
goto unlock;
}
atomic_clearbits_int(&ptp->pg_flags, PG_BUSY);
/* /*
* New PD page - we are setting the first entry, so set * New PD page - we are setting the first entry, so set
@ -2617,8 +2634,11 @@ pmap_enter_ept(struct pmap *pmap, paddr_t gpa, paddr_t hpa, vm_prot_t prot)
ptp = uvm_pagealloc(obj, ptp_va2o(gpa, 1), NULL, ptp = uvm_pagealloc(obj, ptp_va2o(gpa, 1), NULL,
UVM_PGA_USERESERVE|UVM_PGA_ZERO); UVM_PGA_USERESERVE|UVM_PGA_ZERO);
if (ptp == NULL) if (ptp == NULL) {
return ENOMEM; ret = ENOMEM;
goto unlock;
}
atomic_clearbits_int(&ptp->pg_flags, PG_BUSY);
pptp->wire_count++; pptp->wire_count++;
@ -2661,7 +2681,10 @@ pmap_enter_ept(struct pmap *pmap, paddr_t gpa, paddr_t hpa, vm_prot_t prot)
pd[l1idx] = npte; pd[l1idx] = npte;
return 0; unlock:
mtx_leave(&pmap->pm_mtx);
return ret;
} }
/* /*