mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-07-01 23:53:16 -04:00
x86/vdso: Zap vvar pages when switching to a time namespace
The VVAR page layout depends on whether a task belongs to the root or non-root time namespace. Whenever a task changes its namespace, the VVAR page tables are cleared and then they will be re-faulted with a corresponding layout. Co-developed-by: Andrei Vagin <avagin@gmail.com> Signed-off-by: Andrei Vagin <avagin@gmail.com> Signed-off-by: Dmitry Safonov <dima@arista.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20191112012724.250792-27-dima@arista.com
This commit is contained in:
parent
e6b28ec65b
commit
70ddf65184
3 changed files with 46 additions and 0 deletions
|
@ -31,6 +31,9 @@ struct time_namespace {
|
|||
extern struct time_namespace init_time_ns;
|
||||
|
||||
#ifdef CONFIG_TIME_NS
|
||||
extern int vdso_join_timens(struct task_struct *task,
|
||||
struct time_namespace *ns);
|
||||
|
||||
static inline struct time_namespace *get_time_ns(struct time_namespace *ns)
|
||||
{
|
||||
kref_get(&ns->kref);
|
||||
|
@ -77,6 +80,12 @@ static inline ktime_t timens_ktime_to_host(clockid_t clockid, ktime_t tim)
|
|||
}
|
||||
|
||||
#else
|
||||
static inline int vdso_join_timens(struct task_struct *task,
|
||||
struct time_namespace *ns)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline struct time_namespace *get_time_ns(struct time_namespace *ns)
|
||||
{
|
||||
return NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue