Author: jamie
Date: Mon Apr 25 03:58:08 2016
New Revision: 298564
URL: https://svnweb.freebsd.org/changeset/base/298564

Log:
  Remove the PR_REMOVE flag, which was meant as a temporary marker for
  a jail that might be seen mid-removal.  It hasn't been doing the right
  thing since at least the ability to resurrect dying jails, and such
  resurrection also makes it unnecessary.

Modified:
  head/sys/kern/kern_jail.c
  head/sys/sys/jail.h

Modified: head/sys/kern/kern_jail.c
==============================================================================
--- head/sys/kern/kern_jail.c   Mon Apr 25 03:48:28 2016        (r298563)
+++ head/sys/kern/kern_jail.c   Mon Apr 25 03:58:08 2016        (r298564)
@@ -1222,7 +1222,7 @@ kern_jail_set(struct thread *td, struct 
                        }
                created = 1;
                mtx_lock(&ppr->pr_mtx);
-               if (ppr->pr_ref == 0 || (ppr->pr_flags & PR_REMOVE)) {
+               if (ppr->pr_ref == 0) {
                        mtx_unlock(&ppr->pr_mtx);
                        error = ENOENT;
                        vfs_opterror(opts, "parent jail went away!");
@@ -2273,7 +2273,6 @@ sys_jail_remove(struct thread *td, struc
 
        /* Remove all descendants of this prison, then remove this prison. */
        pr->pr_ref++;
-       pr->pr_flags |= PR_REMOVE;
        if (!LIST_EMPTY(&pr->pr_children)) {
                mtx_unlock(&pr->pr_mtx);
                lpr = NULL;
@@ -2282,7 +2281,6 @@ sys_jail_remove(struct thread *td, struc
                        if (cpr->pr_ref > 0) {
                                tpr = cpr;
                                cpr->pr_ref++;
-                               cpr->pr_flags |= PR_REMOVE;
                        } else {
                                /* Already removed - do not do it again. */
                                tpr = NULL;

Modified: head/sys/sys/jail.h
==============================================================================
--- head/sys/sys/jail.h Mon Apr 25 03:48:28 2016        (r298563)
+++ head/sys/sys/jail.h Mon Apr 25 03:58:08 2016        (r298564)
@@ -210,7 +210,6 @@ struct prison_racct {
                                        /* primary jail address. */
 
 /* Internal flag bits */
-#define        PR_REMOVE       0x01000000      /* In process of being removed 
*/
 #define        PR_IP4          0x02000000      /* IPv4 restricted or disabled 
*/
                                        /* by this jail or an ancestor */
 #define        PR_IP6          0x04000000      /* IPv6 restricted or disabled 
*/
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to