From fnaumann@mail.cs.uni-magdeburg.de Tue Jun 29 17:02:02 2004 Date: Tue, 29 Jun 2004 16:52:50 +0200 (CEST) From: Frank Naumann X-X-Sender: fnaumann@wh58-508.st.uni-magdeburg.de To: mint@fishpool.com Subject: Re: [MiNT] mint & mmu In-Reply-To: <004001c45ddb$de231a80$770963d9@blaszak> Message-ID: References: <20040629082901.GA17656@hysteria.sk> <004001c45ddb$de231a80$770963d9@blaszak> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Spam-Score: -4.9 (----) X-Spam-Report: ---- Start SpamAssassin results -4.9 points, 5.0 required; -4.9 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] ---- End of SpamAssassin results X-Scan-Signature: 358e2e207984a4790e33c6cf28180fcd X-Virus-Scanned: by amavisd-new-20030616-p7 (Debian) at fishpool.fi Delivered-To: mint@fishpool.com Delivered-To: mint@lists.fishpool.fi X-ecartis-version: Ecartis v1.0.0 Sender: mint-bounce@lists.fishpool.fi Errors-to: mint-bounce@lists.fishpool.fi X-original-sender: fnaumann@cs.uni-magdeburg.de Precedence: bulk List-help: List-unsubscribe: List-ID: X-List-ID: X-Milter: ClamAV 0.70/0.70kjel X-Milter: milter-regex 1.5jel X-Milter: ClamAV 0.70/0.70kjel X-Milter: milter-regex 1.5jel Hello! > The only way I can think of, which would save the Super() call and made it > safe, is somehow emulate all the code, or some other way catch every > instruction, that is executed between two Super() calls or inside Supexec(), > and heavily check that these instructions do "legal" things, and kill the > program otherwise. You can do it simpler. If a program do Super() just set a flag that the program wanted to switch to Super(), don't do anything other and let the program run in usermode. On the next illegal instruction or memory violation look if the flag is set. If yes analyze the reason, if the application wanted to get the cookie jar the faulted address will be the cookie jar address for example. If this is an allowed operation copy over the cookie jar pointer and let the application normally run. If it's an illegal operation do normal signal handling (e.g. terminating app most probably). > I am sure that demo coders will love this idea :> :-) Ciao ...Frank -- ATARI FALCON 040 // MILAN 060 ----------------------------------------- http://www.cs.uni-magdeburg.de/~fnaumann/ e-Mail: fnaumann@freemint.de