@@ -162,7 +162,7 @@ enum x86_pf_error_code {
|
|||||||
PF_RSVD = 1 << 3,
|
PF_RSVD = 1 << 3,
|
||||||
PF_INSTR = 1 << 4,
|
PF_INSTR = 1 << 4,
|
||||||
|
|
||||||
PF_DONTCOW = 1 << 30,
|
PF_POPULATE = 1 << 30,
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1304,7 +1304,7 @@ static int do_page_fault_process(struct process *proc, void *fault_addr0, uint64
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (reason & PF_DONTCOW) {
|
else if (reason & PF_POPULATE) {
|
||||||
pte_t *ptep;
|
pte_t *ptep;
|
||||||
void *ptepgaddr;
|
void *ptepgaddr;
|
||||||
size_t ptepgsize;
|
size_t ptepgsize;
|
||||||
@@ -1652,7 +1652,7 @@ void free_process_memory(struct process *proc)
|
|||||||
int populate_process_memory(struct process *proc, void *start, size_t len)
|
int populate_process_memory(struct process *proc, void *start, size_t len)
|
||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
const int reason = PF_USER | PF_DONTCOW;
|
const int reason = PF_USER | PF_POPULATE;
|
||||||
uintptr_t end;
|
uintptr_t end;
|
||||||
uintptr_t addr;
|
uintptr_t addr;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user