From owner-svn-src-head@FreeBSD.ORG Sat Mar 3 11:53:36 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 698F91065672; Sat, 3 Mar 2012 11:53:36 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 053908FC14; Sat, 3 Mar 2012 11:53:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q23BrZ0h080534; Sat, 3 Mar 2012 11:53:35 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q23BrZuv080532; Sat, 3 Mar 2012 11:53:35 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201203031153.q23BrZuv080532@svn.freebsd.org> From: Mikolaj Golub Date: Sat, 3 Mar 2012 11:53:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r232455 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Mar 2012 11:53:36 -0000 Author: trociny Date: Sat Mar 3 11:53:35 2012 New Revision: 232455 URL: http://svn.freebsd.org/changeset/base/232455 Log: Make kern.proc.umask sysctl readonly. Requested by: src MFC after: 1 week Modified: head/sys/kern/kern_proc.c Modified: head/sys/kern/kern_proc.c ============================================================================== --- head/sys/kern/kern_proc.c Sat Mar 3 11:50:48 2012 (r232454) +++ head/sys/kern/kern_proc.c Sat Mar 3 11:53:35 2012 (r232455) @@ -2473,8 +2473,7 @@ sysctl_kern_proc_ps_strings(SYSCTL_HANDL } /* - * This sysctl allows a process to retrieve or/and set umask of - * another process. + * This sysctl allows a process to retrieve umask of another process. */ static int sysctl_kern_proc_umask(SYSCTL_HANDLER_ARGS) @@ -2488,9 +2487,6 @@ sysctl_kern_proc_umask(SYSCTL_HANDLER_AR if (namelen != 1) return (EINVAL); - if (req->newptr != NULL && req->newlen != sizeof(fd_cmask)) - return (EINVAL); - error = pget((pid_t)name[0], PGET_WANTREAD, &p); if (error != 0) return (error); @@ -2498,20 +2494,8 @@ sysctl_kern_proc_umask(SYSCTL_HANDLER_AR FILEDESC_SLOCK(p->p_fd); fd_cmask = p->p_fd->fd_cmask; FILEDESC_SUNLOCK(p->p_fd); - error = SYSCTL_OUT(req, &fd_cmask, sizeof(fd_cmask)); - if (error != 0) - goto errout; - - if (req->newptr != NULL) { - error = SYSCTL_IN(req, &fd_cmask, sizeof(fd_cmask)); - if (error == 0) { - FILEDESC_XLOCK(p->p_fd); - p->p_fd->fd_cmask = fd_cmask & ALLPERMS; - FILEDESC_XUNLOCK(p->p_fd); - } - } -errout: PRELE(p); + error = SYSCTL_OUT(req, &fd_cmask, sizeof(fd_cmask)); return (error); } @@ -2617,6 +2601,5 @@ static SYSCTL_NODE(_kern_proc, KERN_PROC CTLFLAG_MPSAFE, sysctl_kern_proc_ps_strings, "Process ps_strings location"); -static SYSCTL_NODE(_kern_proc, KERN_PROC_UMASK, umask, CTLFLAG_RW | - CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, sysctl_kern_proc_umask, - "Process umask"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_UMASK, umask, CTLFLAG_RD | + CTLFLAG_MPSAFE, sysctl_kern_proc_umask, "Process umask");