mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2026-01-27 12:47:24 +01:00
vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY
[ Upstream commit7c0c01a216] When the generic vDSO does not provide time functions, as for example on riscv32, then the time data store is not necessary. Avoid allocating these time data pages when not used. Fixes:df7fcbefa7("vdso: Add generic time data storage") Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250826-vdso-cleanups-v1-1-d9b65750e49f@linutronix.de Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
39051d7c9d
commit
5569fadd00
|
|
@ -11,14 +11,14 @@
|
|||
/*
|
||||
* The vDSO data page.
|
||||
*/
|
||||
#ifdef CONFIG_HAVE_GENERIC_VDSO
|
||||
#ifdef CONFIG_GENERIC_GETTIMEOFDAY
|
||||
static union {
|
||||
struct vdso_time_data data;
|
||||
u8 page[PAGE_SIZE];
|
||||
} vdso_time_data_store __page_aligned_data;
|
||||
struct vdso_time_data *vdso_k_time_data = &vdso_time_data_store.data;
|
||||
static_assert(sizeof(vdso_time_data_store) == PAGE_SIZE);
|
||||
#endif /* CONFIG_HAVE_GENERIC_VDSO */
|
||||
#endif /* CONFIG_GENERIC_GETTIMEOFDAY */
|
||||
|
||||
#ifdef CONFIG_VDSO_GETRANDOM
|
||||
static union {
|
||||
|
|
@ -46,7 +46,7 @@ static vm_fault_t vvar_fault(const struct vm_special_mapping *sm,
|
|||
|
||||
switch (vmf->pgoff) {
|
||||
case VDSO_TIME_PAGE_OFFSET:
|
||||
if (!IS_ENABLED(CONFIG_HAVE_GENERIC_VDSO))
|
||||
if (!IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY))
|
||||
return VM_FAULT_SIGBUS;
|
||||
pfn = __phys_to_pfn(__pa_symbol(vdso_k_time_data));
|
||||
if (timens_page) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user