Hi Bernhard,

On Sun, Apr 10, 2022 at 10:34 PM Bernhard Reutner-Fischer
<[email protected]> wrote:
> well that'd be xopen_xwrite_close(), fsync and then rename_or_warn but
> since for fsync we'd need an fd there might no (big?) net benefit.

Right, we need the fd before closing it. And rename_or_warn doesn't
help us at all. So dead end here.

> btw for the getuid() failure, we have bb_msg_you_must_be_root[] or
> bb_msg_perm_denied_are_you_root[]

Oh, nice. Will use that. Saves 27 bytes.

> So what about the errno in seed_rng.
> Can we just leave errno alone and report a failure in this function
> only? And only afterwards return -1 and remove the diagnostics from the
> caller?

We _could_, but the call to RNDADDENTROPY is the big thing that this
program does. If it goes wrong, that's the primary place where a user
really wants to learn why. If there ever were an occasion to preserve
errno, it'd be here.

> And just to make that explicit: What's the deal with all those bits in
> the exit code. Are these really necessary?

The tool keeps pummeling through attempting to do at least something
useful. The bits in the error exit code let a caller choose how to
respond to partial successes of different kinds. This is meant to be
called from shell scripts that might want to do that sort of thing.

> I forgot, isn't O_RDONLY sufficient for ioctl? And IIRC there was even
> a non-io mode to just obtain the fd, linux specific, wasn't there.
> Doesn't save anything of course, but RDONLY looks cleaner..

Nice catch, will fix.

v7 coming right up! Hope this is it...

Jason
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to