On Wed, Dec 17, 2008 at 08:46:30PM -0500, Carlos O'Donell wrote: > On Wed, Dec 17, 2008 at 5:46 PM, Helge Deller <deller@xxxxxx> wrote: > > The attached patch simply adds the lookup for a fixup handler when trap > > #27 (protection id trap) happens in kernel space. This was missing in > > the code path for trap #27 which is why the kernel then called > > die_if_kernel() and crashed. > > > > Even with this patch ruby1.9 may fail to compile, but at least the > > kernel crashes are gone. > > > > Any feedback welcome. > > Can we avoid copying code from do_page_fault and just call do_page_fault? > > Shouldn't a data protection id trap on a userspace address cause > do_page_fault to be called which triggers the lookup and transfer to > the exception table location? > Yes, it could just fall through in this case, but I don't think that's necessarily correct either. > Why aren't we doing this in the data protection id trap case? > > I remember testing this for the compare-and-swap kernel LWS, in > particular calling with an invalid address, where the kernel must load > a userspace address, possibly fault, and jump to the exception > location to return EFAULT as the error for the compare-and-swap. > Indeed, there's something more sinister going on. -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html