All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-4.19 v2] tools/xl: Open xldevd.log with O_CLOEXEC
@ 2024-06-21 16:16 Andrew Cooper
  2024-06-21 16:31 ` Marek Marczykowski-Górecki
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Andrew Cooper @ 2024-06-21 16:16 UTC (permalink / raw)
  To: Xen-devel
  Cc: Andrew Cooper, Demi Marie Obenour, Anthony PERARD, Juergen Gross,
	Marek Marczykowski-Górecki, Oleksii Kurochko

`xl devd` has been observed leaking /var/log/xldevd.log into children.

Note this is specifically safe; dup2() leaves O_CLOEXEC disabled on newfd, so
after setting up stdout/stderr, it's only the logfile fd which will close on
exec().

Link: https://github.com/QubesOS/qubes-issues/issues/8292
Reported-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony@xenproject.org>
CC: Juergen Gross <jgross@suse.com>
CC: Demi Marie Obenour <demi@invisiblethingslab.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Also entirely speculative based on the QubesOS ticket.

v2:
 * Extend the commit message to explain why stdout/stderr aren't closed by
   this change

For 4.19.  This bugfix was posted earlier, but fell between the cracks.
---
 tools/xl/xl_utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/xl/xl_utils.c b/tools/xl/xl_utils.c
index 17489d182954..060186db3a59 100644
--- a/tools/xl/xl_utils.c
+++ b/tools/xl/xl_utils.c
@@ -270,7 +270,7 @@ int do_daemonize(const char *name, const char *pidfile)
         exit(-1);
     }
 
-    CHK_SYSCALL(logfile = open(fullname, O_WRONLY|O_CREAT|O_APPEND, 0644));
+    CHK_SYSCALL(logfile = open(fullname, O_WRONLY | O_CREAT | O_APPEND | O_CLOEXEC, 0644));
     free(fullname);
     assert(logfile >= 3);
 
-- 
2.39.2



^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-06-24 10:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-21 16:16 [PATCH for-4.19 v2] tools/xl: Open xldevd.log with O_CLOEXEC Andrew Cooper
2024-06-21 16:31 ` Marek Marczykowski-Górecki
2024-06-21 16:55 ` Anthony PERARD
2024-06-21 16:59   ` Andrew Cooper
2024-06-24  7:47     ` Jan Beulich
2024-06-24  7:46   ` Jan Beulich
2024-06-24 10:18   ` Andrew Cooper
2024-06-21 21:41 ` Demi Marie Obenour
2024-06-24  8:14 ` Oleksii

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.