On Fri, Jun 27, 2014 at 01:55:26PM +0200, Denys Vlasenko wrote: > On Fri, Jun 27, 2014 at 1:46 PM, Morten Kvistgaard > <m...@pch-engineering.dk> wrote: > > A small detail, why do you check if the root_fd is valid? Eg. > > > > ... > > if (G.root_fd >= 0) { > > ... > > > > It shouldn't be possible for it to be invalid and the old code didn't > > validate it either. > > I added this in the next patch: > > #if !BB_MMU > - G.root_fd = xopen("/", O_RDONLY | O_DIRECTORY); > - close_on_exec_on(G.root_fd); > + G.root_fd = -1; > #endif > argv += optind; > if (argv[0]) { > +#if !BB_MMU > + G.root_fd = xopen("/", O_RDONLY | O_DIRECTORY); > + close_on_exec_on(G.root_fd); > +#endif
It would be nice to have an "assume O_CLOEXEC" build option and use O_CLOEXEC wherever close_on_exec_on is currently used. Might save a little bit of bloat if nothing else. This could probably be achieved just by adding O_CLOEXEC at the call sites, defining it to 0 if the system doesn't define it, and defining close_on_exec_on(x) away to nothing if the build option is selected. Rich _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox