[lkml]   [2002]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 1 / ...] i386 dynamic fixup/self modifying code
    On Fri, 2002-08-30 at 01:19, Alan Cox wrote:
    > On Wed, 2002-08-28 at 13:11, Pavel Machek wrote:
    > > > Unfortunately with this patch executing invalid code will cause the
    > > > processor to enter an infinite exception loop rather than panic. Fixing
    > > > this is not trivial for SMP+preempt so it's not done at the moment.
    > >
    > > Using 0xcc for everything should fix that, right?
    > Except you can't do the fixup on SMP without risking hitting the CPU
    > errata.
    Worked around by making sure all other processors are stopped (iret is
    serializing) sending IPIs if they are not already spinning on the fixup
    lock. See patch #2.

    > You also break debugging tools that map kernel code pages r/o
    > and people who ROM it.
    > The latter aren't a big problem (they can compile without runtime
    > fixups).
    OK, I'll add a config option for this.

    > For the other fixups though you -have- to do them before you
    > run the code. That isnt hard (eg sparc btfixup). You generate a list of
    > the addresses in a segment, patch them all and let the init freeup blow
    > the table away
    Is doing them at runtime with the aforementioned workaround fine?

    [unhandled content-type:application/pgp-signature]
     \ /
      Last update: 2005-03-22 13:28    [W:0.030 / U:33.088 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site