diff options
author | kib <kib@FreeBSD.org> | 2010-07-06 18:20:49 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2010-07-06 18:20:49 +0000 |
commit | 15d16124c27c4ef7f603e2c4c45f95cceec5d782 (patch) | |
tree | 87b16e0adcd9f7b94fcadb0bbabb36c89157e679 /sys/kern/vfs_syscalls.c | |
parent | 456af8636374d4f5114fe0e7aa3248920b207afa (diff) | |
download | FreeBSD-src-15d16124c27c4ef7f603e2c4c45f95cceec5d782.zip FreeBSD-src-15d16124c27c4ef7f603e2c4c45f95cceec5d782.tar.gz |
In revoke(), verify that VCHR vnode indeed belongs to devfs.
Found and tested by: pho
MFC after: 1 week
Diffstat (limited to 'sys/kern/vfs_syscalls.c')
-rw-r--r-- | sys/kern/vfs_syscalls.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index ab0627d..4fd9dfa 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -4215,7 +4215,7 @@ revoke(td, uap) vfslocked = NDHASGIANT(&nd); vp = nd.ni_vp; NDFREE(&nd, NDF_ONLY_PNBUF); - if (vp->v_type != VCHR) { + if (vp->v_type != VCHR || vp->v_rdev == NULL) { error = EINVAL; goto out; } |