Re: komd issues - was [Re: [openMosix-general] openmosix 2.4.26 in 2.4.31?]
tab-mTI/[email protected] (Vincent Hanquez) Thu, 21 Sep 2006 22:33:19 +0200
| Newsgroups | gmane.linux.cluster.openmosix.devel |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Sep 21, 2006 at 01:27:05PM -0600, Matt Dew wrote: > From what I understand so far: > One of LD_ASSUME_KERNEL's functions is to tell glibc how to handle > system calls. In linux 2.4, system calls use int 0x80 so we could > modify arch/i386/kernel/entry.S to check for migrated processes and then > handle the system call differently if need be. It's doing the same on 2.6. > As of 2.6, system calls can be called other ways as well such as jumping > straight to the syscall handler address. Trapping 0x80 won't work all > the time. We have to change the interrupt table, rather than trying to > conditionally use our own. We *never* trapped interrupt 0x80. neither do we need to change the interrupt table, which we never did anyway. > Apparently 2.6.18 also changes the way it handles system calls. No, it doesn't change the way it handle system calls, it's just randomizing where the VDSO is. which, the ABI is perfectly entitled to. So far we relied on the fact that the VDSO was constant across kernels, which is not going to be the case anymore... There's 2 solutions: - the easy one consist in just desactivating the randomization, which is not useful to anything anyway. It seems the security protection that it gives are absolutely extremely tiny and just security by obscurity. - the hard one could be done in multiple way. not totally sure, since I didn't look the code, but gs segment fixup could probably solve the problem. it doesn't seems to be worst it at all. -- Vincent Hanquez ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV