On Tue, 21 May 2019 00:37:48 +0200,
Kees Cook wrote:
As it turns out, the "stdbuf" command will actually force all
subprocesses into unbuffered output, and some implementations of "echo"
turn into single-character writes, which utterly wrecks writes to /sys
and /proc files.
Instead, drop the "stdbuf" usage, and for any tests that want explicit
flushing between newlines, they'll have to add "fflush(stdout);" as
needed.
Reported-by: Takashi Iwai <tiwai@xxxxxxx>
Fixes: 5c069b6dedef ("selftests: Move test output to diagnostic lines")
Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
Tested-by: Takashi Iwai <tiwai@xxxxxxx>
BTW, this might be specific to shell invocation. As in the original
discussion thread, it starts working when I replace "echo" with
"/usr/bin/echo".
Still it's not easy to control in a script itself, so dropping the
unbuffered mode is certainly safer, yes.
Thanks!