From 31a7953fa9fd18d50d9b4dc0d3bad65d560be3a2 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Wed, 1 Aug 2012 14:31:37 -0700 Subject: [PATCH] rngd_linux: Log a warning if write_wakeup_threshold can't be adjusted If we fail to write write_wakeup_threshold, log a warning but continue. Signed-off-by: H. Peter Anvin Signed-off-by: Jeff Garzik --- rngd_linux.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/rngd_linux.c b/rngd_linux.c index 3556fd0..46db951 100644 --- a/rngd_linux.c +++ b/rngd_linux.c @@ -94,6 +94,7 @@ err: void init_kernel_rng(const char* randomdev) { FILE *f; + int err; random_fd = open(randomdev, O_RDWR); if (random_fd == -1) { @@ -103,9 +104,17 @@ void init_kernel_rng(const char* randomdev) } f = fopen("/proc/sys/kernel/random/write_wakeup_threshold", "w"); - if (f) { + if (!f) { + err = 1; + } else { fprintf(f, "%u\n", arguments->fill_watermark); - fclose(f); + /* Note | not || here... we always want to close the file */ + err = ferror(f) | fclose(f); + } + if (err) { + message(LOG_DAEMON|LOG_WARNING, + "unable to adjust write_wakeup_threshold: %s", + strerror(errno)); } } -- 2.47.2