diff options
Diffstat (limited to 'arch/um/kernel/skas/exec.c')
| -rw-r--r-- | arch/um/kernel/skas/exec.c | 12 | 
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/um/kernel/skas/exec.c b/arch/um/kernel/skas/exec.c index 54b79595137..580eb646894 100644 --- a/arch/um/kernel/skas/exec.c +++ b/arch/um/kernel/skas/exec.c @@ -17,7 +17,17 @@  void flush_thread_skas(void)  { -	force_flush_all(); +	void *data = NULL; +	unsigned long end = proc_mm ? task_size : CONFIG_STUB_START; +	int ret; + +	ret = unmap(¤t->mm->context.skas.id, 0, end, 1, &data); +	if(ret){ +		printk("flush_thread_skas - clearing address space failed, " +		       "err = %d\n", ret); +		force_sig(SIGKILL, current); +	} +  	switch_mm_skas(¤t->mm->context.skas.id);  }  | 
