On Mon, Aug 22, 2011 at 5:07 PM, H. Peter Anvin <h...@zytor.com> wrote: > > Checking for SYSCALL in the vdso is cheap... the only problem is if > someone thinks that they can copy it out of the vdso and run it, having > special-cased SYSENTER already, but not SYSCALL. The recent experience > shows that that is apparently a very real possibility.
I don't understand why people keep harping on this "copy the vdso" thing. Guys, IF THEY COPY THE VDSO, THEN THEY WOULD GET OUR IMPROVEMENTS! So stop being silly. As to comparing the IP address, that's just moronic. Why the hell would anybody ever do something that stupid? It's expensive and not worth it. You'd be much better off comparing the contents of the memory at 'rip', and see if that memory contains the 'int 0x80' instruction we would add. That automatically also gets the 'somebody copied the vdso text' case right. You guys seem to positively _want_ to make this a bigger issue than it is. As far as I can tell, nobody has ever even noticed this problem before, and we already have a trivial fix ("don't do it then") for the case Al actually did notice. The *only* case left as far as I can tell is the case where people do *not* copy the vdso, but simply generate (statically and/or dynamically with a JIT) the syscall instruction directly. And we cannot fix that, so stop even bothering to try. The absolute best we can do for that case is to just continue to do what we do now. WE SIMPLY HAVE NO CHOICE. I really don't see this as being worth this much discussion. Linus ------------------------------------------------------------------------------ Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2 _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel