On Tue, Jul 7, 2009 at 05:33, <[email protected]> wrote: > Modified: branches/2009R1/arch/blackfin/include/asm/mmu_context.h (6939 => > 6940) > > @@ -127,17 +127,17 @@ > unsigned long idx = page >> 5; > unsigned long bit = 1 << (page & 31); > > - if (flags & VM_MAYREAD) > + if (flags & VM_READ) > mask[idx] |= bit; > else > mask[idx] &= ~bit; > mask += page_mask_nelts; > - if (flags & VM_MAYWRITE) > + if (flags & VM_WRITE) > mask[idx] |= bit; > else > mask[idx] &= ~bit; > mask += page_mask_nelts; > - if (flags & VM_MAYEXEC) > + if (flags & VM_EXEC) > mask[idx] |= bit; > else > mask[idx] &= ~bit;
i guess the bug was that we were setting the permission based on what was allowed and not based on what the request was for ? > Modified: branches/2009R1/arch/blackfin/kernel/traps.c (6939 => 6940) > > /* 0x23 - Data CPLB protection violation, handled here */ > case VEC_CPLB_VL: > info.si_code = ILL_CPLB_VI; > - sig = SIGBUS; > + sig = SIGSEGV; > verbose_printk(KERN_NOTICE EXC_0x23(KERN_NOTICE)); > CHK_DEBUGGER_TRAP_MAYBE(); > break; is this really necessary to make the test pass ? we prefer to not go changing signals generated as it means we have to update things like traps_test, but it's ok if other arches are hitting SIGSEGV in these cases as we want the signals generated under the Blackfin port to match x86 and such. -mike _______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
