On Sat, 2017-07-22 at 18:43 +0200, LEROY Christophe wrote:
> 
> > @@ -203,23 +203,13 @@ static int __do_page_fault(struct pt_regs  
> > *regs, unsigned long address,
> >     unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE;
> >     int code = SEGV_MAPERR;
> >     int is_write = 0;
> > -   int trap = TRAP(regs);
> > -   int is_exec = trap == 0x400;
> > +   int is_exec = TRAP(regs) == 0x400;
> 
> Don't we have a tab/space issue here ?

There seem to be indeed an extra space before the tab at the beginning
of the line, though it looks like it was already there in the orignal
code :-) I didn't notice it and thus didn't fix it. If I respin I'll
take care of it.

> >     int is_user = user_mode(regs);
> >     int fault;
> >     int rc = 0, store_update_sp = 0;
> > 
> >  #if !(defined(CONFIG_4xx) || defined(CONFIG_BOOKE))
> > -   /*
> > -    * Fortunately the bit assignments in SRR1 for an instruction
> > -    * fault and DSISR for a data fault are mostly the same for the
> > -    * bits we are interested in.  But there are some bits which
> > -    * indicate errors in DSISR but can validly be set in SRR1.
> > -    */
> > -   if (is_exec)
> > -           error_code &= 0x48200000;
> > -   else
> > -           is_write = error_code & DSISR_ISSTORE;
> > +   is_write = error_code & DSISR_ISSTORE;
> >  #else
> >     is_write = error_code & ESR_DST;
> >  #endif /* CONFIG_4xx || CONFIG_BOOKE */
> > --
> > 2.13.3
> 
> 

Reply via email to