In kvm_openfiles/kvm_open, mark the file descriptors as close-on-exec.
Applications can not do this themselves, as the descriptors are hidden behind the opaque `kvm_t' type.
This commit is contained in:
parent
dde97b32ff
commit
f76b74d6d7
@ -180,6 +180,10 @@ _kvm_open(kd, uf, mf, flag, errout)
|
||||
_kvm_syserr(kd, kd->program, "%s", mf);
|
||||
goto failed;
|
||||
}
|
||||
if (fcntl(kd->pmfd, F_SETFD, FD_CLOEXEC) < 0) {
|
||||
_kvm_syserr(kd, kd->program, "%s", mf);
|
||||
goto failed;
|
||||
}
|
||||
if (S_ISCHR(st.st_mode)) {
|
||||
/*
|
||||
* If this is a character special device, then check that
|
||||
@ -198,6 +202,10 @@ _kvm_open(kd, uf, mf, flag, errout)
|
||||
_kvm_syserr(kd, kd->program, "%s", _PATH_KMEM);
|
||||
goto failed;
|
||||
}
|
||||
if (fcntl(kd->vmfd, F_SETFD, FD_CLOEXEC) < 0) {
|
||||
_kvm_syserr(kd, kd->program, "%s", _PATH_KMEM);
|
||||
goto failed;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/*
|
||||
@ -209,6 +217,10 @@ _kvm_open(kd, uf, mf, flag, errout)
|
||||
_kvm_syserr(kd, kd->program, "%s", uf);
|
||||
goto failed;
|
||||
}
|
||||
if (fcntl(kd->nlfd, F_SETFD, FD_CLOEXEC) < 0) {
|
||||
_kvm_syserr(kd, kd->program, "%s", uf);
|
||||
goto failed;
|
||||
}
|
||||
if (_kvm_initvtop(kd) < 0)
|
||||
goto failed;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user