mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 05:49:47 -04:00
vdso/datastore: Simplify the mapping logic for VDSO_TIME_PAGE_OFFSET
The logic for CONFIG_GENERIC_GETTIMEOFDAY=n and !timens_page is identical now. Use this to simplify the logic a bit. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Link: https://patch.msgid.link/20260630-vdso-mlockall-v4-6-6c93708ce723@linutronix.de
This commit is contained in:
committed by
Thomas Gleixner
parent
c27e727c9a
commit
0b50763e84
@@ -76,22 +76,20 @@ static vm_fault_t vvar_fault(const struct vm_special_mapping *sm,
|
||||
|
||||
switch (vmf->pgoff) {
|
||||
case VDSO_TIME_PAGE_OFFSET:
|
||||
if (!IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY))
|
||||
if (!IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY) || !timens_page)
|
||||
break;
|
||||
if (timens_page) {
|
||||
/*
|
||||
* Fault in VVAR page too, since it will be accessed
|
||||
* to get clock data anyway.
|
||||
*/
|
||||
unsigned long addr;
|
||||
vm_fault_t err;
|
||||
/*
|
||||
* Fault in VVAR page too, since it will be accessed
|
||||
* to get clock data anyway.
|
||||
*/
|
||||
unsigned long addr;
|
||||
vm_fault_t err;
|
||||
|
||||
addr = vmf->address + VDSO_TIMENS_PAGE_OFFSET * PAGE_SIZE;
|
||||
err = vmf_insert_page(vma, addr, page);
|
||||
if (unlikely(err & VM_FAULT_ERROR))
|
||||
return err;
|
||||
page = timens_page;
|
||||
}
|
||||
addr = vmf->address + VDSO_TIMENS_PAGE_OFFSET * PAGE_SIZE;
|
||||
err = vmf_insert_page(vma, addr, page);
|
||||
if (unlikely(err & VM_FAULT_ERROR))
|
||||
return err;
|
||||
page = timens_page;
|
||||
break;
|
||||
case VDSO_TIMENS_PAGE_OFFSET:
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user