Author: pfg
Date: Sun Jul  6 17:23:25 2014
New Revision: 268324
URL: http://svnweb.freebsd.org/changeset/base/268324

Log:
  MFC   r268125:
  
  Small merges from OpenSolaris:
  
  These have no effect on FreeBSD, in fact they are ifdef'ed,
  but make easier future merges:
  
  6699767 panic in spec_open()
  
  6718877 crgetzoneid() use can cause problems when forking processes with
  USDT providers in a non global zone

Modified:
  stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/cddl/contrib/opensolaris/   (props changed)

Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
==============================================================================
--- stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c    Sun Jul 
 6 17:18:48 2014        (r268323)
+++ stable/9/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c    Sun Jul 
 6 17:23:25 2014        (r268324)
@@ -11676,7 +11676,8 @@ dtrace_enabling_matchall(void)
 #if defined(sun)
                cred_t *cr = enab->dten_vstate->dtvs_state->dts_cred.dcr_cred;
 
-               if (INGLOBALZONE(curproc) || getzoneid() == crgetzoneid(cr))
+               if (INGLOBALZONE(curproc) ||
+                   cr != NULL && getzoneid() == crgetzoneid(cr))
 #endif
                        (void) dtrace_enabling_match(enab, NULL);
        }
@@ -15682,7 +15683,8 @@ dtrace_open(struct cdev *dev, int oflags
         * If this wasn't an open with the "helper" minor, then it must be
         * the "dtrace" minor.
         */
-       ASSERT(getminor(*devp) == DTRACEMNRN_DTRACE);
+       if (getminor(*devp) == DTRACEMNRN_DTRACE)
+               return (ENXIO);
 #else
        cred_t *cred_p = NULL;
 
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to