i386 page fault clobbers error code in trap frame

Kip Macy kip.macy at gmail.com
Sun Jul 30 19:30:46 UTC 2006


>
> si_addr doesn't contain the faulting pc, it contains the address that

So either the comment is wrong, or that is a technically incorrect
kludge. However, given that a number of the other fields are not
filled out at all, the real objective should be to keep applications
working.

>
> --- sys/i386/i386/trap.c.orig   Sun Jul 30 18:27:21 2006
> +++ sys/i386/i386/trap.c        Sun Jul 30 18:27:56 2006
> @@ -777,9 +777,6 @@
>                 return (-1);
>         }
>
> -       /* kludge to pass faulting virtual address to sendsig */
> -       frame->tf_err = eva;
> -
>         return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV);
>  }
>
>
>


More information about the freebsd-hackers mailing list