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 > >