mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 03:23:53 -04:00
vdso: Remove remnants of architecture-specific time storage
All users of the time releated parts of the vDSO are now using the generic storage implementation. Remove the therefore unnecessary compatibility accessor functions and symbols. Co-developed-by: Nam Cao <namcao@linutronix.de> Signed-off-by: Nam Cao <namcao@linutronix.de> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250204-vdso-store-rng-v3-18-13a4669dfc8c@linutronix.de
This commit is contained in:
committed by
Thomas Gleixner
parent
998a8a2608
commit
ac1a42f4e4
@@ -165,18 +165,18 @@ static struct timens_offset offset_from_ts(struct timespec64 off)
|
||||
* HVCLOCK
|
||||
* VVAR
|
||||
*
|
||||
* The check for vdso_data->clock_mode is in the unlikely path of
|
||||
* The check for vdso_time_data->clock_mode is in the unlikely path of
|
||||
* the seq begin magic. So for the non-timens case most of the time
|
||||
* 'seq' is even, so the branch is not taken.
|
||||
*
|
||||
* If 'seq' is odd, i.e. a concurrent update is in progress, the extra check
|
||||
* for vdso_data->clock_mode is a non-issue. The task is spin waiting for the
|
||||
* for vdso_time_data->clock_mode is a non-issue. The task is spin waiting for the
|
||||
* update to finish and for 'seq' to become even anyway.
|
||||
*
|
||||
* Timens page has vdso_data->clock_mode set to VDSO_CLOCKMODE_TIMENS which
|
||||
* Timens page has vdso_time_data->clock_mode set to VDSO_CLOCKMODE_TIMENS which
|
||||
* enforces the time namespace handling path.
|
||||
*/
|
||||
static void timens_setup_vdso_data(struct vdso_data *vdata,
|
||||
static void timens_setup_vdso_data(struct vdso_time_data *vdata,
|
||||
struct time_namespace *ns)
|
||||
{
|
||||
struct timens_offset *offset = vdata->offset;
|
||||
@@ -219,7 +219,7 @@ static DEFINE_MUTEX(offset_lock);
|
||||
static void timens_set_vvar_page(struct task_struct *task,
|
||||
struct time_namespace *ns)
|
||||
{
|
||||
struct vdso_data *vdata;
|
||||
struct vdso_time_data *vdata;
|
||||
unsigned int i;
|
||||
|
||||
if (ns == &init_time_ns)
|
||||
@@ -235,7 +235,7 @@ static void timens_set_vvar_page(struct task_struct *task,
|
||||
goto out;
|
||||
|
||||
ns->frozen_offsets = true;
|
||||
vdata = arch_get_vdso_data(page_address(ns->vvar_page));
|
||||
vdata = page_address(ns->vvar_page);
|
||||
|
||||
for (i = 0; i < CS_BASES; i++)
|
||||
timens_setup_vdso_data(&vdata[i], ns);
|
||||
|
||||
Reference in New Issue
Block a user