Re: [PATCH v4 15/17] x86/traps: Fixup general protection faults caused by UMIP

Ricardo Neri <[email protected]> Thu, 23 Feb 2017 14:15:44 -0800
Newsgroups org.kernel.vger.linux-msdos,org.kernel.vger.linux-kernel
Message-ID <1487888144.115017.3.camel@ranerica-desktop>
On Thu, 2017-02-23 at 10:27 +0100, Peter Zijlstra wrote:
> On Wed, Feb 22, 2017 at 10:37:04PM -0800, Ricardo Neri wrote:
> > @@ -492,6 +493,9 @@ do_general_protection(struct pt_regs *regs, long error_code)
> >  	RCU_LOCKDEP_WARN(!rcu_is_watching(), "entry code didn't wake RCU");
> >  	cond_local_irq_enable(regs);
> >  
> > +	if (user_mode(regs) && (fixup_umip_exception(regs) == true))
> > +		return;
> 
> I'm thinking
> 
> 	if (user_mode(regs) && fixup_umip_exception(regs))
> 		return;
> 
> is actually easier to read.

In a previous version Andy Lutomirsky suggested that 
	if (user_mode(regs) && (fixup_umip_exception(regs) == 0))

was easier to read :). Although at the time fixup_umip_exception
returned a numeric value. Now it only returns true/false for
successful/failed emulation. If with true/false not comparing to true
makes it easier to read, I will make the change.

Thanks and BR,
Ricardo