Re: A few patches for 2.4.x for Alpha...
On Wed, Aug 01, 2001 at 06:53:17PM -0400, Daniel Potts wrote:
> Attached is a (possibly temporary) patch for another 2.4 bug I found. This
> time, executing something like the following code will cause a crash to srm
> or an oops:
> unsigned long *myaddr = 0xffffffffffffc000;
> *myaddr = 7; /* bye bye */
> It appears to me that the self-mapping entry in each task page table is
> somehow getting corrupted, causing user mode permission bits to be set. I
> don't even know why we have this mapping because a running kernel does not
> use it. While the patch does make it go away, I'm still concerned that
> something just happened to trash that memory. This one needs to be examined
> Line 63 of linux-2.4.7/arch/alpha/mm/init.c
I think the problem is that that is an entry in the pgd, it's not a pte,
so it's a kind of corrupted entry in first place. I also don't know how
can it be useful so I like your patch.
> Btw, the clrfen and illop bug patch (entry.S/proto.h/traps.c) need to be
> applied to 2.2.x kernels also!
are you sure you don't break backwards compatibility with this change
(or you only wanted to include the illop patch)?
@@ -409,7 +426,7 @@
case 3: /* FEN fault */
- send_sig(SIGILL, current, 1);
+ send_sig(SIGFPE, current, 1);
case 4: /* opDEC */