Re: [PATCH] Linux Kernel Markers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




[email protected] wrote on 20/09/2006 02:08:52:

> Hi Alan,
>
> On Wed, Sep 20, 2006 at 01:08:45AM +0100, Alan Cox wrote:
> > Ar Maw, 2006-09-19 am 13:54 -0400, ysgrifennodd Mathieu Desnoyers:
> > > Very good idea.. However, overwriting the second instruction
> with a jump could
> > > be dangerous on preemptible and SMP kernels, because we never
> know if a thread
> > > has an IP in any of its contexts that would return exactly at
> the middle of the
> > > jump.
> >
> > No: on x86 it is the *same* case for all of these even writing an int3.
> > One byte or a megabyte,
> >
> > You MUST ensure that every CPU executes a serializing instruction
before
> > it hits code that was modified by another processor. Otherwise you get
> > CPU errata and the CPU produces results which vendors like to describe
> > as "undefined".
>
> Are you referring to Intel erratum "unsynchronized cross-modifying code"
> - where it refers to the practice of modifying code on one processor
> where another has prefetched the unmodified version of the code.
>
> Thanks
> Prasanna


In the special case of replacing an opcode with int3 that erratum doesn't
apply. I know that's not in the manuals but it has been confirmed by the
Intel microarchitecture group. And it's not reasonable to it to be any
other way.



- -
Richard J Moore
IBM Advanced Linux Response Team - Linux Technology Centre
MOBEX: 264807; Mobile (+44) (0)7739-875237
Office: (+44) (0)1962-817072

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux