[S390] Improve address space mode selection.
Introduce user_mode to replace the two variables switch_amode and s390_noexec. There are three valid combinations of the old values: 1) switch_amode == 0 && s390_noexec == 0 2) switch_amode == 1 && s390_noexec == 0 3) switch_amode == 1 && s390_noexec == 1 They get replaced by 1) user_mode == HOME_SPACE_MODE 2) user_mode == PRIMARY_SPACE_MODE 3) user_mode == SECONDARY_SPACE_MODE The new kernel parameter user_mode=[primary,secondary,home] lets you choose the address space mode the user space processes should use. In addition the CONFIG_S390_SWITCH_AMODE config option is removed. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:

committed by
Martin Schwidefsky

parent
61365e132e
commit
b11b533427
@@ -162,7 +162,6 @@ static size_t clear_user_mvcos(size_t size, void __user *to)
|
||||
return size;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_S390_SWITCH_AMODE
|
||||
static size_t strnlen_user_mvcos(size_t count, const char __user *src)
|
||||
{
|
||||
char buf[256];
|
||||
@@ -200,7 +199,6 @@ static size_t strncpy_from_user_mvcos(size_t count, const char __user *src,
|
||||
} while ((len_str == len) && (done < count));
|
||||
return done;
|
||||
}
|
||||
#endif /* CONFIG_S390_SWITCH_AMODE */
|
||||
|
||||
struct uaccess_ops uaccess_mvcos = {
|
||||
.copy_from_user = copy_from_user_mvcos_check,
|
||||
@@ -215,7 +213,6 @@ struct uaccess_ops uaccess_mvcos = {
|
||||
.futex_atomic_cmpxchg = futex_atomic_cmpxchg_std,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_S390_SWITCH_AMODE
|
||||
struct uaccess_ops uaccess_mvcos_switch = {
|
||||
.copy_from_user = copy_from_user_mvcos,
|
||||
.copy_from_user_small = copy_from_user_mvcos,
|
||||
@@ -228,4 +225,3 @@ struct uaccess_ops uaccess_mvcos_switch = {
|
||||
.futex_atomic_op = futex_atomic_op_pt,
|
||||
.futex_atomic_cmpxchg = futex_atomic_cmpxchg_pt,
|
||||
};
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user