diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2011-01-10 19:31:02 +0000 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2011-01-10 19:31:02 +0000 |
commit | ad50450a22ec090a4377a03bdba6ab3a13ca8b34 (patch) | |
tree | 46b3a7ff507b91aea1987845a38b1e57926911e9 /lib/misc/lvm-exec.c | |
parent | 0825c244dd1d0d11dfcac31560f53f280a2bc8c5 (diff) | |
download | lvm2-ad50450a22ec090a4377a03bdba6ab3a13ca8b34.tar.gz lvm2-ad50450a22ec090a4377a03bdba6ab3a13ca8b34.tar.xz lvm2-ad50450a22ec090a4377a03bdba6ab3a13ca8b34.zip |
Avoid cookie sharing between forked processes
Before fork, ensure cookie is reset so it's not shared between processes.
Diffstat (limited to 'lib/misc/lvm-exec.c')
-rw-r--r-- | lib/misc/lvm-exec.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/misc/lvm-exec.c b/lib/misc/lvm-exec.c index 5cad79eb..6dde265c 100644 --- a/lib/misc/lvm-exec.c +++ b/lib/misc/lvm-exec.c @@ -54,6 +54,8 @@ int exec_cmd(struct cmd_context *cmd, const char *const argv[], int *rstatus) log_verbose("Executing: %s", _verbose_args(argv, buf, sizeof(buf))); + fs_unlock(); /* Flush oops and ensure cookie is not shared */ + if ((pid = fork()) == -1) { log_error("fork failed: %s", strerror(errno)); return 0; |