From owner-p4-projects Mon Aug 19 15:44: 9 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D54537B401; Mon, 19 Aug 2002 15:43:40 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DFA4C37B400 for ; Mon, 19 Aug 2002 15:43:39 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5AB1C43E6E for ; Mon, 19 Aug 2002 15:43:39 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from freefall.freebsd.org (perforce@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g7JMhdJU088674 for ; Mon, 19 Aug 2002 15:43:39 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g7JMhchi088671 for perforce@freebsd.org; Mon, 19 Aug 2002 15:43:38 -0700 (PDT) Date: Mon, 19 Aug 2002 15:43:38 -0700 (PDT) Message-Id: <200208192243.g7JMhchi088671@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson Subject: PERFORCE change 16304 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=16304 Change 16304 by rwatson@rwatson_paprika on 2002/08/19 15:43:14 Integ more stuff from the main FreeBSD tree: trickled back mac_syscall() changes such as change to MSTD. Affected files ... .. //depot/projects/trustedbsd/base/lib/libc/locale/wcwidth.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/tx/if_tx.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/tx/if_txvar.h#2 integrate .. //depot/projects/trustedbsd/base/sys/kern/init_sysent.c#15 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_mac.c#9 integrate .. //depot/projects/trustedbsd/base/sys/kern/syscalls.c#15 integrate .. //depot/projects/trustedbsd/base/sys/kern/syscalls.master#15 integrate .. //depot/projects/trustedbsd/base/sys/net/if_ppp.c#10 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_input.c#19 integrate .. //depot/projects/trustedbsd/base/sys/netinet6/udp6_usrreq.c#10 integrate .. //depot/projects/trustedbsd/base/sys/sys/syscall.h#16 integrate .. //depot/projects/trustedbsd/base/sys/sys/syscall.mk#16 integrate .. //depot/projects/trustedbsd/base/sys/sys/sysproto.h#17 integrate Differences ... ==== //depot/projects/trustedbsd/base/lib/libc/locale/wcwidth.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/wcwidth.c,v 1.2 2002/08/19 09:02:49 ache Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/wcwidth.c,v 1.5 2002/08/19 20:32:27 ache Exp $"); #include #include @@ -49,10 +49,14 @@ #define _CTYPE_SWS 30 /* Bits to shift to get width */ int -wcwidth(wc) - wchar_t wc; +wcwidth(wchar_t wc) { - int width = __maskrune(wc, _CTYPE_SWM); + int width; + + if (wc == L'\0') + return (0); + + width = __maskrune(wc, _CTYPE_SWM); /* 0 is autowidth (default) */ return (width ? (int)((unsigned)width >> _CTYPE_SWS) ==== //depot/projects/trustedbsd/base/sys/dev/tx/if_tx.c#4 (text+ko) ==== @@ -1,5 +1,5 @@ /* $OpenBSD: if_tx.c,v 1.9.2.1 2000/02/21 22:29:13 niklas Exp $ */ -/* $FreeBSD: src/sys/dev/tx/if_tx.c,v 1.57 2002/05/01 19:23:04 semenu Exp $ */ +/* $FreeBSD: src/sys/dev/tx/if_tx.c,v 1.59 2002/08/19 20:36:08 semenu Exp $ */ /*- * Copyright (c) 1997 Semen Ustimenko (semenu@FreeBSD.org) @@ -508,20 +508,12 @@ goto fail; } - /* Bring the chip out of low-power mode and reset it. */ - CSR_WRITE_4( sc, GENCTL, GENCTL_SOFT_RESET ); - DELAY(500); - - /* Workaround for Application Note 7-15 */ - for (i=0; i<16; i++) CSR_WRITE_4(sc, TEST1, TEST1_CLOCK_TEST); - /* Do OS independent part, including chip wakeup and reset */ - if (epic_common_attach(sc)) { - device_printf(dev, "memory distribution error\n"); + error = epic_common_attach(sc); + if (error) { bus_teardown_intr(dev, sc->irq, sc->sc_ih); bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq); bus_release_resource(dev, EPIC_RES, EPIC_RID, sc->res); - error = ENXIO; goto fail; } @@ -589,7 +581,9 @@ bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq); bus_release_resource(dev, EPIC_RES, EPIC_RID, sc->res); - free(sc->pool, M_DEVBUF); + free(sc->tx_flist, M_DEVBUF); + free(sc->tx_desc, M_DEVBUF); + free(sc->rx_desc, M_DEVBUF); splx(s); @@ -763,29 +757,22 @@ epic_softc_t *sc; { int i; - caddr_t pool; - i = sizeof(struct epic_frag_list)*TX_RING_SIZE + - sizeof(struct epic_rx_desc)*RX_RING_SIZE + - sizeof(struct epic_tx_desc)*TX_RING_SIZE + PAGE_SIZE, - sc->pool = (epic_softc_t *) malloc(i, M_DEVBUF, M_NOWAIT | M_ZERO); + sc->tx_flist = malloc(sizeof(struct epic_frag_list)*TX_RING_SIZE, + M_DEVBUF, M_NOWAIT | M_ZERO); + sc->tx_desc = malloc(sizeof(struct epic_tx_desc)*TX_RING_SIZE, + M_DEVBUF, M_NOWAIT | M_ZERO); + sc->rx_desc = malloc(sizeof(struct epic_rx_desc)*RX_RING_SIZE, + M_DEVBUF, M_NOWAIT | M_ZERO); - if (sc->pool == NULL) { - printf(": can't allocate memory for buffers\n"); - return -1; + if (sc->tx_flist == NULL || sc->tx_desc == NULL || sc->rx_desc == NULL){ + device_printf(sc->dev, "Failed to malloc memory\n"); + if (sc->tx_flist) free(sc->tx_flist, M_DEVBUF); + if (sc->tx_desc) free(sc->tx_desc, M_DEVBUF); + if (sc->rx_desc) free(sc->rx_desc, M_DEVBUF); + return (ENOMEM); } - /* Align pool on PAGE_SIZE */ - pool = (caddr_t)sc->pool; - pool = (caddr_t)((uintptr_t)(pool + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1)); - - /* Distribute memory */ - sc->tx_flist = (void *)pool; - pool += sizeof(struct epic_frag_list)*TX_RING_SIZE; - sc->rx_desc = (void *)pool; - pool += sizeof(struct epic_rx_desc)*RX_RING_SIZE; - sc->tx_desc = (void *)pool; - /* Bring the chip out of low-power mode. */ CSR_WRITE_4( sc, GENCTL, GENCTL_SOFT_RESET); DELAY(500); ==== //depot/projects/trustedbsd/base/sys/dev/tx/if_txvar.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /* $OpenBSD: if_txvar.h,v 1.7 1999/11/17 05:21:19 jason Exp $ */ -/* $FreeBSD: src/sys/dev/tx/if_txvar.h,v 1.11 2002/04/19 22:43:44 semenu Exp $ */ +/* $FreeBSD: src/sys/dev/tx/if_txvar.h,v 1.12 2002/08/19 20:36:08 semenu Exp $ */ /*- * Copyright (c) 1997 Semen Ustimenko @@ -107,7 +107,6 @@ struct mii_softc *physc; u_int32_t phyid; int serinst; - void *pool; } epic_softc_t; struct epic_type { ==== //depot/projects/trustedbsd/base/sys/kern/init_sysent.c#15 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.130 2002/08/06 15:16:55 rwatson Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.120 2002/08/06 15:15:53 rwatson Exp + * $FreeBSD: src/sys/kern/init_sysent.c,v 1.131 2002/08/19 20:02:29 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.121 2002/08/19 20:01:31 rwatson Exp */ #include "opt_compat.h" @@ -422,5 +422,5 @@ { AS(lchflags_args), (sy_call_t *)lchflags }, /* 391 = lchflags */ { AS(uuidgen_args), (sy_call_t *)uuidgen }, /* 392 = uuidgen */ { SYF_MPSAFE | AS(sendfile_args), (sy_call_t *)sendfile }, /* 393 = sendfile */ - { SYF_MPSAFE | AS(mac_syscall_args), (sy_call_t *)nosys }, /* 394 = mac_syscall */ + { SYF_MPSAFE | AS(mac_syscall_args), (sy_call_t *)mac_syscall }, /* 394 = mac_syscall */ }; ==== //depot/projects/trustedbsd/base/sys/kern/kern_mac.c#9 (text+ko) ==== @@ -36,7 +36,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/kern/kern_mac.c,v 1.14 2002/08/19 19:04:51 rwatson Exp $ + * $FreeBSD: src/sys/kern/kern_mac.c,v 1.15 2002/08/19 20:26:32 rwatson Exp $ */ /* * Developed by the TrustedBSD Project. @@ -2120,7 +2120,6 @@ return (error); } - /* * When relabeling a process, call out to the policies for the maximum * permission allowed for each object type we know about in its @@ -2285,7 +2284,6 @@ { MAC_PERFORM(relabel_cred, cred, newlabel); - mac_cred_mmapped_drop_perms(curthread, cred); } void @@ -3002,8 +3000,6 @@ /* * MPSAFE - * - * XXX: Needs to be re-written for proc locking. */ int __mac_set_proc(struct thread *td, struct __mac_set_proc_args *uap) @@ -3038,12 +3034,19 @@ setsugid(p); crcopy(newcred, oldcred); - PROC_UNLOCK(p); mac_relabel_cred(newcred, &intlabel); + p->p_ucred = newcred; - PROC_LOCK(p); - p->p_ucred = newcred; + /* + * Grab additional reference for use while revoking mmaps, prior + * to releasing the proc lock and sharing the cred. + */ + crhold(newcred); PROC_UNLOCK(p); + + mac_cred_mmapped_drop_perms(td, newcred); + + crfree(newcred); /* Free revocation reference. */ crfree(oldcred); mac_destroy_temp(&intlabel); return (0); ==== //depot/projects/trustedbsd/base/sys/kern/syscalls.c#15 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.116 2002/08/06 15:16:55 rwatson Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.120 2002/08/06 15:15:53 rwatson Exp + * $FreeBSD: src/sys/kern/syscalls.c,v 1.117 2002/08/19 20:02:29 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.121 2002/08/19 20:01:31 rwatson Exp */ char *syscallnames[] = { ==== //depot/projects/trustedbsd/base/sys/kern/syscalls.master#15 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/kern/syscalls.master,v 1.120 2002/08/06 15:15:53 rwatson Exp $ + $FreeBSD: src/sys/kern/syscalls.master,v 1.121 2002/08/19 20:01:31 rwatson Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; ; System call name/number master file. @@ -567,5 +567,5 @@ 392 STD BSD { int uuidgen(struct uuid *store, int count); } 393 MSTD BSD { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ struct sf_hdtr *hdtr, off_t *sbytes, int flags); } -394 MNOIMPL BSD { int mac_syscall(const char *policy, int call, \ +394 MSTD BSD { int mac_syscall(const char *policy, int call, \ void *arg); } ==== //depot/projects/trustedbsd/base/sys/net/if_ppp.c#10 (text+ko) ==== @@ -69,7 +69,7 @@ * Paul Mackerras (paulus@cs.anu.edu.au). */ -/* $FreeBSD: src/sys/net/if_ppp.c,v 1.82 2002/08/15 19:02:17 rwatson Exp $ */ +/* $FreeBSD: src/sys/net/if_ppp.c,v 1.83 2002/08/19 19:22:41 brooks Exp $ */ /* from if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp */ /* from NetBSD: if_ppp.c,v 1.15.2.2 1994/07/28 05:17:58 cgd Exp */ @@ -220,7 +220,7 @@ bpfattach(&sc->sc_if, DLT_PPP, PPP_HDRLEN); LIST_INSERT_HEAD(&ppp_softc_list, sc, sc_list); - return 1; + return (0); } static void @@ -263,8 +263,7 @@ while (!LIST_EMPTY(&ppp_softc_list)) ppp_clone_destroy( &LIST_FIRST(&ppp_softc_list)->sc_if); - - return EINVAL; + break; } return 0; } ==== //depot/projects/trustedbsd/base/sys/netinet/tcp_input.c#19 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.171 2002/08/17 18:26:01 dillon Exp $ + * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.172 2002/08/19 19:47:11 jmallett Exp $ */ #include "opt_ipfw.h" /* for ipfw_fwd */ @@ -576,14 +576,18 @@ if (inp == NULL) { if (log_in_vain) { #ifdef INET6 - char dbuf[INET6_ADDRSTRLEN], sbuf[INET6_ADDRSTRLEN]; + char dbuf[INET6_ADDRSTRLEN+2], sbuf[INET6_ADDRSTRLEN+2]; #else char dbuf[4*sizeof "123"], sbuf[4*sizeof "123"]; #endif if (isipv6) { - strcpy(dbuf, ip6_sprintf(&ip6->ip6_dst)); - strcpy(sbuf, ip6_sprintf(&ip6->ip6_src)); + strcpy(dbuf, "["); + strcpy(sbuf, "["); + strcat(dbuf, ip6_sprintf(&ip6->ip6_dst)); + strcat(sbuf, ip6_sprintf(&ip6->ip6_src)); + strcat(dbuf, "]"); + strcat(sbuf, "]"); } else { strcpy(dbuf, inet_ntoa(ip->ip_dst)); strcpy(sbuf, inet_ntoa(ip->ip_src)); ==== //depot/projects/trustedbsd/base/sys/netinet6/udp6_usrreq.c#10 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.30 2002/07/25 17:40:45 ume Exp $ */ +/* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.31 2002/08/19 19:47:13 jmallett Exp $ */ /* $KAME: udp6_usrreq.c,v 1.27 2001/05/21 05:45:10 jinmei Exp $ */ /* @@ -346,7 +346,7 @@ strcpy(buf, ip6_sprintf(&ip6->ip6_dst)); log(LOG_INFO, - "Connection attempt to UDP %s:%d from %s:%d\n", + "Connection attempt to UDP [%s]:%d from [%s]:%d\n", buf, ntohs(uh->uh_dport), ip6_sprintf(&ip6->ip6_src), ntohs(uh->uh_sport)); } ==== //depot/projects/trustedbsd/base/sys/sys/syscall.h#16 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.115 2002/08/06 15:16:55 rwatson Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.120 2002/08/06 15:15:53 rwatson Exp + * $FreeBSD: src/sys/sys/syscall.h,v 1.116 2002/08/19 20:02:29 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.121 2002/08/19 20:01:31 rwatson Exp */ #define SYS_syscall 0 ==== //depot/projects/trustedbsd/base/sys/sys/syscall.mk#16 (text+ko) ==== @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.70 2002/08/06 15:16:55 rwatson Exp $ -# created from FreeBSD: src/sys/kern/syscalls.master,v 1.120 2002/08/06 15:15:53 rwatson Exp +# $FreeBSD: src/sys/sys/syscall.mk,v 1.71 2002/08/19 20:02:29 rwatson Exp $ +# created from FreeBSD: src/sys/kern/syscalls.master,v 1.121 2002/08/19 20:01:31 rwatson Exp MIASM = \ syscall.o \ exit.o \ ==== //depot/projects/trustedbsd/base/sys/sys/sysproto.h#17 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/sysproto.h,v 1.107 2002/08/06 15:16:55 rwatson Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.120 2002/08/06 15:15:53 rwatson Exp + * $FreeBSD: src/sys/sys/sysproto.h,v 1.108 2002/08/19 20:02:29 rwatson Exp $ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.121 2002/08/19 20:01:31 rwatson Exp */ #ifndef _SYS_SYSPROTO_H_ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message