diff options
| author | elad <elad@NetBSD.org> | 2006-12-14 11:15:27 +0000 |
|---|---|---|
| committer | elad <elad@NetBSD.org> | 2006-12-14 11:15:27 +0000 |
| commit | aa4d8a2d6caf3e39503b44d040cfbc0a41480191 (patch) | |
| tree | 543e3d78993af7e40efec3cd243ba9e12515b0a3 | |
| parent | 4cfe5a1b4128cd1a9f16c727a9edf38272768a14 (diff) | |
PR/35252: YAMAMOTO Takashi: veriexec doesn't handle unmount
Call veriexec_table_delete() in the cases where we won't be failing the
unmount request.
| -rw-r--r-- | sys/kern/kern_verifiedexec.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/kern/kern_verifiedexec.c b/sys/kern/kern_verifiedexec.c index bee03b05033..8e4f30e1f92 100644 --- a/sys/kern/kern_verifiedexec.c +++ b/sys/kern/kern_verifiedexec.c @@ -1,4 +1,4 @@ -/* $NetBSD: kern_verifiedexec.c,v 1.80 2006/12/14 05:15:33 elad Exp $ */ +/* $NetBSD: kern_verifiedexec.c,v 1.81 2006/12/14 11:15:27 elad Exp $ */ /*- * Copyright 2005 Elad Efrat <elad@NetBSD.org> @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_verifiedexec.c,v 1.80 2006/12/14 05:15:33 elad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_verifiedexec.c,v 1.81 2006/12/14 11:15:27 elad Exp $"); #include "opt_veriexec.h" @@ -1173,6 +1173,11 @@ veriexec_unmountchk(struct mount *mp) switch (veriexec_strict) { case VERIEXEC_LEARNING: case VERIEXEC_IDS: + if (veriexec_table_delete(mp) == 0) { + log(LOG_INFO, "Veriexec: IDS mode, allowing unmount " + "of \"%s\".\n", mp->mnt_stat.f_mntonname); + } + error = 0; break; @@ -1182,7 +1187,7 @@ veriexec_unmountchk(struct mount *mp) vte = fileassoc_tabledata_lookup(mp, veriexec_hook); if ((vte != NULL) && (vte->vte_count > 0)) { log(LOG_ALERT, "Veriexec: IPS mode, preventing" - " unmount of \"%s\" with monitored files.", + " unmount of \"%s\" with monitored files.\n", mp->mnt_stat.f_mntonname); error = EPERM; |
