From 6d1ce4168f5a52c136e43bf86897bfefcfa348d6 Mon Sep 17 00:00:00 2001 From: tegge Date: Sun, 19 Mar 2006 20:43:07 +0000 Subject: Don't call vn_finished_write() if vn_start_write() failed. --- sys/security/mac/mac_syscalls.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'sys/security/mac/mac_syscalls.c') diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c index fd28931..19e6d7d 100644 --- a/sys/security/mac/mac_syscalls.c +++ b/sys/security/mac/mac_syscalls.c @@ -1069,10 +1069,11 @@ __mac_set_file(struct thread *td, struct __mac_set_file_args *uap) vfslocked = NDHASGIANT(&nd); if (error == 0) { error = vn_start_write(nd.ni_vp, &mp, V_WAIT | PCATCH); - if (error == 0) + if (error == 0) { error = vn_setlabel(nd.ni_vp, intlabel, td->td_ucred); - vn_finished_write(mp); + vn_finished_write(mp); + } } NDFREE(&nd, 0); @@ -1122,10 +1123,11 @@ __mac_set_link(struct thread *td, struct __mac_set_link_args *uap) vfslocked = NDHASGIANT(&nd); if (error == 0) { error = vn_start_write(nd.ni_vp, &mp, V_WAIT | PCATCH); - if (error == 0) + if (error == 0) { error = vn_setlabel(nd.ni_vp, intlabel, td->td_ucred); - vn_finished_write(mp); + vn_finished_write(mp); + } } NDFREE(&nd, 0); -- cgit v1.1