patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
Index: miscfs/procfs/procfs_ctl.c
 | 
						|
===================================================================
 | 
						|
RCS file: /home/ncvs/src/sys/miscfs/procfs/procfs_ctl.c,v
 | 
						|
retrieving revision 1.20
 | 
						|
retrieving revision 1.20.2.1
 | 
						|
diff -u -r1.20 -r1.20.2.1
 | 
						|
--- miscfs/procfs/procfs_ctl.c	1999/12/08 08:59:36	1.20
 | 
						|
+++ miscfs/procfs/procfs_ctl.c	2000/12/17 03:13:05	1.20.2.1
 | 
						|
@@ -111,6 +111,20 @@
 | 
						|
 	int error;
 | 
						|
 
 | 
						|
 	/*
 | 
						|
+	 * Authorization check: rely on normal debugging protection, except
 | 
						|
+	 * allow processes to disengage debugging on a process onto which
 | 
						|
+	 * they have previously attached, but no longer have permission to
 | 
						|
+	 * debug.
 | 
						|
+	 */
 | 
						|
+	if (op != PROCFS_CTL_DETACH) {
 | 
						|
+		if (securelevel > 0 && p->p_pid == 1)
 | 
						|
+			return (EPERM);
 | 
						|
+
 | 
						|
+		if (!CHECKIO(curp, p) || p_trespass(curp, p))
 | 
						|
+			return (EPERM);
 | 
						|
+	}
 | 
						|
+
 | 
						|
+	/*
 | 
						|
 	 * Attach - attaches the target process for debugging
 | 
						|
 	 * by the calling process.
 | 
						|
 	 */
 | 
						|
@@ -122,10 +136,6 @@
 | 
						|
 		/* can't trace yourself! */
 | 
						|
 		if (p->p_pid == curp->p_pid)
 | 
						|
 			return (EINVAL);
 | 
						|
-
 | 
						|
-		/* can't trace init when securelevel > 0 */
 | 
						|
-		if (securelevel > 0 && p->p_pid == 1)
 | 
						|
-			return (EPERM);
 | 
						|
 
 | 
						|
 		/*
 | 
						|
 		 * Go ahead and set the trace flag.
 |