mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 20:46:48 +02:00
s390/mm: Simplify get_fault_type()
With the gmap code gone get_fault_type() can be simplified: - every fault with user_mode(regs) == true must be a fault in user address space - every fault with user_mode(regs) == false is only a fault in user address space if the used address space is the secondary address space - every other fault is within the kernel address space Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com> Link: https://lore.kernel.org/r/20241022120601.167009-10-imbrenda@linux.ibm.com Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
parent
e8d8d97218
commit
f76901d160
|
|
@ -68,17 +68,10 @@ static enum fault_type get_fault_type(struct pt_regs *regs)
|
|||
{
|
||||
union teid teid = { .val = regs->int_parm_long };
|
||||
|
||||
if (likely(teid.as == PSW_BITS_AS_PRIMARY)) {
|
||||
if (user_mode(regs))
|
||||
return USER_FAULT;
|
||||
return KERNEL_FAULT;
|
||||
}
|
||||
if (user_mode(regs))
|
||||
return USER_FAULT;
|
||||
if (teid.as == PSW_BITS_AS_SECONDARY)
|
||||
return USER_FAULT;
|
||||
/* Access register mode, not used in the kernel */
|
||||
if (teid.as == PSW_BITS_AS_ACCREG)
|
||||
return USER_FAULT;
|
||||
/* Home space -> access via kernel ASCE */
|
||||
return KERNEL_FAULT;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user