1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-21 15:45:02 +00:00

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:
Jacques Vidrine 2002-09-11 16:41:39 +00:00
parent dde97b32ff
commit f76b74d6d7
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=103224

View File

@ -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;
}