Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 969ae0bf authored by Al Viro's avatar Al Viro
Browse files

x86: get rid of duplicate code in case of CONFIG_VM86



no need to have the call of do_notify_resume() + checks around it
duplicated for vm86 case - a bit of rearranging of ifdefs and we'll
have a perfectly fine copy to jump back to.

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent fe9d7fea
Loading
Loading
Loading
Loading
+6 −11
Original line number Diff line number Diff line
@@ -618,6 +618,10 @@ work_notifysig: # deal with pending signals and
	movl %esp, %eax
	jne work_notifysig_v86		# returning to kernel-space or
					# vm86-space
1:
#else
	movl %esp, %eax
#endif
	TRACE_IRQS_ON
	ENABLE_INTERRUPTS(CLBR_NONE)
	movb PT_CS(%esp), %bl
@@ -628,24 +632,15 @@ work_notifysig: # deal with pending signals and
	call do_notify_resume
	jmp resume_userspace

#ifdef CONFIG_VM86
	ALIGN
work_notifysig_v86:
	pushl_cfi %ecx			# save ti_flags for do_notify_resume
	call save_v86_state		# %eax contains pt_regs pointer
	popl_cfi %ecx
	movl %eax, %esp
#else
	movl %esp, %eax
	jmp 1b
#endif
	TRACE_IRQS_ON
	ENABLE_INTERRUPTS(CLBR_NONE)
	movb PT_CS(%esp), %bl
	andb $SEGMENT_RPL_MASK, %bl
	cmpb $USER_RPL, %bl
	jb resume_kernel
	xorl %edx, %edx
	call do_notify_resume
	jmp resume_userspace
END(work_pending)

	# perform syscall exit tracing