X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f Date: Mon, 10 Dec 2001 21:26:09 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: sandmann AT clio DOT rice DOT edu Message-Id: <3099-Mon10Dec2001212608+0200-eliz@is.elta.co.il> X-Mailer: emacs 21.1.50 (via feedmail 8 I) and Blat ver 1.8.9 CC: djgpp-workers AT delorie DOT com, acottrel AT ihug DOT com DOT au In-reply-to: <10112101841.AA17909@clio.rice.edu> (sandmann@clio.rice.edu) Subject: Re: go32-v2 memory chompage [was: Re: v2.03 refresh ...] References: <10112101841 DOT AA17909 AT clio DOT rice DOT edu> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) > Date: Mon, 10 Dec 2001 12:41:06 -0600 (CST) > > go32-v2 allocates dos memory to pass the command line > v2load allocates dos memory for the environment and command line > v2load allocates dos memory for the transfer buffer > > (I think this explains the 3 sizes of blocks observed). Yes. Sorry, I should have remembered that, as I wrote most of that stuff. > Now, we pass the child a stubinfo psp returned from a dos memory block > allocation... but it doesn't look like a valid DPMI psp selector to me. So, are you saying that the W2K DPMI host returns a bogus selector when we allocate DOS memory? Another W2K bug? ;-) > We let the child "exit" back to us. During that exit the child passes > this bogus psp to NT as a set psp - what happens? Then the child may > do some operations to NTVDM/DPMI with an invalid psp? I think the ``exit back to us'' part needs closer scrutiny. IIRC, the way a child program invoked via v2load exits is different from a normal nesting via dosexec. Sorry, I forget the details, and don't have time to look them up, but perhaps the comments in go32-v2.c's `main' function will help.