diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c index a8900dc90dd..d4fa3f10003 100644 --- a/sys/kern/vfs_extattr.c +++ b/sys/kern/vfs_extattr.c @@ -1018,6 +1018,8 @@ kern_open(struct thread *td, char *path, enum uio_seg pathseg, int flags, * Handle the case where someone closed the file (via its file * descriptor) while we were blocked. The end result should look * like opening the file succeeded but it was immediately closed. + * We call vn_close() manually because we haven't yet hooked up + * the various 'struct file' fields. */ FILEDESC_LOCK(fdp); FILE_LOCK(fp); diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index a8900dc90dd..d4fa3f10003 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -1018,6 +1018,8 @@ kern_open(struct thread *td, char *path, enum uio_seg pathseg, int flags, * Handle the case where someone closed the file (via its file * descriptor) while we were blocked. The end result should look * like opening the file succeeded but it was immediately closed. + * We call vn_close() manually because we haven't yet hooked up + * the various 'struct file' fields. */ FILEDESC_LOCK(fdp); FILE_LOCK(fp);