Author: pluknet
Date: Fri Jul  1 10:25:48 2011
New Revision: 223707
URL: http://svn.freebsd.org/changeset/base/223707

Log:
  MFC r223182:
  
   Return empty cmdline/environ string for processes with kernel address
   space. This is consistent with the behavior in linux.
  
  PR:           kern/157871

Modified:
  stable/8/sys/compat/linprocfs/linprocfs.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/compat/linprocfs/linprocfs.c
==============================================================================
--- stable/8/sys/compat/linprocfs/linprocfs.c   Fri Jul  1 08:27:03 2011        
(r223706)
+++ stable/8/sys/compat/linprocfs/linprocfs.c   Fri Jul  1 10:25:48 2011        
(r223707)
@@ -1046,6 +1046,15 @@ linprocfs_doproccmdline(PFS_FILL_ARGS)
                PROC_UNLOCK(p);
                return (ret);
        }
+
+       /*
+        * Mimic linux behavior and pass only processes with usermode
+        * address space as valid.  Return zero silently otherwize.
+        */
+       if (p->p_vmspace == &vmspace0) {
+               PROC_UNLOCK(p);
+               return (0);
+       }
        if (p->p_args != NULL) {
                sbuf_bcpy(sb, p->p_args->ar_args, p->p_args->ar_length);
                PROC_UNLOCK(p);
@@ -1070,6 +1079,15 @@ linprocfs_doprocenviron(PFS_FILL_ARGS)
                PROC_UNLOCK(p);
                return (ret);
        }
+
+       /*
+        * Mimic linux behavior and pass only processes with usermode
+        * address space as valid.  Return zero silently otherwize.
+        */
+       if (p->p_vmspace == &vmspace0) {
+               PROC_UNLOCK(p);
+               return (0);
+       }
        PROC_UNLOCK(p);
 
        ret = linprocfs_doargv(td, p, sb, ps_string_env);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to