kern_sysctl.c (46112) | kern_sysctl.c (46155) |
---|---|
1/*- 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Mike Karels at Berkeley Software Design, Inc. 7 * 8 * Quite extensively rewritten by Poul-Henning Kamp of the FreeBSD --- 23 unchanged lines hidden (view full) --- 32 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 33 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 37 * SUCH DAMAGE. 38 * 39 * @(#)kern_sysctl.c 8.4 (Berkeley) 4/14/94 | 1/*- 2 * Copyright (c) 1982, 1986, 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Mike Karels at Berkeley Software Design, Inc. 7 * 8 * Quite extensively rewritten by Poul-Henning Kamp of the FreeBSD --- 23 unchanged lines hidden (view full) --- 32 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 33 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 37 * SUCH DAMAGE. 38 * 39 * @(#)kern_sysctl.c 8.4 (Berkeley) 4/14/94 |
40 * $Id: kern_sysctl.c,v 1.86 1999/03/30 09:00:45 phk Exp $ | 40 * $Id: kern_sysctl.c,v 1.87 1999/04/27 11:16:05 phk Exp $ |
41 */ 42 43#include "opt_compat.h" 44 45#include <sys/param.h> 46#include <sys/buf.h> 47#include <sys/kernel.h> 48#include <sys/sysctl.h> --- 710 unchanged lines hidden (view full) --- 759 /* If writing isn't allowed */ 760 if (req->newptr && (!(oid->oid_kind & CTLFLAG_WR) || 761 ((oid->oid_kind & CTLFLAG_SECURE) && securelevel > 0))) 762 return (EPERM); 763 764 /* Most likely only root can write */ 765 if (!(oid->oid_kind & CTLFLAG_ANYBODY) && 766 req->newptr && req->p && | 41 */ 42 43#include "opt_compat.h" 44 45#include <sys/param.h> 46#include <sys/buf.h> 47#include <sys/kernel.h> 48#include <sys/sysctl.h> --- 710 unchanged lines hidden (view full) --- 759 /* If writing isn't allowed */ 760 if (req->newptr && (!(oid->oid_kind & CTLFLAG_WR) || 761 ((oid->oid_kind & CTLFLAG_SECURE) && securelevel > 0))) 762 return (EPERM); 763 764 /* Most likely only root can write */ 765 if (!(oid->oid_kind & CTLFLAG_ANYBODY) && 766 req->newptr && req->p && |
767 (i = suser(req->p))) | 767 (i = suser_xxx(0, req->p, 768 (oid->oid_kind & CTLFLAG_PRISON) ? PRISON_ROOT : 0))) |
768 return (i); 769 770 if (!oid->oid_handler) 771 return EINVAL; 772 773 if ((oid->oid_kind & CTLTYPE) == CTLTYPE_NODE) { 774 i = (oid->oid_handler) (oid, 775 name + indx, namelen - indx, --- 330 unchanged lines hidden --- | 769 return (i); 770 771 if (!oid->oid_handler) 772 return EINVAL; 773 774 if ((oid->oid_kind & CTLTYPE) == CTLTYPE_NODE) { 775 i = (oid->oid_handler) (oid, 776 name + indx, namelen - indx, --- 330 unchanged lines hidden --- |