[libvirt] [PATCH] rotatingfile: mark log files as close-on-exec

Daniel P. Berrange berrange at redhat.com
Fri Dec 4 17:24:21 UTC 2015


The log file descriptor associated with the virRotatingFile
struct should be marked close-on-exec, as even when virtlogd
re-exec's itself it expect to open the log file fresh. It
does not need to preserve the logfile handles, only the network
client FDs.

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 src/util/virrotatingfile.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/util/virrotatingfile.c b/src/util/virrotatingfile.c
index a32759a..6654aff 100644
--- a/src/util/virrotatingfile.c
+++ b/src/util/virrotatingfile.c
@@ -108,7 +108,7 @@ virRotatingFileWriterEntryNew(const char *path,
     if (VIR_ALLOC(entry) < 0)
         return NULL;
 
-    if ((entry->fd = open(path, O_CREAT|O_APPEND|O_WRONLY, mode)) < 0) {
+    if ((entry->fd = open(path, O_CREAT|O_APPEND|O_WRONLY|O_CLOEXEC, mode)) < 0) {
         virReportSystemError(errno,
                              _("Unable to open file: %s"), path);
         goto error;
@@ -151,7 +151,7 @@ virRotatingFileReaderEntryNew(const char *path)
     if (VIR_ALLOC(entry) < 0)
         return NULL;
 
-    if ((entry->fd = open(path, O_RDONLY)) < 0) {
+    if ((entry->fd = open(path, O_RDONLY|O_CLOEXEC)) < 0) {
         if (errno != ENOENT) {
             virReportSystemError(errno,
                                  _("Unable to open file: %s"), path);
-- 
2.5.0




More information about the libvir-list mailing list