On Mon, Aug 02, 2021 at 04:36:15PM +0100, Dave Martin wrote: > On Mon, Aug 02, 2021 at 03:19:39PM +0100, Mark Brown wrote: > > popen() appears to be break the _SET_VL_ONEXEC test. Between a lack of > > strace in my test filesystem and not spotting anything obvious in the > > glibc sources I can't tell exactly where it's doing something different, > > though it does feel like it should be a separate testcase if it's > Ah, dang, popen() will run the target program via a shell, so there will > actually be two fork-exec()s, with the VL being reset to default by the > second exec. Oh, of course - it's basically a more useful system(). The bit where it adds the sh invocation was buried somewhere in the glibc source I didn't find. > This is the kind of reason why I tend not to go for it, I guess -- > it looks convenient, but it's just that little bit overcooked as an API. > *sigh* Well, if you're working at the stdio level it's fine I think but this program is at the level below that.