aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/kern/vfs_extattr.c5
-rw-r--r--sys/kern/vfs_syscalls.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c
index b260d556ac72..f8397ab59bfb 100644
--- a/sys/kern/vfs_extattr.c
+++ b/sys/kern/vfs_extattr.c
@@ -3622,8 +3622,11 @@ fhopen(td, uap)
* end of vn_open code
*/
- if ((error = falloc(td, &nfp, &indx)) != 0)
+ if ((error = falloc(td, &nfp, &indx)) != 0) {
+ if (fmode & FWRITE)
+ vp->v_writecount--;
goto bad;
+ }
fp = nfp;
/*
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index b260d556ac72..f8397ab59bfb 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -3622,8 +3622,11 @@ fhopen(td, uap)
* end of vn_open code
*/
- if ((error = falloc(td, &nfp, &indx)) != 0)
+ if ((error = falloc(td, &nfp, &indx)) != 0) {
+ if (fmode & FWRITE)
+ vp->v_writecount--;
goto bad;
+ }
fp = nfp;
/*