From owner-p4-projects@FreeBSD.ORG Sun Jun 10 00:24:29 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4723F16A4C6; Sun, 10 Jun 2007 00:24:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0A12116A485 for ; Sun, 10 Jun 2007 00:24:29 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id EEB0013C458 for ; Sun, 10 Jun 2007 00:24:28 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5A0OSI6071967 for ; Sun, 10 Jun 2007 00:24:28 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5A0OSFe071951 for perforce@freebsd.org; Sun, 10 Jun 2007 00:24:28 GMT (envelope-from sam@freebsd.org) Date: Sun, 10 Jun 2007 00:24:28 GMT Message-Id: <200706100024.l5A0OSFe071951@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 121312 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jun 2007 00:24:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=121312 Change 121312 by sam@sam_laptop on 2007/06/10 00:23:48 change get sta info and get scan results ioctl's to include the offset to the variable length data in each record so user applications no longer are wed to structure sizes; this permits us to grow these data structures while still maintain backwards compatibility Affected files ... .. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#68 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#80 edit .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#41 edit .. //depot/projects/wifi/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#7 edit Differences ... ==== //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#68 (text+ko) ==== @@ -1018,7 +1018,7 @@ } static int -getmaxrate(uint8_t rates[15], uint8_t nrates) +getmaxrate(const uint8_t rates[15], uint8_t nrates) { int i, maxrate = -1; @@ -1488,11 +1488,11 @@ ); cp = buf; do { - struct ieee80211req_scan_result *sr; - uint8_t *vp; + const struct ieee80211req_scan_result *sr; + const uint8_t *vp; - sr = (struct ieee80211req_scan_result *) cp; - vp = (u_int8_t *)(sr+1); + sr = (const struct ieee80211req_scan_result *) cp; + vp = ((const u_int8_t *)sr) + sr->isr_ie_off; printf("%-*.*s %s %3d %3dM %3d:%-3d %3d %-4.4s" , ssidmax , copy_essid(ssid, ssidmax, vp, sr->isr_ssid_len) @@ -1504,7 +1504,7 @@ , sr->isr_intval , getcaps(sr->isr_capinfo) ); - printies(vp + sr->isr_ssid_len, sr->isr_ie_len, 24);; + printies(vp + sr->isr_ssid_len, sr->isr_ie_len, 24); printf("\n"); cp += sr->isr_len, len -= sr->isr_len; } while (len >= sizeof(struct ieee80211req_scan_result)); @@ -1565,7 +1565,7 @@ } u; enum ieee80211_opmode opmode = get80211opmode(s); struct ieee80211req ireq; - uint8_t *cp; + const uint8_t *cp; int len; (void) memset(&ireq, 0, sizeof(ireq)); @@ -1604,15 +1604,13 @@ , "CAPS" , "FLAG" ); - cp = (uint8_t *) u.req.info; + cp = (const uint8_t *) u.req.info; do { - struct ieee80211req_sta_info *si; - uint8_t *vp; + const struct ieee80211req_sta_info *si; - si = (struct ieee80211req_sta_info *) cp; + si = (const struct ieee80211req_sta_info *) cp; if (si->isi_len < sizeof(*si)) break; - vp = (u_int8_t *)(si+1); printf("%s %4u %4d %3dM %3.1f %4d %6d %6d %-4.4s %-4.4s" , ether_ntoa((const struct ether_addr*) si->isi_macaddr) , IEEE80211_AID(si->isi_associd) @@ -1625,7 +1623,7 @@ , getcaps(si->isi_capinfo) , getflags(si->isi_state) ); - printies(vp, si->isi_ie_len, 24); + printies(cp + si->isi_ie_off, si->isi_ie_len, 24); printf("\n"); cp += si->isi_len, len -= si->isi_len; } while (len >= sizeof(struct ieee80211req_sta_info)); ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#80 (text+ko) ==== @@ -430,7 +430,7 @@ sr = req->sr; KASSERT(len <= 65535 && ielen <= 65535, ("len %u ssid %u ie %u", len, se->se_ssid[1], ielen)); - sr->isr_ssid_len = se->se_ssid[1]; + sr->isr_ie_off = sizeof(struct ieee80211req_scan_result); sr->isr_ie_len = ielen; sr->isr_len = len; sr->isr_freq = se->se_chan->ic_freq; @@ -447,10 +447,12 @@ memcpy(sr->isr_rates+nr, se->se_xrates+2, nxr); sr->isr_nrates = nr + nxr; - cp = (uint8_t *)(sr+1); + sr->isr_ssid_len = se->se_ssid[1]; + cp = ((uint8_t *)sr) + sr->isr_ie_off; memcpy(cp, se->se_ssid+2, sr->isr_ssid_len); - cp += sr->isr_ssid_len; - if (sr->isr_ie_len) { + + if (ielen) { + cp += sr->isr_ssid_len; cp = copyie(cp, se->se_wpa_ie); cp = copyie(cp, se->se_rsn_ie); cp = copyie(cp, se->se_wme_ie); @@ -550,6 +552,7 @@ return; si = req->si; si->isi_len = len; + si->isi_ie_off = sizeof(struct ieee80211req_sta_info); si->isi_ie_len = ielen; si->isi_freq = ni->ni_chan->ic_freq; si->isi_flags = ni->ni_chan->ic_flags; @@ -585,11 +588,13 @@ si->isi_inact = ic->ic_inact_init; si->isi_inact = (si->isi_inact - ni->ni_inact) * IEEE80211_INACT_WAIT; - cp = (uint8_t *)(si+1); - cp = copyie(cp, ni->ni_wpa_ie); - cp = copyie(cp, ni->ni_rsn_ie); - cp = copyie(cp, ni->ni_wme_ie); - cp = copyie(cp, ni->ni_ath_ie); + if (ielen) { + cp = ((uint8_t *)si) + si->isi_ie_off; + cp = copyie(cp, ni->ni_wpa_ie); + cp = copyie(cp, ni->ni_rsn_ie); + cp = copyie(cp, ni->ni_wme_ie); + cp = copyie(cp, ni->ni_ath_ie); + } req->si = (struct ieee80211req_sta_info *)(((uint8_t *)si) + len); req->space -= len; ==== //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#41 (text+ko) ==== @@ -318,6 +318,8 @@ */ struct ieee80211req_sta_info { uint16_t isi_len; /* length (mult of 4) */ + uint16_t isi_ie_off; /* offset to IE data */ + uint16_t isi_ie_len; /* IE length */ uint16_t isi_freq; /* MHz */ uint16_t isi_flags; /* channel flags */ uint16_t isi_state; /* state flags */ @@ -331,7 +333,6 @@ /* negotiated rates */ uint8_t isi_rates[IEEE80211_RATE_MAXSIZE]; uint8_t isi_txrate; /* index to isi_rates[] */ - uint16_t isi_ie_len; /* IE length */ uint16_t isi_associd; /* assoc response */ uint16_t isi_txpower; /* current tx power */ uint16_t isi_vlan; /* vlan tag */ @@ -501,6 +502,7 @@ */ struct ieee80211req_scan_result { uint16_t isr_len; /* length (mult of 4) */ + uint16_t isr_ie_off; /* offset to IE data */ uint16_t isr_ie_len; /* IE length */ uint16_t isr_freq; /* MHz */ uint16_t isr_flags; /* channel flags */ @@ -513,7 +515,6 @@ uint8_t isr_nrates; uint8_t isr_rates[IEEE80211_RATE_MAXSIZE]; uint8_t isr_ssid_len; /* SSID length */ - uint8_t isr_pad[8]; /* variable length SSID followed by IE data */ }; ==== //depot/projects/wifi/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#7 (text+ko) ==== @@ -587,7 +587,7 @@ } static int -getmaxrate(uint8_t rates[15], uint8_t nrates) +getmaxrate(const uint8_t rates[15], uint8_t nrates) { int i, maxrate = -1; @@ -621,8 +621,8 @@ #define min(a,b) ((a)>(b)?(b):(a)) struct wpa_driver_bsd_data *drv = priv; uint8_t buf[24*1024]; - uint8_t *cp, *vp; - struct ieee80211req_scan_result *sr; + const uint8_t *cp, *vp; + const struct ieee80211req_scan_result *sr; struct wpa_scan_result *wsr; int len, ielen; @@ -634,7 +634,7 @@ cp = buf; wsr = results; while (len >= sizeof(struct ieee80211req_scan_result)) { - sr = (struct ieee80211req_scan_result *) cp; + sr = (const struct ieee80211req_scan_result *) cp; memcpy(wsr->bssid, sr->isr_bssid, IEEE80211_ADDR_LEN); wsr->ssid_len = sr->isr_ssid_len; wsr->freq = sr->isr_freq; @@ -643,7 +643,7 @@ wsr->level = 0; /* XXX? */ wsr->caps = sr->isr_capinfo; wsr->maxrate = getmaxrate(sr->isr_rates, sr->isr_nrates); - vp = (u_int8_t *)(sr+1); + vp = ((u_int8_t *)sr) + sr->isr_ie_off; memcpy(wsr->ssid, vp, sr->isr_ssid_len); if (sr->isr_ie_len > 0) { vp += sr->isr_ssid_len; From owner-p4-projects@FreeBSD.ORG Sun Jun 10 02:23:02 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 286C116A469; Sun, 10 Jun 2007 02:23:02 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E893516A41F for ; Sun, 10 Jun 2007 02:23:01 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D82D713C455 for ; Sun, 10 Jun 2007 02:23:01 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5A2N1LL093314 for ; Sun, 10 Jun 2007 02:23:01 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5A2N1me093311 for perforce@freebsd.org; Sun, 10 Jun 2007 02:23:01 GMT (envelope-from thompsa@freebsd.org) Date: Sun, 10 Jun 2007 02:23:01 GMT Message-Id: <200706100223.l5A2N1me093311@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jun 2007 02:23:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=121322 Change 121322 by thompsa@thompsa_heff on 2007/06/10 02:22:00 IFC Affected files ... .. //depot/projects/wifi/share/misc/committers-ports.dot#5 integrate .. //depot/projects/wifi/sys/amd64/include/kdb.h#4 integrate .. //depot/projects/wifi/sys/arm/include/kdb.h#4 integrate .. //depot/projects/wifi/sys/compat/linux/linux_misc.c#19 integrate .. //depot/projects/wifi/sys/compat/svr4/svr4_misc.c#14 integrate .. //depot/projects/wifi/sys/dev/usb/umct.c#5 integrate .. //depot/projects/wifi/sys/dev/usb/usb_subr.c#12 integrate .. //depot/projects/wifi/sys/fs/procfs/procfs_status.c#8 integrate .. //depot/projects/wifi/sys/gdb/gdb_packet.c#4 integrate .. //depot/projects/wifi/sys/i386/include/kdb.h#4 integrate .. //depot/projects/wifi/sys/ia64/ia64/db_machdep.c#3 integrate .. //depot/projects/wifi/sys/ia64/include/kdb.h#5 integrate .. //depot/projects/wifi/sys/kern/init_main.c#20 integrate .. //depot/projects/wifi/sys/kern/kern_acct.c#15 integrate .. //depot/projects/wifi/sys/kern/kern_clock.c#15 integrate .. //depot/projects/wifi/sys/kern/kern_exit.c#22 integrate .. //depot/projects/wifi/sys/kern/kern_mutex.c#16 integrate .. //depot/projects/wifi/sys/kern/kern_proc.c#17 integrate .. //depot/projects/wifi/sys/kern/kern_resource.c#15 integrate .. //depot/projects/wifi/sys/kern/kern_sig.c#22 integrate .. //depot/projects/wifi/sys/kern/kern_thread.c#20 integrate .. //depot/projects/wifi/sys/kern/kern_time.c#14 integrate .. //depot/projects/wifi/sys/kern/tty.c#14 integrate .. //depot/projects/wifi/sys/kern/vfs_aio.c#18 integrate .. //depot/projects/wifi/sys/kern/vfs_bio.c#27 integrate .. //depot/projects/wifi/sys/modules/bge/Makefile#5 integrate .. //depot/projects/wifi/sys/netinet/tcp_input.c#27 integrate .. //depot/projects/wifi/sys/netinet/tcp_output.c#17 integrate .. //depot/projects/wifi/sys/powerpc/include/cpu.h#5 integrate .. //depot/projects/wifi/sys/powerpc/include/kdb.h#3 integrate .. //depot/projects/wifi/sys/powerpc/include/md_var.h#3 integrate .. //depot/projects/wifi/sys/powerpc/powerpc/db_interface.c#3 integrate .. //depot/projects/wifi/sys/powerpc/powerpc/syncicache.c#3 integrate .. //depot/projects/wifi/sys/powerpc/powerpc/uio_machdep.c#4 integrate .. //depot/projects/wifi/sys/sparc64/include/kdb.h#4 integrate .. //depot/projects/wifi/sys/sun4v/include/kdb.h#2 integrate .. //depot/projects/wifi/sys/sys/proc.h#31 integrate .. //depot/projects/wifi/sys/sys/resourcevar.h#7 integrate .. //depot/projects/wifi/sys/sys/systm.h#23 integrate .. //depot/projects/wifi/sys/vm/vm_phys.c#1 branch .. //depot/projects/wifi/sys/vm/vm_phys.h#1 branch .. //depot/projects/wifi/usr.bin/calendar/calendars/calendar.freebsd#23 integrate Differences ... ==== //depot/projects/wifi/share/misc/committers-ports.dot#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/misc/committers-ports.dot,v 1.56 2007/05/04 14:51:56 fjoe Exp $ +# $FreeBSD: src/share/misc/committers-ports.dot,v 1.57 2007/06/09 21:43:52 beech Exp $ # This file is meant to list all FreeBSD ports committers and describe the # mentor-mentee relationships between them. @@ -49,6 +49,7 @@ araujo [label="Marcelo Araujo\naraujo@FreeBSD.org\n2007/04/26"] arved [label="Tilman Linneweh\narved@FreeBSD.org\n2002/10/15"] az [label="Andrej Zverev\naz@FreeBSD.org\n2005/10/03"] +beech [label="Beech Rintoul\nbeech@FreeBSD.org\n2007/05/30"] bland [label="Alexander Nedotsukov\nbland@FreeBSD.org\n2003/08/14"] brooks [label="Brooks Davies\nbrooks@FreeBSD.org\n2004/05/03"] bsam [label="Boris Samorodov\nbsam@FreeBSD.org\n2006/07/20"] @@ -238,6 +239,8 @@ philip -> koitsu +sat -> beech + sem -> az sem -> anray sem -> delphij ==== //depot/projects/wifi/sys/amd64/include/kdb.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/kdb.h,v 1.3 2006/04/03 22:51:46 marcel Exp $ + * $FreeBSD: src/sys/amd64/include/kdb.h,v 1.4 2007/06/09 21:55:16 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -47,6 +47,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { } ==== //depot/projects/wifi/sys/arm/include/kdb.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/kdb.h,v 1.3 2005/01/05 21:58:48 imp Exp $ + * $FreeBSD: src/sys/arm/include/kdb.h,v 1.4 2007/06/09 21:55:16 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -44,6 +44,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { cpu_idcache_wbinv_all(); ==== //depot/projects/wifi/sys/compat/linux/linux_misc.c#19 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.211 2007/05/31 22:52:11 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.212 2007/06/09 21:48:43 attilio Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -670,7 +670,9 @@ if (args->buf != NULL) { p = td->td_proc; PROC_LOCK(p); + PROC_SLOCK(p); calcru(p, &utime, &stime); + PROC_SUNLOCK(p); calccru(p, &cutime, &cstime); PROC_UNLOCK(p); ==== //depot/projects/wifi/sys/compat/svr4/svr4_misc.c#14 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.94 2007/06/05 00:00:50 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.96 2007/06/09 21:48:43 attilio Exp $"); #include "opt_mac.h" @@ -828,7 +828,9 @@ p = td->td_proc; PROC_LOCK(p); + PROC_SLOCK(p); calcru(p, &utime, &stime); + PROC_SUNLOCK(p); calccru(p, &cutime, &cstime); PROC_UNLOCK(p); @@ -1226,20 +1228,24 @@ nfound++; + PROC_SLOCK(p); /* * See if we have a zombie. If so, WNOWAIT should be set, * as otherwise we should have called kern_wait() up above. */ if ((p->p_state == PRS_ZOMBIE) && ((uap->options & (SVR4_WEXITED|SVR4_WTRAPPED)))) { + PROC_SUNLOCK(p); KASSERT(uap->options & SVR4_WNOWAIT, ("WNOWAIT is clear")); /* Found a zombie, so cache info in local variables. */ pid = p->p_pid; status = p->p_xstat; - ru = *p->p_ru; + ru = p->p_ru; + PROC_SLOCK(p); calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_SUNLOCK(p); PROC_UNLOCK(p); sx_sunlock(&proctree_lock); @@ -1253,7 +1259,6 @@ * See if we have a stopped or continued process. * XXX: This duplicates the same code in kern_wait(). */ - PROC_SLOCK(p); if ((p->p_flag & P_STOPPED_SIG) && (p->p_suspcount == p->p_numthreads) && (p->p_flag & P_WAITED) == 0 && @@ -1264,8 +1269,10 @@ sx_sunlock(&proctree_lock); pid = p->p_pid; status = W_STOPCODE(p->p_xstat); - ru = *p->p_ru; + ru = p->p_ru; + PROC_SLOCK(p); calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_SUNLOCK(p); PROC_UNLOCK(p); if (((uap->options & SVR4_WNOWAIT)) == 0) { @@ -1285,9 +1292,11 @@ if (((uap->options & SVR4_WNOWAIT)) == 0) p->p_flag &= ~P_CONTINUED; pid = p->p_pid; - ru = *p->p_ru; + ru = p->p_ru; status = SIGCONT; + PROC_SLOCK(p); calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_SUNLOCK(p); PROC_UNLOCK(p); if (((uap->options & SVR4_WNOWAIT)) == 0) { ==== //depot/projects/wifi/sys/dev/usb/umct.c#5 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/umct.c,v 1.13 2007/06/09 06:42:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/umct.c,v 1.14 2007/06/10 01:28:26 mjacob Exp $"); /* * Driver for the MCT (Magic Control Technology) USB-RS232 Converter. @@ -180,6 +180,8 @@ sc->sc_intr_number = -1; sc->sc_intr_pipe = NULL; + devname = device_get_nameunit(ucom->sc_dev); + err = usbd_set_config_index(dev, UMCT_CONFIG_INDEX, 1); if (err) { printf("%s: failed to set configuration: %s\n", ==== //depot/projects/wifi/sys/dev/usb/usb_subr.c#12 (text+ko) ==== @@ -11,7 +11,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.90 2007/05/08 03:25:05 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.91 2007/06/10 01:28:55 mjacob Exp $"); /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -849,6 +849,7 @@ uaa.vendor = UGETW(dd->idVendor); uaa.product = UGETW(dd->idProduct); uaa.release = UGETW(dd->bcdDevice); + uaa.matchlvl = 0; /* First try with device specific drivers. */ DPRINTF(("usbd_probe_and_attach: trying device specific drivers\n")); ==== //depot/projects/wifi/sys/fs/procfs/procfs_status.c#8 (text+ko) ==== @@ -34,7 +34,7 @@ * * From: * $Id: procfs_status.c,v 3.1 1993/12/15 09:40:17 jsp Exp $ - * $FreeBSD: src/sys/fs/procfs/procfs_status.c,v 1.60 2007/06/05 00:00:51 jeff Exp $ + * $FreeBSD: src/sys/fs/procfs/procfs_status.c,v 1.61 2007/06/09 21:48:43 attilio Exp $ */ #include @@ -127,12 +127,12 @@ } else wmesg = "nochan"; } - PROC_SUNLOCK(p); if (p->p_sflag & PS_INMEM) { struct timeval start, ut, st; calcru(p, &ut, &st); + PROC_SUNLOCK(p); start = p->p_stats->p_start; timevaladd(&start, &boottime); sbuf_printf(sb, " %jd,%ld %jd,%ld %jd,%ld", @@ -140,6 +140,7 @@ (intmax_t)ut.tv_sec, ut.tv_usec, (intmax_t)st.tv_sec, st.tv_usec); } else { + PROC_SUNLOCK(p); sbuf_printf(sb, " -1,-1 -1,-1 -1,-1"); } ==== //depot/projects/wifi/sys/gdb/gdb_packet.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/gdb/gdb_packet.c,v 1.3 2006/05/26 11:52:20 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/gdb/gdb_packet.c,v 1.4 2007/06/09 21:55:17 marcel Exp $"); #include #include @@ -33,6 +33,7 @@ #include #include +#include #include #include @@ -129,8 +130,10 @@ int gdb_rx_mem(unsigned char *addr, size_t size) { + unsigned char *p; void *prev; jmp_buf jb; + size_t cnt; int ret; unsigned char c; @@ -140,13 +143,16 @@ prev = kdb_jmpbuf(jb); ret = setjmp(jb); if (ret == 0) { - while (size-- > 0) { + p = addr; + cnt = size; + while (cnt-- > 0) { c = (C2N(gdb_rxp[0]) << 4) & 0xf0; c |= C2N(gdb_rxp[1]) & 0x0f; - *addr++ = c; + *p++ = c; gdb_rxsz -= 2; gdb_rxp += 2; } + kdb_cpu_sync_icache(addr, size); } (void)kdb_jmpbuf(prev); return ((ret == 0) ? 1 : 0); ==== //depot/projects/wifi/sys/i386/include/kdb.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/kdb.h,v 1.3 2006/04/03 22:51:47 marcel Exp $ + * $FreeBSD: src/sys/i386/include/kdb.h,v 1.4 2007/06/09 21:55:17 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -47,6 +47,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { } ==== //depot/projects/wifi/sys/ia64/ia64/db_machdep.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/db_machdep.c,v 1.2 2006/07/12 21:22:43 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/db_machdep.c,v 1.3 2007/06/09 22:15:13 marcel Exp $"); #include #include @@ -44,6 +44,7 @@ #include #include +#include #include #include #include @@ -552,6 +553,7 @@ { jmp_buf jb; void *prev_jb; + size_t cnt; char *dst; int ret; @@ -559,8 +561,10 @@ ret = setjmp(jb); if (ret == 0) { dst = (char *)addr; - while (size-- > 0) + cnt = size; + while (cnt-- > 0) *dst++ = *data++; + kdb_cpu_sync_icache((void *)addr, size); } (void)kdb_jmpbuf(prev_jb); return (ret); ==== //depot/projects/wifi/sys/ia64/include/kdb.h#5 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/include/kdb.h,v 1.4 2006/11/18 21:52:26 marcel Exp $ + * $FreeBSD: src/sys/ia64/include/kdb.h,v 1.5 2007/06/09 21:55:17 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -48,6 +48,21 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ + vm_offset_t cacheline; + + cacheline = (uintptr_t)addr & ~31; + size += (uintptr_t)addr - cacheline; + size = (size + 31) & ~31; + while (size > 0) { + __asm __volatile("fc %0;; sync.i;; srlz.i;;" :: "r"(cacheline)); + cacheline += 32; + size -= 32; + } +} + +static __inline void kdb_cpu_trap(int vector, int _) { __asm __volatile("flushrs;;"); ==== //depot/projects/wifi/sys/kern/init_main.c#20 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.280 2007/06/08 11:47:36 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.282 2007/06/10 00:28:41 attilio Exp $"); #include "opt_ddb.h" #include "opt_init_path.h" @@ -500,6 +500,7 @@ { struct timespec ts; struct proc *p; + struct rusage ru; /* * Now we can look at the time, having had a chance to verify the @@ -508,7 +509,13 @@ sx_slock(&allproc_lock); FOREACH_PROC_IN_SYSTEM(p) { microuptime(&p->p_stats->p_start); + PROC_SLOCK(p); + rufetch(p, &ru); /* Clears thread stats */ + PROC_SUNLOCK(p); p->p_rux.rux_runtime = 0; + p->p_rux.rux_uticks = 0; + p->p_rux.rux_sticks = 0; + p->p_rux.rux_iticks = 0; } sx_sunlock(&allproc_lock); PCPU_SET(switchtime, cpu_ticks()); ==== //depot/projects/wifi/sys/kern/kern_acct.c#15 (text+ko) ==== @@ -68,7 +68,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_acct.c,v 1.92 2007/06/05 00:00:53 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_acct.c,v 1.93 2007/06/09 21:48:44 attilio Exp $"); #include "opt_mac.h" @@ -370,8 +370,7 @@ bcopy(p->p_comm, acct.ac_comm, sizeof acct.ac_comm); /* (2) The amount of user and system time that was used */ - rufetch(p, &ru); - calcru(p, &ut, &st); + rufetchcalc(p, &ru, &ut, &st); acct.ac_utime = encode_timeval(ut); acct.ac_stime = encode_timeval(st); ==== //depot/projects/wifi/sys/kern/kern_clock.c#15 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_clock.c,v 1.200 2007/06/04 23:53:06 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_clock.c,v 1.201 2007/06/09 19:41:13 attilio Exp $"); #include "opt_kdb.h" #include "opt_device_polling.h" @@ -85,7 +85,7 @@ long cp_time[CPUSTATES]; /* Spin-lock protecting profiling statistics. */ -struct mtx time_lock; +static struct mtx time_lock; static int sysctl_kern_cp_time(SYSCTL_HANDLER_ARGS) ==== //depot/projects/wifi/sys/kern/kern_exit.c#22 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.301 2007/06/07 22:27:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.303 2007/06/09 21:48:44 attilio Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -116,7 +116,6 @@ struct ucred *tracecred; #endif struct plimit *plim; - struct rusage *ru; int locked; /* @@ -233,8 +232,6 @@ */ EVENTHANDLER_INVOKE(process_exit, p); - MALLOC(ru, struct rusage *, sizeof(struct rusage), - M_ZOMBIE, M_WAITOK); /* * If parent is waiting for us to exit or exec, * P_PPWAIT is set; we will wakeup the parent below. @@ -447,16 +444,6 @@ p->p_xstat = rv; p->p_xthread = td; /* - * All statistics have been aggregated into the final td_ru by - * thread_exit(). Copy these into the proc here where wait*() - * can find them. - * XXX We will miss any statistics gathered between here and - * thread_exit() except for those related to clock ticks. - */ - *ru = td->td_ru; - ru->ru_nvcsw++; - p->p_ru = ru; - /* * Notify interested parties of our demise. */ KNOTE_LOCKED(&p->p_klist, NOTE_EXIT); @@ -537,6 +524,11 @@ knlist_destroy(&p->p_klist); /* + * Save our children's rusage information in our exit rusage. + */ + ruadd(&p->p_ru, &p->p_rux, &p->p_stats->p_cru, &p->p_crux); + + /* * Make sure the scheduler takes this thread out of its tables etc. * This will also release this thread's reference to the ucred. * Other thread parts to release include pcb bits and such. @@ -711,30 +703,16 @@ } nfound++; + PROC_SLOCK(p); if (p->p_state == PRS_ZOMBIE) { - - /* - * It is possible that the last thread of this - * process is still running on another CPU - * in thread_exit() after having dropped the process - * lock via PROC_UNLOCK() but before it has completed - * cpu_throw(). In that case, the other thread must - * still hold the proc slock, so simply by acquiring - * proc slock once we will wait long enough for the - * thread to exit in that case. - * XXX This is questionable. - */ - PROC_SLOCK(p); + if (rusage) { + *rusage = p->p_ru; + calcru(p, &rusage->ru_utime, &rusage->ru_stime); + } PROC_SUNLOCK(p); - td->td_retval[0] = p->p_pid; if (status) *status = p->p_xstat; /* convert to int */ - if (rusage) { - *rusage = *p->p_ru; - calcru(p, &rusage->ru_utime, &rusage->ru_stime); - } - PROC_LOCK(q); sigqueue_take(p->p_ksi); PROC_UNLOCK(q); @@ -776,11 +754,9 @@ p->p_xstat = 0; /* XXX: why? */ PROC_UNLOCK(p); PROC_LOCK(q); - ruadd(&q->p_stats->p_cru, &q->p_crux, p->p_ru, + ruadd(&q->p_stats->p_cru, &q->p_crux, &p->p_ru, &p->p_rux); PROC_UNLOCK(q); - FREE(p->p_ru, M_ZOMBIE); - p->p_ru = NULL; /* * Decrement the count of procs running with this uid. @@ -819,7 +795,6 @@ sx_xunlock(&allproc_lock); return (0); } - PROC_SLOCK(p); if ((p->p_flag & P_STOPPED_SIG) && (p->p_suspcount == p->p_numthreads) && (p->p_flag & P_WAITED) == 0 && ==== //depot/projects/wifi/sys/kern/kern_mutex.c#16 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.195 2007/06/08 21:36:52 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.196 2007/06/09 18:09:37 mjacob Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" @@ -530,7 +530,7 @@ { mtx_assert(new, MA_OWNED); MPASS(td->td_lock == &blocked_lock); - atomic_store_rel_ptr((void *)&td->td_lock, (uintptr_t)new); + atomic_store_rel_ptr((volatile void *)&td->td_lock, (uintptr_t)new); spinlock_exit(); } ==== //depot/projects/wifi/sys/kern/kern_proc.c#17 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.249 2007/06/05 00:00:54 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.250 2007/06/09 21:48:44 attilio Exp $"); #include "opt_ktrace.h" #include "opt_kstack_pages.h" @@ -700,7 +700,9 @@ if ((p->p_sflag & PS_INMEM) && p->p_stats != NULL) { kp->ki_start = p->p_stats->p_start; timevaladd(&kp->ki_start, &boottime); + PROC_SLOCK(p); calcru(p, &kp->ki_rusage.ru_utime, &kp->ki_rusage.ru_stime); + PROC_SUNLOCK(p); calccru(p, &kp->ki_childutime, &kp->ki_childstime); /* Some callers want child-times in a single value */ ==== //depot/projects/wifi/sys/kern/kern_resource.c#15 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.174 2007/06/05 00:00:54 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.176 2007/06/09 21:48:44 attilio Exp $"); #include "opt_compat.h" @@ -829,12 +829,11 @@ void calcru(struct proc *p, struct timeval *up, struct timeval *sp) { - struct rusage_ext rux; struct thread *td; uint64_t u; PROC_LOCK_ASSERT(p, MA_OWNED); - PROC_SLOCK(p); + PROC_SLOCK_ASSERT(p, MA_OWNED); /* * If we are getting stats for the current process, then add in the * stats that this thread has accumulated in its current time slice. @@ -847,14 +846,7 @@ p->p_rux.rux_runtime += u - PCPU_GET(switchtime); PCPU_SET(switchtime, u); } - /* Work on a copy of p_rux so we can let go of p_slock */ - rux = p->p_rux; - PROC_SUNLOCK(p); - calcru1(p, &rux, up, sp); - /* Update the result from the p_rux copy */ - p->p_rux.rux_uu = rux.rux_uu; - p->p_rux.rux_su = rux.rux_su; - p->p_rux.rux_tu = rux.rux_tu; + calcru1(p, &p->p_rux, up, sp); } static void @@ -965,8 +957,8 @@ switch (who) { case RUSAGE_SELF: - rufetch(p, rup); - calcru(p, &rup->ru_utime, &rup->ru_stime); + rufetchcalc(p, rup, &rup->ru_utime, + &rup->ru_stime); break; case RUSAGE_CHILDREN: @@ -1039,19 +1031,32 @@ { struct thread *td; - memset(ru, 0, sizeof(*ru)); - PROC_SLOCK(p); - if (p->p_ru == NULL) { - KASSERT(p->p_numthreads > 0, - ("rufetch: No threads or ru in proc %p", p)); + PROC_SLOCK_ASSERT(p, MA_OWNED); + + *ru = p->p_ru; + if (p->p_numthreads > 0) { FOREACH_THREAD_IN_PROC(p, td) { thread_lock(td); ruxagg(&p->p_rux, td); thread_unlock(td); rucollect(ru, &td->td_ru); } - } else - *ru = *p->p_ru; + } +} + +/* + * Atomically perform a rufetch and a calcru together. + * Consumers, can safely assume the calcru is executed only once + * rufetch is completed. + */ +void +rufetchcalc(struct proc *p, struct rusage *ru, struct timeval *up, + struct timeval *sp) +{ + + PROC_SLOCK(p); + rufetch(p, ru); + calcru(p, up, sp); PROC_SUNLOCK(p); } ==== //depot/projects/wifi/sys/kern/kern_sig.c#22 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.346 2007/06/04 23:52:24 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.347 2007/06/10 01:43:11 mjacob Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -1174,6 +1174,8 @@ p = td->td_proc; error = 0; sig = 0; + ets.tv_sec = 0; + ets.tv_nsec = 0; SIG_CANTMASK(waitset); PROC_LOCK(p); ==== //depot/projects/wifi/sys/kern/kern_thread.c#20 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.247 2007/06/04 23:52:24 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.248 2007/06/09 18:56:11 attilio Exp $"); #include #include @@ -391,9 +391,9 @@ PCPU_SET(switchtime, new_switchtime); PCPU_SET(switchticks, ticks); PCPU_INC(cnt.v_swtch); - /* Add the child usage to our own when the final thread exits. */ - if (p->p_numthreads == 1) - ruadd(p->p_ru, &p->p_rux, &p->p_stats->p_cru, &p->p_crux); + /* Save our resource usage in our process. */ + td->td_ru.ru_nvcsw++; + rucollect(&p->p_ru, &td->td_ru); /* * The last thread is left attached to the process * So that the whole bundle gets recycled. Skip @@ -411,9 +411,7 @@ thread_unlink(td); #endif thread_unlock(td); - /* Impart our resource usage on another thread */ td2 = FIRST_THREAD_IN_PROC(p); - rucollect(&td2->td_ru, &td->td_ru); sched_exit_thread(td2, td); /* @@ -462,7 +460,7 @@ } PROC_UNLOCK(p); thread_lock(td); - /* Aggregate our tick statistics into our parents rux. */ + /* Save our tick information with both the thread and proc locked */ ruxagg(&p->p_rux, td); PROC_SUNLOCK(p); td->td_state = TDS_INACTIVE; ==== //depot/projects/wifi/sys/kern/kern_time.c#14 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_time.c,v 1.141 2007/06/05 00:00:54 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_time.c,v 1.142 2007/06/09 21:48:44 attilio Exp $"); #include #include @@ -213,13 +213,17 @@ break; case CLOCK_VIRTUAL: PROC_LOCK(p); + PROC_SLOCK(p); calcru(p, &user, &sys); + PROC_SUNLOCK(p); PROC_UNLOCK(p); TIMEVAL_TO_TIMESPEC(&user, ats); break; case CLOCK_PROF: PROC_LOCK(p); + PROC_SLOCK(p); calcru(p, &user, &sys); + PROC_SUNLOCK(p); PROC_UNLOCK(p); timevaladd(&user, &sys); TIMEVAL_TO_TIMESPEC(&user, ats); ==== //depot/projects/wifi/sys/kern/tty.c#14 (text+ko) ==== @@ -71,7 +71,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.269 2007/06/04 23:55:32 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/tty.c,v 1.270 2007/06/10 01:49:17 mjacob Exp $"); #include "opt_compat.h" #include "opt_tty.h" @@ -1720,7 +1720,7 @@ int s, first, error = 0; int has_stime = 0, last_cc = 0; long slp = 0; /* XXX this should be renamed `timo'. */ - struct timeval stime; + struct timeval stime = { 0, 0 }; struct pgrp *pg; td = curthread; ==== //depot/projects/wifi/sys/kern/vfs_aio.c#18 (text+ko) ==== @@ -19,7 +19,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_aio.c,v 1.231 2007/06/01 01:12:44 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_aio.c,v 1.232 2007/06/10 01:50:05 mjacob Exp $"); #include #include @@ -791,7 +791,6 @@ { struct ucred *td_savedcred; struct thread *td; - struct proc *mycp; struct aiocb *cb; struct file *fp; struct socket *so; ==== //depot/projects/wifi/sys/kern/vfs_bio.c#27 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.525 2007/06/08 07:05:08 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.526 2007/06/09 23:41:14 marcel Exp $"); #include #include @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -454,6 +455,7 @@ caddr_t kern_vfs_bio_buffer_alloc(caddr_t v, long physmem_est) { + int maxbuf; /* * physmem_est is in pages. Convert it to kilobytes (assumes @@ -483,6 +485,11 @@ if (maxbcache && nbuf > maxbcache / BKVASIZE) nbuf = maxbcache / BKVASIZE; + + /* XXX Avoid integer overflows later on with maxbufspace. */ + maxbuf = (INT_MAX / 3) / BKVASIZE; + if (nbuf > maxbuf) + nbuf = maxbuf; } #if 0 ==== //depot/projects/wifi/sys/modules/bge/Makefile#5 (text+ko) ==== @@ -1,8 +1,12 @@ -# $FreeBSD: src/sys/modules/bge/Makefile,v 1.5 2006/11/03 21:41:19 ru Exp $ +# $FreeBSD: src/sys/modules/bge/Makefile,v 1.6 2007/06/10 00:58:41 kensmith Exp $ .PATH: ${.CURDIR}/../../dev/bge KMOD= if_bge SRCS= if_bge.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h +.if ${MACHINE_ARCH} == sparc64 +SRCS+= ofw_bus_if.h +.endif + .include ==== //depot/projects/wifi/sys/netinet/tcp_input.c#27 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.355 2007/05/28 23:27:44 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.356 2007/06/09 21:09:49 andre Exp $ */ #include "opt_ipfw.h" /* for ipfw_fwd */ @@ -920,8 +920,7 @@ /* * Unscale the window into a 32-bit value. - * This value is bogus for the TCPS_SYN_SENT state - * and is overwritten later. + * For the SYN_SENT state it is zero. */ tiwin = th->th_win << tp->snd_scale; @@ -947,6 +946,8 @@ /* * Process options only when we get SYN/ACK back. The SYN case * for incoming connections is handled in tcp_syncache. + * According to RFC1323 the window field in a SYN (i.e., a + * or ) segment itself is never scaled. * XXX this is traditional behavior, may need to be cleaned up. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 10 06:08:39 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 26B1416A469; Sun, 10 Jun 2007 06:08:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E485316A421 for ; Sun, 10 Jun 2007 06:08:38 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D5BEB13C44C for ; Sun, 10 Jun 2007 06:08:38 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5A68cQT011346 for ; Sun, 10 Jun 2007 06:08:38 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5A68cdO011334 for perforce@freebsd.org; Sun, 10 Jun 2007 06:08:38 GMT (envelope-from thompsa@freebsd.org) Date: Sun, 10 Jun 2007 06:08:38 GMT Message-Id: <200706100608.l5A68cdO011334@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121328 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jun 2007 06:08:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=121328 Change 121328 by thompsa@thompsa_heff on 2007/06/10 06:08:03 Use a seperate taskqueue+thread for reset tasks since iwi_ops will block. This could be tuned at a later date. Discussed with: sam Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#49 edit .. //depot/projects/wifi/sys/dev/iwi/if_iwivar.h#22 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#49 (text+ko) ==== @@ -271,11 +271,19 @@ taskqueue_thread_enqueue, &sc->sc_tq); taskqueue_start_threads(&sc->sc_tq, 1, PI_NET, "%s taskq", device_get_nameunit(dev)); + sc->sc_tq2 = taskqueue_create("iwi_taskq2", M_NOWAIT | M_ZERO, + taskqueue_thread_enqueue, &sc->sc_tq2); + taskqueue_start_threads(&sc->sc_tq2, 1, PI_NET, "%s taskq2", + device_get_nameunit(dev)); #else sc->sc_tq = taskqueue_create("iwi_taskq", M_NOWAIT | M_ZERO, taskqueue_thread_enqueue, &sc->sc_tq, &sc->sc_tqproc); kthread_create(taskqueue_thread_loop, &sc->sc_tq, &sc->sc_tqproc, 0, 0, "%s taskq", device_get_nameunit(dev)); + sc->sc_tq2 = taskqueue_create("iwi_taskq2", M_NOWAIT | M_ZERO, + taskqueue_thread_enqueue, &sc->sc_tq2, &sc->sc_tqproc); + kthread_create(taskqueue_thread_loop, &sc->sc_tq2, &sc->sc_tqproc, + 0, 0, "%s taskq2", device_get_nameunit(dev)); #endif TASK_INIT(&sc->sc_radiontask, 0, iwi_radio_on, sc); TASK_INIT(&sc->sc_radiofftask, 0, iwi_radio_off, sc); @@ -485,6 +493,7 @@ if_free(ifp); taskqueue_free(sc->sc_tq); + taskqueue_free(sc->sc_tq2); if (sc->sc_unr != NULL) delete_unrhdr(sc->sc_unr); @@ -1624,7 +1633,7 @@ device_printf(sc->sc_dev, "firmware error\n"); /* don't restart if the interface isn't up */ if (sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) - taskqueue_enqueue(sc->sc_tq, &sc->sc_restarttask); + taskqueue_enqueue(sc->sc_tq2, &sc->sc_restarttask); sc->flags &= ~IWI_FLAG_BUSY; sc->sc_busy_timer = 0; @@ -1986,7 +1995,7 @@ if (--sc->sc_tx_timer == 0) { if_printf(ifp, "device timeout\n"); ifp->if_oerrors++; - taskqueue_enqueue(sc->sc_tq, &sc->sc_restarttask); + taskqueue_enqueue(sc->sc_tq2, &sc->sc_restarttask); } } if (sc->sc_rfkill_timer > 0) { @@ -2006,7 +2015,7 @@ if (--sc->sc_state_timer == 0) { if_printf(ifp, "firmware stuck in state %d, resetting\n", sc->fw_state); - taskqueue_enqueue(sc->sc_tq, &sc->sc_restarttask); + taskqueue_enqueue(sc->sc_tq2, &sc->sc_restarttask); if (sc->fw_state == IWI_FW_SCANNING) ieee80211_cancel_scan(&sc->sc_ic); sc->sc_state_timer = 3; @@ -2015,7 +2024,7 @@ if (sc->sc_busy_timer > 0) { if (--sc->sc_busy_timer == 0) { if_printf(ifp, "firmware command timeout, resetting\n"); - taskqueue_enqueue(sc->sc_tq, &sc->sc_restarttask); + taskqueue_enqueue(sc->sc_tq2, &sc->sc_restarttask); } } @@ -3676,7 +3685,7 @@ struct ifnet *ifp = ic->ic_ifp; struct iwi_softc *sc = ifp->if_softc; - taskqueue_enqueue(sc->sc_tq, &sc->sc_scanaborttask); + taskqueue_enqueue(sc->sc_tq2, &sc->sc_scanaborttask); } static void ==== //depot/projects/wifi/sys/dev/iwi/if_iwivar.h#22 (text+ko) ==== @@ -128,6 +128,7 @@ uint8_t sc_mcast[IEEE80211_ADDR_LEN]; struct unrhdr *sc_unr; struct taskqueue *sc_tq; /* private task queue */ + struct taskqueue *sc_tq2; /* reset task queue */ #if __FreeBSD_version < 700000 struct proc *sc_tqproc; #endif From owner-p4-projects@FreeBSD.ORG Sun Jun 10 08:04:10 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A8BDD16A421; Sun, 10 Jun 2007 08:04:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 633F716A46D for ; Sun, 10 Jun 2007 08:04:10 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3BBE013C4AE for ; Sun, 10 Jun 2007 08:04:10 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5A84A2v024322 for ; Sun, 10 Jun 2007 08:04:10 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5A849Bn024314 for perforce@freebsd.org; Sun, 10 Jun 2007 08:04:09 GMT (envelope-from thompsa@freebsd.org) Date: Sun, 10 Jun 2007 08:04:09 GMT Message-Id: <200706100804.l5A849Bn024314@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121333 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jun 2007 08:04:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=121333 Change 121333 by thompsa@thompsa_heff on 2007/06/10 08:03:18 The firmware will fail if we are already associated, hopefully this is the correct place to do this. Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#50 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#50 (text+ko) ==== @@ -3694,6 +3694,10 @@ struct ifnet *ifp = ic->ic_ifp; struct iwi_softc *sc = ifp->if_softc; + /* The firmware will fail if we are already associated */ + if (sc->flags & IWI_FLAG_ASSOCIATED) + iwi_disassoc(ic); + iwi_queue_cmd(sc, IWI_ASSOC); } From owner-p4-projects@FreeBSD.ORG Sun Jun 10 11:22:18 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D921016A46B; Sun, 10 Jun 2007 11:22:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9D63C16A468 for ; Sun, 10 Jun 2007 11:22:17 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6E96A13C46A for ; Sun, 10 Jun 2007 11:22:17 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5ABMHuu028496 for ; Sun, 10 Jun 2007 11:22:17 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5ABMHwq028484 for perforce@freebsd.org; Sun, 10 Jun 2007 11:22:17 GMT (envelope-from thompsa@freebsd.org) Date: Sun, 10 Jun 2007 11:22:17 GMT Message-Id: <200706101122.l5ABMHwq028484@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121339 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jun 2007 11:22:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=121339 Change 121339 by thompsa@thompsa_heff on 2007/06/10 11:21:47 Return from iwi_ops if the interface has been downed. Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#51 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#51 (text+ko) ==== @@ -3580,8 +3580,10 @@ msleep(sc, &sc->sc_mtx, 0, "iwicmd", hz/10); } - if (!(sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING)) - goto done; + if (!(sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING)) { + IWI_UNLOCK(sc); + return; + } switch (cmd) { case IWI_ASSOC: From owner-p4-projects@FreeBSD.ORG Sun Jun 10 22:30:06 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E29716A46C; Sun, 10 Jun 2007 22:30:06 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5D6E716A400 for ; Sun, 10 Jun 2007 22:30:06 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4CE1613C455 for ; Sun, 10 Jun 2007 22:30:06 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5AMU6rU042242 for ; Sun, 10 Jun 2007 22:30:06 GMT (envelope-from mharvan@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5AMU5Wn042230 for perforce@freebsd.org; Sun, 10 Jun 2007 22:30:05 GMT (envelope-from mharvan@FreeBSD.org) Date: Sun, 10 Jun 2007 22:30:05 GMT Message-Id: <200706102230.l5AMU5Wn042230@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mharvan@FreeBSD.org using -f From: Matus Harvan To: Perforce Change Reviews Cc: Subject: PERFORCE change 121366 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jun 2007 22:30:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=121366 Change 121366 by mharvan@mharvan_twoflower on 2007/06/10 22:29:54 Updated with responses from Max and Brooks from 2007-04-23. Affected files ... .. //depot/projects/soc2007/mharvan-mtund/mtund.doc/design.txt#2 edit Differences ... ==== //depot/projects/soc2007/mharvan-mtund/mtund.doc/design.txt#2 (text+ko) ==== @@ -4,8 +4,10 @@ mentors. TODO: -* update with responses from Max from 2007-04-23 -* update with responses from Brooks from 2007-04-23 +o use libevent (http://www.monkey.org/~provos/libevent/) +o configuration of tun iface done by daemon (call ifconfig&friends) +o man page +o port skeleton TUN(4) INTERFACE (OR SOMETHING ELSE?) My original idea, as described in the proposal is to use the tun(4) @@ -29,29 +31,27 @@ others could not. Or maybe this would be doable with one of the firewalls available on FreeBSD? -One problem I have recently learned about is that by default it tags -packets as being IPv4. To have IPv6 working over it, one has to disable -the the IFF_NO_PI flag and prefix each packet with a 4-byte struct -specifying the type of traffic (ETH_P_IPV6). These are the flag -constants on linux, as I am currently writing code on linux. On FreeBSD, -the flag seems to be TUNSLMODE. Another approach would be to change the -kernel code to look at the first byte of the packet (the version field -for both IPv4 and IPv6) and determine from that if it's IPv4 or IPv6. On -FreeBSD 6.1, the hardcoded value is set on line 865 in file -/sys/net/if_tun.c. But then, I'm not sure if we care for IPv6 at the -moment. +One problem with IPv6 and tun(4) is that by default it tags packets as +being IPv4. However, at the moment IPv4 is the main goal and IPv6 +support is left for later. To have IPv6 working over it, one has to +disable the the IFF_NO_PI flag and prefix each packet with a 4-byte +struct specifying the type of traffic (ETH_P_IPV6). These are the flag +constants on linux, as I am currently writing code on linux. On +FreeBSD, the flag seems to be TUNSLMODE. Another approach would be to +change the kernel code to look at the first byte of the packet (the +version field for both IPv4 and IPv6) and determine from that if it's +IPv4 or IPv6. On FreeBSD 6.1, the hardcoded value is set on line 865 +in file /sys/net/if_tun.c. -Max has mentioned netgraph as an alternative for tun. I have never used -netgraph and do not know much about it. Would the plugins then have to -be implemented in the kernel space or could they still live in the -userspace? Do you think that it would make more sense to use that rather -than tun(4) or should I start with tun(4) and maybe later change to -netgraph? Or do you think that something completely different should be -used? +Max has mentioned netgraph as an alternative for tun. However, it has +been decided that tun(4) would be used rather than netgraph. MULTIPLEXING BETWEEN DIFFERENT FILE DESCRIPTORS -The easiest way that came to my mind was using select(2). The plugins of -course have to register their file descriptors to be watched. +The easiest way that came to my mind was using select(2). The plugins +of course have to register their file descriptors to be watched. The +code will be rewritten to use libevent. This will allow to easily use +timeouts for checking the connectivity of plugins or do other +timeout-related things. Another alternative would be to fork a process for each plugin or to use threads. It may give more flexibility to the plugins, but at the moment @@ -70,37 +70,45 @@ interval. If that fails N times, the connection is declared malfunctioning. -For the implementation I was thinking about registering a timer and -having a handler for the timer signal. I do not know yet exactly how to -do that, but I think that I have seen somewhere some code doing it. One -issue is that I might receive the timer signal at an inappropriate time -and would have to properly protect shared variables. +For the implementation, things should get easier with the use of +libevent. This would easily allow signalling timeouts. One issue is +that I might receive the timer signal at an inappropriate time and +would have to properly protect shared variables. This has to be +checked. In general, synchronization and multi-threaded safety should +be considered. Another way would be to use select(2) with a struct timeval *timeout -(5th argument), which might be easier. I think I would first try to -implement this approach. +(5th argument), which might be easier. For this part, having plugins written as threads/processes might give them more flexibility. However, I do not think that such flexibility is needed. At least not at the moment. REDIRECTING ONLY CERTAIN PORTS -I think Brooks has mentioned that we might want to allow for redirecting -only certain ports via the tunnel while leaving others to go directly. I -do not know how I could do that or where would be the right place to -enter a hook for that. Shall we ignore this at the moment and look at it -once I have more plugins and the daemon running or should we accomodate -for this in the design already now? +We might want to allow for redirecting only certain ports via the +tunnel while leaving others to go directly. One way to achieve this +would be to use pf anchors. Examples can be found in usr.sbin/authpf +in base or ftp/ftp-proxy in ports. Currently, this is consider an +optional feature and hence left for later, MULTI USER SUPPORT ON THE SERVER -Brooks has mentioned that some sort of multi user support on the server -would be nice. My understanding of that is that one server should be -able to server several clients at the same time. I have not really -thought about this yet. Maybe a separate tun(4) interface could be -created for each user on the server and the burden of multiplexing -between them and assigning traffic to the right tun interface (and hence -mtund instance) would be the responsibility of the kernel by using -entries in the routing table or tracking connections when natting. +The server shall support multiple users concurrently. This is an +important feature and the design has to be changed appropriately to +accomodate for it. + +At the moment, it is unclear how the multi user support could be +achieved, but some session management, possibly with some +atuhentication/handshake out-of-band. Some encapsulations such as UDP +and TCP offer port and addresses for identifiyng the sessions/clients +while for others (ICMP) the session may have to be signalled +in-band. In particular, with the former a separate file descriptor +represents each client, making things easier. + +Maybe a separate tun(4) interface could be created for each user on +the server and the burden of multiplexing between them and assigning +traffic to the right tun interface (and hence mtund instance) would be +the responsibility of the kernel by using entries in the routing table +or tracking connections when natting. AUTODETECTION I'm not sure what/how could/should be autodetected. I guess some proxy @@ -113,31 +121,46 @@ offering dns, http proxying,... QUEUING -Should we do some queuing of packets in the daemon? Or after read(2) we -immediately call write(2) and that's it? If fragmentation is needed, -some queuing might be needed. +The current implementation with blocking I/O does queuing of one +packet. If this approach turns out to be problematic, different +queuing strategies would have to be investigated. FRAGMENTATION -What if the encapsulation provides a smaler MTU? This might be the case -for DNS tunnelling. We should hten probably fragment packets and -reassmble fragments on the other end. +What if the encapsulation provides a smaler MTU? This might be the +case for DNS tunnelling. We should then probably fragment packets and +reassemble fragments on the other end. For this, in-band signalling +might be needed. + +In additiona, for TCP we have to do STREAM <-> MSG dissection, for MSG +based protocols we have to figure out MSS (probably without the help +of ICMP) and fragment accordingly. + +Max thinks the absolute minimum we should provide is a MTU of 1300 +(1280 + 20) which will allow to run a gif tunnel over the mtund tunnel +without the need for IPv4 fragmentation for the gif tunnel. CRYPTO +The easiest way to secure the tunnel would be to put IPSec on the tun +interface. Other options would likely not be investigated, but +nevertheless are descibed in this document. + Offering basic encryption support should be easy. Putting a symmetric -key onto both, the client and the server, encapsulated payload could be -encrypted with blowfish, aes or another symmetric cipher. +key onto both, the client and the server, encapsulated payload could +be encrypted with blowfish, aes or another symmetric cipher. Adding authentication might be harder and I'm not sure it's a high priority. CONFIG FILE -What should be configurable? What should the config file then look like? +What should be configurable? What should the config file then look +like? The config file would be plain text file. It's format and +contents will be determined later. PROJECT SCHEDULE I have put a rough estimate of a schedule in the proposal: * core tunnel daemon, config file parsing, plugin interface - 2 weeks -* probing/checking strategy for unreliable protocols (UDP, ICMP) - 1 -* week +* probing/checking strategy for unreliable protocols (UDP, ICMP) + - 1 week * TCP, UDP plugins - 1 week * ICMP plugin - 1 week * HTTP plugin - 1 week From owner-p4-projects@FreeBSD.ORG Mon Jun 11 01:35:57 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DF7A16A46D; Mon, 11 Jun 2007 01:35:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1262616A400 for ; Mon, 11 Jun 2007 01:35:57 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 027F513C45A for ; Mon, 11 Jun 2007 01:35:57 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5B1ZuoO025136 for ; Mon, 11 Jun 2007 01:35:56 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5B1ZudK025124 for perforce@freebsd.org; Mon, 11 Jun 2007 01:35:56 GMT (envelope-from thompsa@freebsd.org) Date: Mon, 11 Jun 2007 01:35:56 GMT Message-Id: <200706110135.l5B1ZudK025124@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121372 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2007 01:35:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=121372 Change 121372 by thompsa@thompsa_heff on 2007/06/11 01:35:21 Add myself. Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#52 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#52 (text+ko) ==== @@ -2,6 +2,7 @@ * Copyright (c) 2004, 2005 * Damien Bergamini . All rights reserved. * Copyright (c) 2005-2006 Sam Leffler, Errno Consulting + * Copyright (c) 2007 Andrew Thompson * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From owner-p4-projects@FreeBSD.ORG Mon Jun 11 04:10:25 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A0EBB16A468; Mon, 11 Jun 2007 04:10:25 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 422FB16A46B for ; Mon, 11 Jun 2007 04:10:25 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2EEC413C448 for ; Mon, 11 Jun 2007 04:10:25 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5B4AP9I065785 for ; Mon, 11 Jun 2007 04:10:25 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5B4ALdV065736 for perforce@freebsd.org; Mon, 11 Jun 2007 04:10:21 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 11 Jun 2007 04:10:21 GMT Message-Id: <200706110410.l5B4ALdV065736@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121382 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2007 04:10:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=121382 Change 121382 by rwatson@rwatson_zoo on 2007/06/11 04:09:59 Integrate TrustedBSD base from FreeBSD CVS: - pam_nologin uses accounting not authentication PAM hooks - 802.11 infrastructure improvments Affected files ... .. //depot/projects/trustedbsd/base/UPDATING#83 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/ftpd#8 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/gdm#7 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/imap#5 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/kde#6 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/login#12 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/other#9 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/pop3#5 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/rsh#5 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/sshd#11 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/telnetd#6 integrate .. //depot/projects/trustedbsd/base/etc/pam.d/xdm#9 integrate .. //depot/projects/trustedbsd/base/include/histedit.h#5 integrate .. //depot/projects/trustedbsd/base/include/paths.h#11 integrate .. //depot/projects/trustedbsd/base/lib/libc/powerpc/gen/syncicache.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/regex/regcomp.c#11 integrate .. //depot/projects/trustedbsd/base/lib/libc/regex/regerror.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/regex/regexec.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/regex/regfree.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libedit/editline.3#10 integrate .. //depot/projects/trustedbsd/base/lib/libedit/el.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libedit/el.h#4 integrate .. //depot/projects/trustedbsd/base/lib/libedit/term.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libedit/term.h#4 integrate .. //depot/projects/trustedbsd/base/lib/libpam/modules/pam_nologin/pam_nologin.8#2 integrate .. //depot/projects/trustedbsd/base/lib/libpam/modules/pam_nologin/pam_nologin.c#9 integrate .. //depot/projects/trustedbsd/base/sbin/sysctl/sysctl.c#31 integrate .. //depot/projects/trustedbsd/base/share/man/man7/hier.7#33 integrate .. //depot/projects/trustedbsd/base/share/misc/committers-ports.dot#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/trap.c#34 integrate .. //depot/projects/trustedbsd/base/sys/amd64/conf/DEFAULTS#7 integrate .. //depot/projects/trustedbsd/base/sys/amd64/ia32/ia32_syscall.c#14 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/kdb.h#4 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/busdma_machdep.c#18 integrate .. //depot/projects/trustedbsd/base/sys/arm/include/kdb.h#3 integrate .. //depot/projects/trustedbsd/base/sys/cam/README.quirks#2 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_file.c#31 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_misc.c#56 integrate .. //depot/projects/trustedbsd/base/sys/compat/ndis/kern_ndis.c#16 integrate .. //depot/projects/trustedbsd/base/sys/compat/svr4/svr4_misc.c#36 integrate .. //depot/projects/trustedbsd/base/sys/conf/NOTES#89 integrate .. //depot/projects/trustedbsd/base/sys/conf/files#118 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.amd64#40 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.i386#73 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.pc98#62 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.sparc64#51 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.sun4v#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/ath_rate/amrr/amrr.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/ath_rate/onoe/onoe.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/ath_rate/sample/sample.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/if_ath.c#40 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/if_athioctl.h#16 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/if_athvar.h#26 integrate .. //depot/projects/trustedbsd/base/sys/dev/awi/awi.c#23 integrate .. //depot/projects/trustedbsd/base/sys/dev/awi/awivar.h#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/if_ndis/if_ndis.c#22 integrate .. //depot/projects/trustedbsd/base/sys/dev/ipw/if_ipw.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/iwi/if_iwi.c#20 integrate .. //depot/projects/trustedbsd/base/sys/dev/iwi/if_iwireg.h#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/iwi/if_iwivar.h#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/mii/icsphy.c#1 branch .. //depot/projects/trustedbsd/base/sys/dev/mii/icsphyreg.h#1 branch .. //depot/projects/trustedbsd/base/sys/dev/mii/miidevs#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/msk/if_msk.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/ral/if_ral_pci.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/ral/rt2560.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/ral/rt2560reg.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/ral/rt2560var.h#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/ral/rt2661.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/ral/rt2661reg.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/ral/rt2661var.h#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/isa/ad1816.c#20 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/isa/ess.c#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/isa/mss.c#25 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/isa/sb16.c#20 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/isa/sb8.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/als4000.c#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/atiixp.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/aureal.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/cmi.c#25 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/cs4281.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/csapcm.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/ds1.c#18 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/emu10k1.c#24 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/emu10kx-pcm.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/es137x.c#22 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/fm801.c#18 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/hda/hdac.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/ich.c#39 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/maestro3.c#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/neomagic.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/solo.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/t4dwave.c#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/via8233.c#24 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/via82c686.c#20 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pci/vibes.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/channel.c#29 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/channel.h#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/dsp.c#29 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/vchan.c#20 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/usb/uaudio.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/usb/uaudio_pcm.c#16 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_axe.c#28 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_axereg.h#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_cdce.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_cdcereg.h#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_rumreg.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_rumvar.h#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_ural.c#22 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_uralreg.h#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/if_uralvar.h#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ufoma.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/umct.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/usb_subr.c#30 integrate .. //depot/projects/trustedbsd/base/sys/dev/wi/if_wi.c#61 integrate .. //depot/projects/trustedbsd/base/sys/dev/wi/if_wivar.h#20 integrate .. //depot/projects/trustedbsd/base/sys/fs/procfs/procfs_status.c#22 integrate .. //depot/projects/trustedbsd/base/sys/gdb/gdb_packet.c#4 integrate .. //depot/projects/trustedbsd/base/sys/gnu/fs/reiserfs/reiserfs_namei.c#3 integrate .. //depot/projects/trustedbsd/base/sys/gnu/fs/reiserfs/reiserfs_stree.c#2 integrate .. //depot/projects/trustedbsd/base/sys/i386/conf/DEFAULTS#7 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/trap.c#56 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/kdb.h#4 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/db_machdep.c#3 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/machdep.c#68 integrate .. //depot/projects/trustedbsd/base/sys/ia64/include/cpufunc.h#15 integrate .. //depot/projects/trustedbsd/base/sys/ia64/include/kdb.h#5 integrate .. //depot/projects/trustedbsd/base/sys/ia64/include/vmparam.h#15 integrate .. //depot/projects/trustedbsd/base/sys/kern/init_main.c#54 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_acct.c#37 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_clock.c#41 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_exit.c#60 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_fork.c#66 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_mutex.c#55 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_proc.c#57 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_resource.c#41 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_sig.c#73 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_thread.c#60 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_time.c#36 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_witness.c#68 integrate .. //depot/projects/trustedbsd/base/sys/kern/tty.c#41 integrate .. //depot/projects/trustedbsd/base/sys/kern/vfs_aio.c#60 integrate .. //depot/projects/trustedbsd/base/sys/kern/vfs_bio.c#69 integrate .. //depot/projects/trustedbsd/base/sys/modules/Makefile#89 integrate .. //depot/projects/trustedbsd/base/sys/modules/bge/Makefile#6 integrate .. //depot/projects/trustedbsd/base/sys/modules/mii/Makefile#10 integrate .. //depot/projects/trustedbsd/base/sys/modules/wlan_scan_ap/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/modules/wlan_scan_sta/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/net/if_media.h#22 integrate .. //depot/projects/trustedbsd/base/sys/net/if_spppsubr.c#24 integrate .. //depot/projects/trustedbsd/base/sys/net80211/_ieee80211.h#8 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211.c#21 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211.h#13 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_acl.c#4 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_amrr.c#3 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_crypto.c#11 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_crypto.h#9 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_crypto_ccmp.c#6 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_crypto_none.c#4 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_crypto_tkip.c#6 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_crypto_wep.c#5 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_freebsd.c#9 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_freebsd.h#9 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_ht.c#1 branch .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_ht.h#1 branch .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_input.c#26 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_ioctl.c#27 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_ioctl.h#15 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_node.c#23 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_node.h#18 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_output.c#26 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_power.c#1 branch .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_power.h#1 branch .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_proto.c#21 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_proto.h#14 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_radiotap.h#8 integrate .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_regdomain.c#1 branch .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_regdomain.h#1 branch .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_scan.c#1 branch .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_scan.h#1 branch .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_scan_ap.c#1 branch .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_scan_sta.c#1 branch .. //depot/projects/trustedbsd/base/sys/net80211/ieee80211_var.h#21 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_auth.c#8 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_auth.h#5 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_input.c#13 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_output.c#12 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctp_uio.h#11 integrate .. //depot/projects/trustedbsd/base/sys/netinet/sctputil.c#13 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_input.c#77 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_output.c#41 integrate .. //depot/projects/trustedbsd/base/sys/netinet/tcp_timer.c#31 integrate .. //depot/projects/trustedbsd/base/sys/nfsserver/nfs_serv.c#46 integrate .. //depot/projects/trustedbsd/base/sys/pc98/conf/DEFAULTS#7 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/include/cpu.h#15 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/include/kdb.h#3 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/include/md_var.h#8 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/db_interface.c#6 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/syncicache.c#6 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/uio_machdep.c#7 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/conf/DEFAULTS#5 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/include/kdb.h#4 integrate .. //depot/projects/trustedbsd/base/sys/sun4v/conf/DEFAULTS#5 integrate .. //depot/projects/trustedbsd/base/sys/sun4v/include/kdb.h#2 integrate .. //depot/projects/trustedbsd/base/sys/sys/param.h#68 integrate .. //depot/projects/trustedbsd/base/sys/sys/proc.h#86 integrate .. //depot/projects/trustedbsd/base/sys/sys/resourcevar.h#20 integrate .. //depot/projects/trustedbsd/base/sys/sys/systm.h#49 integrate .. //depot/projects/trustedbsd/base/sys/sys/vmmeter.h#10 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_contig.c#40 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_object.c#69 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_page.c#75 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_pageout.c#46 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_pageq.c#25 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_phys.c#1 branch .. //depot/projects/trustedbsd/base/sys/vm/vm_phys.h#1 branch .. //depot/projects/trustedbsd/base/usr.bin/calendar/calendars/calendar.freebsd#57 integrate .. //depot/projects/trustedbsd/base/usr.bin/netstat/Makefile#14 integrate .. //depot/projects/trustedbsd/base/usr.bin/netstat/main.c#19 integrate .. //depot/projects/trustedbsd/base/usr.bin/netstat/netstat.1#13 integrate .. //depot/projects/trustedbsd/base/usr.bin/netstat/netstat.h#15 integrate .. //depot/projects/trustedbsd/base/usr.bin/netstat/sctp.c#1 branch Differences ... ==== //depot/projects/trustedbsd/base/UPDATING#83 (text+ko) ==== @@ -21,6 +21,24 @@ developers choose to disable these features on build machines to maximize performance. +20070610: + The pam_nologin(8) module ceases to provide an authentication + function and starts providing an account management function. + Consequent changes to /etc/pam.d should be brought in using + mergemaster(8). Third-party files in /usr/local/etc/pam.d may + need manual editing as follows. Locate this line (or similar): + + auth required pam_nologin.so no_warn + + and change it according to this example: + + account required pam_nologin.so no_warn + + That is, the first word needs to be changed from "auth" to + "account". The new line can be moved to the account section + within the file for clarity. Not updating pam.conf(5) files + will result in nologin(5) ignored by the respective services. + 20070529: The ether_ioctl() function has been synchronized with ioctl(2) and ifnet.if_ioctl. Due to that, the size of one of its arguments @@ -801,4 +819,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.492 2007/05/29 12:40:45 yar Exp $ +$FreeBSD: src/UPDATING,v 1.493 2007/06/10 18:57:18 yar Exp $ ==== //depot/projects/trustedbsd/base/etc/pam.d/ftpd#8 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/ftpd,v 1.18 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/ftpd,v 1.19 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "ftpd" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/trustedbsd/base/etc/pam.d/gdm#7 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/gdm,v 1.7 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/gdm,v 1.8 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "gdm" service # # auth -auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/trustedbsd/base/etc/pam.d/imap#5 (text+ko) ==== @@ -1,11 +1,13 @@ # -# $FreeBSD: src/etc/pam.d/imap,v 1.5 2003/03/08 09:50:11 markm Exp $ +# $FreeBSD: src/etc/pam.d/imap,v 1.6 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "imap" service # # auth -#auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass + +# account +#account required pam_nologin.so ==== //depot/projects/trustedbsd/base/etc/pam.d/kde#6 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/kde,v 1.6 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/kde,v 1.7 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "kde" service # # auth -auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/trustedbsd/base/etc/pam.d/login#12 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/login,v 1.16 2003/06/14 12:35:05 des Exp $ +# $FreeBSD: src/etc/pam.d/login,v 1.17 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "login" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_self.so no_warn auth include system # account account requisite pam_securetty.so +account required pam_nologin.so account include system # session ==== //depot/projects/trustedbsd/base/etc/pam.d/other#9 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/other,v 1.10 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/other,v 1.11 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "other" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn try_first_pass @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_login_access.so account required pam_unix.so ==== //depot/projects/trustedbsd/base/etc/pam.d/pop3#5 (text+ko) ==== @@ -1,11 +1,13 @@ # -# $FreeBSD: src/etc/pam.d/pop3,v 1.5 2003/03/08 09:50:11 markm Exp $ +# $FreeBSD: src/etc/pam.d/pop3,v 1.6 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "pop3" service # # auth -#auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass + +# account +#account required pam_nologin.so ==== //depot/projects/trustedbsd/base/etc/pam.d/rsh#5 (text+ko) ==== @@ -1,14 +1,14 @@ # -# $FreeBSD: src/etc/pam.d/rsh,v 1.5 2003/02/10 00:50:03 des Exp $ +# $FreeBSD: src/etc/pam.d/rsh,v 1.6 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "rsh" service # # auth -auth required pam_nologin.so no_warn auth required pam_rhosts.so no_warn # account +account required pam_nologin.so account required pam_unix.so # session ==== //depot/projects/trustedbsd/base/etc/pam.d/sshd#11 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/sshd,v 1.15 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/sshd,v 1.16 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "sshd" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn try_first_pass @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_login_access.so account required pam_unix.so ==== //depot/projects/trustedbsd/base/etc/pam.d/telnetd#6 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/telnetd,v 1.7 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/telnetd,v 1.8 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "telnetd" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn try_first_pass @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_login_access.so account required pam_unix.so ==== //depot/projects/trustedbsd/base/etc/pam.d/xdm#9 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/xdm,v 1.10 2005/04/28 07:59:09 des Exp $ +# $FreeBSD: src/etc/pam.d/xdm,v 1.11 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "xdm" service # # auth -auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/trustedbsd/base/include/histedit.h#5 (text+ko) ==== @@ -30,8 +30,8 @@ * SUCH DAMAGE. * * @(#)histedit.h 8.2 (Berkeley) 1/3/94 - * $NetBSD: histedit.h,v 1.28 2005/07/14 15:00:58 christos Exp $ - * $FreeBSD: src/include/histedit.h,v 1.10 2005/08/07 20:51:52 stefanf Exp $ + * $NetBSD: histedit.h,v 1.31 2006/12/15 22:13:33 christos Exp $ + * $FreeBSD: src/include/histedit.h,v 1.11 2007/06/10 19:06:09 stefanf Exp $ */ /* @@ -104,7 +104,7 @@ * Low level editline access functions */ int el_set(EditLine *, int, ...); -int el_get(EditLine *, int, void *); +int el_get(EditLine *, int, ...); #if 0 unsigned char _el_fn_complete(EditLine *, int); #endif @@ -130,6 +130,9 @@ #define EL_CLIENTDATA 14 /* , void *); */ #define EL_UNBUFFERED 15 /* , int); */ #define EL_PREP_TERM 16 /* , int); */ +#define EL_GETTC 17 /* , const char *, ..., NULL); */ +#define EL_GETFP 18 /* , int, FILE **) */ +#define EL_SETFP 19 /* , int, FILE *) */ #define EL_BUILTIN_GETCFN (NULL) ==== //depot/projects/trustedbsd/base/include/paths.h#11 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)paths.h 8.1 (Berkeley) 6/2/93 - * $FreeBSD: src/include/paths.h,v 1.25 2004/01/04 17:17:46 iedowse Exp $ + * $FreeBSD: src/include/paths.h,v 1.26 2007/06/11 02:21:18 simokawa Exp $ */ #ifndef _PATHS_H_ @@ -61,6 +61,7 @@ #define _PATH_DRUM "/dev/drum" #define _PATH_ETC "/etc" #define _PATH_FTPUSERS "/etc/ftpusers" +#define _PATH_FWMEM "/dev/fwmem" #define _PATH_HALT "/sbin/halt" #define _PATH_IFCONFIG "/sbin/ifconfig" #define _PATH_KMEM "/dev/kmem" ==== //depot/projects/trustedbsd/base/lib/libc/powerpc/gen/syncicache.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/lib/libc/powerpc/gen/syncicache.c,v 1.2 2004/01/21 05:04:25 grehan Exp $"; + "$FreeBSD: src/lib/libc/powerpc/gen/syncicache.c,v 1.4 2007/06/10 16:32:08 marcel Exp $"; #endif /* not lint */ #include @@ -45,6 +45,7 @@ #include #include +#include #if defined(_KERNEL) || defined(_STANDALONE) #ifndef CACHELINESIZE ==== //depot/projects/trustedbsd/base/lib/libc/regex/regcomp.c#11 (text+ko) ==== @@ -37,7 +37,7 @@ static char sccsid[] = "@(#)regcomp.c 8.5 (Berkeley) 3/20/94"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/regex/regcomp.c,v 1.35 2007/01/09 00:28:04 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/regex/regcomp.c,v 1.36 2007/06/11 03:05:54 delphij Exp $"); #include #include @@ -178,10 +178,9 @@ = #define REG_DUMP 0200 */ int /* 0 success, otherwise REG_something */ -regcomp(preg, pattern, cflags) -regex_t * __restrict preg; -const char * __restrict pattern; -int cflags; +regcomp(regex_t * __restrict preg, + const char * __restrict pattern, + int cflags) { struct parse pa; struct re_guts *g; @@ -289,9 +288,8 @@ == static void p_ere(struct parse *p, int stop); */ static void -p_ere(p, stop) -struct parse *p; -int stop; /* character this ERE should end at */ +p_ere(struct parse *p, + int stop) /* character this ERE should end at */ { char c; sopno prevback; @@ -335,8 +333,7 @@ == static void p_ere_exp(struct parse *p); */ static void -p_ere_exp(p) -struct parse *p; +p_ere_exp(struct parse *p) { char c; wint_t wc; @@ -487,8 +484,7 @@ == static void p_str(struct parse *p); */ static void -p_str(p) -struct parse *p; +p_str(struct parse *p) { (void)REQUIRE(MORE(), REG_EMPTY); while (MORE()) @@ -506,10 +502,9 @@ * The amount of lookahead needed to avoid this kludge is excessive. */ static void -p_bre(p, end1, end2) -struct parse *p; -int end1; /* first terminating character */ -int end2; /* second terminating character */ +p_bre(struct parse *p, + int end1, /* first terminating character */ + int end2) /* second terminating character */ { sopno start = HERE(); int first = 1; /* first subexpression? */ @@ -539,9 +534,8 @@ == static int p_simp_re(struct parse *p, int starordinary); */ static int /* was the simple RE an unbackslashed $? */ -p_simp_re(p, starordinary) -struct parse *p; -int starordinary; /* is a leading * an ordinary character? */ +p_simp_re(struct parse *p, + int starordinary) /* is a leading * an ordinary character? */ { int c; int count; @@ -660,8 +654,7 @@ == static int p_count(struct parse *p); */ static int /* the value */ -p_count(p) -struct parse *p; +p_count(struct parse *p) { int count = 0; int ndigits = 0; @@ -680,8 +673,7 @@ == static void p_bracket(struct parse *p); */ static void -p_bracket(p) -struct parse *p; +p_bracket(struct parse *p) { cset *cs; wint_t ch; @@ -733,9 +725,7 @@ == static void p_b_term(struct parse *p, cset *cs); */ static void -p_b_term(p, cs) -struct parse *p; -cset *cs; +p_b_term(struct parse *p, cset *cs) { char c; wint_t start, finish; @@ -810,9 +800,7 @@ == static void p_b_cclass(struct parse *p, cset *cs); */ static void -p_b_cclass(p, cs) -struct parse *p; -cset *cs; +p_b_cclass(struct parse *p, cset *cs) { char *sp = p->next; size_t len; @@ -842,9 +830,7 @@ * This implementation is incomplete. xxx */ static void -p_b_eclass(p, cs) -struct parse *p; -cset *cs; +p_b_eclass(struct parse *p, cset *cs) { wint_t c; @@ -857,8 +843,7 @@ == static char p_b_symbol(struct parse *p); */ static wint_t /* value of symbol */ -p_b_symbol(p) -struct parse *p; +p_b_symbol(struct parse *p) { wint_t value; @@ -877,9 +862,8 @@ == static char p_b_coll_elem(struct parse *p, int endc); */ static wint_t /* value of collating element */ -p_b_coll_elem(p, endc) -struct parse *p; -wint_t endc; /* name ended by endc,']' */ +p_b_coll_elem(struct parse *p, + wint_t endc) /* name ended by endc,']' */ { char *sp = p->next; struct cname *cp; @@ -913,8 +897,7 @@ == static char othercase(int ch); */ static wint_t /* if no counterpart, return ch */ -othercase(ch) -wint_t ch; +othercase(wint_t ch) { assert(iswalpha(ch)); if (iswupper(ch)) @@ -932,9 +915,7 @@ * Boy, is this implementation ever a kludge... */ static void -bothcases(p, ch) -struct parse *p; -wint_t ch; +bothcases(struct parse *p, wint_t ch) { char *oldnext = p->next; char *oldend = p->end; @@ -961,9 +942,7 @@ == static void ordinary(struct parse *p, int ch); */ static void -ordinary(p, ch) -struct parse *p; -wint_t ch; +ordinary(struct parse *p, wint_t ch) { cset *cs; @@ -990,8 +969,7 @@ * Boy, is this implementation ever a kludge... */ static void -nonnewline(p) -struct parse *p; +nonnewline(struct parse *p) { char *oldnext = p->next; char *oldend = p->end; @@ -1014,11 +992,10 @@ == static void repeat(struct parse *p, sopno start, int from, int to); */ static void -repeat(p, start, from, to) -struct parse *p; -sopno start; /* operand from here to end of strip */ -int from; /* repeated from this number */ -int to; /* to this number of times (maybe INFINITY) */ +repeat(struct parse *p, + sopno start, /* operand from here to end of strip */ + int from, /* repeated from this number */ + int to) /* to this number of times (maybe INFINITY) */ { sopno finish = HERE(); # define N 2 @@ -1087,8 +1064,7 @@ - character can't be converted. Returns the number of bytes consumed. */ static wint_t -wgetnext(p) -struct parse *p; +wgetnext(struct parse *p) { mbstate_t mbs; wchar_t wc; @@ -1111,9 +1087,7 @@ == static int seterr(struct parse *p, int e); */ static int /* useless but makes type checking happy */ -seterr(p, e) -struct parse *p; -int e; +seterr(struct parse *p, int e) { if (p->error == 0) /* keep earliest error condition */ p->error = e; @@ -1127,8 +1101,7 @@ == static cset *allocset(struct parse *p); */ static cset * -allocset(p) -struct parse *p; +allocset(struct parse *p) { cset *cs, *ncs; @@ -1149,9 +1122,7 @@ == static void freeset(struct parse *p, cset *cs); */ static void -freeset(p, cs) -struct parse *p; -cset *cs; +freeset(struct parse *p, cset *cs) { cset *top = &p->g->sets[p->g->ncsets]; @@ -1168,8 +1139,7 @@ - returning it if so, otherwise returning OUT. */ static wint_t -singleton(cs) -cset *cs; +singleton(cset *cs) { wint_t i, s, n; @@ -1191,10 +1161,7 @@ - CHadd - add character to character set. */ static void -CHadd(p, cs, ch) -struct parse *p; -cset *cs; -wint_t ch; +CHadd(struct parse *p, cset *cs, wint_t ch) { wint_t nch, *newwides; assert(ch >= 0); @@ -1222,10 +1189,7 @@ - CHaddrange - add all characters in the range [min,max] to a character set. */ static void -CHaddrange(p, cs, min, max) -struct parse *p; -cset *cs; -wint_t min, max; +CHaddrange(struct parse *p, cset *cs, wint_t min, wint_t max) { crange *newranges; @@ -1249,10 +1213,7 @@ - CHaddtype - add all characters of a certain type to a character set. */ static void -CHaddtype(p, cs, wct) -struct parse *p; -cset *cs; -wctype_t wct; +CHaddtype(struct parse *p, cset *cs, wctype_t wct) { wint_t i; wctype_t *newtypes; @@ -1275,10 +1236,9 @@ == static sopno dupl(struct parse *p, sopno start, sopno finish); */ static sopno /* start of duplicate */ -dupl(p, start, finish) -struct parse *p; -sopno start; /* from here */ -sopno finish; /* to this less one */ +dupl(struct parse *p, + sopno start, /* from here */ + sopno finish) /* to this less one */ { sopno ret = HERE(); sopno len = finish - start; @@ -1303,10 +1263,7 @@ * some changes to the data structures. Maybe later. */ static void -doemit(p, op, opnd) -struct parse *p; -sop op; -size_t opnd; +doemit(struct parse *p, sop op, size_t opnd) { /* avoid making error situations worse */ if (p->error != 0) @@ -1329,11 +1286,7 @@ == static void doinsert(struct parse *p, sop op, size_t opnd, sopno pos); */ static void -doinsert(p, op, opnd, pos) -struct parse *p; -sop op; -size_t opnd; -sopno pos; +doinsert(struct parse *p, sop op, size_t opnd, sopno pos) { sopno sn; sop s; @@ -1369,10 +1322,7 @@ == static void dofwd(struct parse *p, sopno pos, sop value); */ static void -dofwd(p, pos, value) -struct parse *p; -sopno pos; -sop value; +dofwd(struct parse *p, sopno pos, sop value) { /* avoid making error situations worse */ if (p->error != 0) @@ -1387,9 +1337,7 @@ == static void enlarge(struct parse *p, sopno size); */ static void -enlarge(p, size) -struct parse *p; -sopno size; +enlarge(struct parse *p, sopno size) { sop *sp; @@ -1410,9 +1358,7 @@ == static void stripsnug(struct parse *p, struct re_guts *g); */ static void -stripsnug(p, g) -struct parse *p; -struct re_guts *g; +stripsnug(struct parse *p, struct re_guts *g) { g->nstates = p->slen; g->strip = (sop *)realloc((char *)p->strip, p->slen * sizeof(sop)); @@ -1433,9 +1379,7 @@ * Note that must and mlen got initialized during setup. */ static void -findmust(p, g) -struct parse *p; -struct re_guts *g; +findmust(struct parse *p, struct re_guts *g) { sop *scan; sop *start; @@ -1609,9 +1553,7 @@ * re paths. */ static int -altoffset(scan, offset) -sop *scan; -int offset; +altoffset(sop *scan, int offset) { int largest; int try; @@ -1686,9 +1628,7 @@ * the value of the character from the text that was mismatched. */ static void -computejumps(p, g) -struct parse *p; -struct re_guts *g; +computejumps(struct parse *p, struct re_guts *g) { int ch; int mindex; @@ -1732,9 +1672,7 @@ * the search algorithm works. */ static void -computematchjumps(p, g) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 11 04:17:39 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A9F9516A46B; Mon, 11 Jun 2007 04:17:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5551C16A400 for ; Mon, 11 Jun 2007 04:17:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 41DC813C447 for ; Mon, 11 Jun 2007 04:17:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5B4HdCn071730 for ; Mon, 11 Jun 2007 04:17:39 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5B4HZaF071720 for perforce@freebsd.org; Mon, 11 Jun 2007 04:17:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 11 Jun 2007 04:17:35 GMT Message-Id: <200706110417.l5B4HZaF071720@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121384 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2007 04:17:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=121384 Change 121384 by rwatson@rwatson_zoo on 2007/06/11 04:17:06 Integrate TrustedBSD priv branch. Affected files ... .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/trap.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/conf/DEFAULTS#4 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/ia32/ia32_syscall.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/include/kdb.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/busdma_machdep.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/arm/include/kdb.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/cam/README.quirks#2 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_file.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#16 integrate .. //depot/projects/trustedbsd/priv/sys/compat/ndis/kern_ndis.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#9 integrate .. //depot/projects/trustedbsd/priv/sys/conf/NOTES#16 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files#17 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.amd64#10 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.i386#9 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.pc98#8 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.sparc64#7 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.sun4v#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ath/ath_rate/amrr/amrr.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ath/ath_rate/onoe/onoe.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ath/ath_rate/sample/sample.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ath/if_ath.c#11 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ath/if_athioctl.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ath/if_athvar.h#7 integrate .. //depot/projects/trustedbsd/priv/sys/dev/awi/awi.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/awi/awivar.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/if_ndis/if_ndis.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ipw/if_ipw.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/iwi/if_iwi.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/dev/iwi/if_iwireg.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/iwi/if_iwivar.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/mii/icsphy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mii/icsphyreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mii/miidevs#8 integrate .. //depot/projects/trustedbsd/priv/sys/dev/msk/if_msk.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ral/if_ral_pci.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ral/rt2560.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ral/rt2560reg.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ral/rt2560var.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ral/rt2661.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ral/rt2661reg.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ral/rt2661var.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/isa/ad1816.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/isa/ess.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/isa/mss.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/isa/sb16.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/isa/sb8.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/als4000.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/atiixp.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/aureal.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/cmi.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/cs4281.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/csapcm.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/ds1.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/emu10k1.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/emu10kx-pcm.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/es137x.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/fm801.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/hda/hdac.c#10 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/ich.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/maestro3.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/solo.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/t4dwave.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/via8233.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/via82c686.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pci/vibes.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pcm/channel.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pcm/channel.h#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pcm/dsp.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pcm/vchan.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/usb/uaudio.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/usb/uaudio_pcm.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/if_axe.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/if_axereg.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/if_cdce.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/if_cdcereg.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/if_rumreg.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/if_rumvar.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/if_ural.c#11 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/if_uralreg.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/if_uralvar.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/ufoma.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/umct.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/usb_subr.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/dev/wi/if_wi.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/dev/wi/if_wivar.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/fs/procfs/procfs_status.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/gdb/gdb_packet.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/gnu/fs/reiserfs/reiserfs_namei.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/gnu/fs/reiserfs/reiserfs_stree.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/conf/DEFAULTS#4 integrate .. //depot/projects/trustedbsd/priv/sys/i386/i386/trap.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/i386/include/kdb.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/ia64/db_machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/ia64/machdep.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/include/cpufunc.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/include/kdb.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/include/vmparam.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/init_main.c#11 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_acct.c#10 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_clock.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_exit.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_fork.c#13 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_mutex.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_proc.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_resource.c#14 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_sig.c#11 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_thread.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_time.c#10 integrate .. //depot/projects/trustedbsd/priv/sys/kern/subr_witness.c#13 integrate .. //depot/projects/trustedbsd/priv/sys/kern/tty.c#9 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_aio.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_bio.c#11 integrate .. //depot/projects/trustedbsd/priv/sys/modules/Makefile#12 integrate .. //depot/projects/trustedbsd/priv/sys/modules/bge/Makefile#3 integrate .. //depot/projects/trustedbsd/priv/sys/modules/mii/Makefile#2 integrate .. //depot/projects/trustedbsd/priv/sys/modules/wlan_scan_ap/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/modules/wlan_scan_sta/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/net/if_media.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_spppsubr.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/_ieee80211.h#6 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_acl.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_amrr.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_crypto.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_crypto.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_crypto_ccmp.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_crypto_none.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_crypto_tkip.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_crypto_wep.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_freebsd.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_freebsd.h#5 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_ht.c#1 branch .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_ht.h#1 branch .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_input.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_ioctl.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_ioctl.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_node.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_node.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_output.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_power.c#1 branch .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_power.h#1 branch .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_proto.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_proto.h#5 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_radiotap.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_regdomain.c#1 branch .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_regdomain.h#1 branch .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_scan.c#1 branch .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_scan.h#1 branch .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_scan_ap.c#1 branch .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_scan_sta.c#1 branch .. //depot/projects/trustedbsd/priv/sys/net80211/ieee80211_var.h#5 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/sctp_auth.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/sctp_auth.h#5 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/sctp_input.c#11 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/sctp_output.c#10 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/sctp_uio.h#9 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/sctputil.c#11 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_input.c#13 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_output.c#11 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_timer.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/nfsserver/nfs_serv.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/pc98/conf/DEFAULTS#4 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/include/cpu.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/include/kdb.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/include/md_var.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/powerpc/db_interface.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/powerpc/syncicache.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/powerpc/uio_machdep.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/sparc64/conf/DEFAULTS#4 integrate .. //depot/projects/trustedbsd/priv/sys/sparc64/include/kdb.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/sun4v/conf/DEFAULTS#5 integrate .. //depot/projects/trustedbsd/priv/sys/sun4v/include/kdb.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/sys/param.h#12 integrate .. //depot/projects/trustedbsd/priv/sys/sys/proc.h#11 integrate .. //depot/projects/trustedbsd/priv/sys/sys/resourcevar.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/sys/systm.h#14 integrate .. //depot/projects/trustedbsd/priv/sys/sys/vmmeter.h#5 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_contig.c#10 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_object.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_page.c#11 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_pageout.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_pageq.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_phys.c#1 branch .. //depot/projects/trustedbsd/priv/sys/vm/vm_phys.h#1 branch Differences ... ==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/trap.c#7 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.317 2007/06/04 21:38:44 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.318 2007/06/10 21:59:12 attilio Exp $"); /* * AMD64 Trap and System call handling @@ -736,10 +736,6 @@ int reg, regcnt; ksiginfo_t ksi; - /* - * note: PCPU_INC() can only be used if we can afford - * occassional inaccuracy in the count. - */ PCPU_INC(cnt.v_syscall); #ifdef DIAGNOSTIC ==== //depot/projects/trustedbsd/priv/sys/amd64/conf/DEFAULTS#4 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.9 2006/11/04 23:50:11 jb Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.10 2007/06/11 00:38:05 marcel Exp $ machine amd64 @@ -15,5 +15,9 @@ # UART chips on this platform device uart_ns8250 +# Default partitioning schemes +options GEOM_BSD +options GEOM_MBR + # KSE support went from being default to a kernel option options KSE ==== //depot/projects/trustedbsd/priv/sys/amd64/ia32/ia32_syscall.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.18 2007/06/04 21:38:45 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.19 2007/06/10 21:59:12 attilio Exp $"); /* * 386 Trap and System call handling @@ -104,12 +104,7 @@ u_int code; ksiginfo_t ksi; - /* - * note: PCPU_INC() can only be used if we can afford - * occassional inaccuracy in the count. - */ PCPU_INC(cnt.v_syscall); - td->td_pticks = 0; td->td_frame = frame; if (td->td_ucred != p->p_ucred) ==== //depot/projects/trustedbsd/priv/sys/amd64/include/kdb.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/kdb.h,v 1.3 2006/04/03 22:51:46 marcel Exp $ + * $FreeBSD: src/sys/amd64/include/kdb.h,v 1.4 2007/06/09 21:55:16 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -47,6 +47,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { } ==== //depot/projects/trustedbsd/priv/sys/arm/arm/busdma_machdep.c#7 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.32 2007/06/07 21:51:09 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.33 2007/06/10 12:33:01 cognet Exp $"); /* * ARM bus dma support routines @@ -427,7 +427,8 @@ } /* Performed initial allocation */ newtag->flags |= BUS_DMA_MIN_ALLOC_COMP; - } + } else + newtag->bounce_zone = NULL; if (error != 0) free(newtag, M_DEVBUF); else ==== //depot/projects/trustedbsd/priv/sys/arm/include/kdb.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/kdb.h,v 1.3 2005/01/05 21:58:48 imp Exp $ + * $FreeBSD: src/sys/arm/include/kdb.h,v 1.4 2007/06/09 21:55:16 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -44,6 +44,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { cpu_idcache_wbinv_all(); ==== //depot/projects/trustedbsd/priv/sys/cam/README.quirks#2 (text+ko) ==== @@ -1,4 +1,212 @@ -/* $FreeBSD: src/sys/cam/README.quirks,v 1.1 2007/05/29 20:07:22 mjacob Exp $ */ +/* $FreeBSD: src/sys/cam/README.quirks,v 1.2 2007/06/10 04:31:55 mjacob Exp $ */ + + FreeBSD Quirk Guidelines + + Nate Lawson - njl at freebsd org + +0. Introduction + +FreeBSD drivers make every attempt possible to support the standards +behind hardware. Where possible and not in conflict with the standard, +they also attempt to work around hardware which doesn't strictly +conform. However, some devices have flaws which can't be worked +around while keeping the driver compatible with the standard. For +these devices, we have created a quirks mechanism to indicate to +the driver that it must avoid certain commands or use them differently +with a specific model and/or version of hardware. This document +focuses on identifying and committing quirks for storage hardware +involving CAM and UMASS but is applicable to other areas. + +CAM provides a generic transport for SCSI-like devices. Many different +transports use SCSI command sets including parallel SCSI, firewire +(1394), USB UMASS, fibre channel, and ATAPI. For block devices (i.e. +hard drives, flash adapters, cameras) there are two standards, SBC +and RBC. SCSI hard drives are usually SBC-compliant and smaller +devices like flash drives are usually RBC-compliant. Multimedia +devices including CDROMs and DVD-RW are usually MMC-compliant. + +Please follow these guidelines to get your device working as soon +as possible. If you are a committer, please do NOT commit quirks +directly but follow this process also. + +1. Determing the problem + +The first step is to determine what's wrong. If the device should +be supported but hangs while attaching, it's possible a quirk can +help. The types of things a quirk can fix are: +` + * cam/cam_xpt.c quirks + + o CAM_QUIRK_NOLUNS - do not probe luns other than 0 since device + responds to all inquiries with "lun present". + + o CAM_QUIRK_NOSERIAL - do not send an inquiry for serial number. + + o CAM_QUIRK_HILUNS - probe all luns even if some respond "not present" + since device has a sparse lun space. + + * cam/scsi/scsi_da.c quirks + + o DA_Q_NO_SYNC_CACHE - The sync cache command is used to force a + drive to write out all changes to disk before shutting down. Some + drives hang when receiving this command even though it is required + by all SBC and RBC standards. Note that a warning message on + console is NOT sufficient to add this quirk. The warning messages + are harmless and only a device or system hang is cause for adding + this quirk. + + o DA_Q_NO_6_BYTE - The RBC spec (see Links below) does not allow + for 6-byte READ/WRITE commands. Some manufacturers took that too + literally and crash when receiving 6-byte commands. This quirk + causes FreeBSD to only send 10-byte commands. Since the CAM subsystem + has been modified to not send 6-byte commands to USB, 1394, and + other transports that don't support SBC, this quirk should be very + rare. + + o DA_Q_NO_PREVENT - Don't use the prevent/allow commands to keep a + removable medium from being ejected. Some systems can't handle these + commands (rare). + + * cam/scsi/scsi_cd.c quirks + + o CD_Q_NO_TOUCH - not implemented + + o CD_Q_BCD_TRACKS - convert start/end track to BCD + + o CD_Q_NO_CHANGER - never treat as a changer + + o CD_Q_CHANGER - always treat as a changer + + * cam/scsi/scsi_ch.c quirks + o CH_Q_NO_DBD - disable block descriptors in mode sense + + * cam/scsi/scsi_sa.c quirks + + o SA_QUIRK_NOCOMP - Can't deal with compression at all + + o SA_QUIRK_FIXED - Force fixed mode + + o SA_QUIRK_VARIABLE - Force variable mode + + o SA_QUIRK_2FM - Needs Two File Marks at EOD + + o SA_QUIRK_1FM - No more than 1 File Mark at EOD + + o SA_QUIRK_NODREAD - Don't try and dummy read density + + o SA_QUIRK_NO_MODESEL - Don't do mode select at all + + o SA_QUIRK_NO_CPAGE - Don't use DEVICE COMPRESSION page + + * dev/usb/umass.c quirks + + o NO_TEST_UNIT_READY - The drive does not support Test Unit Ready. + Convert to Start Unit. This command is a simple no-op for most + firmware but some of them hang when this command is sent. + + o RS_NO_CLEAR_UA - The drive does not reset the Unit Attention state + after REQUEST SENSE has been sent. The INQUIRY command does not + reset the UA either, and so CAM runs in circles trying to retrieve + the initial INQUIRY data. This quirk signifies that after a unit + attention condition, don't try to clear the condition with a request + sense command. + + o NO_START_STOP - Like test unit ready, don't send this command if it hangs the device. + + o FORCE_SHORT_INQUIRY - Don't ask for full inquiry data (256 + bytes). Some drives can only handle the shorter inquiry length + (36 bytes). + + o SHUTTLE_INIT - Needs to be initialised the Shuttle way. Haven't + looked into what this does but apparently it's mostly Shuttle + devices. + + o ALT_IFACE_1 - Drive needs to be switched to alternate interface 1. Rare. + + o FLOPPY_SPEED - Drive does not do 1Mb/s, but just floppy speeds (20kb/s). + + o IGNORE_RESIDUE - The device can't count and gets the residue + of transfers wrong. This is sometimes needed for devices where + large transfers cause stalls. + + o NO_GETMAXLUN - Get maximum LUN is a command to identify multiple + devices sharing the same ID. For instance, a multislot compact + flash reader might be on two LUNS. Some non-standard devices hang + when receiving this command so this quirk disables it. + + o WRONG_CSWSIG - The device uses a weird CSWSIGNATURE. Rare. + + o NO_INQUIRY - Device cannot handle INQUIRY so fake a generic + response. INQUIRY is one of the most basic commands but some + drives can't even handle it. (No idea how such devices even work + at all on other OS's.) This quirk fakes up a valid but generic + response for devices that can't handle INQUIRY. + + o NO_INQUIRY_EVPD - Device cannot handle an extended INQUIRY + asking for vital product data (EVPD) so just return a "no data" + response (check condition) without sending the command to the + device. + +2. Testing a Quirk + +After you have an idea what you want to try, edit the proper file +above, using wildcarding to be sure your device is matched. Here +is a list of the common things to try. Note that some devices require +multiple quirks or quirks in different drivers. For example, some +USB pen drives or flash readers require quirks in both da(4) and +umass(4). + +* umass(4) device (sys/dev/usb/umass.c) -- this quirk matches an Asahi Optical device with any product ID or revision ID. +* +* { USB_VENDOR_ASAHIOPTICAL, PID_WILDCARD, RID_WILDCARD, +* UMASS_PROTO_ATAPI | UMASS_PROTO_CBI_I, +* RS_NO_CLEAR_UA +* }, +* da(4) device (sys/cam/scsi/scsi_da.c) -- this quirk matches a Creative device with a name of "NOMAD_MUVO" and any revision. +* +* { +* /* +* * Creative Nomad MUVO mp3 player (USB) +* * PR: kern/53094 +* */ +* {T_DIRECT, SIP_MEDIA_REMOVABLE, "CREATIVE", "NOMAD_MUVO", "*"}, +* /*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT +* }, + +3. Filing a PR + +All quirk submissions MUST go through GNATS. For information on how +to submit a PR, see this page. + +Please include the following in your PR: + + * Subject: QUIRK: FooCo USB DVD-RAM drive + * Output of "camcontrol inquiry yourdevice" + * Manufacturer name, model number, etc. + * Transport type (FC, SCSI, USB, Firewire) + * Output from dmesg for failed attach attempts + * Output from dmesg for successful attach attempts (after quirk added) + * Output of "usbdevs -v" with device attached + * Valid email address + +Here are some examples of well-formed PRs: + + * kern/43580 + * kern/49054 + +4. What happens next + +I will review your submission, respond with comments, and once the +quirk is deemed necessary and ready for committing, I'll commit it, +referencing the PR. (Again, all quirks must be submitted as PRs). +Questions? Email njl AT freebsd.org. + +5. Note to Committers -This is a place holder for instructions about how both committers -and non-committers should submit device quirks. +Please insert quirks in the right section in scsi_da.c, sorted by +PR number. Always include the name and PR number for scsi_da.c (see +above for an example.) Please sort quirks alphabetically in umass.c. +Follow the surrounding style in all drivers. Be sure to correspond +with the submitter to be sure the quirk you are adding is the minimum +necessary, not quirking other useful features and not overly broad +(i.e., too many wildcards). ==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_file.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.103 2007/04/04 09:11:31 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.104 2007/06/10 04:37:22 mjacob Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -239,6 +239,8 @@ *newpath = malloc(strlen(fullpath) + strlen(filename) + 2, M_TEMP, M_WAITOK | M_ZERO); *freebuf = freepath; sprintf(*newpath, "%s/%s", fullpath, filename); + } else { + *newpath = NULL; } vfslocked = VFS_LOCK_GIANT(dvp->v_mount); vrele(dvp); ==== //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#16 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.211 2007/05/31 22:52:11 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.212 2007/06/09 21:48:43 attilio Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -670,7 +670,9 @@ if (args->buf != NULL) { p = td->td_proc; PROC_LOCK(p); + PROC_SLOCK(p); calcru(p, &utime, &stime); + PROC_SUNLOCK(p); calccru(p, &cutime, &cstime); PROC_UNLOCK(p); ==== //depot/projects/trustedbsd/priv/sys/compat/ndis/kern_ndis.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.95 2007/04/06 11:18:57 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.96 2007/06/10 04:40:13 mjacob Exp $"); #include #include @@ -945,7 +945,7 @@ ndis_senddone_func senddonefunc; int i; ndis_packet *p; - uint8_t irql; + uint8_t irql = 0; sc = arg; adapter = sc->ndis_block->nmb_miniportadapterctx; @@ -988,7 +988,7 @@ ndis_status status; ndis_sendsingle_handler sendfunc; ndis_senddone_func senddonefunc; - uint8_t irql; + uint8_t irql = 0; sc = arg; adapter = sc->ndis_block->nmb_miniportadapterctx; @@ -1081,7 +1081,7 @@ ndis_reset_handler resetfunc; uint8_t addressing_reset; int rval; - uint8_t irql; + uint8_t irql = 0; sc = arg; ==== //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#9 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.94 2007/06/05 00:00:50 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.96 2007/06/09 21:48:43 attilio Exp $"); #include "opt_mac.h" @@ -827,7 +827,9 @@ p = td->td_proc; PROC_LOCK(p); + PROC_SLOCK(p); calcru(p, &utime, &stime); + PROC_SUNLOCK(p); calccru(p, &cutime, &cstime); PROC_UNLOCK(p); @@ -1225,20 +1227,24 @@ nfound++; + PROC_SLOCK(p); /* * See if we have a zombie. If so, WNOWAIT should be set, * as otherwise we should have called kern_wait() up above. */ if ((p->p_state == PRS_ZOMBIE) && ((uap->options & (SVR4_WEXITED|SVR4_WTRAPPED)))) { + PROC_SUNLOCK(p); KASSERT(uap->options & SVR4_WNOWAIT, ("WNOWAIT is clear")); /* Found a zombie, so cache info in local variables. */ pid = p->p_pid; status = p->p_xstat; - ru = *p->p_ru; + ru = p->p_ru; + PROC_SLOCK(p); calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_SUNLOCK(p); PROC_UNLOCK(p); sx_sunlock(&proctree_lock); @@ -1252,7 +1258,6 @@ * See if we have a stopped or continued process. * XXX: This duplicates the same code in kern_wait(). */ - PROC_SLOCK(p); if ((p->p_flag & P_STOPPED_SIG) && (p->p_suspcount == p->p_numthreads) && (p->p_flag & P_WAITED) == 0 && @@ -1263,8 +1268,10 @@ sx_sunlock(&proctree_lock); pid = p->p_pid; status = W_STOPCODE(p->p_xstat); - ru = *p->p_ru; + ru = p->p_ru; + PROC_SLOCK(p); calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_SUNLOCK(p); PROC_UNLOCK(p); if (((uap->options & SVR4_WNOWAIT)) == 0) { @@ -1284,9 +1291,11 @@ if (((uap->options & SVR4_WNOWAIT)) == 0) p->p_flag &= ~P_CONTINUED; pid = p->p_pid; - ru = *p->p_ru; + ru = p->p_ru; status = SIGCONT; + PROC_SLOCK(p); calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_SUNLOCK(p); PROC_UNLOCK(p); if (((uap->options & SVR4_WNOWAIT)) == 0) { ==== //depot/projects/trustedbsd/priv/sys/conf/NOTES#16 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1429 2007/06/08 21:36:52 attilio Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1430 2007/06/11 03:36:48 sam Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -786,6 +786,8 @@ device wlan_xauth #802.11 external authenticator support device wlan_acl #802.11 MAC ACL support device wlan_amrr #AMRR transmit rate control algorithm +device wlan_scan_ap #802.11 AP mode scanning +device wlan_scan_sta #802.11 STA mode scanning device token #Generic TokenRing device fddi #Generic FDDI device arcnet #Generic Arcnet ==== //depot/projects/trustedbsd/priv/sys/conf/files#17 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1214 2007/06/05 00:12:36 jeff Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1216 2007/06/11 03:36:48 sam Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -768,6 +768,7 @@ # XXX only xl cards? dev/mii/exphy.c optional miibus | exphy dev/mii/gentbi.c optional miibus | gentbi +dev/mii/icsphy.c optional miibus | icsphy # XXX only fxp cards? dev/mii/inphy.c optional miibus | inphy dev/mii/ip1000phy.c optional miibus | ip1000phy @@ -1612,11 +1613,17 @@ net80211/ieee80211_crypto_tkip.c optional wlan_tkip net80211/ieee80211_crypto_wep.c optional wlan_wep net80211/ieee80211_freebsd.c optional wlan +net80211/ieee80211_ht.c optional wlan net80211/ieee80211_input.c optional wlan net80211/ieee80211_ioctl.c optional wlan net80211/ieee80211_node.c optional wlan net80211/ieee80211_output.c optional wlan +net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan +net80211/ieee80211_regdomain.c optional wlan +net80211/ieee80211_scan.c optional wlan +net80211/ieee80211_scan_ap.c optional wlan_scan_ap +net80211/ieee80211_scan_sta.c optional wlan_scan_sta net80211/ieee80211_xauth.c optional wlan_xauth netatalk/aarp.c optional netatalk netatalk/at_control.c optional netatalk ==== //depot/projects/trustedbsd/priv/sys/conf/files.amd64#10 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.103 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.104 2007/06/11 00:38:05 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -199,10 +199,6 @@ dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_amd64.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_mbr.c standard -geom/geom_mbr_enc.c standard isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/link_elf_obj.c standard ==== //depot/projects/trustedbsd/priv/sys/conf/files.i386#9 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.576 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.577 2007/06/11 00:38:05 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -231,10 +231,6 @@ dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_i386.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_mbr.c standard -geom/geom_mbr_enc.c standard dev/acpica/acpi_if.m standard i386/acpica/OsdEnvironment.c optional acpi i386/acpica/acpi_machdep.c optional acpi ==== //depot/projects/trustedbsd/priv/sys/conf/files.pc98#8 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801/PC-9821 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.354 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.355 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -137,10 +137,6 @@ dev/speaker/spkr.c optional speaker dev/syscons/apm/apm_saver.c optional apm_saver apm dev/uart/uart_cpu_pc98.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_pc98.c standard -geom/geom_pc98_enc.c standard i386/bios/apm.c optional apm #i386/i386/apic_vector.s optional apic i386/i386/atomic.c standard \ ==== //depot/projects/trustedbsd/priv/sys/conf/files.sparc64#7 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sparc64,v 1.88 2007/03/07 21:13:49 marius Exp $ +# $FreeBSD: src/sys/conf/files.sparc64,v 1.89 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -67,10 +67,6 @@ dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_sparc64.c optional uart dev/uart/uart_kbd_sun.c optional uart sc -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_sunlabel.c standard -geom/geom_sunlabel_enc.c standard kern/syscalls.c optional ktr libkern/ffs.c standard libkern/ffsl.c standard ==== //depot/projects/trustedbsd/priv/sys/conf/files.sun4v#3 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sun4v,v 1.8 2006/12/18 07:26:35 kmacy Exp $ +# $FreeBSD: src/sys/conf/files.sun4v,v 1.9 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -28,10 +28,6 @@ dev/ofw/openfirmio.c standard dev/ofw/openpromio.c standard dev/uart/uart_cpu_sparc64.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_sunlabel.c standard -geom/geom_sunlabel_enc.c standard kern/syscalls.c optional ktr libkern/ffs.c standard libkern/ffsl.c standard ==== //depot/projects/trustedbsd/priv/sys/dev/ath/ath_rate/amrr/amrr.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/amrr/amrr.c,v 1.12 2006/12/13 19:34:34 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/amrr/amrr.c,v 1.13 2007/06/11 03:36:50 sam Exp $"); /* * AMRR rate control. See: @@ -297,27 +297,27 @@ /* NB: the rate set is assumed sorted */ for (; srate >= 0 && RATE(srate) > 72; srate--) ; - KASSERT(srate >= 0, ("bogus rate set")); } } else { /* - * A fixed rate is to be used; ic_fixed_rate is an - * index into the supported rate set. Convert this + * A fixed rate is to be used; ic_fixed_rate is the + * IEEE code for this rate (sans basic bit). Convert this * to the index into the negotiated rate set for * the node. We know the rate is there because the * rate set is checked when the station associates. */ - const struct ieee80211_rateset *rs = - &ic->ic_sup_rates[ic->ic_curmode]; - int r = rs->rs_rates[ic->ic_fixed_rate] & IEEE80211_RATE_VAL; /* NB: the rate set is assumed sorted */ srate = ni->ni_rates.rs_nrates - 1; - for (; srate >= 0 && RATE(srate) != r; srate--) + for (; srate >= 0 && RATE(srate) != ic->ic_fixed_rate; srate--) ; - KASSERT(srate >= 0, - ("fixed rate %d not in rate set", ic->ic_fixed_rate)); } - ath_rate_update(sc, ni, srate); + /* + * The selected rate may not be available due to races + * and mode settings. Also orphaned nodes created in + * adhoc mode may not have any rate set so this lookup + * can fail. This is not fatal. + */ + ath_rate_update(sc, ni, srate < 0 ? 0 : srate); #undef RATE } ==== //depot/projects/trustedbsd/priv/sys/dev/ath/ath_rate/onoe/onoe.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.c,v 1.13 2007/06/06 15:49:16 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.c,v 1.14 2007/06/11 03:36:50 sam Exp $"); /* * Atsushi Onoe's rate control algorithm. @@ -274,27 +274,27 @@ /* NB: the rate set is assumed sorted */ for (; srate >= 0 && RATE(srate) > 72; srate--) ; - KASSERT(srate >= 0, ("bogus rate set")); } } else { /* - * A fixed rate is to be used; ic_fixed_rate is an - * index into the supported rate set. Convert this + * A fixed rate is to be used; ic_fixed_rate is the + * IEEE code for this rate (sans basic bit). Convert this * to the index into the negotiated rate set for * the node. We know the rate is there because the * rate set is checked when the station associates. */ - const struct ieee80211_rateset *rs = - &ic->ic_sup_rates[ic->ic_curmode]; - int r = rs->rs_rates[ic->ic_fixed_rate] & IEEE80211_RATE_VAL; /* NB: the rate set is assumed sorted */ srate = ni->ni_rates.rs_nrates - 1; - for (; srate >= 0 && RATE(srate) != r; srate--) + for (; srate >= 0 && RATE(srate) != ic->ic_fixed_rate; srate--) ; - KASSERT(srate >= 0, - ("fixed rate %d not in rate set", ic->ic_fixed_rate)); } - ath_rate_update(sc, ni, srate); + /* + * The selected rate may not be available due to races + * and mode settings. Also orphaned nodes created in + * adhoc mode may not have any rate set so this lookup + * can fail. This is not fatal. + */ + ath_rate_update(sc, ni, srate < 0 ? 0 : srate); #undef RATE } ==== //depot/projects/trustedbsd/priv/sys/dev/ath/ath_rate/sample/sample.c#4 (text+ko) ==== @@ -32,10 +32,11 @@ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGES. + * */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/sample/sample.c,v 1.16 2007/01/15 01:17:44 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/sample/sample.c,v 1.17 2007/06/11 03:36:50 sam Exp $"); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 11 05:37:01 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C6AA16A46C; Mon, 11 Jun 2007 05:37:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B0B7716A469 for ; Mon, 11 Jun 2007 05:37:00 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9EBFA13C458 for ; Mon, 11 Jun 2007 05:37:00 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5B5b0tq054658 for ; Mon, 11 Jun 2007 05:37:00 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5B5YTTu052211 for perforce@freebsd.org; Mon, 11 Jun 2007 05:34:29 GMT (envelope-from piso@freebsd.org) Date: Mon, 11 Jun 2007 05:34:29 GMT Message-Id: <200706110534.l5B5YTTu052211@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 121387 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2007 05:37:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=121387 Change 121387 by piso@piso_newluxor on 2007/06/11 05:32:52 IFC@121371 Affected files ... .. //depot/projects/soc2005/libalias/MAINTAINERS#8 integrate .. //depot/projects/soc2005/libalias/Makefile#12 integrate .. //depot/projects/soc2005/libalias/Makefile.inc1#13 integrate .. //depot/projects/soc2005/libalias/ObsoleteFiles.inc#22 integrate .. //depot/projects/soc2005/libalias/UPDATING#19 integrate .. //depot/projects/soc2005/libalias/bin/chflags/chflags.1#2 integrate .. //depot/projects/soc2005/libalias/bin/csh/config.h#3 integrate .. //depot/projects/soc2005/libalias/bin/csh/config_p.h#3 integrate .. //depot/projects/soc2005/libalias/bin/date/date.1#2 integrate .. //depot/projects/soc2005/libalias/bin/df/df.c#5 integrate .. //depot/projects/soc2005/libalias/bin/mv/mv.1#2 integrate .. //depot/projects/soc2005/libalias/bin/pax/ar_io.c#2 integrate .. //depot/projects/soc2005/libalias/bin/pax/file_subs.c#2 integrate .. //depot/projects/soc2005/libalias/bin/pax/pat_rep.c#2 integrate .. //depot/projects/soc2005/libalias/bin/pax/sel_subs.c#2 integrate .. //depot/projects/soc2005/libalias/bin/pax/tables.c#2 integrate .. //depot/projects/soc2005/libalias/bin/rcp/rcp.c#2 integrate .. //depot/projects/soc2005/libalias/bin/sh/var.c#2 integrate .. //depot/projects/soc2005/libalias/cddl/lib/Makefile#3 integrate .. //depot/projects/soc2005/libalias/cddl/lib/libzfs/Makefile#3 integrate .. //depot/projects/soc2005/libalias/cddl/lib/libzpool/Makefile#3 integrate .. //depot/projects/soc2005/libalias/cddl/usr.bin/Makefile#3 integrate .. //depot/projects/soc2005/libalias/cddl/usr.sbin/Makefile#3 integrate .. //depot/projects/soc2005/libalias/compat/opensolaris/include/devid.h#2 integrate .. //depot/projects/soc2005/libalias/compat/opensolaris/misc/deviceid.c#1 branch .. //depot/projects/soc2005/libalias/contrib/amd/amq/amq.8#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/CHANGES#6 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/COPYRIGHT#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/FAQ#4 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/FAQ.xml#4 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/FREEBSD-Upgrade#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/Makefile.in#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/README#4 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/README.idnkit#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/acconfig.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/check-tool.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/check-tool.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/named-checkconf.8#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/named-checkconf.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/named-checkconf.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/named-checkconf.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/named-checkzone.8#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/named-checkzone.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/named-checkzone.docbook#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/check/named-checkzone.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/dig.1#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/dig.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/dig.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/dig.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/dighost.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/host.1#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/host.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/host.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/host.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/include/dig/dig.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/nslookup.1#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/nslookup.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/nslookup.docbook#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dig/nslookup.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/dnssec-keygen.8#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/dnssec-keygen.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/dnssec-keygen.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/dnssec-signzone.8#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/dnssec-signzone.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/dnssec-signzone.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/dnssectool.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/dnssec/dnssectool.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/aclconf.c#3 delete .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/builtin.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/client.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/config.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/control.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/controlconf.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/aclconf.h#3 delete .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/builtin.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/client.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/config.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/control.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/globals.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/interfacemgr.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/listenlist.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/log.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/logconf.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/lwaddr.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/lwdclient.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/lwresd.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/lwsearch.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/main.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/notify.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/ns_smf_globals.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/query.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/server.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/sortlist.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/tkeyconf.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/tsigconf.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/types.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/update.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/xfrout.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/include/named/zoneconf.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/interfacemgr.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/listenlist.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/log.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/logconf.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwaddr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwdclient.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwderror.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwdgabn.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwdgnba.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwdgrbn.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwdnoop.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwresd.8#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwresd.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwresd.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwresd.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/lwsearch.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/main.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/named.8#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/named.conf.5#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/named.conf.docbook#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/named.conf.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/named.docbook#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/named.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/notify.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/query.c#5 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/server.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/sortlist.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/tkeyconf.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/tsigconf.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/unix/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/unix/include/named/os.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/unix/os.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/update.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/xfrout.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/named/zoneconf.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/nsupdate/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/nsupdate/nsupdate.8#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/nsupdate/nsupdate.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/nsupdate/nsupdate.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/nsupdate/nsupdate.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/include/rndc/os.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc-confgen.8#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc-confgen.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc-confgen.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc-confgen.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc.8#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc.conf#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc.conf.5#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc.conf.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc.conf.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/rndc.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/unix/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/unix/os.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/util.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/bin/rndc/util.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/configure.in#4 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM-book.xml#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.ch01.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.ch02.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.ch03.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.ch04.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.ch05.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.ch06.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.ch07.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.ch08.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.ch09.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.ch10.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Bv9ARM.pdf#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/README-SGML#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/isc-logo.eps#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/isc-logo.pdf#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/man.dig.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/man.dnssec-keygen.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/man.dnssec-signzone.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/man.host.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/man.named-checkconf.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/man.named-checkzone.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/man.named.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/man.rndc-confgen.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/man.rndc.conf.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/arm/man.rndc.html#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-09.txt#2 delete .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-12.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-00.txt#2 delete .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-02.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-rsasha256-00.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-ds-sha256-05.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-insensitive-06.txt#2 delete .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-02.txt#2 delete .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-04.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-nsid-01.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-01.txt#2 delete .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-02.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-04.txt#2 delete .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-06.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-08.txt#2 delete .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-10.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-04.txt#2 delete .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-05.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-04.txt#2 delete .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-08.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-04.txt#2 delete .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-06.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/draft/draft-schlitt-spf-classic-02.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/misc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/misc/dnssec#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/misc/format-options.pl#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/misc/ipv6#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/misc/migration#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/misc/migration-4to9#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/misc/options#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/misc/rfc-compliance#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/misc/roadmap#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/misc/sdb#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/rfc/index#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/doc/rfc/rfc4193.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/rfc/rfc4255.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/rfc/rfc4343.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/rfc/rfc4367.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/doc/rfc/rfc4431.txt#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/isc-config.sh.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/Makefile.in#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/api#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/daemon.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/ftruncate.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/gettimeofday.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/mktemp.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/putenv.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/readv.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/setenv.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/setitimer.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/strcasecmp.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/strdup.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/strerror.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/strpbrk.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/strsep.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/strtoul.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/utimes.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/bsd/writev.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/configure#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/configure.in#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/dst/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/dst/dst_api.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/dst/dst_internal.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/dst/hmac_link.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/dst/md5.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/dst/md5_dgst.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/dst/md5_locl.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/dst/support.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/arpa/inet.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/arpa/nameser.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/arpa/nameser_compat.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/fd_setsize.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/hesiod.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/irp.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/irs.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/assertions.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/ctl.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/dst.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/eventlib.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/heap.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/irpmarshall.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/list.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/logging.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/memcluster.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/misc.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/isc/tree.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/netdb.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/netgroup.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/res_update.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/include/resolv.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_addr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_cidr_ntop.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_cidr_pton.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_data.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_lnaof.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_makeaddr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_net_ntop.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_net_pton.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_neta.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_netof.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_network.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_ntoa.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_ntop.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/inet_pton.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/inet/nsap_addr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/dns.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/dns_gr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/dns_ho.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/dns_nw.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/dns_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/dns_pr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/dns_pw.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/dns_sv.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gai_strerror.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gen.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gen_gr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gen_ho.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gen_ng.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gen_nw.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gen_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gen_pr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gen_pw.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gen_sv.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getaddrinfo.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getgrent.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getgrent_r.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gethostent.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/gethostent_r.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getnameinfo.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getnetent.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getnetent_r.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getnetgrent.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getnetgrent_r.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getprotoent.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getprotoent_r.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getpwent.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getpwent_r.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getservent.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/getservent_r.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/hesiod.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/hesiod_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irp.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irp_gr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irp_ho.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irp_ng.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irp_nw.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irp_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irp_pr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irp_pw.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irp_sv.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irpmarshall.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irs_data.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irs_data.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/irs_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/lcl.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/lcl_gr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/lcl_ho.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/lcl_ng.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/lcl_nw.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/lcl_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/lcl_pr.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/lcl_pw.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/lcl_sv.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/nis.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/nis_gr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/nis_ho.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/nis_ng.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/nis_nw.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/nis_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/nis_pr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/nis_pw.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/nis_sv.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/nul_ng.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/pathnames.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/irs/util.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/assertions.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/assertions.mdoc#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/base64.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/bitncmp.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/bitncmp.mdoc#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/ctl_clnt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/ctl_p.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/ctl_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/ctl_srvr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/ev_connects.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/ev_files.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/ev_streams.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/ev_timers.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/ev_waits.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/eventlib.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/eventlib.mdoc#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/eventlib_p.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/heap.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/heap.mdoc#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/hex.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/logging.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/logging.mdoc#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/logging_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/memcluster.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/memcluster.mdoc#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/movefile.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/tree.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/isc/tree.mdoc#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/make/includes.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/make/rules.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/nameser/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/nameser/ns_date.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/nameser/ns_name.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/nameser/ns_netint.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/nameser/ns_parse.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/nameser/ns_print.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/nameser/ns_samedomain.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/nameser/ns_sign.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/nameser/ns_ttl.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/nameser/ns_verify.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/port/freebsd/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/port_before.h.in#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/herror.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_comp.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_data.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_debug.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_debug.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_findzonecut.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_init.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_mkquery.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_mkupdate.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_mkupdate.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_private.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_query.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_send.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_sendsigned.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind/resolv/res_update.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind9/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind9/api#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind9/check.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind9/getaddresses.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind9/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind9/include/bind9/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind9/include/bind9/check.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind9/include/bind9/getaddresses.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind9/include/bind9/version.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/bind9/version.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/Makefile.in#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/acache.c#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/acl.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/adb.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/api#4 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/byaddr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/cache.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/callbacks.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/compress.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/db.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dbiterator.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dbtable.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/diff.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dispatch.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dlz.c#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dnssec.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/ds.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dst_api.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dst_internal.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dst_lib.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dst_openssl.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dst_parse.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dst_parse.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/dst_result.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/forward.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/gen-unix.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/gen.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/gssapi_link.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/gssapictx.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/hmac_link.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/acache.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/acl.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/adb.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/bit.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/byaddr.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/cache.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/callbacks.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/cert.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/compress.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/db.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/dbiterator.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/dbtable.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/diff.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/dispatch.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/dlz.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/dnssec.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/ds.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/events.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/fixedname.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/forward.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/journal.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/keyflags.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/keytable.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/keyvalues.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/lib.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/log.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/lookup.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/master.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/masterdump.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/message.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/name.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/ncache.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/nsec.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/opcode.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/order.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/peer.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/portlist.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/rbt.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/rcode.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/rdata.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/rdataclass.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/rdatalist.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/rdataset.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/rdatasetiter.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/rdataslab.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/rdatatype.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/request.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/resolver.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/result.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/rootns.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/sdb.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/sdlz.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/secalg.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/secproto.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/soa.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/ssu.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/stats.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/tcpmsg.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/time.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/timer.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/tkey.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/tsig.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/ttl.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/types.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/validator.h#4 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/version.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/view.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/xfrin.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/zone.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/zonekey.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dns/zt.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dst/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dst/dst.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dst/gssapi.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dst/lib.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/include/dst/result.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/journal.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/key.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/keytable.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/lib.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/log.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/lookup.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/master.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/masterdump.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/message.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/name.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/ncache.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/nsec.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/openssl_link.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/openssldh_link.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/openssldsa_link.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/opensslrsa_link.c#4 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/order.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/peer.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/portlist.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rbt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rbtdb.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rbtdb.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rbtdb64.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rbtdb64.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rcode.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/any_255/tsig_250.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/any_255/tsig_250.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/ch_3/a_1.c#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/ch_3/a_1.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/afsdb_18.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/afsdb_18.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/cert_37.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/cert_37.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/cname_5.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/cname_5.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/dlv_32769.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/dlv_32769.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/dname_39.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/dname_39.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/dnskey_48.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/dnskey_48.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/ds_43.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/ds_43.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/gpos_27.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/gpos_27.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/hinfo_13.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/hinfo_13.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.c#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/isdn_20.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/isdn_20.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/key_25.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/key_25.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/loc_29.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/loc_29.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/mb_7.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/mb_7.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/md_3.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/md_3.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/mf_4.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/mf_4.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/mg_8.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/mg_8.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/minfo_14.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/minfo_14.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/mr_9.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/mr_9.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/mx_15.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/mx_15.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/ns_2.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/ns_2.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/nsec_47.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/nsec_47.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/null_10.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/null_10.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/nxt_30.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/nxt_30.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/opt_41.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/opt_41.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/proforma.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/proforma.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/ptr_12.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/ptr_12.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/rp_17.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/rp_17.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/rrsig_46.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/rrsig_46.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/rt_21.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/rt_21.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/sig_24.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/sig_24.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/soa_6.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/soa_6.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/spf_99.c#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/spf_99.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/sshfp_44.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/sshfp_44.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/tkey_249.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/tkey_249.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/txt_16.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/txt_16.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/unspec_103.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/unspec_103.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/x25_19.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/generic/x25_19.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/hs_4/a_1.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/hs_4/a_1.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/a6_38.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/a6_38.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/a_1.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/a_1.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/apl_42.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/apl_42.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/kx_36.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/kx_36.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/naptr_35.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/naptr_35.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/nsap_22.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/nsap_22.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/px_26.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/px_26.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/srv_33.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/srv_33.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/wks_11.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/in_1/wks_11.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/rdatastructpre.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdata/rdatastructsuf.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdatalist.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdatalist_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdataset.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdatasetiter.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rdataslab.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/request.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/resolver.c#6 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/result.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/rootns.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/sdb.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/sdlz.c#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/soa.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/ssu.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/stats.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/tcpmsg.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/time.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/timer.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/tkey.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/tsig.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/ttl.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/validator.c#4 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/version.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/view.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/xfrin.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/zone.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/zonekey.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/dns/zt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/alpha/include/isc/atomic.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/api#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/arm/include/isc/atomic.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/assertions.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/base64.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/bitstring.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/buffer.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/bufferlist.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/commandline.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/entropy.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/error.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/event.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/fsaccess.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/hash.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/heap.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/hex.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/hmacmd5.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/hmacsha.c#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/app.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/assertions.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/base64.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/bitstring.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/boolean.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/buffer.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/bufferlist.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/commandline.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/entropy.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/error.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/event.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/eventclass.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/file.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/formatcheck.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/fsaccess.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/hash.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/heap.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/hex.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/hmacmd5.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/hmacsha.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/interfaceiter.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/ipv6.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/lang.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/lex.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/lfsr.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/lib.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/list.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/log.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/magic.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/md5.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/mem.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/msgcat.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/msgs.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/mutexblock.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/netaddr.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/netscope.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/ondestroy.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/os.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/parseint.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/platform.h.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/print.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/quota.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/random.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/ratelimiter.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/refcount.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/region.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/resource.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/result.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/resultclass.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/rwlock.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/serial.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/sha1.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/sha2.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/sockaddr.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/socket.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/stdio.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/stdlib.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/string.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/symtab.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/task.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/taskpool.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/timer.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/types.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/util.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/include/isc/version.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/inet_aton.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/inet_ntop.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/inet_pton.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/lex.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/lfsr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/lib.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/log.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/md5.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/mem.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/mips/include/isc/atomic.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/mutexblock.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/netaddr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/netscope.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nls/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nls/msgcat.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/noatomic/include/isc/atomic.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nothreads/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nothreads/condition.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nothreads/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nothreads/include/isc/condition.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nothreads/include/isc/mutex.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nothreads/include/isc/once.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nothreads/include/isc/thread.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nothreads/mutex.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/nothreads/thread.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/ondestroy.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/parseint.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/powerpc/include/isc/atomic.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/print.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/pthreads/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/pthreads/condition.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/pthreads/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/pthreads/include/isc/condition.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/pthreads/include/isc/mutex.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/pthreads/include/isc/once.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/pthreads/include/isc/thread.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/pthreads/mutex.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/pthreads/thread.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/quota.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/random.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/ratelimiter.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/refcount.c#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/region.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/result.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/rwlock.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/serial.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/sha1.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/sha2.c#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/sockaddr.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/sparc64/include/isc/atomic.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/string.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/strtoul.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/symtab.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/task.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/task_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/taskpool.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/timer.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/timer_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/app.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/dir.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/entropy.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/errno2result.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/errno2result.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/file.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/fsaccess.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/ifiter_getifaddrs.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/ifiter_ioctl.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/ifiter_sysctl.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/dir.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/int.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/keyboard.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/net.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/netdb.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/offset.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/stat.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/stdtime.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/strerror.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/syslog.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/include/isc/time.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/interfaceiter.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/ipv6.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/keyboard.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/net.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/os.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/resource.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/socket.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/socket_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/stdio.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/stdtime.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/strerror.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/syslog.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/unix/time.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/version.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/x86_32/include/isc/atomic.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isc/x86_64/include/isc/atomic.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/alist.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/api#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/base64.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/cc.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/ccmsg.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/alist.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/base64.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/cc.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/ccmsg.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/events.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/lib.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/result.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/sexpr.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/symtab.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/symtype.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/types.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/util.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/include/isccc/version.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/lib.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/result.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/sexpr.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/symtab.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccc/version.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/aclconf.c#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/api#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/include/isccfg/aclconf.h#1 branch .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/include/isccfg/cfg.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/include/isccfg/grammar.h#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/include/isccfg/log.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/include/isccfg/namedconf.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/include/isccfg/version.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/log.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/namedconf.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/parser.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/isccfg/version.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/api#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/assert_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/context.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/context_p.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/gai_strerror.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/getaddrinfo.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/gethost.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/getipnode.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/getnameinfo.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/getrrset.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/herror.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/context.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/int.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/ipv6.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/lang.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/list.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/lwbuffer.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/lwpacket.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/lwres.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/netdb.h.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/platform.h.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/result.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/stdlib.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/include/lwres/version.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwbuffer.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwconfig.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwinetaton.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwinetntop.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwinetpton.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwpacket.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwres_gabn.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwres_gnba.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwres_grbn.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwres_noop.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/lwresutil.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres.3#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_buffer.3#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_buffer.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_buffer.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_config.3#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_config.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_config.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_context.3#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_context.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_context.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_gabn.3#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_gabn.docbook#2 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_gabn.html#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_gai_strerror.3#3 integrate .. //depot/projects/soc2005/libalias/contrib/bind9/lib/lwres/man/lwres_gai_strerror.docbook#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 11 07:18:18 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 748C416A46F; Mon, 11 Jun 2007 07:18:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 28BF216A46B for ; Mon, 11 Jun 2007 07:18:18 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 176B313C487 for ; Mon, 11 Jun 2007 07:18:18 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5B7IHDr053252 for ; Mon, 11 Jun 2007 07:18:17 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5B7I8lq053099 for perforce@freebsd.org; Mon, 11 Jun 2007 07:18:08 GMT (envelope-from piso@freebsd.org) Date: Mon, 11 Jun 2007 07:18:08 GMT Message-Id: <200706110718.l5B7I8lq053099@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 121396 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2007 07:18:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=121396 Change 121396 by piso@piso_skytech on 2007/06/11 07:18:02 IFC@121395 Affected files ... .. //depot/projects/soc2005/libalias/UPDATING#20 integrate .. //depot/projects/soc2005/libalias/contrib/tcpdump/ieee802_11.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/tcpdump/ieee802_11_radio.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/tcpdump/print-802_11.c#3 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/ftpd#2 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/gdm#2 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/imap#2 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/kde#2 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/login#2 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/other#2 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/pop3#2 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/rsh#2 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/sshd#2 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/telnetd#2 integrate .. //depot/projects/soc2005/libalias/etc/pam.d/xdm#2 integrate .. //depot/projects/soc2005/libalias/include/histedit.h#2 integrate .. //depot/projects/soc2005/libalias/include/paths.h#2 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_write_set_format_ustar.c#7 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/test/test_tar_filenames.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libc/regex/regcomp.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libc/regex/regerror.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libc/regex/regexec.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libc/regex/regfree.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libedit/editline.3#3 integrate .. //depot/projects/soc2005/libalias/lib/libedit/el.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libedit/el.h#2 integrate .. //depot/projects/soc2005/libalias/lib/libedit/term.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libedit/term.h#3 integrate .. //depot/projects/soc2005/libalias/lib/libpam/modules/pam_nologin/pam_nologin.8#2 integrate .. //depot/projects/soc2005/libalias/lib/libpam/modules/pam_nologin/pam_nologin.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/ifconfig.8#15 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/ifconfig.h#4 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/ifieee80211.c#9 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/ifmedia.c#5 integrate .. //depot/projects/soc2005/libalias/sbin/sysctl/sysctl.c#10 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/trap.c#9 integrate .. //depot/projects/soc2005/libalias/sys/amd64/conf/DEFAULTS#4 integrate .. //depot/projects/soc2005/libalias/sys/amd64/ia32/ia32_syscall.c#5 integrate .. //depot/projects/soc2005/libalias/sys/conf/NOTES#24 integrate .. //depot/projects/soc2005/libalias/sys/conf/files#29 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.amd64#13 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.i386#12 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.pc98#10 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.sparc64#7 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.sun4v#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/ath/ath_rate/amrr/amrr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ath/ath_rate/onoe/onoe.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/ath/ath_rate/sample/sample.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/ath/if_ath.c#13 integrate .. //depot/projects/soc2005/libalias/sys/dev/ath/if_athioctl.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/ath/if_athvar.h#11 integrate .. //depot/projects/soc2005/libalias/sys/dev/awi/awi.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/awi/awivar.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/dcons/dcons_os.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/if_ndis/if_ndis.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/ipw/if_ipw.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/iwi/if_iwi.c#10 integrate .. //depot/projects/soc2005/libalias/sys/dev/iwi/if_iwireg.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/iwi/if_iwivar.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/mii/icsphy.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/mii/icsphyreg.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/mii/miidevs#10 integrate .. //depot/projects/soc2005/libalias/sys/dev/msk/if_msk.c#8 integrate .. //depot/projects/soc2005/libalias/sys/dev/msk/if_mskreg.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/ral/if_ral_pci.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ral/rt2560.c#8 integrate .. //depot/projects/soc2005/libalias/sys/dev/ral/rt2560reg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/ral/rt2560var.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ral/rt2661.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/ral/rt2661reg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/ral/rt2661var.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/isa/ad1816.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/isa/ess.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/isa/mss.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/isa/sb16.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/isa/sb8.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/als4000.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/atiixp.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/aureal.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/cmi.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/cs4281.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/csapcm.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/ds1.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/emu10k1.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/emu10kx-pcm.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/es137x.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/fm801.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/hda/hdac.c#13 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/ich.c#8 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/maestro3.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/solo.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/t4dwave.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/via8233.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/via82c686.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pci/vibes.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/channel.c#8 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/channel.h#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/vchan.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/usb/uaudio_pcm.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_aue.c#11 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_cue.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_cuereg.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_kue.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_kuereg.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_rue.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_rum.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_rumreg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_rumvar.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_ural.c#11 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_uralreg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_uralvar.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/uark.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/ubsa.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/ufm.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/usb_port.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/usbdivar.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/wi/if_wi.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/wi/if_wivar.h#3 integrate .. //depot/projects/soc2005/libalias/sys/i386/conf/DEFAULTS#4 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/trap.c#8 integrate .. //depot/projects/soc2005/libalias/sys/ia64/ia64/machdep.c#7 integrate .. //depot/projects/soc2005/libalias/sys/ia64/include/vmparam.h#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_fork.c#10 integrate .. //depot/projects/soc2005/libalias/sys/kern/subr_witness.c#10 integrate .. //depot/projects/soc2005/libalias/sys/modules/Makefile#17 integrate .. //depot/projects/soc2005/libalias/sys/modules/mii/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sys/modules/wlan_scan_ap/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/modules/wlan_scan_sta/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/net/if_media.h#4 integrate .. //depot/projects/soc2005/libalias/sys/net80211/_ieee80211.h#7 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211.c#8 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211.h#5 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_acl.c#3 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_amrr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_crypto.c#4 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_crypto.h#4 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_crypto_ccmp.c#3 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_crypto_none.c#3 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_crypto_tkip.c#3 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_crypto_wep.c#3 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_freebsd.c#4 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_freebsd.h#6 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_ht.c#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_ht.h#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_input.c#11 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_ioctl.c#8 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_ioctl.h#5 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_node.c#6 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_node.h#4 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_output.c#10 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_power.c#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_power.h#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_proto.c#7 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_proto.h#6 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_radiotap.h#3 integrate .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_regdomain.c#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_regdomain.h#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_scan.c#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_scan.h#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_scan_ap.c#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_scan_sta.c#1 branch .. //depot/projects/soc2005/libalias/sys/net80211/ieee80211_var.h#8 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_input.c#14 integrate .. //depot/projects/soc2005/libalias/sys/pc98/conf/DEFAULTS#4 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/conf/DEFAULTS#4 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/conf/DEFAULTS#4 integrate .. //depot/projects/soc2005/libalias/sys/sys/param.h#17 integrate .. //depot/projects/soc2005/libalias/sys/sys/vmmeter.h#4 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_contig.c#10 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_object.c#10 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_page.c#13 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_pageout.c#6 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_pageq.c#6 integrate .. //depot/projects/soc2005/libalias/tools/tools/net80211/wlandebug/wlandebug.c#4 integrate .. //depot/projects/soc2005/libalias/tools/tools/net80211/wlanstats/wlanstats.c#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#3 integrate Differences ... ==== //depot/projects/soc2005/libalias/UPDATING#20 (text+ko) ==== @@ -21,6 +21,37 @@ developers choose to disable these features on build machines to maximize performance. +20070610: + The net80211 layer has changed significantly and all wireless + drivers that depend on it need to be recompiled. Further these + changes require that any program that interacts with the wireless + support in the kernel be recompiled; this includes: ifconfig, + wpa_supplicant, hostapd, and wlanstats. Users must also, for + the moment, kldload the wlan_scan_sta and/or wlan_scan_ap modules + if they use modules for wireless support. These modules implement + scanning support for station and ap modes, respectively. Failure + to load the appropriate module before marking a wireless interface + up will result in a message to the console and the device not + operating properly. + +20070610: + The pam_nologin(8) module ceases to provide an authentication + function and starts providing an account management function. + Consequent changes to /etc/pam.d should be brought in using + mergemaster(8). Third-party files in /usr/local/etc/pam.d may + need manual editing as follows. Locate this line (or similar): + + auth required pam_nologin.so no_warn + + and change it according to this example: + + account required pam_nologin.so no_warn + + That is, the first word needs to be changed from "auth" to + "account". The new line can be moved to the account section + within the file for clarity. Not updating pam.conf(5) files + will result in nologin(5) ignored by the respective services. + 20070529: The ether_ioctl() function has been synchronized with ioctl(2) and ifnet.if_ioctl. Due to that, the size of one of its arguments @@ -801,4 +832,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.492 2007/05/29 12:40:45 yar Exp $ +$FreeBSD: src/UPDATING,v 1.494 2007/06/11 04:06:50 sam Exp $ ==== //depot/projects/soc2005/libalias/contrib/tcpdump/ieee802_11.h#2 (text+ko) ==== @@ -1,3 +1,4 @@ +/* $FreeBSD: src/contrib/tcpdump/ieee802_11.h,v 1.2 2007/06/11 04:04:30 sam Exp $ */ /* @(#) $Header: /tcpdump/master/tcpdump/ieee802_11.h,v 1.9 2003/07/22 17:36:57 guy Exp $ (LBL) */ /* * Copyright (c) 2001 @@ -30,6 +31,7 @@ #define IEEE802_11_RA_LEN 6 #define IEEE802_11_TA_LEN 6 #define IEEE802_11_SEQ_LEN 2 +#define IEEE802_11_CTL_LEN 2 #define IEEE802_11_IV_LEN 3 #define IEEE802_11_KID_LEN 1 @@ -72,6 +74,7 @@ /* RESERVED 0xF */ +#define CTRL_BAR 0x8 #define CTRL_PS_POLL 0xA #define CTRL_RTS 0xB #define CTRL_CTS 0xC @@ -280,6 +283,20 @@ #define CTRL_END_ACK_HDRLEN (IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+\ IEEE802_11_RA_LEN+IEEE802_11_BSSID_LEN) +struct ctrl_bar_t { + u_int16_t fc; + u_int16_t dur; + u_int8_t ra[6]; + u_int8_t ta[6]; + u_int16_t ctl; + u_int16_t seq; + u_int8_t fcs[4]; +}; + +#define CTRL_BAR_HDRLEN (IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+\ + IEEE802_11_RA_LEN+IEEE802_11_TA_LEN+\ + IEEE802_11_CTL_LEN+IEEE802_11_SEQ_LEN) + #define IV_IV(iv) ((iv) & 0xFFFFFF) #define IV_PAD(iv) (((iv) >> 24) & 0x3F) #define IV_KEYID(iv) (((iv) >> 30) & 0x03) ==== //depot/projects/soc2005/libalias/contrib/tcpdump/ieee802_11_radio.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/tcpdump/ieee802_11_radio.h,v 1.1.1.1 2005/05/29 18:16:31 sam Exp $ */ +/* $FreeBSD: src/contrib/tcpdump/ieee802_11_radio.h,v 1.2 2007/06/11 04:04:30 sam Exp $ */ /* $NetBSD: ieee80211_radiotap.h,v 1.3 2003/11/16 09:02:42 dyoung Exp $ */ /* $Header: /tcpdump/master/tcpdump/ieee802_11_radio.h,v 1.1 2004/09/23 21:33:10 dyoung Exp $ */ @@ -53,7 +53,11 @@ #endif #endif /* _KERNEL */ -/* The radio capture header precedes the 802.11 header. */ +/* + * The radio capture header precedes the 802.11 header. + * + * Note well: all radiotap fields are little-endian. + */ struct ieee80211_radiotap_header { u_int8_t it_version; /* Version 0. Only increases * for drastic changes, @@ -87,15 +91,19 @@ * IEEE80211_RADIOTAP_CHANNEL 2 x u_int16_t MHz, bitmap * * Tx/Rx frequency in MHz, followed by flags (see below). + * Note that IEEE80211_RADIOTAP_XCHANNEL must be used to + * represent an HT channel as there is not enough room in + * the flags word. * * IEEE80211_RADIOTAP_FHSS u_int16_t see below * * For frequency-hopping radios, the hop set (first byte) * and pattern (second byte). * - * IEEE80211_RADIOTAP_RATE u_int8_t 500kb/s + * IEEE80211_RADIOTAP_RATE u_int8_t 500kb/s or index * - * Tx/Rx data rate + * Tx/Rx data rate. If bit 0x80 is set then it represents an + * an MCS index and not an IEEE rate. * * IEEE80211_RADIOTAP_DBM_ANTSIGNAL int8_t decibels from * one milliwatt (dBm) @@ -154,6 +162,17 @@ * * Unitless indication of the Rx/Tx antenna for this packet. * The first antenna is antenna 0. + * + * IEEE80211_RADIOTAP_XCHANNEL u_int32_t bitmap + * u_int16_t MHz + * u_int8_t channel number + * u_int8_t .5 dBm + * + * Extended channel specification: flags (see below) followed by + * frequency in MHz, the corresponding IEEE channel number, and + * finally the maximum regulatory transmit power cap in .5 dBm + * units. This property supersedes IEEE80211_RADIOTAP_CHANNEL + * and only one of the two should be present. */ enum ieee80211_radiotap_type { IEEE80211_RADIOTAP_TSFT = 0, @@ -170,17 +189,27 @@ IEEE80211_RADIOTAP_ANTENNA = 11, IEEE80211_RADIOTAP_DB_ANTSIGNAL = 12, IEEE80211_RADIOTAP_DB_ANTNOISE = 13, + IEEE80211_RADIOTAP_XCHANNEL = 14, IEEE80211_RADIOTAP_EXT = 31 }; #ifndef _KERNEL -/* Channel flags. */ -#define IEEE80211_CHAN_TURBO 0x0010 /* Turbo channel */ -#define IEEE80211_CHAN_CCK 0x0020 /* CCK channel */ -#define IEEE80211_CHAN_OFDM 0x0040 /* OFDM channel */ -#define IEEE80211_CHAN_2GHZ 0x0080 /* 2 GHz spectrum channel. */ -#define IEEE80211_CHAN_5GHZ 0x0100 /* 5 GHz spectrum channel */ -#define IEEE80211_CHAN_PASSIVE 0x0200 /* Only passive scan allowed */ +/* Channel flags; some are used only with XCHANNEL */ +#define IEEE80211_CHAN_TURBO 0x00010 /* Turbo channel */ +#define IEEE80211_CHAN_CCK 0x00020 /* CCK channel */ +#define IEEE80211_CHAN_OFDM 0x00040 /* OFDM channel */ +#define IEEE80211_CHAN_2GHZ 0x00080 /* 2 GHz spectrum channel. */ +#define IEEE80211_CHAN_5GHZ 0x00100 /* 5 GHz spectrum channel */ +#define IEEE80211_CHAN_PASSIVE 0x00200 /* Only passive scan allowed */ +#define IEEE80211_CHAN_DYN 0x00400 /* Dynamic CCK-OFDM channel */ +#define IEEE80211_CHAN_GFSK 0x00800 /* GFSK channel (FHSS PHY) */ +#define IEEE80211_CHAN_GSM 0x01000 /* 900 MHz spectrum channel */ +#define IEEE80211_CHAN_STURBO 0x02000 /* 11a static turbo channel only */ +#define IEEE80211_CHAN_HALF 0x04000 /* Half rate channel */ +#define IEEE80211_CHAN_QUARTER 0x08000 /* Quarter rate channel */ +#define IEEE80211_CHAN_HT20 0x10000 /* HT 20 channel */ +#define IEEE80211_CHAN_HT40U 0x20000 /* HT 40 channel w/ ext above */ +#define IEEE80211_CHAN_HT40D 0x40000 /* HT 40 channel w/ ext below */ #endif /* !_KERNEL */ /* For IEEE80211_RADIOTAP_FLAGS */ @@ -197,5 +226,11 @@ #define IEEE80211_RADIOTAP_F_FRAG 0x08 /* sent/received * with fragmentation */ +#define IEEE80211_RADIOTAP_F_FCS 0x10 /* frame includes FCS */ +#define IEEE80211_RADIOTAP_F_DATAPAD 0x20 /* frame has padding between + * 802.11 header and payload + * (to 32-bit boundary) + */ +#define IEEE80211_RADIOTAP_F_BADFCS 0x40 /* does not pass FCS check */ #endif /* _NET_IF_IEEE80211RADIOTAP_H_ */ ==== //depot/projects/soc2005/libalias/contrib/tcpdump/print-802_11.c#3 (text+ko) ==== @@ -1,3 +1,4 @@ +/* $FreeBSD: src/contrib/tcpdump/print-802_11.c,v 1.2 2007/06/11 04:04:30 sam Exp $ */ /* * Copyright (c) 2001 * Fortress Technologies, Inc. All rights reserved. @@ -61,6 +62,27 @@ printf(" Mbit]"); \ } while (0) +static const int ieee80211_htrates[16] = { + 13, /* IFM_IEEE80211_MCS0 */ + 26, /* IFM_IEEE80211_MCS1 */ + 39, /* IFM_IEEE80211_MCS2 */ + 52, /* IFM_IEEE80211_MCS3 */ + 78, /* IFM_IEEE80211_MCS4 */ + 104, /* IFM_IEEE80211_MCS5 */ + 117, /* IFM_IEEE80211_MCS6 */ + 130, /* IFM_IEEE80211_MCS7 */ + 26, /* IFM_IEEE80211_MCS8 */ + 52, /* IFM_IEEE80211_MCS9 */ + 78, /* IFM_IEEE80211_MCS10 */ + 104, /* IFM_IEEE80211_MCS11 */ + 156, /* IFM_IEEE80211_MCS12 */ + 208, /* IFM_IEEE80211_MCS13 */ + 234, /* IFM_IEEE80211_MCS14 */ + 260, /* IFM_IEEE80211_MCS15 */ +}; +#define PRINT_HT_RATE(_sep, _r, _suf) \ + printf("%s%.1f%s", _sep, (.5 * ieee80211_htrates[(_r) & 0xf]), _suf) + static const char *auth_alg_text[]={"Open System","Shared Key","EAP"}; #define NUM_AUTH_ALGS (sizeof auth_alg_text / sizeof auth_alg_text[0]) @@ -553,6 +575,17 @@ ctrl_body_print(u_int16_t fc, const u_char *p) { switch (FC_SUBTYPE(fc)) { + case CTRL_BAR: + printf("BAR"); + if (!TTEST2(*p, CTRL_BAR_HDRLEN)) + return 0; + if (!eflag) + printf(" RA:%s TA:%s CTL(%x) SEQ(%u) ", + etheraddr_string(((const struct ctrl_bar_t *)p)->ra), + etheraddr_string(((const struct ctrl_bar_t *)p)->ta), + EXTRACT_LE_16BITS(&(((const struct ctrl_bar_t *)p)->ctl)), + EXTRACT_LE_16BITS(&(((const struct ctrl_bar_t *)p)->seq))); + break; case CTRL_PS_POLL: printf("Power Save-Poll"); if (!TTEST2(*p, CTRL_PS_POLL_HDRLEN)) @@ -725,6 +758,13 @@ return; switch (FC_SUBTYPE(fc)) { + case CTRL_BAR: + printf(" RA:%s TA:%s CTL(%x) SEQ(%u) ", + etheraddr_string(((const struct ctrl_bar_t *)p)->ra), + etheraddr_string(((const struct ctrl_bar_t *)p)->ta), + EXTRACT_LE_16BITS(&(((const struct ctrl_bar_t *)p)->ctl)), + EXTRACT_LE_16BITS(&(((const struct ctrl_bar_t *)p)->seq))); + break; case CTRL_PS_POLL: printf("BSSID:%s TA:%s ", etheraddr_string(((const struct ctrl_ps_poll_t *)p)->bssid), @@ -767,6 +807,8 @@ return MGMT_HDRLEN; case T_CTRL: switch (FC_SUBTYPE(fc)) { + case CTRL_BAR: + return CTRL_BAR_HDRLEN; case CTRL_PS_POLL: return CTRL_PS_POLL_HDRLEN; case CTRL_RTS: @@ -925,6 +967,64 @@ return ieee802_11_print(p, h->len, h->caplen); } +#define IEEE80211_CHAN_FHSS \ + (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_GFSK) +#define IEEE80211_CHAN_A \ + (IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM) +#define IEEE80211_CHAN_B \ + (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK) +#define IEEE80211_CHAN_PUREG \ + (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM) +#define IEEE80211_CHAN_G \ + (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN) + +#define IS_CHAN_FHSS(flags) \ + ((flags & IEEE80211_CHAN_FHSS) == IEEE80211_CHAN_FHSS) +#define IS_CHAN_A(flags) \ + ((flags & IEEE80211_CHAN_A) == IEEE80211_CHAN_A) +#define IS_CHAN_B(flags) \ + ((flags & IEEE80211_CHAN_B) == IEEE80211_CHAN_B) +#define IS_CHAN_PUREG(flags) \ + ((flags & IEEE80211_CHAN_PUREG) == IEEE80211_CHAN_PUREG) +#define IS_CHAN_G(flags) \ + ((flags & IEEE80211_CHAN_G) == IEEE80211_CHAN_G) +#define IS_CHAN_ANYG(flags) \ + (IS_CHAN_PUREG(flags) || IS_CHAN_G(flags)) + +static void +print_chaninfo(int freq, int flags) +{ + printf("%u MHz", freq); + if (IS_CHAN_FHSS(flags)) + printf(" FHSS"); + if (IS_CHAN_A(flags)) { + if (flags & IEEE80211_CHAN_HALF) + printf(" 11a/10Mhz"); + else if (flags & IEEE80211_CHAN_QUARTER) + printf(" 11a/5Mhz"); + else + printf(" 11a"); + } + if (IS_CHAN_ANYG(flags)) { + if (flags & IEEE80211_CHAN_HALF) + printf(" 11g/10Mhz"); + else if (flags & IEEE80211_CHAN_QUARTER) + printf(" 11g/5Mhz"); + else + printf(" 11g"); + } else if (IS_CHAN_B(flags)) + printf(" 11b"); + if (flags & IEEE80211_CHAN_TURBO) + printf(" Turbo"); + if (flags & IEEE80211_CHAN_HT20) + printf(" ht/20"); + else if (flags & IEEE80211_CHAN_HT40D) + printf(" ht/40-"); + else if (flags & IEEE80211_CHAN_HT40U) + printf(" ht/40+"); + printf(" "); +} + static int print_radiotap_field(struct cpack_state *s, u_int32_t bit) { @@ -935,7 +1035,7 @@ u_int16_t u16; u_int32_t u32; u_int64_t u64; - } u, u2; + } u, u2, u3, u4; int rc; switch (bit) { @@ -970,6 +1070,18 @@ case IEEE80211_RADIOTAP_TSFT: rc = cpack_uint64(s, &u.u64); break; + case IEEE80211_RADIOTAP_XCHANNEL: + rc = cpack_uint32(s, &u.u32); + if (rc != 0) + break; + rc = cpack_uint16(s, &u2.u16); + if (rc != 0) + break; + rc = cpack_uint8(s, &u3.u8); + if (rc != 0) + break; + rc = cpack_uint8(s, &u4.u8); + break; default: /* this bit indicates a field whose * size we do not know, so we cannot @@ -986,15 +1098,16 @@ switch (bit) { case IEEE80211_RADIOTAP_CHANNEL: - printf("%u MHz ", u.u16); - if (u2.u16 != 0) - printf("(0x%04x) ", u2.u16); + print_chaninfo(u.u16, u2.u16); break; case IEEE80211_RADIOTAP_FHSS: printf("fhset %d fhpat %d ", u.u16 & 0xff, (u.u16 >> 8) & 0xff); break; case IEEE80211_RADIOTAP_RATE: - PRINT_RATE("", u.u8, " Mb/s "); + if (u.u8 & 0x80) + PRINT_RATE("", u.u8, " Mb/s "); + else + PRINT_HT_RATE("", u.u8, " Mb/s "); break; case IEEE80211_RADIOTAP_DBM_ANTSIGNAL: printf("%ddB signal ", u.i8); @@ -1029,6 +1142,14 @@ printf("wep "); if (u.u8 & IEEE80211_RADIOTAP_F_FRAG) printf("fragmented "); +#if 0 + if (u.u8 & IEEE80211_RADIOTAP_F_FCS) + printf("fcs "); + if (u.u8 & IEEE80211_RADIOTAP_F_DATAPAD) + printf("datapad "); +#endif + if (u.u8 & IEEE80211_RADIOTAP_F_BADFCS) + printf("badfcs "); break; case IEEE80211_RADIOTAP_ANTENNA: printf("antenna %d ", u.u8); @@ -1036,6 +1157,9 @@ case IEEE80211_RADIOTAP_TSFT: printf("%" PRIu64 "us tsft ", u.u64); break; + case IEEE80211_RADIOTAP_XCHANNEL: + print_chaninfo(u2.u16, u.u32); + break; } return 0; } ==== //depot/projects/soc2005/libalias/etc/pam.d/ftpd#2 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/ftpd,v 1.18 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/ftpd,v 1.19 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "ftpd" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/soc2005/libalias/etc/pam.d/gdm#2 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/gdm,v 1.7 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/gdm,v 1.8 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "gdm" service # # auth -auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/soc2005/libalias/etc/pam.d/imap#2 (text+ko) ==== @@ -1,11 +1,13 @@ # -# $FreeBSD: src/etc/pam.d/imap,v 1.5 2003/03/08 09:50:11 markm Exp $ +# $FreeBSD: src/etc/pam.d/imap,v 1.6 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "imap" service # # auth -#auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass + +# account +#account required pam_nologin.so ==== //depot/projects/soc2005/libalias/etc/pam.d/kde#2 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/kde,v 1.6 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/kde,v 1.7 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "kde" service # # auth -auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/soc2005/libalias/etc/pam.d/login#2 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/login,v 1.16 2003/06/14 12:35:05 des Exp $ +# $FreeBSD: src/etc/pam.d/login,v 1.17 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "login" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_self.so no_warn auth include system # account account requisite pam_securetty.so +account required pam_nologin.so account include system # session ==== //depot/projects/soc2005/libalias/etc/pam.d/other#2 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/other,v 1.10 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/other,v 1.11 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "other" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn try_first_pass @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_login_access.so account required pam_unix.so ==== //depot/projects/soc2005/libalias/etc/pam.d/pop3#2 (text+ko) ==== @@ -1,11 +1,13 @@ # -# $FreeBSD: src/etc/pam.d/pop3,v 1.5 2003/03/08 09:50:11 markm Exp $ +# $FreeBSD: src/etc/pam.d/pop3,v 1.6 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "pop3" service # # auth -#auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass + +# account +#account required pam_nologin.so ==== //depot/projects/soc2005/libalias/etc/pam.d/rsh#2 (text+ko) ==== @@ -1,14 +1,14 @@ # -# $FreeBSD: src/etc/pam.d/rsh,v 1.5 2003/02/10 00:50:03 des Exp $ +# $FreeBSD: src/etc/pam.d/rsh,v 1.6 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "rsh" service # # auth -auth required pam_nologin.so no_warn auth required pam_rhosts.so no_warn # account +account required pam_nologin.so account required pam_unix.so # session ==== //depot/projects/soc2005/libalias/etc/pam.d/sshd#2 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/sshd,v 1.15 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/sshd,v 1.16 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "sshd" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn try_first_pass @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_login_access.so account required pam_unix.so ==== //depot/projects/soc2005/libalias/etc/pam.d/telnetd#2 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/telnetd,v 1.7 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/telnetd,v 1.8 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "telnetd" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn try_first_pass @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_login_access.so account required pam_unix.so ==== //depot/projects/soc2005/libalias/etc/pam.d/xdm#2 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/xdm,v 1.10 2005/04/28 07:59:09 des Exp $ +# $FreeBSD: src/etc/pam.d/xdm,v 1.11 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "xdm" service # # auth -auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/soc2005/libalias/include/histedit.h#2 (text+ko) ==== @@ -30,8 +30,8 @@ * SUCH DAMAGE. * * @(#)histedit.h 8.2 (Berkeley) 1/3/94 - * $NetBSD: histedit.h,v 1.28 2005/07/14 15:00:58 christos Exp $ - * $FreeBSD: src/include/histedit.h,v 1.10 2005/08/07 20:51:52 stefanf Exp $ + * $NetBSD: histedit.h,v 1.32 2007/06/10 20:20:28 christos Exp $ + * $FreeBSD: src/include/histedit.h,v 1.12 2007/06/11 06:25:19 stefanf Exp $ */ /* @@ -104,7 +104,7 @@ * Low level editline access functions */ int el_set(EditLine *, int, ...); -int el_get(EditLine *, int, void *); +int el_get(EditLine *, int, ...); #if 0 unsigned char _el_fn_complete(EditLine *, int); #endif @@ -130,8 +130,11 @@ #define EL_CLIENTDATA 14 /* , void *); */ #define EL_UNBUFFERED 15 /* , int); */ #define EL_PREP_TERM 16 /* , int); */ +#define EL_GETTC 17 /* , const char *, ..., NULL); */ +#define EL_GETFP 18 /* , int, FILE **) */ +#define EL_SETFP 19 /* , int, FILE *) */ -#define EL_BUILTIN_GETCFN (NULL) +#define EL_BUILTIN_GETCFN (NULL) /* * Source named file or $PWD/.editrc or $HOME/.editrc @@ -181,7 +184,7 @@ #define H_FUNC 0 /* , UTSL */ #define H_SETSIZE 1 /* , const int); */ -#define H_EVENT 1 /* , const int); */ +#define H_EVENT 1 /* , const int); */ #define H_GETSIZE 2 /* , void); */ #define H_FIRST 3 /* , void); */ #define H_LAST 4 /* , void); */ ==== //depot/projects/soc2005/libalias/include/paths.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)paths.h 8.1 (Berkeley) 6/2/93 - * $FreeBSD: src/include/paths.h,v 1.25 2004/01/04 17:17:46 iedowse Exp $ + * $FreeBSD: src/include/paths.h,v 1.26 2007/06/11 02:21:18 simokawa Exp $ */ #ifndef _PATHS_H_ @@ -61,6 +61,7 @@ #define _PATH_DRUM "/dev/drum" #define _PATH_ETC "/etc" #define _PATH_FTPUSERS "/etc/ftpusers" +#define _PATH_FWMEM "/dev/fwmem" #define _PATH_HALT "/sbin/halt" #define _PATH_IFCONFIG "/sbin/ifconfig" #define _PATH_KMEM "/dev/kmem" ==== //depot/projects/soc2005/libalias/lib/libarchive/archive_write_set_format_ustar.c#7 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.23 2007/05/29 01:00:19 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.24 2007/06/11 05:17:30 kientzle Exp $"); #ifdef HAVE_ERRNO_H @@ -279,6 +279,16 @@ /* Store in two pieces, splitting at a '/'. */ p = strchr(pp + strlen(pp) - USTAR_name_size - 1, '/'); /* + * If the separator we found is the first '/', find + * the next one. (This is a pathological case that + * occurs for paths of exactly 101 bytes that start with + * '/'; it occurs because the separating '/' is not + * stored explicitly and the reconstruction assumes that + * an empty prefix means there is no '/' separator.) + */ + if (p == pp) + p = strchr(p + 1, '/'); + /* * If there is no path separator, or the prefix or * remaining name are too large, return an error. */ ==== //depot/projects/soc2005/libalias/lib/libarchive/test/test_tar_filenames.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "test.h" -__FBSDID("$FreeBSD: src/lib/libarchive/test/test_tar_filenames.c,v 1.3 2007/05/29 01:00:21 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/test/test_tar_filenames.c,v 1.4 2007/06/11 05:17:30 kientzle Exp $"); /* * Exercise various lengths of filenames in tar archives, @@ -31,8 +31,8 @@ * filenames into prefix/suffix. */ -static void -test_filename(int dlen, int flen) +static +test_filename(const char *prefix, int dlen, int flen) { char buff[8192]; char filename[400]; @@ -40,12 +40,17 @@ struct archive_entry *ae; struct archive *a; size_t used; - int i; + size_t prefix_length = 0; + int i = 0; - for (i = 0; i < dlen; i++) + if (prefix) { + strcpy(filename, prefix); + i = prefix_length = strlen(prefix); + } + for (; i < prefix_length + dlen; i++) filename[i] = 'a'; filename[i++] = '/'; - for (; i < dlen + flen + 1; i++) + for (; i < prefix_length + dlen + flen + 1; i++) filename[i] = 'b'; filename[i++] = '\0'; @@ -111,7 +116,7 @@ assertA(0 == archive_read_next_header(a, &ae)); failure("Pathname %d/%d: %s", dlen, flen, archive_entry_pathname(ae)); assertEqualString(filename, archive_entry_pathname(ae)); - assert((S_IFREG | 0755) == archive_entry_mode(ae)); + assertEqualInt((S_IFREG | 0755), archive_entry_mode(ae)); /* * Read the two dirs and check the names. @@ -147,13 +152,15 @@ /* Repeat the following for a variety of dir/file lengths. */ for (dlen = 40; dlen < 60; dlen++) { for (flen = 40; flen < 60; flen++) { - test_filename(dlen, flen); + test_filename(NULL, dlen, flen); + test_filename("/", dlen, flen); } } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 11 09:13:43 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C32E16A474; Mon, 11 Jun 2007 09:13:43 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9740516A469 for ; Mon, 11 Jun 2007 09:13:42 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8627F13C44C for ; Mon, 11 Jun 2007 09:13:42 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5B9DgOa067138 for ; Mon, 11 Jun 2007 09:13:42 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5B9DfEr067126 for perforce@freebsd.org; Mon, 11 Jun 2007 09:13:41 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Mon, 11 Jun 2007 09:13:41 GMT Message-Id: <200706110913.l5B9DfEr067126@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 121405 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2007 09:13:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=121405 Change 121405 by zhouzhouyi@zhouzhouyi_mactest on 2007/06/11 09:13:12 Sending the selected mac label slots in string form to user space by /dev/mactestpipe. Currently send all slots. Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#4 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_pipe.c#2 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#2 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#4 (text+ko) ==== @@ -60,7 +60,7 @@ #include #include #include - +#include #include #include @@ -71,7 +71,7 @@ #include #include -SYSCTL_DECL(_security_mac); +//SYSCTL_DECL(_security_mac); SYSCTL_NODE(_security_mac, OID_AUTO, test, CTLFLAG_RW, 0, "TrustedBSD mac_test policy controls"); @@ -167,7 +167,8 @@ static void mac_test_init_cred_label(struct label *label) { - + mactest_pipe_submit("mac_test_init_cred_label\n", + strlen("mac_test_init_cred_label\n")); LABEL_INIT(label, MAGIC_CRED); COUNTER_INC(init_cred_label); } @@ -176,7 +177,8 @@ static void mac_test_init_devfs_label(struct label *label) { - + mactest_pipe_submit("mac_test_init_devfs_label\n", + strlen("mac_test_init_devfs_label\n")); LABEL_INIT(label, MAGIC_DEVFS); COUNTER_INC(init_devfs_label); } @@ -185,7 +187,8 @@ static void mac_test_init_ifnet_label(struct label *label) { - + mactest_pipe_submit("mac_test_init_ifnet_label\n", + strlen("mac_test_init_ifnet_label\n")); LABEL_INIT(label, MAGIC_IFNET); COUNTER_INC(init_ifnet_label); } @@ -194,7 +197,8 @@ static int mac_test_init_inpcb_label(struct label *label, int flag) { - + mactest_pipe_submit("mac_test_init_inpcb_label\n", + strlen("mac_test_init_inpcb_label\n")); if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "mac_test_init_inpcb_label() at %s:%d", __FILE__, @@ -209,6 +213,8 @@ static void mac_test_init_sysv_msgmsg_label(struct label *label) { + mactest_pipe_submit("mac_test_init_sysv_msgmsg_label\n", + strlen("mac_test_init_sysv_msgmsg_label\n")); LABEL_INIT(label, MAGIC_SYSV_MSG); COUNTER_INC(init_sysv_msg_label); } @@ -217,6 +223,8 @@ static void mac_test_init_sysv_msgqueue_label(struct label *label) { + mactest_pipe_submit("mac_test_init_sysv_msgqueue_label\n", + strlen("mac_test_init_sysv_msgqueue_label\n")); LABEL_INIT(label, MAGIC_SYSV_MSQ); COUNTER_INC(init_sysv_msq_label); } @@ -225,6 +233,8 @@ static void mac_test_init_sysv_sem_label(struct label *label) { + mactest_pipe_submit("mac_test_init_sysv_sem_label\n", + strlen("mac_test_init_sysv_sem_label\n")); LABEL_INIT(label, MAGIC_SYSV_SEM); COUNTER_INC(init_sysv_sem_label); } @@ -233,6 +243,8 @@ static void mac_test_init_sysv_shm_label(struct label *label) { + mactest_pipe_submit("mac_test_init_sysv_shm_label\n", + strlen("mac_test_init_sysv_shm_label\n")); LABEL_INIT(label, MAGIC_SYSV_SHM); COUNTER_INC(init_sysv_shm_label); } @@ -241,7 +253,8 @@ static int mac_test_init_ipq_label(struct label *label, int flag) { - + mactest_pipe_submit("mac_test_init_ipq_label\n", + strlen("mac_test_init_ipq_label\n")); if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "mac_test_init_ipq_label() at %s:%d", __FILE__, @@ -256,7 +269,8 @@ static int mac_test_init_mbuf_label(struct label *label, int flag) { - + mactest_pipe_submit("mac_test_init_mbuf_label\n", + strlen("mac_test_init_mbuf_label\n")); if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "mac_test_init_mbuf_label() at %s:%d", __FILE__, @@ -271,7 +285,8 @@ static void mac_test_init_mount_label(struct label *label) { - + mactest_pipe_submit("mac_test_init_mount_label\n", + strlen("mac_test_init_mount_label\n")); LABEL_INIT(label, MAGIC_MOUNT); COUNTER_INC(init_mount_label); } @@ -297,7 +312,8 @@ static int mac_test_init_socket_peer_label(struct label *label, int flag) { - + mactest_pipe_submit("mac_test_init_socket_peer_label\n", + strlen("mac_test_init_socket_peer_label\n")); if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "mac_test_init_socket_peer_label() at %s:%d", __FILE__, @@ -312,7 +328,8 @@ static void mac_test_init_pipe_label(struct label *label) { - + mactest_pipe_submit("mac_test_init_pipe_label\n", + strlen("mac_test_init_pipe_label\n")); LABEL_INIT(label, MAGIC_PIPE); COUNTER_INC(init_pipe_label); } @@ -321,7 +338,8 @@ static void mac_test_init_posix_sem_label(struct label *label) { - + mactest_pipe_submit("mac_test_init_posix_sem_label\n", + strlen("mac_test_init_posix_sem_label\n")); LABEL_INIT(label, MAGIC_POSIX_SEM); COUNTER_INC(init_posix_sem_label); } @@ -330,7 +348,8 @@ static void mac_test_init_proc_label(struct label *label) { - + mactest_pipe_submit("mac_test_init_proc_label\n", + strlen("mac_test_init_proc_label\n")); LABEL_INIT(label, MAGIC_PROC); COUNTER_INC(init_proc_label); } @@ -339,7 +358,8 @@ static void mac_test_init_vnode_label(struct label *label) { - + mactest_pipe_submit("mac_test_init_vnode_label\n", + strlen("mac_test_init_vnode_label\n")); LABEL_INIT(label, MAGIC_VNODE); COUNTER_INC(init_vnode_label); } @@ -348,7 +368,8 @@ static void mac_test_destroy_bpfdesc_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_bpfdesc_label\n", + strlen("mac_test_destroy_bpfdesc_label\n")); LABEL_DESTROY(label, MAGIC_BPF); COUNTER_INC(destroy_bpfdesc_label); } @@ -357,7 +378,8 @@ static void mac_test_destroy_cred_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_cred_label\n", + strlen("mac_test_destroy_cred_label\n")); LABEL_DESTROY(label, MAGIC_CRED); COUNTER_INC(destroy_cred_label); } @@ -366,7 +388,8 @@ static void mac_test_destroy_devfs_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_devfs_label\n", + strlen("mac_test_destroy_devfs_label\n")); LABEL_DESTROY(label, MAGIC_DEVFS); COUNTER_INC(destroy_devfs_label); } @@ -375,7 +398,8 @@ static void mac_test_destroy_ifnet_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_ifnet_label\n", + strlen("mac_test_destroy_ifnet_label\n")); LABEL_DESTROY(label, MAGIC_IFNET); COUNTER_INC(destroy_ifnet_label); } @@ -384,7 +408,8 @@ static void mac_test_destroy_inpcb_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_inpcb_label\n", + strlen("mac_test_destroy_inpcb_label\n")); LABEL_DESTROY(label, MAGIC_INPCB); COUNTER_INC(destroy_inpcb_label); } @@ -393,7 +418,8 @@ static void mac_test_destroy_sysv_msgmsg_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_sysv_msgmsg_label\n", + strlen("mac_test_destroy_sysv_msgmsg__label\n")); LABEL_DESTROY(label, MAGIC_SYSV_MSG); COUNTER_INC(destroy_sysv_msg_label); } @@ -402,7 +428,8 @@ static void mac_test_destroy_sysv_msgqueue_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_sysv_msgqueue_label\n", + strlen("mac_test_destroy_sysv_msgqueue_label\n")); LABEL_DESTROY(label, MAGIC_SYSV_MSQ); COUNTER_INC(destroy_sysv_msq_label); } @@ -411,7 +438,8 @@ static void mac_test_destroy_sysv_sem_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_sysv_sem_label\n", + strlen("mac_test_destroy_sysv_sem_label\n")); LABEL_DESTROY(label, MAGIC_SYSV_SEM); COUNTER_INC(destroy_sysv_sem_label); } @@ -420,7 +448,8 @@ static void mac_test_destroy_sysv_shm_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_sysv_shm_label\n", + strlen("mac_test_destroy_sysv_shm_label\n")); LABEL_DESTROY(label, MAGIC_SYSV_SHM); COUNTER_INC(destroy_sysv_shm_label); } @@ -429,7 +458,8 @@ static void mac_test_destroy_ipq_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_ipq_label\n", + strlen("mac_test_destroy_ipq_label\n")); LABEL_DESTROY(label, MAGIC_IPQ); COUNTER_INC(destroy_ipq_label); } @@ -438,7 +468,8 @@ static void mac_test_destroy_mbuf_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_mbuf_label\n", + strlen("mac_test_destroy_mbuf_label\n")); /* * If we're loaded dynamically, there may be mbufs in flight that * didn't have label storage allocated for them. Handle this @@ -455,7 +486,8 @@ static void mac_test_destroy_mount_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_mount_label\n", + strlen("mac_test_destroy_mount_label\n")); LABEL_DESTROY(label, MAGIC_MOUNT); COUNTER_INC(destroy_mount_label); } @@ -464,7 +496,8 @@ static void mac_test_destroy_socket_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_socket_label\n", + strlen("mac_test_destroy_socket_label\n")); LABEL_DESTROY(label, MAGIC_SOCKET); COUNTER_INC(destroy_socket_label); } @@ -473,7 +506,8 @@ static void mac_test_destroy_socket_peer_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_socket_peer_label\n", + strlen("mac_test_destroy_socket_peer_label\n")); LABEL_DESTROY(label, MAGIC_SOCKET); COUNTER_INC(destroy_socket_peer_label); } @@ -482,7 +516,8 @@ static void mac_test_destroy_pipe_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_pipe_label\n", + strlen("mac_test_destroy_pipe_label\n")); LABEL_DESTROY(label, MAGIC_PIPE); COUNTER_INC(destroy_pipe_label); } @@ -491,7 +526,8 @@ static void mac_test_destroy_posix_sem_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_posix_sem_label\n", + strlen("mac_test_destroy_posix_sem_label\n")); LABEL_DESTROY(label, MAGIC_POSIX_SEM); COUNTER_INC(destroy_posix_sem_label); } @@ -500,7 +536,8 @@ static void mac_test_destroy_proc_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_proc_label\n", + strlen("mac_test_destroy_proc_label\n")); LABEL_DESTROY(label, MAGIC_PROC); COUNTER_INC(destroy_proc_label); } @@ -509,7 +546,8 @@ static void mac_test_destroy_vnode_label(struct label *label) { - + mactest_pipe_submit("mac_test_destroy_vnode_label\n", + strlen("mac_test_destroy_vnode_label\n")); LABEL_DESTROY(label, MAGIC_VNODE); COUNTER_INC(destroy_vnode_label); } @@ -518,7 +556,9 @@ static void mac_test_copy_cred_label(struct label *src, struct label *dest) { - + mactest_pipe_submit("mac_test_copy_cred_label\n", + strlen("mac_test_copy_cred_label\n")); + MACTEST_PIPE_SUBMIT_LABEL(cred,src); LABEL_CHECK(src, MAGIC_CRED); LABEL_CHECK(dest, MAGIC_CRED); COUNTER_INC(copy_cred_label); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_pipe.c#2 (text+ko) ==== @@ -46,7 +46,8 @@ #include #include #include - +#include +#include #include /* @@ -54,13 +55,6 @@ * mandatory access control test data */ -/* - * Memory types. - */ -static MALLOC_DEFINE(M_MACTEST_PIPE, "mactest_pipe", "mactest pipes"); -static MALLOC_DEFINE(M_MACTEST_PIPE_ENTRY, "mactest_pipeent", - "mactest pipe entries and buffers"); - /* * mactest pipe buffer parameters. @@ -233,6 +227,7 @@ pgsigio(&mp->mp_sigio, SIGIO, 0); } +char *elements="?biba,?lomac,?mls,?sebsd"; /* * mactest_pipe_submit(): the mactest hooks submits mactest records via this * interface, which arranges for them to be delivered to pipe queues. @@ -258,6 +253,7 @@ } + /* * Pop the next record off of an mactest pipe. */ ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#2 (text+ko) ==== @@ -1,7 +1,37 @@ #ifndef _SECURITY_MAC_TEST_PRIVATE_H #define _SECURITY_MAC_TEST_PRIVATE_H - +#include void mactest_pipe_submit(void *record, u_int record_len); +extern char *elements; + +/* + * Memory types. + */ +static MALLOC_DEFINE(M_MACTEST_PIPE, "mactest_pipe", "mactest pipes"); +static MALLOC_DEFINE(M_MACTEST_PIPE_ENTRY, "mactest_pipeent", + "mactest pipe entries and buffers"); + +#define MACTEST_PIPE_SUBMIT_LABEL(type,label) do { \ + int strleng = 0; \ + char *buffer; \ + char *elements1 = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ + if (!elements1) \ + goto exit; \ + strcpy(elements1, elements); \ + buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ + if (!buffer) \ + goto exit1; \ + mac_externalize_##type##_label(label, elements1, \ + buffer, 256); \ + strleng = strlen(buffer); \ + *(buffer + strleng) = '\n'; \ + mactest_pipe_submit(buffer, strleng + 1); \ + free(buffer, M_MACTEST_PIPE); \ +exit1: \ + free(elements1, M_MACTEST_PIPE); \ +exit: \ + ;/*extra ; to avoid label at the end of compound statement*/ \ +}while(0) #endif /* ! _SECURITY_MAC_TEST_PRIVATE_H */ From owner-p4-projects@FreeBSD.ORG Mon Jun 11 10:46:37 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA83B16A49C; Mon, 11 Jun 2007 10:46:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9D16716A476 for ; Mon, 11 Jun 2007 10:46:36 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 74DD113C4B7 for ; Mon, 11 Jun 2007 10:46:36 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5BAkadZ061310 for ; Mon, 11 Jun 2007 10:46:36 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5BAkaYj061306 for perforce@freebsd.org; Mon, 11 Jun 2007 10:46:36 GMT (envelope-from thompsa@freebsd.org) Date: Mon, 11 Jun 2007 10:46:36 GMT Message-Id: <200706111046.l5BAkaYj061306@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121406 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2007 10:46:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=121406 Change 121406 by thompsa@thompsa_heff on 2007/06/11 10:46:16 Clear the firmware command ring on stop. Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#53 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#53 (text+ko) ==== @@ -3260,6 +3260,7 @@ ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + memset(sc->sc_cmd, 0, sizeof(sc->sc_cmd)); sc->sc_tx_timer = 0; sc->sc_rfkill_timer = 0; sc->sc_state_timer = 0; From owner-p4-projects@FreeBSD.ORG Mon Jun 11 12:19:58 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 309A616A46E; Mon, 11 Jun 2007 12:19:58 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DC97416A498 for ; Mon, 11 Jun 2007 12:19:57 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A512413C44C for ; Mon, 11 Jun 2007 12:19:57 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5BCJvP5052733 for ; Mon, 11 Jun 2007 12:19:57 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5BCJvBD052721 for perforce@freebsd.org; Mon, 11 Jun 2007 12:19:57 GMT (envelope-from taleks@FreeBSD.org) Date: Mon, 11 Jun 2007 12:19:57 GMT Message-Id: <200706111219.l5BCJvBD052721@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 121429 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2007 12:19:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=121429 Change 121429 by taleks@taleks_th on 2007/06/11 12:19:29 Aded pxe_await module hide receiving cycle from user code, updated other modules to use await functions. Updated DHCP client, now it is able to get earlier missed information about subnet/nameserver/gateway. Updated pxe_core to use this facility, also added pxe_get_ip32() function instead of set of functions with similar names. DNS module now checks if provided string is striing value of ip address. Commented all used functions parameters more detailed. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/Makefile#6 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_arp.c#7 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_arp.h#6 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_await.c#1 add .. //depot/projects/soc2007/taleks-pxe_http/pxe_await.h#1 add .. //depot/projects/soc2007/taleks-pxe_http/pxe_buffer.c#2 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_buffer.h#2 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#14 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_core.h#12 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_dhcp.c#2 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_dhcp.h#2 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_dns.c#3 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_dns.h#3 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_filter.c#3 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_filter.h#2 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_icmp.c#8 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_icmp.h#7 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_ip.c#7 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_sock.c#7 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_sock.h#7 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_udp.c#4 edit Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/Makefile#6 (text+ko) ==== @@ -3,7 +3,7 @@ LIB= pxe_http INTERNALLIB= -SRCS= pxe_conv.c pxe_isr.S pxe_mem.c pxe_buffer.c pxe_sock.c pxe_arp.c pxe_ip.c pxe_mutex.c \ +SRCS= pxe_conv.c pxe_isr.S pxe_mem.c pxe_buffer.c pxe_sock.c pxe_await.c pxe_arp.c pxe_ip.c pxe_mutex.c \ pxe_core.c pxe_icmp.c pxe_udp.c pxe_filter.c pxe_dns.c pxe_dhcp.c CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../btx/lib \ @@ -13,7 +13,7 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ #debug flag -CFLAGS+= -DPXE_DEBUG +#CFLAGS+= -DPXE_DEBUG #CFLAGS+= -DPXE_DEBUG_HELL .include ==== //depot/projects/soc2007/taleks-pxe_http/pxe_arp.c#7 (text+ko) ==== @@ -1,6 +1,7 @@ #include #include "pxe_arp.h" +#include "pxe_await.h" #include "pxe_conv.h" #include "pxe_core.h" #include "pxe_mem.h" @@ -41,12 +42,12 @@ /* filling source related data: client ip & MAC */ pxe_memcpy(pxe_get_mymac(), packet_to_send.body.src_hwaddr, 6); - packet_to_send.body.src_paddr = pxe_get_myip32(); + packet_to_send.body.src_paddr = pxe_get_ip32(PXE_IP_MY); /* filling entry for own ip/mac*/ pxe_memcpy(pxe_get_mymac(), arp_table[MAX_ARP_ENTRIES].mac, 6); - arp_table[MAX_ARP_ENTRIES].ip4.ip = pxe_get_myip32(); - + arp_table[MAX_ARP_ENTRIES].ip4.ip = pxe_get_ip32(PXE_IP_MY); + /* setting broadcast target address */ pxe_memset(packet_to_send.body.target_hwaddr, 0xff, 6); } @@ -73,6 +74,10 @@ return (NULL); } +/* pxe_arp_stats() - show arp current table state + * in/out: + * none + */ void pxe_arp_stats() { @@ -212,9 +217,10 @@ * pxe_arp_send_whois() - sends ARP request packet for given ip, received packets are * handled in pxe_arp_protocol() * in: - * ip - target ip, for which to find MAC + * ip - target ip, for which to find MAC * out: - * none + * 0 - failed + * 1 - success */ int pxe_arp_send_whois(uint32_t ip) @@ -241,8 +247,54 @@ return (1); } +/* pxe_arp_await() - await function for ARP replies + * in: + * function - await function + * try_number - number of try + * timeout - timeout from start of try + * data - pointer to PXE_ARP_WAIT_DATA + * out: + * PXE_AWAIT_ constants + */ +int +pxe_arp_await(uint8_t function, uint16_t try_number, uint32_t timeout, void *data) +{ + PXE_ARP_WAIT_DATA *wait_data = (PXE_ARP_WAIT_DATA *)data; + const MAC_ADDR *res = NULL; + switch (function) { + + case PXE_AWAIT_STARTTRY: /* handle start of new try */ + if (pxe_arp_send_whois(wait_data->ip) != 1) { /* failed to send request, try once more */ + delay(10000); /* after waiting a little */ + return (PXE_AWAIT_NEXTTRY); + } + break; + + case PXE_AWAIT_NEWPACKETS: + + res = pxe_arp_table_search(wait_data->ip); /* check if ARP protocol was called and + * arp_table updated + */ + if (res != NULL) { + wait_data->mac = res; + return (PXE_AWAIT_COMPLETED); + } + + return (PXE_AWAIT_CONTINUE); + break; + case PXE_AWAIT_FINISHTRY: /* don't handle finish of try */ + printf("\npxe_arp_await(): ARP reply timeout.\n"); + break; + case PXE_AWAIT_END: /* wait ended */ + default: + break; + } + + return (PXE_AWAIT_OK); +} + /* * pxe_arp_ip4mac() - returns MAC for given ip if it's found in arp_table, * otherwise - performs request sending @@ -255,54 +307,19 @@ const MAC_ADDR * pxe_arp_ip4mac(uint32_t ip) { - int timeToDie = PXE_TIME_TO_DIE; - int trysLeft = PXE_MAX_ARP_TRY; const MAC_ADDR *res = pxe_arp_table_search(ip); if (res != NULL) return (res); - if (pxe_arp_send_whois(ip) != 1) { - return NULL; + PXE_ARP_WAIT_DATA wait_data; + + wait_data.ip = ip; + wait_data.mac = NULL; + + if (!pxe_await(pxe_arp_await, PXE_MAX_ARP_TRY, PXE_TIME_TO_DIE, &wait_data)) { } - while (1) { -#ifdef PXE_DEBUG - twiddle(); -#endif - if (pxe_core_recv_packets()) { /* means some packet was received */ - - res = pxe_arp_table_search(ip); /* check if ARP protocol was called and - * arp_table updated */ - - if (res != NULL) { - return (res); - } - - }; - - if (timeToDie == 0) { - - --trysLeft; - if (trysLeft == 0) { /* have not recieved anything, return nothing */ - - printf("\npxe_arp_ip4mac(): ARP reply timeout.\n"); - return (NULL); - } - - timeToDie = PXE_TIME_TO_DIE; - - if (pxe_arp_send_whois(ip) != 1) { - return (0); - } - } - - /* sleep(1); */ - delay(1000000); - --timeToDie; - } - - /* never getting here*/ - return (NULL); + return (wait_data.mac); } ==== //depot/projects/soc2007/taleks-pxe_http/pxe_arp.h#6 (text+ko) ==== @@ -18,10 +18,10 @@ #define MAX_ARP_ENTRIES 4 /* max try count to send/recieve ARP request/reply */ #define PXE_MAX_ARP_TRY 3 -/* max timeout in seconds */ -#define PXE_TIME_TO_DIE 10 +/* max timeout in millyseconds */ +#define PXE_TIME_TO_DIE 15000 -/* define to anable caching incoming packet sender information*/ +/* define to enable caching incoming ARP packet sender information */ #define PXE_ARP_SNIFF typedef struct pxe_arp_entry { @@ -32,10 +32,13 @@ /* initialisation routine */ void pxe_arp_init(); + /* find MAC by provided ip */ const MAC_ADDR *pxe_arp_ip4mac(uint32_t ip); + /* protocol handler for received packets */ int pxe_arp_protocol(PXE_PACKET *pack, uint8_t function, void *data); + /* ARP table statistics */ void pxe_arp_stats(); @@ -69,4 +72,9 @@ PXE_ARP_PACKET_ETH4 body; } __packed PXE_ARP_PACK_DATA; +typedef struct pxe_arp_wait_data { + uint32_t ip; + const MAC_ADDR *mac; +} PXE_ARP_WAIT_DATA; + #endif ==== //depot/projects/soc2007/taleks-pxe_http/pxe_buffer.c#2 (text+ko) ==== @@ -1,7 +1,14 @@ #include "pxe_buffer.h" #include "pxe_mem.h" -/* two functions to work with PXE_BUFFER, in FIFO mode */ +/* pxe_buffer_write() - write data to buffer, if possible + * in: + * buf - pointer to buffer structure + * from - pointer to data to write + * size - size of data buffer + * out: + * actual count of written bytes + */ uint16_t pxe_buffer_write(PXE_BUFFER *buf, const void *from, uint16_t size) { @@ -33,7 +40,14 @@ return (to_write); } - +/* pxe_buffer_read() - reades data from buffer, if possible + * in: + * buf - pointer to buffer structure + * to - pointer to data to read to + * size - size of data buffer + * out: + * actual count of read bytes + */ uint16_t pxe_buffer_read(PXE_BUFFER *buf, void *to, uint16_t size) { @@ -83,6 +97,12 @@ return (to_read); } +/* pxe_buffer_space() - returns free space in buffer + * in: + * buffer - pointer to buffer structure + * out: + * count in bytes of free space in buffer + */ uint16_t pxe_buffer_space(PXE_BUFFER *buffer) { @@ -90,11 +110,19 @@ return buffer->bufleft; } +/* pxe_buffer_memalloc() - allocates memory for buffer + * in: + * buffer - pointer to buffer structure + * size - bytes to allocate + * out: + * 0 - failed + * 1 - success + */ int pxe_buffer_memalloc(PXE_BUFFER *buffer, uint16_t size) { - if (buffer->data != NULL) { /*don't alloc nothing, if mem already allocated*/ + if (buffer->data != NULL) { /* don't alloc nothing, if mem already allocated */ return (0); } @@ -106,6 +134,12 @@ return (1); } +/* pxe_buffer_memfree() - release memory used by buffer + * in: + * buffer - pointer to buffer structure + * out: + * none + */ void pxe_buffer_memfree(PXE_BUFFER *buffer) { ==== //depot/projects/soc2007/taleks-pxe_http/pxe_buffer.h#2 (text+ko) ==== @@ -8,20 +8,24 @@ void *data; /* pointer to memory block, used for buffer*/ - uint16_t fstart; - uint16_t fend; + uint16_t fstart; /* start of free space part in buffer */ + uint16_t fend; /* end of free space part in buffer */ uint16_t bufsize; /* size of memory block */ uint16_t bufleft; /* left buffer space */ } PXE_BUFFER; +/* allocates memory for buffer */ +int pxe_buffer_memalloc(PXE_BUFFER *buffer, uint16_t size); -int pxe_buffer_memalloc(PXE_BUFFER *buffer, uint16_t size); +/* releases buffer memory */ void pxe_buffer_memfree(PXE_BUFFER *buffer); + +/* writes data to buffer */ uint16_t pxe_buffer_write(PXE_BUFFER *buffer, const void* data, uint16_t size); -uint16_t pxe_buffer_free(PXE_BUFFER *buffer, void* to, uint16_t size); + +/* returns free space size in buffer */ uint16_t pxe_buffer_space(PXE_BUFFER *buffer); - #endif // PXE_BUFFER_H_INCLUDED ==== //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#14 (text+ko) ==== @@ -7,6 +7,7 @@ #include "pxe_arp.h" #include "pxe_conv.h" #include "pxe_core.h" +#include "pxe_dhcp.h" #include "pxe_ip.h" #include "pxe_isr.h" #include "pxe_mem.h" @@ -35,9 +36,9 @@ PXE_MUTEX core_mutex = {0, 0}; /* mutex used in packet allocation */ /* NIC info */ -PXE_IPADDR nic_ip = {0}; MAC_ADDR nic_mac; /* may be init it also by zero? */ -PXE_IPADDR ns_ip = {0};/* nameserver addr */ +/* IP related info */ +PXE_IPADDR core_ips[PXE_IP_MAX]; /* core packet statistics */ uint32_t packets_dropped = 0; @@ -45,8 +46,9 @@ uint32_t packets_received = 0; -/* - * performs startup call during pxe_core_init() +/* pxe_core_undi_startup() - performs UNDI startup call during pxe_core_init() + * in: + * none * out: * 1 - success * 0 - failed @@ -71,8 +73,9 @@ return (status); } -/* - * performs UNDI initialization call during pxe_core_init() +/* pxe_core_undi_init() - performs UNDI initialization call during pxe_core_init() + * in: + * none * out: * 1 - success * 0 - failed @@ -96,10 +99,17 @@ return (status); } +/* pxe_core_init() - performs initialization of all PXE related code + * in: + * pxenv_p - pointer to PXENV+ structure + * pxe_p - pointer to !PXE + * out: + * 0 - failed + * 1 - success + */ int pxe_core_init(pxenv_t *pxenv_p, pxe_t* pxe_p) { -/* int i = 1; /* packet index during initialization loop */ #ifdef PXE_DEBUG printf("pxe_core_init(): started (pxenv_p = 0x%x, pxe_p = 0x%x).\n", pxenv_p, pxe_p); #endif @@ -115,12 +125,11 @@ pxe_memset(core_packets, 0, sizeof(core_packets)); pxe_memset(core_protocol, 0, sizeof(core_protocol)); - nic_ip.ip = 0; + pxe_memset(core_ips, 0, sizeof(core_ips)); pxenv = pxenv_p; pxe = pxe_p; - /* 1. determine PXE API entry point */ if(pxenv_p == NULL) return (0); @@ -153,7 +162,7 @@ } #ifdef PXE_DEBUG - printf("pxe_core_init(): pxenv checked.\n"); + printf("pxe_core_init(): PXENV+ checked.\n"); #endif /* @@ -179,6 +188,7 @@ } } + /* show version and entry point */ printf("\nPXE v.%d.%d", (uint8_t) (pxenv_p->Version >> 8), (uint8_t) (pxenv_p->Version & 0xFF)); @@ -187,16 +197,16 @@ pxe_p->EntryPointSP.segment, pxe_p->EntryPointSP.offset); + /* setting entry point in tramp code */ __pxe_entry_seg = pxe->EntryPointSP.segment; __pxe_entry_off = pxe->EntryPointSP.offset; /* 2. getting cached info */ gci_p = (t_PXENV_GET_CACHED_INFO *) scratch_buffer; pxe_memset(gci_p, 0, sizeof(*gci_p)); + /* getting Boot Server Discovery reply */ + gci_p->PacketType = PXENV_PACKET_TYPE_BINL_REPLY; -/* gci_p->PacketType = PXENV_PACKET_TYPE_BINL_REPLY;*/ -/**/ - gci_p->PacketType = PXENV_PACKET_TYPE_DHCP_ACK; gci_p->BufferSize = sizeof(BOOTPLAYER); gci_p->Buffer.segment = VTOPSEG(&bootplayer); gci_p->Buffer.offset = VTOPOFF(&bootplayer); @@ -211,9 +221,6 @@ return (0); } -/* pxe_memcpy(PTOV((gci_p->Buffer.segment << 4) + gci_p->Buffer.offset), - &bootplayer, gci_p->BufferSize); -*/ #ifdef PXE_DEBUG printf("pxe_core_init(): copied %d bytes of cached packet. Limit = %d.\n", gci_p->BufferSize, gci_p->BufferLimit); #endif @@ -229,34 +236,43 @@ undi_open->R_Mcast_Buf.MCastAddrCount = 0; if (!pxe_core_call(PXENV_UNDI_OPEN)) { + printf("pxe_core_init(): failed to open network connection.\n"); + return (0); } - /* saving information about NIC */ + /* showing information about NIC */ + PXE_IPADDR nic_ip; + nic_ip.ip = bootplayer.yip; /* my ip */ printf("my ip: %d.%d.%d.%d\n", nic_ip.octet[0], nic_ip.octet[1], nic_ip.octet[2], nic_ip.octet[3]); - /* my MAC */ + + /* my MAC */ pxe_memcpy(&bootplayer.CAddr, &nic_mac, MAC_ADDR_LEN); printf("my MAC: %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x\n", nic_mac[0], nic_mac[1], nic_mac[2], nic_mac[3], nic_mac[4], nic_mac[5]); - printf("gip ip: 0x%8x\n", bootplayer.gip); + /* setting default ips*/ + pxe_set_ip32(PXE_IP_MY, bootplayer.yip); /* nic ip */ + pxe_set_ip32(PXE_IP_SERVER, bootplayer.sip); /* boot server ip */ + +/* pxe_set_ip32(PXE_IP_NAMESERVER, 0x0100a8c0); /* nameserver ip, default to 192.168.0.1 */ +/* pxe_set_ip32(PXE_IP_GATEWAY, 0x0100a8c0); /* gateway ip, default to 192.168.0.1 */ +/* pxe_set_ip32(PXE_IP_NETMASK, 0x00ffffff); /* gateway ip, default to 255.255.255.0 */ + pxe_set_ip32(PXE_IP_BROADCAST, 0xffffffff); /* broadcast address, default to 255.255.255.255 */ - ns_ip.ip = 0x0100a8c0; /* TODO: to determiny nameserver ip*/ - + /* initing modules */ pxe_arp_init(); pxe_filter_init(); + pxe_icmp_init(); pxe_socket_init(); - pxe_icmp_init(); pxe_udp_init(); - - pxe_ip_route_init(0x0100a8c0); /* NOTE: setting default route 192.168.0.1 - * need to determiny gateway by getting info drom DHCP packets, - * but cached packets for some resons have no gip set. So, - * after implementing of UDP, need to return to this point and - * get info sending DHCP requests. - */ - + /* trying to get gateway/nameserver info from DHCP server */ + pxe_dhcp_query(bootplayer.ident); + + /* initing route tables, using DHCP reply data */ + pxe_ip_route_init(pxe_get_ip32(PXE_IP_GATEWAY)); + #ifdef PXE_DEBUG printf("pxe_core_init(): ended.\n"); #endif @@ -264,6 +280,10 @@ return (1); } +/* pxe_core_install_isr() - installs ISR for NIC + * in/out: + * none + */ void pxe_core_install_isr() { @@ -322,12 +342,21 @@ #endif } -/* - * calls __mem_copy() to copy data in real mode to data buffer +/* pxe_core_copy() - calls __mem_copy() to copy data in real mode to data buffer, + * usefull if data is in addresses inaccessible from user space. TODO: Check, if really needed. + * in: + * seg_from - segment of source buffer + * off_from - offset of source buffer + * seg_to - segment of destination buffer + * off_to - offset of destination buffer + * size - number of bytes to copy + * out: + * none */ void pxe_core_copy(uint16_t seg_from, uint16_t off_from, uint16_t seg_to, uint16_t off_to, uint16_t size) { + pxe_memset(&v86, 0, sizeof(v86)); v86.ctl = V86_ADDR | V86_CALLF | V86_FLAGS; @@ -339,6 +368,10 @@ v86.ctl = V86_FLAGS; } +/* pxe_core_remove_isr() - restores default handler for interrupt + * in/out: + * none + */ void pxe_core_remove_isr() { @@ -351,6 +384,13 @@ v86.ctl = V86_FLAGS; } +/* pxe_core_shutdown() - shutdown all modules. TODO: add needed modules shutdown. + * in: + * none + * out: + * 0 - failed + * 1 - success + */ int pxe_core_shutdown() { @@ -391,7 +431,6 @@ int pxe_core_call(int func) { - #ifdef PXE_DEBUG_HELL printf("pxe_core_call(): func = 0x%x...", func); #endif @@ -415,6 +454,13 @@ return (status == 0) ? 1 : 0; } +/* pxe_core_transmit() - transmits packet to network + * in: + * pack - packet definition structure. + * out: + * 0 - failed + * 1 - success + */ int pxe_core_transmit(PXE_PACKET *pack) { @@ -490,7 +536,9 @@ return (status); } -/* flushes pending, aborted, wrong and etc packets */ +/* TODO: think about removing of this function + * flushes pending, aborted, wrong and etc packets + */ int pxe_core_flush_packets() { @@ -512,47 +560,15 @@ return (1); } -/* - * checks if interrupt handler was executed for our NIC - * (in case of shared IRQs) - * in: - * none - * out: - * 0 - not our interrupt, return - * 1 - our, must handle receiving +/* pxe_core_get_packet() - checks, if there are any new pacjets in receive queue + * in: + * func - function to fill in FuncFlag of t_PXENV_UND_ISR structure + * undi_isr- pointer to t_PXENV_UND_ISR, used to return data (sizes and etc) + * out: + * 0 - failed + * 1 - success */ int -pxe_core_is_our() -{ - /* - * NOTE: best idea to do it in real mode interrupt handler, - * The PXE specs suggest fast interrupt handling, - * starting handler thread and returning - */ - t_PXENV_UNDI_ISR *undi_isr = - (t_PXENV_UNDI_ISR *)scratch_buffer; - - bzero(undi_isr, sizeof(*undi_isr)); - - undi_isr->FuncFlag = PXENV_UNDI_ISR_IN_START; - pxe_core_call(PXENV_UNDI_ISR); - - if (undi_isr->Status != 0) { /* pxe_core_call() failed */ - /* pretend, failed cause not ours interrupt */ - return (0); - } - - if (undi_isr->FuncFlag == PXENV_UNDI_ISR_OUT_OURS) - return (1); - - return (0); -} - -/* - 0 - failed - 1 - success -*/ -int pxe_core_get_packet(int func, t_PXENV_UNDI_ISR *undi_isr ) { #ifdef PXE_DEBUG_HELL @@ -605,7 +621,7 @@ if (undi_isr->FuncFlag == PXENV_UNDI_ISR_OUT_RECIEVE) { /* that's what we are waiting for */ #ifdef PXE_DEBUG_HELL - printf("get_packet(): got packet!.\n"); + printf("get_packet(): got packet!\n"); #endif break; } @@ -622,8 +638,8 @@ return (1); } -/* - * recieves all packets, if there is any waiting in receiving queue. +/* pxe_core_recv_packets() - recieves all packets, if there is any waiting in receiving queue. + * and gives it to protocol callback functions. * in: * none * out: @@ -680,7 +696,8 @@ } #ifdef PXE_DEBUG - printf("recv_packets(): size = %d, proto = %d, frame_length = %d bytes.\n", buffer_size, protocol, frame_size); + printf("recv_packets(): size = %d, proto = %d, frame_length = %d bytes.\n", + buffer_size, protocol, frame_size); #endif /* we are interested in ARP & IP packets */ @@ -837,8 +854,14 @@ return (0); } -/* - * recieves in packet data +/* pxe_core_recieve() - recieves sequentially fragments data in packet buffer + * in: + * pack - packet with buffer to receive in + * frame_data - fragment data buffer + * frame_size - frag,ent buffer size + * out: + * 0 - failed + * 1 - success */ int pxe_core_recieve(PXE_PACKET *pack, void *frame_data, size_t frame_size) @@ -857,7 +880,7 @@ return (1); } -/* +/* TODO: think if this function is needed * allocates packet, creates buffer for data if necessary */ PXE_PACKET * @@ -877,11 +900,6 @@ if (core_packets[i].data_size < packet_size) { /* packet contains less memmory than needed */ -/* void *data = pxe_alloc(packet_size); - pxe_free(core_packets[i].data); - core_packets[i].data = data; -*/ - void *data = pxe_alloc(packet_size + MEDIAHDR_LEN_ETH); pxe_free(core_packets[i].data); core_packets[i].raw_data = data; @@ -912,7 +930,7 @@ return (NULL); } -/* +/* TODO: think if this function is useful * commits choosed packet, free used structures */ void @@ -924,7 +942,7 @@ pxe_mutex_free(&core_mutex, PXE_OWNER_CORE); } -/* +/* TODO: think if this function is useful * drops choosed packet */ void @@ -935,8 +953,12 @@ pxe_core_commit(pack); } -/* - * registers protocol in protocols table +/* pxe_core_register() - registers protocol in protocols table + * in: + * proto - IP protocol number + * proc - callback + * out: + * none */ void pxe_core_register(uint8_t proto, pxe_protocol_call proc) @@ -945,30 +967,44 @@ core_protocol[proto]=proc; } -uint32_t -pxe_get_myip32() +/* pxe_get_mymac() - returns NIC MAC + * in: + * none + * out: + * non NULL pointer to MAC_ADDR + */ +const MAC_ADDR* +pxe_get_mymac() { - - return nic_ip.ip; + return (const MAC_ADDR *)&nic_mac; } +/* pxe_get_ip32() - returns ip related data, specified by id parameter + * in: + * id - id of needed data (PXE_IP_ constants) + * out: + * associated with this id value + */ uint32_t -pxe_get_nsip32() +pxe_get_ip32(uint8_t id) { - - return ns_ip.ip; + if (id < PXE_IP_MAX) + return core_ips[id].ip; + + return (0); } +/* pxe_set_ip32() - sets ip related data, specified by id parameter + * in: + * id - id of needed data (PXE_IP_ constants) + * new_ip - new uint32_t data + * out: + * none + */ void -pxe_set_nsip32(uint32_t new_ip) +pxe_set_ip32(uint8_t id, uint32_t new_ip) { - - ns_ip.ip = new_ip; + if (id < PXE_IP_MAX) { + core_ips[id].ip = new_ip; + } } - -const MAC_ADDR* -pxe_get_mymac() -{ - return (const MAC_ADDR *)&nic_mac; -} - ==== //depot/projects/soc2007/taleks-pxe_http/pxe_core.h#12 (text+ko) ==== @@ -5,9 +5,6 @@ #include #include "../libi386/pxe.h" -/* PXE structures and function codes -#include "sys/boot/libi386/pxe.h" -*/ /* * contains wrappers for UNDI functions @@ -32,9 +29,6 @@ */ typedef struct pxe_packet { -/* pxe_packet* next; /* NOT IMPLEMENTED: two-linked list */ -/* pxe_packet* prev; /* NOT IMPLEMENTED: two-linked list */ - uint8_t protocol; /* protocol, used in packet */ uint8_t state; /* state of packet (PXE_PACKET_STATE_ ... ) */ uint8_t flags; /* flags if it is broadcast packet */ @@ -105,20 +99,24 @@ #define PXE_CORE_HANDLE 0x0 #define PXE_CORE_CHECK 0x1 #define PXE_CORE_FRAG 0x2 +/* protocol callback function type*/ typedef int (*pxe_protocol_call)(PXE_PACKET *pack, uint8_t function, void *data); /* registers protocol */ void pxe_core_register(uint8_t ip_proto, pxe_protocol_call proc); -/* returns NIC ip */ -uint32_t pxe_get_myip32(); - /* returns NIC MAC */ const MAC_ADDR *pxe_get_mymac(); -/* returns nameserver ip */ -uint32_t pxe_get_nsip32(); -/* sets nameserver ip */ -void pxe_set_nsip32(uint32_t new_ns); +#define PXE_IP_MY 0 +#define PXE_IP_NET 1 +#define PXE_IP_NETMASK 2 +#define PXE_IP_NAMESERVER 3 +#define PXE_IP_GATEWAY 4 +#define PXE_IP_BROADCAST 5 +#define PXE_IP_SERVER 6 +#define PXE_IP_MAX 7 +uint32_t pxe_get_ip32(uint8_t id); +void pxe_set_ip32(uint8_t id, uint32_t ip); #endif // PXE_CORE_H_INCLUDED ==== //depot/projects/soc2007/taleks-pxe_http/pxe_dhcp.c#2 (text+ko) ==== @@ -1,5 +1,6 @@ #include +#include "pxe_await.h" #include "pxe_conv.h" #include "pxe_core.h" #include "pxe_dhcp.h" @@ -30,19 +31,26 @@ return (opt + sizeof(PXE_DHCP_OPT_HDR) + opt_len); } +/* parses options section of packet + * in: + * opts - pointer to options section + * max_size - size of option section data + * result - pointer to result return structure + * out: + * result - result of parsing options + */ void -print_dhcp_options(uint8_t *opts) +pxe_dhcp_parse_options(uint8_t *opts, uint16_t max_size, PXE_DHCP_PARSE_RESULT *result) { uint8_t *p=opts; uint8_t code = opts[0]; uint8_t len = 0; - + printf("DHCP options:\n"); while (code != PXE_DHCP_OPT_END) { ++p; len = 1 + (*p); - printf("."); switch (code) { case 0: /* pad */ @@ -50,18 +58,63 @@ break; case PXE_DHCP_OPT_NETMASK: - printf("\nnetmask: %d.%d.%d.%d\n", *(p+1), *(p+2), *(p+3), *(p+4)); + printf("netmask: %d.%d.%d.%d\n", *(p+1), *(p+2), *(p+3), *(p+4)); + result->netmask = *((uint32_t *)(p+1)); break; case PXE_DHCP_OPT_ROUTER: - printf("\nfirst router: %d.%d.%d.%d\n", *(p+1), *(p+2), *(p+3), *(p+4)); + printf("first router: %d.%d.%d.%d\n", *(p+1), *(p+2), *(p+3), *(p+4)); + result->gw = *((uint32_t *)(p+1)); break; case PXE_DHCP_OPT_NAMESERVER: - printf("\nfirst nameserver: %d.%d.%d.%d\n", *(p+1), *(p+2), *(p+3), *(p+4)); + printf("first nameserver: %d.%d.%d.%d\n", *(p+1), *(p+2), *(p+3), *(p+4)); + result->ns = *((uint32_t *)(p+1)); + break; + + case PXE_DHCP_OPT_TYPE: + result->message_type = *(p+1); +#ifdef PXE_DEBUG + printf("message type: 0x%x\n", result->message_type); +#endif + break; + + case PXE_DHCP_OPT_LEASE_TIME: +#ifdef PXE_DEBUG + printf("lease time: %d secs\n", le2be32( *((uint32_t *)(p+1)) ) ); +#endif >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 11 18:58:43 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E376F16A46E; Mon, 11 Jun 2007 18:58:42 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 899A916A46C for ; Mon, 11 Jun 2007 18:58:42 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 77A9B13C46A for ; Mon, 11 Jun 2007 18:58:42 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5BIwg75047981 for ; Mon, 11 Jun 2007 18:58:42 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5BIwXoj047866 for perforce@freebsd.org; Mon, 11 Jun 2007 18:58:33 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 11 Jun 2007 18:58:33 GMT Message-Id: <200706111858.l5BIwXoj047866@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 121449 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2007 18:58:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=121449 Change 121449 by mjacob@mjexp on 2007/06/11 18:58:26 IFC Affected files ... .. //depot/projects/mjexp/sys/amd64/amd64/busdma_machdep.c#6 integrate .. //depot/projects/mjexp/sys/amd64/amd64/trap.c#9 integrate .. //depot/projects/mjexp/sys/amd64/conf/DEFAULTS#4 integrate .. //depot/projects/mjexp/sys/amd64/conf/GENERIC#12 integrate .. //depot/projects/mjexp/sys/amd64/ia32/ia32_syscall.c#4 integrate .. //depot/projects/mjexp/sys/amd64/include/kdb.h#2 integrate .. //depot/projects/mjexp/sys/arm/arm/busdma_machdep.c#7 integrate .. //depot/projects/mjexp/sys/arm/include/kdb.h#2 integrate .. //depot/projects/mjexp/sys/cam/README.quirks#2 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_file.c#6 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_misc.c#13 integrate .. //depot/projects/mjexp/sys/compat/ndis/kern_ndis.c#4 integrate .. //depot/projects/mjexp/sys/compat/svr4/svr4_misc.c#7 integrate .. //depot/projects/mjexp/sys/conf/NOTES#24 integrate .. //depot/projects/mjexp/sys/conf/files#28 integrate .. //depot/projects/mjexp/sys/conf/files.amd64#9 integrate .. //depot/projects/mjexp/sys/conf/files.i386#9 integrate .. //depot/projects/mjexp/sys/conf/files.pc98#9 integrate .. //depot/projects/mjexp/sys/conf/files.sparc64#8 integrate .. //depot/projects/mjexp/sys/conf/files.sun4v#4 integrate .. //depot/projects/mjexp/sys/dev/ath/ath_rate/amrr/amrr.c#3 integrate .. //depot/projects/mjexp/sys/dev/ath/ath_rate/onoe/onoe.c#4 integrate .. //depot/projects/mjexp/sys/dev/ath/ath_rate/sample/sample.c#4 integrate .. //depot/projects/mjexp/sys/dev/ath/if_ath.c#14 integrate .. //depot/projects/mjexp/sys/dev/ath/if_athioctl.h#3 integrate .. //depot/projects/mjexp/sys/dev/ath/if_athvar.h#8 integrate .. //depot/projects/mjexp/sys/dev/awi/awi.c#2 integrate .. //depot/projects/mjexp/sys/dev/awi/awivar.h#3 integrate .. //depot/projects/mjexp/sys/dev/dcons/dcons_os.c#6 integrate .. //depot/projects/mjexp/sys/dev/if_ndis/if_ndis.c#6 integrate .. //depot/projects/mjexp/sys/dev/ipw/if_ipw.c#5 integrate .. //depot/projects/mjexp/sys/dev/isp/isp_pci.c#28 integrate .. //depot/projects/mjexp/sys/dev/iwi/if_iwi.c#11 integrate .. //depot/projects/mjexp/sys/dev/iwi/if_iwireg.h#4 integrate .. //depot/projects/mjexp/sys/dev/iwi/if_iwivar.h#4 integrate .. //depot/projects/mjexp/sys/dev/mii/icsphy.c#1 branch .. //depot/projects/mjexp/sys/dev/mii/icsphyreg.h#1 branch .. //depot/projects/mjexp/sys/dev/mii/miidevs#10 integrate .. //depot/projects/mjexp/sys/dev/msk/if_msk.c#9 integrate .. //depot/projects/mjexp/sys/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/mjexp/sys/dev/mxge/if_mxge.c#16 integrate .. //depot/projects/mjexp/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/mjexp/sys/dev/ral/if_ral_pci.c#3 integrate .. //depot/projects/mjexp/sys/dev/ral/rt2560.c#6 integrate .. //depot/projects/mjexp/sys/dev/ral/rt2560reg.h#2 integrate .. //depot/projects/mjexp/sys/dev/ral/rt2560var.h#3 integrate .. //depot/projects/mjexp/sys/dev/ral/rt2661.c#5 integrate .. //depot/projects/mjexp/sys/dev/ral/rt2661reg.h#2 integrate .. //depot/projects/mjexp/sys/dev/ral/rt2661var.h#3 integrate .. //depot/projects/mjexp/sys/dev/sound/isa/ad1816.c#6 integrate .. //depot/projects/mjexp/sys/dev/sound/isa/ess.c#6 integrate .. //depot/projects/mjexp/sys/dev/sound/isa/mss.c#7 integrate .. //depot/projects/mjexp/sys/dev/sound/isa/sb16.c#5 integrate .. //depot/projects/mjexp/sys/dev/sound/isa/sb8.c#5 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/als4000.c#5 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/atiixp.c#8 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/aureal.c#4 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/cmi.c#7 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/cs4281.c#4 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/csapcm.c#4 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/ds1.c#6 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/emu10k1.c#7 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/emu10kx-pcm.c#6 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/es137x.c#7 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/fm801.c#5 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/hda/hdac.c#14 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/ich.c#9 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/maestro3.c#6 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/solo.c#6 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/t4dwave.c#5 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/via8233.c#9 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/via82c686.c#5 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/vibes.c#4 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/channel.c#8 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/channel.h#4 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/dsp.c#9 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/vchan.c#7 integrate .. //depot/projects/mjexp/sys/dev/sound/usb/uaudio.c#9 integrate .. //depot/projects/mjexp/sys/dev/sound/usb/uaudio_pcm.c#5 integrate .. //depot/projects/mjexp/sys/dev/usb/if_aue.c#8 integrate .. //depot/projects/mjexp/sys/dev/usb/if_axe.c#7 integrate .. //depot/projects/mjexp/sys/dev/usb/if_axereg.h#3 integrate .. //depot/projects/mjexp/sys/dev/usb/if_cdce.c#4 integrate .. //depot/projects/mjexp/sys/dev/usb/if_cdcereg.h#3 integrate .. //depot/projects/mjexp/sys/dev/usb/if_cue.c#4 integrate .. //depot/projects/mjexp/sys/dev/usb/if_cuereg.h#3 integrate .. //depot/projects/mjexp/sys/dev/usb/if_kue.c#5 integrate .. //depot/projects/mjexp/sys/dev/usb/if_kuereg.h#3 integrate .. //depot/projects/mjexp/sys/dev/usb/if_rue.c#4 integrate .. //depot/projects/mjexp/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/mjexp/sys/dev/usb/if_rumreg.h#2 integrate .. //depot/projects/mjexp/sys/dev/usb/if_rumvar.h#2 integrate .. //depot/projects/mjexp/sys/dev/usb/if_ural.c#12 integrate .. //depot/projects/mjexp/sys/dev/usb/if_uralreg.h#2 integrate .. //depot/projects/mjexp/sys/dev/usb/if_uralvar.h#3 integrate .. //depot/projects/mjexp/sys/dev/usb/uark.c#3 integrate .. //depot/projects/mjexp/sys/dev/usb/ubsa.c#8 integrate .. //depot/projects/mjexp/sys/dev/usb/ufm.c#4 integrate .. //depot/projects/mjexp/sys/dev/usb/ufoma.c#4 integrate .. //depot/projects/mjexp/sys/dev/usb/umct.c#3 integrate .. //depot/projects/mjexp/sys/dev/usb/usb_port.h#2 integrate .. //depot/projects/mjexp/sys/dev/usb/usb_subr.c#6 integrate .. //depot/projects/mjexp/sys/dev/usb/usbdivar.h#2 integrate .. //depot/projects/mjexp/sys/dev/wi/if_wi.c#6 integrate .. //depot/projects/mjexp/sys/dev/wi/if_wivar.h#3 integrate .. //depot/projects/mjexp/sys/fs/procfs/procfs_status.c#5 integrate .. //depot/projects/mjexp/sys/gdb/gdb_packet.c#2 integrate .. //depot/projects/mjexp/sys/gnu/fs/reiserfs/reiserfs_namei.c#2 integrate .. //depot/projects/mjexp/sys/gnu/fs/reiserfs/reiserfs_stree.c#2 integrate .. //depot/projects/mjexp/sys/i386/conf/DEFAULTS#4 integrate .. //depot/projects/mjexp/sys/i386/conf/GENERIC#10 integrate .. //depot/projects/mjexp/sys/i386/i386/busdma_machdep.c#6 integrate .. //depot/projects/mjexp/sys/i386/i386/trap.c#9 integrate .. //depot/projects/mjexp/sys/i386/include/kdb.h#2 integrate .. //depot/projects/mjexp/sys/ia64/ia64/db_machdep.c#2 integrate .. //depot/projects/mjexp/sys/ia64/ia64/machdep.c#12 integrate .. //depot/projects/mjexp/sys/ia64/include/cpufunc.h#2 integrate .. //depot/projects/mjexp/sys/ia64/include/kdb.h#3 integrate .. //depot/projects/mjexp/sys/ia64/include/vmparam.h#5 integrate .. //depot/projects/mjexp/sys/kern/init_main.c#13 integrate .. //depot/projects/mjexp/sys/kern/kern_acct.c#10 integrate .. //depot/projects/mjexp/sys/kern/kern_clock.c#10 integrate .. //depot/projects/mjexp/sys/kern/kern_exit.c#10 integrate .. //depot/projects/mjexp/sys/kern/kern_fork.c#14 integrate .. //depot/projects/mjexp/sys/kern/kern_mutex.c#13 integrate .. //depot/projects/mjexp/sys/kern/kern_proc.c#7 integrate .. //depot/projects/mjexp/sys/kern/kern_resource.c#13 integrate .. //depot/projects/mjexp/sys/kern/kern_sig.c#15 integrate .. //depot/projects/mjexp/sys/kern/kern_thread.c#11 integrate .. //depot/projects/mjexp/sys/kern/kern_time.c#9 integrate .. //depot/projects/mjexp/sys/kern/subr_witness.c#14 integrate .. //depot/projects/mjexp/sys/kern/tty.c#7 integrate .. //depot/projects/mjexp/sys/kern/vfs_aio.c#6 integrate .. //depot/projects/mjexp/sys/kern/vfs_bio.c#14 integrate .. //depot/projects/mjexp/sys/modules/Makefile#13 integrate .. //depot/projects/mjexp/sys/modules/bge/Makefile#3 integrate .. //depot/projects/mjexp/sys/modules/mii/Makefile#2 integrate .. //depot/projects/mjexp/sys/modules/wlan/Makefile#2 integrate .. //depot/projects/mjexp/sys/modules/wlan_scan_ap/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/wlan_scan_sta/Makefile#1 branch .. //depot/projects/mjexp/sys/net/if_ethersubr.c#11 integrate .. //depot/projects/mjexp/sys/net/if_media.h#4 integrate .. //depot/projects/mjexp/sys/net/if_spppsubr.c#3 integrate .. //depot/projects/mjexp/sys/net/route.c#4 integrate .. //depot/projects/mjexp/sys/net80211/_ieee80211.h#7 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211.c#8 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211.h#4 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_acl.c#3 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_amrr.c#3 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_crypto.c#4 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_crypto.h#4 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_crypto_ccmp.c#3 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_crypto_none.c#3 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_crypto_tkip.c#3 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_crypto_wep.c#3 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_freebsd.c#4 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_freebsd.h#5 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_ht.c#1 branch .. //depot/projects/mjexp/sys/net80211/ieee80211_ht.h#1 branch .. //depot/projects/mjexp/sys/net80211/ieee80211_input.c#8 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_ioctl.c#6 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_ioctl.h#3 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_node.c#7 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_node.h#4 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_output.c#6 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_power.c#1 branch .. //depot/projects/mjexp/sys/net80211/ieee80211_power.h#1 branch .. //depot/projects/mjexp/sys/net80211/ieee80211_proto.c#7 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_proto.h#6 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_radiotap.h#3 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_regdomain.c#1 branch .. //depot/projects/mjexp/sys/net80211/ieee80211_regdomain.h#1 branch .. //depot/projects/mjexp/sys/net80211/ieee80211_scan.c#1 branch .. //depot/projects/mjexp/sys/net80211/ieee80211_scan.h#1 branch .. //depot/projects/mjexp/sys/net80211/ieee80211_scan_ap.c#1 branch .. //depot/projects/mjexp/sys/net80211/ieee80211_scan_sta.c#1 branch .. //depot/projects/mjexp/sys/net80211/ieee80211_var.h#8 integrate .. //depot/projects/mjexp/sys/netgraph/ng_vlan.c#2 integrate .. //depot/projects/mjexp/sys/netinet/tcp_input.c#17 integrate .. //depot/projects/mjexp/sys/netinet/tcp_output.c#11 integrate .. //depot/projects/mjexp/sys/netinet/tcp_timer.c#9 integrate .. //depot/projects/mjexp/sys/nfsserver/nfs_serv.c#6 integrate .. //depot/projects/mjexp/sys/pc98/conf/DEFAULTS#4 integrate .. //depot/projects/mjexp/sys/pc98/conf/GENERIC#9 integrate .. //depot/projects/mjexp/sys/powerpc/include/cpu.h#2 integrate .. //depot/projects/mjexp/sys/powerpc/include/kdb.h#2 integrate .. //depot/projects/mjexp/sys/powerpc/include/md_var.h#2 integrate .. //depot/projects/mjexp/sys/powerpc/powerpc/db_interface.c#3 integrate .. //depot/projects/mjexp/sys/powerpc/powerpc/syncicache.c#2 integrate .. //depot/projects/mjexp/sys/powerpc/powerpc/uio_machdep.c#3 integrate .. //depot/projects/mjexp/sys/sparc64/conf/DEFAULTS#4 integrate .. //depot/projects/mjexp/sys/sparc64/conf/GENERIC#8 integrate .. //depot/projects/mjexp/sys/sparc64/include/kdb.h#2 integrate .. //depot/projects/mjexp/sys/sun4v/conf/DEFAULTS#4 integrate .. //depot/projects/mjexp/sys/sun4v/include/kdb.h#2 integrate .. //depot/projects/mjexp/sys/sys/mbuf.h#9 integrate .. //depot/projects/mjexp/sys/sys/param.h#20 integrate .. //depot/projects/mjexp/sys/sys/proc.h#18 integrate .. //depot/projects/mjexp/sys/sys/resourcevar.h#4 integrate .. //depot/projects/mjexp/sys/sys/systm.h#14 integrate .. //depot/projects/mjexp/sys/sys/vmmeter.h#6 integrate .. //depot/projects/mjexp/sys/vm/vm_contig.c#9 integrate .. //depot/projects/mjexp/sys/vm/vm_object.c#11 integrate .. //depot/projects/mjexp/sys/vm/vm_page.c#14 integrate .. //depot/projects/mjexp/sys/vm/vm_pageout.c#8 integrate .. //depot/projects/mjexp/sys/vm/vm_pageq.c#5 integrate .. //depot/projects/mjexp/sys/vm/vm_phys.c#1 branch .. //depot/projects/mjexp/sys/vm/vm_phys.h#1 branch Differences ... ==== //depot/projects/mjexp/sys/amd64/amd64/busdma_machdep.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.81 2007/05/29 06:30:25 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.82 2007/06/11 17:57:24 mjacob Exp $"); #include #include @@ -220,6 +220,10 @@ if (boundary != 0 && boundary < maxsegsz) maxsegsz = boundary; + if (maxsegsz == 0) { + return (EINVAL); + } + /* Return a NULL tag on failure */ *dmat = NULL; ==== //depot/projects/mjexp/sys/amd64/amd64/trap.c#9 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.317 2007/06/04 21:38:44 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.318 2007/06/10 21:59:12 attilio Exp $"); /* * AMD64 Trap and System call handling @@ -736,10 +736,6 @@ int reg, regcnt; ksiginfo_t ksi; - /* - * note: PCPU_INC() can only be used if we can afford - * occassional inaccuracy in the count. - */ PCPU_INC(cnt.v_syscall); #ifdef DIAGNOSTIC ==== //depot/projects/mjexp/sys/amd64/conf/DEFAULTS#4 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.9 2006/11/04 23:50:11 jb Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.10 2007/06/11 00:38:05 marcel Exp $ machine amd64 @@ -15,5 +15,9 @@ # UART chips on this platform device uart_ns8250 +# Default partitioning schemes +options GEOM_BSD +options GEOM_MBR + # KSE support went from being default to a kernel option options KSE ==== //depot/projects/mjexp/sys/amd64/conf/GENERIC#12 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.479 2007/06/08 20:29:05 rwatson Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.480 2007/06/11 08:26:40 thompsa Exp $ cpu HAMMER ident GENERIC @@ -233,6 +233,8 @@ device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm +device wlan_scan_ap # 802.11 AP mode scanning +device wlan_scan_sta # 802.11 STA mode scanning device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) ==== //depot/projects/mjexp/sys/amd64/ia32/ia32_syscall.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.18 2007/06/04 21:38:45 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.19 2007/06/10 21:59:12 attilio Exp $"); /* * 386 Trap and System call handling @@ -104,12 +104,7 @@ u_int code; ksiginfo_t ksi; - /* - * note: PCPU_INC() can only be used if we can afford - * occassional inaccuracy in the count. - */ PCPU_INC(cnt.v_syscall); - td->td_pticks = 0; td->td_frame = frame; if (td->td_ucred != p->p_ucred) ==== //depot/projects/mjexp/sys/amd64/include/kdb.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/kdb.h,v 1.3 2006/04/03 22:51:46 marcel Exp $ + * $FreeBSD: src/sys/amd64/include/kdb.h,v 1.4 2007/06/09 21:55:16 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -47,6 +47,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { } ==== //depot/projects/mjexp/sys/arm/arm/busdma_machdep.c#7 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.32 2007/06/07 21:51:09 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.33 2007/06/10 12:33:01 cognet Exp $"); /* * ARM bus dma support routines @@ -427,7 +427,8 @@ } /* Performed initial allocation */ newtag->flags |= BUS_DMA_MIN_ALLOC_COMP; - } + } else + newtag->bounce_zone = NULL; if (error != 0) free(newtag, M_DEVBUF); else ==== //depot/projects/mjexp/sys/arm/include/kdb.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/kdb.h,v 1.3 2005/01/05 21:58:48 imp Exp $ + * $FreeBSD: src/sys/arm/include/kdb.h,v 1.4 2007/06/09 21:55:16 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -44,6 +44,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { cpu_idcache_wbinv_all(); ==== //depot/projects/mjexp/sys/cam/README.quirks#2 (text+ko) ==== @@ -1,4 +1,212 @@ -/* $FreeBSD: src/sys/cam/README.quirks,v 1.1 2007/05/29 20:07:22 mjacob Exp $ */ +/* $FreeBSD: src/sys/cam/README.quirks,v 1.2 2007/06/10 04:31:55 mjacob Exp $ */ + + FreeBSD Quirk Guidelines + + Nate Lawson - njl at freebsd org + +0. Introduction + +FreeBSD drivers make every attempt possible to support the standards +behind hardware. Where possible and not in conflict with the standard, +they also attempt to work around hardware which doesn't strictly +conform. However, some devices have flaws which can't be worked +around while keeping the driver compatible with the standard. For +these devices, we have created a quirks mechanism to indicate to +the driver that it must avoid certain commands or use them differently +with a specific model and/or version of hardware. This document +focuses on identifying and committing quirks for storage hardware +involving CAM and UMASS but is applicable to other areas. + +CAM provides a generic transport for SCSI-like devices. Many different +transports use SCSI command sets including parallel SCSI, firewire +(1394), USB UMASS, fibre channel, and ATAPI. For block devices (i.e. +hard drives, flash adapters, cameras) there are two standards, SBC +and RBC. SCSI hard drives are usually SBC-compliant and smaller +devices like flash drives are usually RBC-compliant. Multimedia +devices including CDROMs and DVD-RW are usually MMC-compliant. + +Please follow these guidelines to get your device working as soon +as possible. If you are a committer, please do NOT commit quirks +directly but follow this process also. + +1. Determing the problem + +The first step is to determine what's wrong. If the device should +be supported but hangs while attaching, it's possible a quirk can +help. The types of things a quirk can fix are: +` + * cam/cam_xpt.c quirks + + o CAM_QUIRK_NOLUNS - do not probe luns other than 0 since device + responds to all inquiries with "lun present". + + o CAM_QUIRK_NOSERIAL - do not send an inquiry for serial number. + + o CAM_QUIRK_HILUNS - probe all luns even if some respond "not present" + since device has a sparse lun space. + + * cam/scsi/scsi_da.c quirks + + o DA_Q_NO_SYNC_CACHE - The sync cache command is used to force a + drive to write out all changes to disk before shutting down. Some + drives hang when receiving this command even though it is required + by all SBC and RBC standards. Note that a warning message on + console is NOT sufficient to add this quirk. The warning messages + are harmless and only a device or system hang is cause for adding + this quirk. + + o DA_Q_NO_6_BYTE - The RBC spec (see Links below) does not allow + for 6-byte READ/WRITE commands. Some manufacturers took that too + literally and crash when receiving 6-byte commands. This quirk + causes FreeBSD to only send 10-byte commands. Since the CAM subsystem + has been modified to not send 6-byte commands to USB, 1394, and + other transports that don't support SBC, this quirk should be very + rare. + + o DA_Q_NO_PREVENT - Don't use the prevent/allow commands to keep a + removable medium from being ejected. Some systems can't handle these + commands (rare). + + * cam/scsi/scsi_cd.c quirks + + o CD_Q_NO_TOUCH - not implemented + + o CD_Q_BCD_TRACKS - convert start/end track to BCD + + o CD_Q_NO_CHANGER - never treat as a changer + + o CD_Q_CHANGER - always treat as a changer + + * cam/scsi/scsi_ch.c quirks + o CH_Q_NO_DBD - disable block descriptors in mode sense + + * cam/scsi/scsi_sa.c quirks + + o SA_QUIRK_NOCOMP - Can't deal with compression at all + + o SA_QUIRK_FIXED - Force fixed mode + + o SA_QUIRK_VARIABLE - Force variable mode + + o SA_QUIRK_2FM - Needs Two File Marks at EOD + + o SA_QUIRK_1FM - No more than 1 File Mark at EOD + + o SA_QUIRK_NODREAD - Don't try and dummy read density + + o SA_QUIRK_NO_MODESEL - Don't do mode select at all + + o SA_QUIRK_NO_CPAGE - Don't use DEVICE COMPRESSION page + + * dev/usb/umass.c quirks + + o NO_TEST_UNIT_READY - The drive does not support Test Unit Ready. + Convert to Start Unit. This command is a simple no-op for most + firmware but some of them hang when this command is sent. + + o RS_NO_CLEAR_UA - The drive does not reset the Unit Attention state + after REQUEST SENSE has been sent. The INQUIRY command does not + reset the UA either, and so CAM runs in circles trying to retrieve + the initial INQUIRY data. This quirk signifies that after a unit + attention condition, don't try to clear the condition with a request + sense command. + + o NO_START_STOP - Like test unit ready, don't send this command if it hangs the device. + + o FORCE_SHORT_INQUIRY - Don't ask for full inquiry data (256 + bytes). Some drives can only handle the shorter inquiry length + (36 bytes). + + o SHUTTLE_INIT - Needs to be initialised the Shuttle way. Haven't + looked into what this does but apparently it's mostly Shuttle + devices. + + o ALT_IFACE_1 - Drive needs to be switched to alternate interface 1. Rare. + + o FLOPPY_SPEED - Drive does not do 1Mb/s, but just floppy speeds (20kb/s). + + o IGNORE_RESIDUE - The device can't count and gets the residue + of transfers wrong. This is sometimes needed for devices where + large transfers cause stalls. + + o NO_GETMAXLUN - Get maximum LUN is a command to identify multiple + devices sharing the same ID. For instance, a multislot compact + flash reader might be on two LUNS. Some non-standard devices hang + when receiving this command so this quirk disables it. + + o WRONG_CSWSIG - The device uses a weird CSWSIGNATURE. Rare. + + o NO_INQUIRY - Device cannot handle INQUIRY so fake a generic + response. INQUIRY is one of the most basic commands but some + drives can't even handle it. (No idea how such devices even work + at all on other OS's.) This quirk fakes up a valid but generic + response for devices that can't handle INQUIRY. + + o NO_INQUIRY_EVPD - Device cannot handle an extended INQUIRY + asking for vital product data (EVPD) so just return a "no data" + response (check condition) without sending the command to the + device. + +2. Testing a Quirk + +After you have an idea what you want to try, edit the proper file +above, using wildcarding to be sure your device is matched. Here +is a list of the common things to try. Note that some devices require +multiple quirks or quirks in different drivers. For example, some +USB pen drives or flash readers require quirks in both da(4) and +umass(4). + +* umass(4) device (sys/dev/usb/umass.c) -- this quirk matches an Asahi Optical device with any product ID or revision ID. +* +* { USB_VENDOR_ASAHIOPTICAL, PID_WILDCARD, RID_WILDCARD, +* UMASS_PROTO_ATAPI | UMASS_PROTO_CBI_I, +* RS_NO_CLEAR_UA +* }, +* da(4) device (sys/cam/scsi/scsi_da.c) -- this quirk matches a Creative device with a name of "NOMAD_MUVO" and any revision. +* +* { +* /* +* * Creative Nomad MUVO mp3 player (USB) +* * PR: kern/53094 +* */ +* {T_DIRECT, SIP_MEDIA_REMOVABLE, "CREATIVE", "NOMAD_MUVO", "*"}, +* /*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT +* }, + +3. Filing a PR + +All quirk submissions MUST go through GNATS. For information on how +to submit a PR, see this page. + +Please include the following in your PR: + + * Subject: QUIRK: FooCo USB DVD-RAM drive + * Output of "camcontrol inquiry yourdevice" + * Manufacturer name, model number, etc. + * Transport type (FC, SCSI, USB, Firewire) + * Output from dmesg for failed attach attempts + * Output from dmesg for successful attach attempts (after quirk added) + * Output of "usbdevs -v" with device attached + * Valid email address + +Here are some examples of well-formed PRs: + + * kern/43580 + * kern/49054 + +4. What happens next + +I will review your submission, respond with comments, and once the +quirk is deemed necessary and ready for committing, I'll commit it, +referencing the PR. (Again, all quirks must be submitted as PRs). +Questions? Email njl AT freebsd.org. + +5. Note to Committers -This is a place holder for instructions about how both committers -and non-committers should submit device quirks. +Please insert quirks in the right section in scsi_da.c, sorted by +PR number. Always include the name and PR number for scsi_da.c (see +above for an example.) Please sort quirks alphabetically in umass.c. +Follow the surrounding style in all drivers. Be sure to correspond +with the submitter to be sure the quirk you are adding is the minimum +necessary, not quirking other useful features and not overly broad +(i.e., too many wildcards). ==== //depot/projects/mjexp/sys/compat/linux/linux_file.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.103 2007/04/04 09:11:31 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.104 2007/06/10 04:37:22 mjacob Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -239,6 +239,8 @@ *newpath = malloc(strlen(fullpath) + strlen(filename) + 2, M_TEMP, M_WAITOK | M_ZERO); *freebuf = freepath; sprintf(*newpath, "%s/%s", fullpath, filename); + } else { + *newpath = NULL; } vfslocked = VFS_LOCK_GIANT(dvp->v_mount); vrele(dvp); ==== //depot/projects/mjexp/sys/compat/linux/linux_misc.c#13 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.211 2007/05/31 22:52:11 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.212 2007/06/09 21:48:43 attilio Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -670,7 +670,9 @@ if (args->buf != NULL) { p = td->td_proc; PROC_LOCK(p); + PROC_SLOCK(p); calcru(p, &utime, &stime); + PROC_SUNLOCK(p); calccru(p, &cutime, &cstime); PROC_UNLOCK(p); ==== //depot/projects/mjexp/sys/compat/ndis/kern_ndis.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.95 2007/04/06 11:18:57 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.96 2007/06/10 04:40:13 mjacob Exp $"); #include #include @@ -945,7 +945,7 @@ ndis_senddone_func senddonefunc; int i; ndis_packet *p; - uint8_t irql; + uint8_t irql = 0; sc = arg; adapter = sc->ndis_block->nmb_miniportadapterctx; @@ -988,7 +988,7 @@ ndis_status status; ndis_sendsingle_handler sendfunc; ndis_senddone_func senddonefunc; - uint8_t irql; + uint8_t irql = 0; sc = arg; adapter = sc->ndis_block->nmb_miniportadapterctx; @@ -1081,7 +1081,7 @@ ndis_reset_handler resetfunc; uint8_t addressing_reset; int rval; - uint8_t irql; + uint8_t irql = 0; sc = arg; ==== //depot/projects/mjexp/sys/compat/svr4/svr4_misc.c#7 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.94 2007/06/05 00:00:50 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.96 2007/06/09 21:48:43 attilio Exp $"); #include "opt_mac.h" @@ -828,7 +828,9 @@ p = td->td_proc; PROC_LOCK(p); + PROC_SLOCK(p); calcru(p, &utime, &stime); + PROC_SUNLOCK(p); calccru(p, &cutime, &cstime); PROC_UNLOCK(p); @@ -1226,20 +1228,24 @@ nfound++; + PROC_SLOCK(p); /* * See if we have a zombie. If so, WNOWAIT should be set, * as otherwise we should have called kern_wait() up above. */ if ((p->p_state == PRS_ZOMBIE) && ((uap->options & (SVR4_WEXITED|SVR4_WTRAPPED)))) { + PROC_SUNLOCK(p); KASSERT(uap->options & SVR4_WNOWAIT, ("WNOWAIT is clear")); /* Found a zombie, so cache info in local variables. */ pid = p->p_pid; status = p->p_xstat; - ru = *p->p_ru; + ru = p->p_ru; + PROC_SLOCK(p); calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_SUNLOCK(p); PROC_UNLOCK(p); sx_sunlock(&proctree_lock); @@ -1253,7 +1259,6 @@ * See if we have a stopped or continued process. * XXX: This duplicates the same code in kern_wait(). */ - PROC_SLOCK(p); if ((p->p_flag & P_STOPPED_SIG) && (p->p_suspcount == p->p_numthreads) && (p->p_flag & P_WAITED) == 0 && @@ -1264,8 +1269,10 @@ sx_sunlock(&proctree_lock); pid = p->p_pid; status = W_STOPCODE(p->p_xstat); - ru = *p->p_ru; + ru = p->p_ru; + PROC_SLOCK(p); calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_SUNLOCK(p); PROC_UNLOCK(p); if (((uap->options & SVR4_WNOWAIT)) == 0) { @@ -1285,9 +1292,11 @@ if (((uap->options & SVR4_WNOWAIT)) == 0) p->p_flag &= ~P_CONTINUED; pid = p->p_pid; - ru = *p->p_ru; + ru = p->p_ru; status = SIGCONT; + PROC_SLOCK(p); calcru(p, &ru.ru_utime, &ru.ru_stime); + PROC_SUNLOCK(p); PROC_UNLOCK(p); if (((uap->options & SVR4_WNOWAIT)) == 0) { ==== //depot/projects/mjexp/sys/conf/NOTES#24 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1429 2007/06/08 21:36:52 attilio Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1430 2007/06/11 03:36:48 sam Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -786,6 +786,8 @@ device wlan_xauth #802.11 external authenticator support device wlan_acl #802.11 MAC ACL support device wlan_amrr #AMRR transmit rate control algorithm +device wlan_scan_ap #802.11 AP mode scanning +device wlan_scan_sta #802.11 STA mode scanning device token #Generic TokenRing device fddi #Generic FDDI device arcnet #Generic Arcnet ==== //depot/projects/mjexp/sys/conf/files#28 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1214 2007/06/05 00:12:36 jeff Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1216 2007/06/11 03:36:48 sam Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -768,6 +768,7 @@ # XXX only xl cards? dev/mii/exphy.c optional miibus | exphy dev/mii/gentbi.c optional miibus | gentbi +dev/mii/icsphy.c optional miibus | icsphy # XXX only fxp cards? dev/mii/inphy.c optional miibus | inphy dev/mii/ip1000phy.c optional miibus | ip1000phy @@ -1612,11 +1613,17 @@ net80211/ieee80211_crypto_tkip.c optional wlan_tkip net80211/ieee80211_crypto_wep.c optional wlan_wep net80211/ieee80211_freebsd.c optional wlan +net80211/ieee80211_ht.c optional wlan net80211/ieee80211_input.c optional wlan net80211/ieee80211_ioctl.c optional wlan net80211/ieee80211_node.c optional wlan net80211/ieee80211_output.c optional wlan +net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan +net80211/ieee80211_regdomain.c optional wlan +net80211/ieee80211_scan.c optional wlan +net80211/ieee80211_scan_ap.c optional wlan_scan_ap +net80211/ieee80211_scan_sta.c optional wlan_scan_sta net80211/ieee80211_xauth.c optional wlan_xauth netatalk/aarp.c optional netatalk netatalk/at_control.c optional netatalk ==== //depot/projects/mjexp/sys/conf/files.amd64#9 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.103 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.104 2007/06/11 00:38:05 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -199,10 +199,6 @@ dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_amd64.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_mbr.c standard -geom/geom_mbr_enc.c standard isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/link_elf_obj.c standard ==== //depot/projects/mjexp/sys/conf/files.i386#9 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.576 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.577 2007/06/11 00:38:05 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -231,10 +231,6 @@ dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_i386.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_mbr.c standard -geom/geom_mbr_enc.c standard dev/acpica/acpi_if.m standard i386/acpica/OsdEnvironment.c optional acpi i386/acpica/acpi_machdep.c optional acpi ==== //depot/projects/mjexp/sys/conf/files.pc98#9 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801/PC-9821 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.354 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.355 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -137,10 +137,6 @@ dev/speaker/spkr.c optional speaker dev/syscons/apm/apm_saver.c optional apm_saver apm dev/uart/uart_cpu_pc98.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_pc98.c standard -geom/geom_pc98_enc.c standard i386/bios/apm.c optional apm #i386/i386/apic_vector.s optional apic i386/i386/atomic.c standard \ ==== //depot/projects/mjexp/sys/conf/files.sparc64#8 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sparc64,v 1.88 2007/03/07 21:13:49 marius Exp $ +# $FreeBSD: src/sys/conf/files.sparc64,v 1.89 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -67,10 +67,6 @@ dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_sparc64.c optional uart dev/uart/uart_kbd_sun.c optional uart sc -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_sunlabel.c standard -geom/geom_sunlabel_enc.c standard kern/syscalls.c optional ktr libkern/ffs.c standard libkern/ffsl.c standard ==== //depot/projects/mjexp/sys/conf/files.sun4v#4 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sun4v,v 1.8 2006/12/18 07:26:35 kmacy Exp $ +# $FreeBSD: src/sys/conf/files.sun4v,v 1.9 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -28,10 +28,6 @@ dev/ofw/openfirmio.c standard dev/ofw/openpromio.c standard dev/uart/uart_cpu_sparc64.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_sunlabel.c standard -geom/geom_sunlabel_enc.c standard kern/syscalls.c optional ktr libkern/ffs.c standard libkern/ffsl.c standard ==== //depot/projects/mjexp/sys/dev/ath/ath_rate/amrr/amrr.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/amrr/amrr.c,v 1.12 2006/12/13 19:34:34 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/amrr/amrr.c,v 1.13 2007/06/11 03:36:50 sam Exp $"); /* * AMRR rate control. See: @@ -297,27 +297,27 @@ /* NB: the rate set is assumed sorted */ for (; srate >= 0 && RATE(srate) > 72; srate--) ; - KASSERT(srate >= 0, ("bogus rate set")); } } else { /* - * A fixed rate is to be used; ic_fixed_rate is an - * index into the supported rate set. Convert this + * A fixed rate is to be used; ic_fixed_rate is the + * IEEE code for this rate (sans basic bit). Convert this * to the index into the negotiated rate set for * the node. We know the rate is there because the * rate set is checked when the station associates. */ - const struct ieee80211_rateset *rs = - &ic->ic_sup_rates[ic->ic_curmode]; - int r = rs->rs_rates[ic->ic_fixed_rate] & IEEE80211_RATE_VAL; /* NB: the rate set is assumed sorted */ srate = ni->ni_rates.rs_nrates - 1; - for (; srate >= 0 && RATE(srate) != r; srate--) + for (; srate >= 0 && RATE(srate) != ic->ic_fixed_rate; srate--) ; - KASSERT(srate >= 0, - ("fixed rate %d not in rate set", ic->ic_fixed_rate)); } - ath_rate_update(sc, ni, srate); + /* + * The selected rate may not be available due to races + * and mode settings. Also orphaned nodes created in + * adhoc mode may not have any rate set so this lookup + * can fail. This is not fatal. + */ + ath_rate_update(sc, ni, srate < 0 ? 0 : srate); #undef RATE } >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 12 09:11:12 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A6C016A46C; Tue, 12 Jun 2007 09:11:12 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 04B1416A469 for ; Tue, 12 Jun 2007 09:11:12 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E884E13C455 for ; Tue, 12 Jun 2007 09:11:11 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5C9BBX2094399 for ; Tue, 12 Jun 2007 09:11:11 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5C9BBTN094387 for perforce@freebsd.org; Tue, 12 Jun 2007 09:11:11 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 12 Jun 2007 09:11:11 GMT Message-Id: <200706120911.l5C9BBTN094387@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 121485 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 09:11:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=121485 Change 121485 by zhouzhouyi@zhouzhouyi_mactest on 2007/06/12 09:10:21 1) In mac_test module we must label specially for /dev/mactestpipe to avoid recursing. Add a new MAGIC: MAGIC_MACTESTPIPE. 2) For each mactestpipe record, add a pid inform to allow user space test program to do grep Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#5 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_pipe.c#3 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#3 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#5 (text+ko) ==== @@ -84,6 +84,7 @@ #define MAGIC_BPF 0xfe1ad1b6 #define MAGIC_DEVFS 0x9ee79c32 +#define MAGIC_MACTESTPIPE 0x9ee79c33 #define MAGIC_IFNET 0xc218b120 #define MAGIC_INPCB 0x4440f7bb #define MAGIC_IPQ 0x206188ef @@ -126,14 +127,16 @@ #define LABEL_CHECK(label, magic) do { \ if (label != NULL) { \ - KASSERT(SLOT(label) == magic || SLOT(label) == 0, \ + KASSERT(SLOT(label) == magic || SLOT(label) == 0 || \ + SLOT(label) == MAGIC_MACTESTPIPE, \ ("%s: bad %s label", __func__, #magic)); \ } \ } while (0) #define LABEL_DESTROY(label, magic) do { \ - if (SLOT(label) == magic || SLOT(label) == 0) { \ - SLOT_SET(label, MAGIC_FREE); \ + if (SLOT(label) == magic || SLOT(label) == 0 || \ + SLOT(label) == MAGIC_MACTESTPIPE ) { \ + SLOT_SET(label, MAGIC_FREE); \ } else if (SLOT(label) == MAGIC_FREE) { \ DEBUGGER("%s: dup destroy", __func__); \ } else { \ @@ -157,7 +160,7 @@ static void mac_test_init_bpfdesc_label(struct label *label) { - mactest_pipe_submit("mac_test_init_bpfdesc_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_bpfdesc_label\n", strlen("mac_test_init_bpfdesc_label\n")); LABEL_INIT(label, MAGIC_BPF); COUNTER_INC(init_bpfdesc_label); @@ -167,7 +170,7 @@ static void mac_test_init_cred_label(struct label *label) { - mactest_pipe_submit("mac_test_init_cred_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_cred_label\n", strlen("mac_test_init_cred_label\n")); LABEL_INIT(label, MAGIC_CRED); COUNTER_INC(init_cred_label); @@ -177,17 +180,23 @@ static void mac_test_init_devfs_label(struct label *label) { - mactest_pipe_submit("mac_test_init_devfs_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_devfs_label\n", strlen("mac_test_init_devfs_label\n")); LABEL_INIT(label, MAGIC_DEVFS); COUNTER_INC(init_devfs_label); } +static void +mac_test_init_mactestpipe_label(struct label *label) +{ + LABEL_INIT(label, MAGIC_MACTESTPIPE); +} + COUNTER_DECL(init_ifnet_label); static void mac_test_init_ifnet_label(struct label *label) { - mactest_pipe_submit("mac_test_init_ifnet_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_ifnet_label\n", strlen("mac_test_init_ifnet_label\n")); LABEL_INIT(label, MAGIC_IFNET); COUNTER_INC(init_ifnet_label); @@ -197,7 +206,7 @@ static int mac_test_init_inpcb_label(struct label *label, int flag) { - mactest_pipe_submit("mac_test_init_inpcb_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_inpcb_label\n", strlen("mac_test_init_inpcb_label\n")); if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, @@ -213,7 +222,7 @@ static void mac_test_init_sysv_msgmsg_label(struct label *label) { - mactest_pipe_submit("mac_test_init_sysv_msgmsg_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_sysv_msgmsg_label\n", strlen("mac_test_init_sysv_msgmsg_label\n")); LABEL_INIT(label, MAGIC_SYSV_MSG); COUNTER_INC(init_sysv_msg_label); @@ -223,7 +232,7 @@ static void mac_test_init_sysv_msgqueue_label(struct label *label) { - mactest_pipe_submit("mac_test_init_sysv_msgqueue_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_sysv_msgqueue_label\n", strlen("mac_test_init_sysv_msgqueue_label\n")); LABEL_INIT(label, MAGIC_SYSV_MSQ); COUNTER_INC(init_sysv_msq_label); @@ -233,7 +242,7 @@ static void mac_test_init_sysv_sem_label(struct label *label) { - mactest_pipe_submit("mac_test_init_sysv_sem_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_sysv_sem_label\n", strlen("mac_test_init_sysv_sem_label\n")); LABEL_INIT(label, MAGIC_SYSV_SEM); COUNTER_INC(init_sysv_sem_label); @@ -243,7 +252,7 @@ static void mac_test_init_sysv_shm_label(struct label *label) { - mactest_pipe_submit("mac_test_init_sysv_shm_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_sysv_shm_label\n", strlen("mac_test_init_sysv_shm_label\n")); LABEL_INIT(label, MAGIC_SYSV_SHM); COUNTER_INC(init_sysv_shm_label); @@ -253,7 +262,7 @@ static int mac_test_init_ipq_label(struct label *label, int flag) { - mactest_pipe_submit("mac_test_init_ipq_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_ipq_label\n", strlen("mac_test_init_ipq_label\n")); if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, @@ -269,7 +278,7 @@ static int mac_test_init_mbuf_label(struct label *label, int flag) { - mactest_pipe_submit("mac_test_init_mbuf_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_mbuf_label\n", strlen("mac_test_init_mbuf_label\n")); if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, @@ -285,7 +294,7 @@ static void mac_test_init_mount_label(struct label *label) { - mactest_pipe_submit("mac_test_init_mount_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_mount_label\n", strlen("mac_test_init_mount_label\n")); LABEL_INIT(label, MAGIC_MOUNT); COUNTER_INC(init_mount_label); @@ -296,7 +305,7 @@ mac_test_init_socket_label(struct label *label, int flag) { - mactest_pipe_submit("mac_test_init_socket_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_socket_label\n", strlen("mac_test_init_socket_label\n")); if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, @@ -312,7 +321,7 @@ static int mac_test_init_socket_peer_label(struct label *label, int flag) { - mactest_pipe_submit("mac_test_init_socket_peer_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_socket_peer_label\n", strlen("mac_test_init_socket_peer_label\n")); if (flag & M_WAITOK) WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, @@ -328,7 +337,7 @@ static void mac_test_init_pipe_label(struct label *label) { - mactest_pipe_submit("mac_test_init_pipe_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_pipe_label\n", strlen("mac_test_init_pipe_label\n")); LABEL_INIT(label, MAGIC_PIPE); COUNTER_INC(init_pipe_label); @@ -338,7 +347,7 @@ static void mac_test_init_posix_sem_label(struct label *label) { - mactest_pipe_submit("mac_test_init_posix_sem_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_posix_sem_label\n", strlen("mac_test_init_posix_sem_label\n")); LABEL_INIT(label, MAGIC_POSIX_SEM); COUNTER_INC(init_posix_sem_label); @@ -348,7 +357,7 @@ static void mac_test_init_proc_label(struct label *label) { - mactest_pipe_submit("mac_test_init_proc_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_proc_label\n", strlen("mac_test_init_proc_label\n")); LABEL_INIT(label, MAGIC_PROC); COUNTER_INC(init_proc_label); @@ -358,7 +367,7 @@ static void mac_test_init_vnode_label(struct label *label) { - mactest_pipe_submit("mac_test_init_vnode_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_init_vnode_label\n", strlen("mac_test_init_vnode_label\n")); LABEL_INIT(label, MAGIC_VNODE); COUNTER_INC(init_vnode_label); @@ -368,7 +377,7 @@ static void mac_test_destroy_bpfdesc_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_bpfdesc_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_bpfdesc_label\n", strlen("mac_test_destroy_bpfdesc_label\n")); LABEL_DESTROY(label, MAGIC_BPF); COUNTER_INC(destroy_bpfdesc_label); @@ -378,7 +387,7 @@ static void mac_test_destroy_cred_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_cred_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_cred_label\n", strlen("mac_test_destroy_cred_label\n")); LABEL_DESTROY(label, MAGIC_CRED); COUNTER_INC(destroy_cred_label); @@ -388,7 +397,7 @@ static void mac_test_destroy_devfs_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_devfs_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_devfs_label\n", strlen("mac_test_destroy_devfs_label\n")); LABEL_DESTROY(label, MAGIC_DEVFS); COUNTER_INC(destroy_devfs_label); @@ -398,7 +407,7 @@ static void mac_test_destroy_ifnet_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_ifnet_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_ifnet_label\n", strlen("mac_test_destroy_ifnet_label\n")); LABEL_DESTROY(label, MAGIC_IFNET); COUNTER_INC(destroy_ifnet_label); @@ -408,7 +417,7 @@ static void mac_test_destroy_inpcb_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_inpcb_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_inpcb_label\n", strlen("mac_test_destroy_inpcb_label\n")); LABEL_DESTROY(label, MAGIC_INPCB); COUNTER_INC(destroy_inpcb_label); @@ -418,7 +427,7 @@ static void mac_test_destroy_sysv_msgmsg_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_sysv_msgmsg_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_sysv_msgmsg_label\n", strlen("mac_test_destroy_sysv_msgmsg__label\n")); LABEL_DESTROY(label, MAGIC_SYSV_MSG); COUNTER_INC(destroy_sysv_msg_label); @@ -428,7 +437,7 @@ static void mac_test_destroy_sysv_msgqueue_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_sysv_msgqueue_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_sysv_msgqueue_label\n", strlen("mac_test_destroy_sysv_msgqueue_label\n")); LABEL_DESTROY(label, MAGIC_SYSV_MSQ); COUNTER_INC(destroy_sysv_msq_label); @@ -438,7 +447,7 @@ static void mac_test_destroy_sysv_sem_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_sysv_sem_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_sysv_sem_label\n", strlen("mac_test_destroy_sysv_sem_label\n")); LABEL_DESTROY(label, MAGIC_SYSV_SEM); COUNTER_INC(destroy_sysv_sem_label); @@ -448,7 +457,7 @@ static void mac_test_destroy_sysv_shm_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_sysv_shm_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_sysv_shm_label\n", strlen("mac_test_destroy_sysv_shm_label\n")); LABEL_DESTROY(label, MAGIC_SYSV_SHM); COUNTER_INC(destroy_sysv_shm_label); @@ -458,7 +467,7 @@ static void mac_test_destroy_ipq_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_ipq_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_ipq_label\n", strlen("mac_test_destroy_ipq_label\n")); LABEL_DESTROY(label, MAGIC_IPQ); COUNTER_INC(destroy_ipq_label); @@ -468,7 +477,7 @@ static void mac_test_destroy_mbuf_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_mbuf_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_mbuf_label\n", strlen("mac_test_destroy_mbuf_label\n")); /* * If we're loaded dynamically, there may be mbufs in flight that @@ -486,7 +495,7 @@ static void mac_test_destroy_mount_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_mount_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_mount_label\n", strlen("mac_test_destroy_mount_label\n")); LABEL_DESTROY(label, MAGIC_MOUNT); COUNTER_INC(destroy_mount_label); @@ -496,7 +505,7 @@ static void mac_test_destroy_socket_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_socket_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_socket_label\n", strlen("mac_test_destroy_socket_label\n")); LABEL_DESTROY(label, MAGIC_SOCKET); COUNTER_INC(destroy_socket_label); @@ -506,7 +515,7 @@ static void mac_test_destroy_socket_peer_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_socket_peer_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_socket_peer_label\n", strlen("mac_test_destroy_socket_peer_label\n")); LABEL_DESTROY(label, MAGIC_SOCKET); COUNTER_INC(destroy_socket_peer_label); @@ -516,7 +525,7 @@ static void mac_test_destroy_pipe_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_pipe_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_pipe_label\n", strlen("mac_test_destroy_pipe_label\n")); LABEL_DESTROY(label, MAGIC_PIPE); COUNTER_INC(destroy_pipe_label); @@ -526,7 +535,7 @@ static void mac_test_destroy_posix_sem_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_posix_sem_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_posix_sem_label\n", strlen("mac_test_destroy_posix_sem_label\n")); LABEL_DESTROY(label, MAGIC_POSIX_SEM); COUNTER_INC(destroy_posix_sem_label); @@ -536,7 +545,7 @@ static void mac_test_destroy_proc_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_proc_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_proc_label\n", strlen("mac_test_destroy_proc_label\n")); LABEL_DESTROY(label, MAGIC_PROC); COUNTER_INC(destroy_proc_label); @@ -546,7 +555,7 @@ static void mac_test_destroy_vnode_label(struct label *label) { - mactest_pipe_submit("mac_test_destroy_vnode_label\n", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_destroy_vnode_label\n", strlen("mac_test_destroy_vnode_label\n")); LABEL_DESTROY(label, MAGIC_VNODE); COUNTER_INC(destroy_vnode_label); @@ -556,8 +565,8 @@ static void mac_test_copy_cred_label(struct label *src, struct label *dest) { - mactest_pipe_submit("mac_test_copy_cred_label\n", - strlen("mac_test_copy_cred_label\n")); + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_copy_cred_label with src label:", + strlen("mac_test_copy_cred_label with src label:")); MACTEST_PIPE_SUBMIT_LABEL(cred,src); LABEL_CHECK(src, MAGIC_CRED); LABEL_CHECK(dest, MAGIC_CRED); @@ -568,7 +577,9 @@ static void mac_test_copy_ifnet_label(struct label *src, struct label *dest) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_copy_ifnet_label with src label:", + strlen("mac_test_copy_ifnet_label with src label:")); + MACTEST_PIPE_SUBMIT_LABEL(ifnet,src); LABEL_CHECK(src, MAGIC_IFNET); LABEL_CHECK(dest, MAGIC_IFNET); COUNTER_INC(copy_ifnet_label); @@ -578,7 +589,9 @@ static void mac_test_copy_mbuf_label(struct label *src, struct label *dest) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_copy_mbuf_label with src label:", + strlen("mac_test_copy_mbuf_label with src label:")); + MACTEST_PIPE_SUBMIT_LABEL(vnode,src); LABEL_CHECK(src, MAGIC_MBUF); LABEL_CHECK(dest, MAGIC_MBUF); COUNTER_INC(copy_mbuf_label); @@ -588,7 +601,9 @@ static void mac_test_copy_pipe_label(struct label *src, struct label *dest) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_copy_pipe_label with src label:", + strlen("mac_test_copy_pipe_label with src label:")); + MACTEST_PIPE_SUBMIT_LABEL(pipe,src); LABEL_CHECK(src, MAGIC_PIPE); LABEL_CHECK(dest, MAGIC_PIPE); COUNTER_INC(copy_pipe_label); @@ -598,7 +613,9 @@ static void mac_test_copy_socket_label(struct label *src, struct label *dest) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_copy_socket_label with src label:", + strlen("mac_test_copy_socket_label with src label:")); + MACTEST_PIPE_SUBMIT_LABEL(socket,src); LABEL_CHECK(src, MAGIC_SOCKET); LABEL_CHECK(dest, MAGIC_SOCKET); COUNTER_INC(copy_socket_label); @@ -608,7 +625,9 @@ static void mac_test_copy_vnode_label(struct label *src, struct label *dest) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_copy_vnode_label with src label:", + strlen("mac_test_copy_vnode_label with src label:")); + MACTEST_PIPE_SUBMIT_LABEL(vnode,src); LABEL_CHECK(src, MAGIC_VNODE); LABEL_CHECK(dest, MAGIC_VNODE); COUNTER_INC(copy_vnode_label); @@ -2513,6 +2532,7 @@ .mpo_init_bpfdesc_label = mac_test_init_bpfdesc_label, .mpo_init_cred_label = mac_test_init_cred_label, .mpo_init_devfs_label = mac_test_init_devfs_label, + .mpo_init_mactestpipe_label = mac_test_init_mactestpipe_label, .mpo_init_ifnet_label = mac_test_init_ifnet_label, .mpo_init_sysv_msgmsg_label = mac_test_init_sysv_msgmsg_label, .mpo_init_sysv_msgqueue_label = mac_test_init_sysv_msgqueue_label, ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_pipe.c#3 (text+ko) ==== @@ -74,11 +74,12 @@ /* - * Description of an individual audit_pipe. Consists largely of a bounded + * Description of an individual mactest_pipe. Consists largely of a bounded * length queue. */ #define MACTEST_PIPE_ASYNC 0x00000001 #define MACTEST_PIPE_NBIO 0x00000002 + struct mactest_pipe { int mp_open; /* Device open? */ u_int mp_flags; @@ -105,6 +106,7 @@ TAILQ_ENTRY(mactest_pipe) mp_list; }; + /* * Global list of audit pipes, mutex to protect it and the pipes. Finer * grained locking may be desirable at some point. @@ -444,76 +446,6 @@ */ /* switch (cmd) { - case FIONBIO: - mtx_lock(&mactest_pipe_mtx); - if (*(int *)data) - mp->mp_flags |= MACTEST_PIPE_NBIO; - else - mp->mp_flags &= ~MACTEST_PIPE_NBIO; - mtx_unlock(&mactest_pipe_mtx); - error = 0; - break; - - case FIONREAD: - mtx_lock(&mactest_pipe_mtx); - if (TAILQ_FIRST(&mp->mp_queue) != NULL) - *(int *)data = - TAILQ_FIRST(&mp->mp_queue)->mpe_record_len; - else - *(int *)data = 0; - mtx_unlock(&mactest_pipe_mtx); - error = 0; - break; - - case FIOASYNC: - mtx_lock(&mactest_pipe_mtx); - if (*(int *)data) - mp->mp_flags |= MACTEST_PIPE_ASYNC; - else - mp->mp_flags &= ~MACTEST_PIPE_ASYNC; - mtx_unlock(&mactest_pipe_mtx); - error = 0; - break; - - case FIOSETOWN: - error = fsetown(*(int *)data, &mp->mp_sigio); - break; - - case FIOGETOWN: - *(int *)data = fgetown(&mp->mp_sigio); - error = 0; - break; - - case MACTESTPIPE_GET_QLEN: - *(u_int *)data = mp->mp_qlen; - error = 0; - break; - - case MACTESTPIPE_GET_QLIMIT: - *(u_int *)data = mp->mp_qlimit; - error = 0; - break; - - case MACTESTPIPE_SET_QLIMIT: - - if (*(u_int *)data >= MACTEST_PIPE_QLIMIT_MIN || - *(u_int *)data <= MACTEST_PIPE_QLIMIT_MAX) { - mp->mp_qlimit = *(u_int *)data; - error = 0; - } else - error = EINVAL; - break; - - case MACTESTPIPE_GET_QLIMIT_MIN: - *(u_int *)data = MACTEST_PIPE_QLIMIT_MIN; - error = 0; - break; - - case MACTESTPIPE_GET_QLIMIT_MAX: - *(u_int *)data = MACTEST_PIPE_QLIMIT_MAX; - error = 0; - break; - case MACTESTPIPE_FLUSH: mtx_lock(&mactest_pipe_mtx); mactest_pipe_flush(ap); @@ -521,31 +453,11 @@ error = 0; break; - case MACTESTPIPE_GET_MAXMACTESTDATA: - *(u_int *)data = MAXMACTESTDATA; - error = 0; + case MACTESTPIPE_SETFILTER: break; - case MACTESTPIPE_GET_INSERTS: - *(u_int *)data = mp->mp_inserts; - error = 0; - break; - - case MACTESTPIPE_GET_READS: - *(u_int *)data = mp->mp_reads; - error = 0; - break; - - case MACTESTPIPE_GET_DROPS: - *(u_int *)data = mp->mp_drops; - error = 0; + case MACTESTPIPE_GETFILTER: break; - - case MACTESTPIPE_GET_TRUNCATES: - *(u_int *)data = mp->mp_truncates; - error = 0; - break; - default: error = ENOTTY; } ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#3 (text+ko) ==== @@ -1,5 +1,6 @@ #ifndef _SECURITY_MAC_TEST_PRIVATE_H #define _SECURITY_MAC_TEST_PRIVATE_H +#include #include void mactest_pipe_submit(void *record, u_int record_len); @@ -13,6 +14,7 @@ "mactest pipe entries and buffers"); #define MACTEST_PIPE_SUBMIT_LABEL(type,label) do { \ + int error; \ int strleng = 0; \ char *buffer; \ char *elements1 = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ @@ -22,8 +24,7 @@ buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ if (!buffer) \ goto exit1; \ - mac_externalize_##type##_label(label, elements1, \ - buffer, 256); \ + MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ strleng = strlen(buffer); \ *(buffer + strleng) = '\n'; \ mactest_pipe_submit(buffer, strleng + 1); \ @@ -34,4 +35,19 @@ ;/*extra ; to avoid label at the end of compound statement*/ \ }while(0) + +#define MACTEST_PIPE_SUBMIT_WITHPID(string,length) do { \ + struct thread *td = curthread; \ + char *buffer; \ + buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ + if (!buffer) \ + goto exit2; \ + sprintf(buffer,"pid = %d ", td->td_proc->p_pid); \ + mactest_pipe_submit(buffer, strlen(buffer)); \ + mactest_pipe_submit(string, length); \ + free(buffer, M_MACTEST_PIPE); \ +exit2: \ + ; \ +}while(0) + #endif /* ! _SECURITY_MAC_TEST_PRIVATE_H */ From owner-p4-projects@FreeBSD.ORG Tue Jun 12 09:25:31 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CFF2216A473; Tue, 12 Jun 2007 09:25:30 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9F48D16A46D for ; Tue, 12 Jun 2007 09:25:30 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8FE3013C448 for ; Tue, 12 Jun 2007 09:25:30 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5C9PUir008089 for ; Tue, 12 Jun 2007 09:25:30 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5C9PUH5008080 for perforce@freebsd.org; Tue, 12 Jun 2007 09:25:30 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 12 Jun 2007 09:25:30 GMT Message-Id: <200706120925.l5C9PUH5008080@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 121487 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 09:25:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=121487 Change 121487 by zhouzhouyi@zhouzhouyi_mactest on 2007/06/12 09:24:46 support for special handling of /dev/mactestpipe. Set the label of it to MAGIC_MACTESTPIPE Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac/mac_policy.h#2 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac/mac_vfs.c#2 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac/mac_policy.h#2 (text+ko) ==== @@ -631,6 +631,7 @@ mpo_init_bpfdesc_label_t mpo_init_bpfdesc_label; mpo_init_cred_label_t mpo_init_cred_label; mpo_init_devfs_label_t mpo_init_devfs_label; + mpo_init_devfs_label_t mpo_init_mactestpipe_label; mpo_placeholder_t _mpo_placeholder0; mpo_init_ifnet_label_t mpo_init_ifnet_label; mpo_init_inpcb_label_t mpo_init_inpcb_label; ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac/mac_vfs.c#2 (text+ko) ==== @@ -59,13 +59,13 @@ #include #include #include - #include #include #include #include #include +#include #include #include @@ -90,11 +90,24 @@ return (label); } +static struct label * +mac_mactestpipe_label_alloc(void) +{ + struct label *label; + + label = mac_labelzone_alloc(M_WAITOK); + MAC_PERFORM(init_devfs_label, label); + MAC_PERFORM(init_mactestpipe_label, label); + return (label); +} + void mac_init_devfs(struct devfs_dirent *de) { - - de->de_label = mac_devfs_label_alloc(); + if (de&&de->de_dirent&&!strncmp(de->de_dirent->d_name,"mactestpipe",11)) + de->de_label = mac_mactestpipe_label_alloc(); + else + de->de_label = mac_devfs_label_alloc(); } static struct label * From owner-p4-projects@FreeBSD.ORG Tue Jun 12 10:16:43 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B595F16A474; Tue, 12 Jun 2007 10:16:42 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6C42E16A46F for ; Tue, 12 Jun 2007 10:16:42 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 59B1E13C4BE for ; Tue, 12 Jun 2007 10:16:42 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5CAGgZ4056950 for ; Tue, 12 Jun 2007 10:16:42 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5CAGXjN056841 for perforce@freebsd.org; Tue, 12 Jun 2007 10:16:33 GMT (envelope-from thompsa@freebsd.org) Date: Tue, 12 Jun 2007 10:16:33 GMT Message-Id: <200706121016.l5CAGXjN056841@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121489 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 10:16:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=121489 Change 121489 by thompsa@thompsa_heff on 2007/06/12 10:15:49 IFC Affected files ... .. //depot/projects/wifi/UPDATING#32 integrate .. //depot/projects/wifi/contrib/tcpdump/ieee802_11.h#3 integrate .. //depot/projects/wifi/contrib/tcpdump/ieee802_11_radio.h#3 integrate .. //depot/projects/wifi/contrib/tcpdump/print-802_11.c#5 integrate .. //depot/projects/wifi/etc/group#4 integrate .. //depot/projects/wifi/etc/pam.d/ftpd#2 integrate .. //depot/projects/wifi/etc/pam.d/gdm#2 integrate .. //depot/projects/wifi/etc/pam.d/imap#2 integrate .. //depot/projects/wifi/etc/pam.d/kde#2 integrate .. //depot/projects/wifi/etc/pam.d/login#2 integrate .. //depot/projects/wifi/etc/pam.d/other#2 integrate .. //depot/projects/wifi/etc/pam.d/pop3#2 integrate .. //depot/projects/wifi/etc/pam.d/rsh#2 integrate .. //depot/projects/wifi/etc/pam.d/sshd#2 integrate .. //depot/projects/wifi/etc/pam.d/telnetd#2 integrate .. //depot/projects/wifi/etc/pam.d/xdm#3 integrate .. //depot/projects/wifi/include/arpa/inet.h#4 integrate .. //depot/projects/wifi/include/histedit.h#3 integrate .. //depot/projects/wifi/include/paths.h#2 integrate .. //depot/projects/wifi/lib/libarchive/archive_write_set_format_ustar.c#11 integrate .. //depot/projects/wifi/lib/libarchive/test/test_tar_filenames.c#3 integrate .. //depot/projects/wifi/lib/libc/inet/Symbol.map#3 integrate .. //depot/projects/wifi/lib/libc/inet/inet_ntoa.c#4 integrate .. //depot/projects/wifi/lib/libc/net/Makefile.inc#8 integrate .. //depot/projects/wifi/lib/libc/net/inet.3#7 integrate .. //depot/projects/wifi/lib/libc/net/sctp_sys_calls.c#5 integrate .. //depot/projects/wifi/lib/libc/powerpc/gen/syncicache.c#2 integrate .. //depot/projects/wifi/lib/libc/regex/regcomp.c#3 integrate .. //depot/projects/wifi/lib/libc/regex/regerror.c#3 integrate .. //depot/projects/wifi/lib/libc/regex/regexec.c#3 integrate .. //depot/projects/wifi/lib/libc/regex/regfree.c#3 integrate .. //depot/projects/wifi/lib/libedit/editline.3#9 integrate .. //depot/projects/wifi/lib/libedit/el.c#4 integrate .. //depot/projects/wifi/lib/libedit/el.h#3 integrate .. //depot/projects/wifi/lib/libedit/term.c#5 integrate .. //depot/projects/wifi/lib/libedit/term.h#4 integrate .. //depot/projects/wifi/lib/libpam/modules/pam_nologin/pam_nologin.8#2 integrate .. //depot/projects/wifi/lib/libpam/modules/pam_nologin/pam_nologin.c#3 integrate .. //depot/projects/wifi/lib/msun/src/s_frexpf.c#2 integrate .. //depot/projects/wifi/sbin/ifconfig/ifconfig.8#25 integrate .. //depot/projects/wifi/sbin/ifconfig/ifconfig.c#22 integrate .. //depot/projects/wifi/sbin/ifconfig/ifconfig.h#15 integrate .. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#69 integrate .. //depot/projects/wifi/sbin/ifconfig/ifmedia.c#14 integrate .. //depot/projects/wifi/sbin/ipf/libipf/Makefile#5 integrate .. //depot/projects/wifi/sbin/recoverdisk/Makefile#1 branch .. //depot/projects/wifi/sbin/recoverdisk/recoverdisk.1#1 branch .. //depot/projects/wifi/sbin/recoverdisk/recoverdisk.c#1 branch .. //depot/projects/wifi/sbin/sysctl/sysctl.c#10 integrate .. //depot/projects/wifi/share/man/man4/altq.4#18 integrate .. //depot/projects/wifi/share/man/man4/miibus.4#7 integrate .. //depot/projects/wifi/share/man/man4/nfe.4#4 integrate .. //depot/projects/wifi/share/man/man5/rc.conf.5#31 integrate .. //depot/projects/wifi/share/man/man7/hier.7#11 integrate .. //depot/projects/wifi/sys/amd64/amd64/busdma_machdep.c#14 integrate .. //depot/projects/wifi/sys/amd64/amd64/trap.c#16 integrate .. //depot/projects/wifi/sys/amd64/conf/DEFAULTS#5 integrate .. //depot/projects/wifi/sys/amd64/conf/GENERIC#22 integrate .. //depot/projects/wifi/sys/amd64/ia32/ia32_syscall.c#7 integrate .. //depot/projects/wifi/sys/arm/arm/busdma_machdep.c#20 integrate .. //depot/projects/wifi/sys/arm/arm/pmap.c#22 integrate .. //depot/projects/wifi/sys/arm/at91/if_ate.c#6 integrate .. //depot/projects/wifi/sys/arm/include/pmap.h#14 integrate .. //depot/projects/wifi/sys/arm/include/pte.h#3 integrate .. //depot/projects/wifi/sys/cam/README.quirks#2 integrate .. //depot/projects/wifi/sys/compat/linux/linux_file.c#10 integrate .. //depot/projects/wifi/sys/compat/linux/linux_misc.c#20 integrate .. //depot/projects/wifi/sys/compat/linux/linux_uid16.c#6 integrate .. //depot/projects/wifi/sys/compat/ndis/kern_ndis.c#21 integrate .. //depot/projects/wifi/sys/compat/opensolaris/kern/opensolaris_policy.c#2 integrate .. //depot/projects/wifi/sys/compat/svr4/svr4_fcntl.c#6 integrate .. //depot/projects/wifi/sys/compat/svr4/svr4_misc.c#15 integrate .. //depot/projects/wifi/sys/conf/NOTES#41 integrate .. //depot/projects/wifi/sys/conf/files#53 integrate .. //depot/projects/wifi/sys/conf/files.amd64#24 integrate .. //depot/projects/wifi/sys/conf/files.i386#28 integrate .. //depot/projects/wifi/sys/conf/files.pc98#19 integrate .. //depot/projects/wifi/sys/conf/files.sparc64#16 integrate .. //depot/projects/wifi/sys/conf/files.sun4v#2 integrate .. //depot/projects/wifi/sys/conf/options.arm#10 integrate .. //depot/projects/wifi/sys/dev/ath/ath_rate/amrr/amrr.c#19 integrate .. //depot/projects/wifi/sys/dev/ath/ath_rate/onoe/onoe.c#20 integrate .. //depot/projects/wifi/sys/dev/ath/ath_rate/sample/sample.c#12 integrate .. //depot/projects/wifi/sys/dev/ath/if_ath.c#144 integrate .. //depot/projects/wifi/sys/dev/ath/if_athioctl.h#20 integrate .. //depot/projects/wifi/sys/dev/ath/if_athvar.h#58 integrate .. //depot/projects/wifi/sys/dev/awi/awi.c#17 integrate .. //depot/projects/wifi/sys/dev/awi/awivar.h#6 integrate .. //depot/projects/wifi/sys/dev/dcons/dcons_os.c#11 integrate .. //depot/projects/wifi/sys/dev/if_ndis/if_ndis.c#30 integrate .. //depot/projects/wifi/sys/dev/ipw/if_ipw.c#14 integrate .. //depot/projects/wifi/sys/dev/isp/isp_freebsd.c#16 integrate .. //depot/projects/wifi/sys/dev/isp/isp_ioctl.h#8 integrate .. //depot/projects/wifi/sys/dev/isp/isp_pci.c#14 integrate .. //depot/projects/wifi/sys/dev/iwi/if_iwireg.h#12 integrate .. //depot/projects/wifi/sys/dev/iwi/if_iwivar.h#23 integrate .. //depot/projects/wifi/sys/dev/mii/icsphy.c#1 branch .. //depot/projects/wifi/sys/dev/mii/icsphyreg.h#1 branch .. //depot/projects/wifi/sys/dev/mii/miidevs#10 integrate .. //depot/projects/wifi/sys/dev/msk/if_msk.c#7 integrate .. //depot/projects/wifi/sys/dev/msk/if_mskreg.h#4 integrate .. //depot/projects/wifi/sys/dev/mxge/if_mxge.c#12 integrate .. //depot/projects/wifi/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/wifi/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/wifi/sys/dev/nfe/if_nfereg.h#3 integrate .. //depot/projects/wifi/sys/dev/nfe/if_nfevar.h#3 integrate .. //depot/projects/wifi/sys/dev/nve/if_nve.c#15 integrate .. //depot/projects/wifi/sys/dev/ral/if_ral_pci.c#7 integrate .. //depot/projects/wifi/sys/dev/ral/rt2560.c#21 integrate .. //depot/projects/wifi/sys/dev/ral/rt2560reg.h#3 integrate .. //depot/projects/wifi/sys/dev/ral/rt2560var.h#8 integrate .. //depot/projects/wifi/sys/dev/ral/rt2661.c#13 integrate .. //depot/projects/wifi/sys/dev/ral/rt2661reg.h#3 integrate .. //depot/projects/wifi/sys/dev/ral/rt2661var.h#6 integrate .. //depot/projects/wifi/sys/dev/sound/isa/ad1816.c#10 integrate .. //depot/projects/wifi/sys/dev/sound/isa/ess.c#9 integrate .. //depot/projects/wifi/sys/dev/sound/isa/mss.c#14 integrate .. //depot/projects/wifi/sys/dev/sound/isa/sb16.c#8 integrate .. //depot/projects/wifi/sys/dev/sound/isa/sb8.c#7 integrate .. //depot/projects/wifi/sys/dev/sound/pci/als4000.c#10 integrate .. //depot/projects/wifi/sys/dev/sound/pci/atiixp.c#8 integrate .. //depot/projects/wifi/sys/dev/sound/pci/aureal.c#6 integrate .. //depot/projects/wifi/sys/dev/sound/pci/cmi.c#13 integrate .. //depot/projects/wifi/sys/dev/sound/pci/cs4281.c#6 integrate .. //depot/projects/wifi/sys/dev/sound/pci/csapcm.c#8 integrate .. //depot/projects/wifi/sys/dev/sound/pci/ds1.c#8 integrate .. //depot/projects/wifi/sys/dev/sound/pci/emu10k1.c#11 integrate .. //depot/projects/wifi/sys/dev/sound/pci/emu10kx-pcm.c#6 integrate .. //depot/projects/wifi/sys/dev/sound/pci/es137x.c#15 integrate .. //depot/projects/wifi/sys/dev/sound/pci/fm801.c#8 integrate .. //depot/projects/wifi/sys/dev/sound/pci/hda/hdac.c#10 integrate .. //depot/projects/wifi/sys/dev/sound/pci/ich.c#15 integrate .. //depot/projects/wifi/sys/dev/sound/pci/maestro3.c#8 integrate .. //depot/projects/wifi/sys/dev/sound/pci/neomagic.c#4 integrate .. //depot/projects/wifi/sys/dev/sound/pci/solo.c#10 integrate .. //depot/projects/wifi/sys/dev/sound/pci/t4dwave.c#7 integrate .. //depot/projects/wifi/sys/dev/sound/pci/via8233.c#15 integrate .. //depot/projects/wifi/sys/dev/sound/pci/via82c686.c#9 integrate .. //depot/projects/wifi/sys/dev/sound/pci/vibes.c#7 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/channel.c#14 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/channel.h#6 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/dsp.c#16 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/vchan.c#13 integrate .. //depot/projects/wifi/sys/dev/sound/usb/uaudio.c#16 integrate .. //depot/projects/wifi/sys/dev/sound/usb/uaudio_pcm.c#13 integrate .. //depot/projects/wifi/sys/dev/txp/if_txp.c#15 integrate .. //depot/projects/wifi/sys/dev/usb/if_aue.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/if_axe.c#18 integrate .. //depot/projects/wifi/sys/dev/usb/if_axereg.h#10 integrate .. //depot/projects/wifi/sys/dev/usb/if_cdce.c#8 integrate .. //depot/projects/wifi/sys/dev/usb/if_cdcereg.h#5 integrate .. //depot/projects/wifi/sys/dev/usb/if_cue.c#12 integrate .. //depot/projects/wifi/sys/dev/usb/if_cuereg.h#6 integrate .. //depot/projects/wifi/sys/dev/usb/if_kue.c#12 integrate .. //depot/projects/wifi/sys/dev/usb/if_kuereg.h#6 integrate .. //depot/projects/wifi/sys/dev/usb/if_rue.c#12 integrate .. //depot/projects/wifi/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/wifi/sys/dev/usb/if_rumreg.h#2 integrate .. //depot/projects/wifi/sys/dev/usb/if_rumvar.h#2 integrate .. //depot/projects/wifi/sys/dev/usb/if_ural.c#28 integrate .. //depot/projects/wifi/sys/dev/usb/if_uralreg.h#4 integrate .. //depot/projects/wifi/sys/dev/usb/if_uralvar.h#10 integrate .. //depot/projects/wifi/sys/dev/usb/uark.c#3 integrate .. //depot/projects/wifi/sys/dev/usb/ubsa.c#7 integrate .. //depot/projects/wifi/sys/dev/usb/ufm.c#5 integrate .. //depot/projects/wifi/sys/dev/usb/ufoma.c#5 integrate .. //depot/projects/wifi/sys/dev/usb/usb_port.h#8 integrate .. //depot/projects/wifi/sys/dev/usb/usbdivar.h#6 integrate .. //depot/projects/wifi/sys/dev/wi/if_wi.c#34 integrate .. //depot/projects/wifi/sys/dev/wi/if_wivar.h#11 integrate .. //depot/projects/wifi/sys/fs/devfs/devfs_vnops.c#35 integrate .. //depot/projects/wifi/sys/fs/msdosfs/msdosfs_vnops.c#14 integrate .. //depot/projects/wifi/sys/fs/procfs/procfs_ioctl.c#7 integrate .. //depot/projects/wifi/sys/fs/udf/udf_vnops.c#22 integrate .. //depot/projects/wifi/sys/gnu/fs/ext2fs/ext2_vnops.c#6 integrate .. //depot/projects/wifi/sys/gnu/fs/reiserfs/reiserfs_namei.c#3 integrate .. //depot/projects/wifi/sys/gnu/fs/reiserfs/reiserfs_stree.c#2 integrate .. //depot/projects/wifi/sys/i386/conf/DEFAULTS#5 integrate .. //depot/projects/wifi/sys/i386/conf/GENERIC#20 integrate .. //depot/projects/wifi/sys/i386/conf/PAE#11 integrate .. //depot/projects/wifi/sys/i386/i386/busdma_machdep.c#14 integrate .. //depot/projects/wifi/sys/i386/i386/trap.c#16 integrate .. //depot/projects/wifi/sys/ia64/ia64/machdep.c#19 integrate .. //depot/projects/wifi/sys/ia64/include/cpufunc.h#3 integrate .. //depot/projects/wifi/sys/ia64/include/vmparam.h#8 integrate .. //depot/projects/wifi/sys/kern/kern_exec.c#24 integrate .. //depot/projects/wifi/sys/kern/kern_fork.c#20 integrate .. //depot/projects/wifi/sys/kern/kern_ktrace.c#12 integrate .. //depot/projects/wifi/sys/kern/kern_priv.c#2 integrate .. //depot/projects/wifi/sys/kern/kern_prot.c#15 integrate .. //depot/projects/wifi/sys/kern/kern_resource.c#16 integrate .. //depot/projects/wifi/sys/kern/kern_sig.c#23 integrate .. //depot/projects/wifi/sys/kern/kern_sysctl.c#12 integrate .. //depot/projects/wifi/sys/kern/kern_thread.c#21 integrate .. //depot/projects/wifi/sys/kern/sched_4bsd.c#16 integrate .. //depot/projects/wifi/sys/kern/sched_ule.c#26 integrate .. //depot/projects/wifi/sys/kern/subr_acl_posix1e.c#3 integrate .. //depot/projects/wifi/sys/kern/subr_witness.c#30 integrate .. //depot/projects/wifi/sys/kern/sysv_ipc.c#5 integrate .. //depot/projects/wifi/sys/kern/sysv_msg.c#12 integrate .. //depot/projects/wifi/sys/kern/tty.c#15 integrate .. //depot/projects/wifi/sys/kern/uipc_mqueue.c#8 integrate .. //depot/projects/wifi/sys/kern/vfs_mount.c#32 integrate .. //depot/projects/wifi/sys/kern/vfs_subr.c#42 integrate .. //depot/projects/wifi/sys/kern/vfs_syscalls.c#24 integrate .. //depot/projects/wifi/sys/modules/Makefile#39 integrate .. //depot/projects/wifi/sys/modules/mii/Makefile#5 integrate .. //depot/projects/wifi/sys/modules/wlan/Makefile#9 integrate .. //depot/projects/wifi/sys/net/ieee8023ad_lacp.c#5 integrate .. //depot/projects/wifi/sys/net/ieee8023ad_lacp.h#4 integrate .. //depot/projects/wifi/sys/net/if.h#12 integrate .. //depot/projects/wifi/sys/net/if_ethersubr.c#22 integrate .. //depot/projects/wifi/sys/net/if_lagg.c#5 integrate .. //depot/projects/wifi/sys/net/if_lagg.h#5 integrate .. //depot/projects/wifi/sys/net/if_media.h#11 integrate .. //depot/projects/wifi/sys/net/if_spppsubr.c#13 integrate .. //depot/projects/wifi/sys/net/route.c#11 integrate .. //depot/projects/wifi/sys/net80211/_ieee80211.h#22 integrate .. //depot/projects/wifi/sys/net80211/ieee80211.c#54 integrate .. //depot/projects/wifi/sys/net80211/ieee80211.h#23 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_acl.c#9 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_amrr.c#4 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#24 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.h#17 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto_ccmp.c#14 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto_none.c#11 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto_tkip.c#17 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto_wep.c#14 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_freebsd.c#27 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_freebsd.h#30 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#106 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#81 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.h#42 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_node.c#95 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_node.h#47 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_output.c#76 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_proto.c#58 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_proto.h#38 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_radiotap.h#13 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_var.h#59 integrate .. //depot/projects/wifi/sys/netgraph/ng_vlan.c#4 integrate .. //depot/projects/wifi/sys/netinet/in_pcb.c#16 integrate .. //depot/projects/wifi/sys/netinet/raw_ip.c#16 integrate .. //depot/projects/wifi/sys/netinet/sctp_pcb.c#13 integrate .. //depot/projects/wifi/sys/netinet/sctp_usrreq.c#11 integrate .. //depot/projects/wifi/sys/netinet/tcp_input.c#28 integrate .. //depot/projects/wifi/sys/netinet/tcp_subr.c#32 integrate .. //depot/projects/wifi/sys/netinet/udp_usrreq.c#20 integrate .. //depot/projects/wifi/sys/netinet6/in6_pcb.c#10 integrate .. //depot/projects/wifi/sys/netinet6/in6_src.c#11 integrate .. //depot/projects/wifi/sys/netinet6/raw_ip6.c#13 integrate .. //depot/projects/wifi/sys/netinet6/sctp6_usrreq.c#12 integrate .. //depot/projects/wifi/sys/netinet6/udp6_usrreq.c#9 integrate .. //depot/projects/wifi/sys/netipsec/ipsec_osdep.h#6 integrate .. //depot/projects/wifi/sys/nfsserver/nfs_serv.c#13 integrate .. //depot/projects/wifi/sys/pc98/conf/DEFAULTS#5 integrate .. //depot/projects/wifi/sys/pc98/conf/GENERIC#20 integrate .. //depot/projects/wifi/sys/security/audit/audit.c#9 integrate .. //depot/projects/wifi/sys/security/audit/audit_arg.c#7 integrate .. //depot/projects/wifi/sys/security/audit/audit_bsm.c#5 integrate .. //depot/projects/wifi/sys/security/mac_portacl/mac_portacl.c#8 integrate .. //depot/projects/wifi/sys/security/mac_seeotheruids/mac_seeotheruids.c#7 integrate .. //depot/projects/wifi/sys/sparc64/conf/DEFAULTS#5 integrate .. //depot/projects/wifi/sys/sparc64/conf/GENERIC#19 integrate .. //depot/projects/wifi/sys/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/wifi/sys/sys/mbuf.h#24 integrate .. //depot/projects/wifi/sys/sys/param.h#30 integrate .. //depot/projects/wifi/sys/sys/priv.h#5 integrate .. //depot/projects/wifi/sys/sys/proc.h#32 integrate .. //depot/projects/wifi/sys/sys/systm.h#24 integrate .. //depot/projects/wifi/sys/sys/vmmeter.h#5 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_alloc.c#14 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_vnops.c#19 integrate .. //depot/projects/wifi/sys/ufs/ufs/ufs_quota.c#12 integrate .. //depot/projects/wifi/sys/ufs/ufs/ufs_vnops.c#26 integrate .. //depot/projects/wifi/sys/vm/vm_contig.c#15 integrate .. //depot/projects/wifi/sys/vm/vm_object.c#23 integrate .. //depot/projects/wifi/sys/vm/vm_page.c#21 integrate .. //depot/projects/wifi/sys/vm/vm_pageout.c#15 integrate .. //depot/projects/wifi/sys/vm/vm_pageq.c#10 integrate .. //depot/projects/wifi/tools/tools/net80211/wlandebug/wlandebug.c#4 integrate .. //depot/projects/wifi/tools/tools/net80211/wlanstats/wlanstats.c#4 integrate .. //depot/projects/wifi/usr.bin/netstat/Makefile#10 integrate .. //depot/projects/wifi/usr.bin/netstat/netstat.1#7 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/anonFTP.c#5 integrate .. //depot/projects/wifi/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#8 integrate Differences ... ==== //depot/projects/wifi/UPDATING#32 (text+ko) ==== @@ -21,6 +21,37 @@ developers choose to disable these features on build machines to maximize performance. +20070610: + The net80211 layer has changed significantly and all wireless + drivers that depend on it need to be recompiled. Further these + changes require that any program that interacts with the wireless + support in the kernel be recompiled; this includes: ifconfig, + wpa_supplicant, hostapd, and wlanstats. Users must also, for + the moment, kldload the wlan_scan_sta and/or wlan_scan_ap modules + if they use modules for wireless support. These modules implement + scanning support for station and ap modes, respectively. Failure + to load the appropriate module before marking a wireless interface + up will result in a message to the console and the device not + operating properly. + +20070610: + The pam_nologin(8) module ceases to provide an authentication + function and starts providing an account management function. + Consequent changes to /etc/pam.d should be brought in using + mergemaster(8). Third-party files in /usr/local/etc/pam.d may + need manual editing as follows. Locate this line (or similar): + + auth required pam_nologin.so no_warn + + and change it according to this example: + + account required pam_nologin.so no_warn + + That is, the first word needs to be changed from "auth" to + "account". The new line can be moved to the account section + within the file for clarity. Not updating pam.conf(5) files + will result in nologin(5) ignored by the respective services. + 20070529: The ether_ioctl() function has been synchronized with ioctl(2) and ifnet.if_ioctl. Due to that, the size of one of its arguments @@ -801,4 +832,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.492 2007/05/29 12:40:45 yar Exp $ +$FreeBSD: src/UPDATING,v 1.494 2007/06/11 04:06:50 sam Exp $ ==== //depot/projects/wifi/contrib/tcpdump/ieee802_11.h#3 (text+ko) ==== @@ -1,3 +1,4 @@ +/* $FreeBSD: src/contrib/tcpdump/ieee802_11.h,v 1.2 2007/06/11 04:04:30 sam Exp $ */ /* @(#) $Header: /tcpdump/master/tcpdump/ieee802_11.h,v 1.9 2003/07/22 17:36:57 guy Exp $ (LBL) */ /* * Copyright (c) 2001 ==== //depot/projects/wifi/contrib/tcpdump/ieee802_11_radio.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/tcpdump/ieee802_11_radio.h,v 1.1.1.1 2005/05/29 18:16:31 sam Exp $ */ +/* $FreeBSD: src/contrib/tcpdump/ieee802_11_radio.h,v 1.2 2007/06/11 04:04:30 sam Exp $ */ /* $NetBSD: ieee80211_radiotap.h,v 1.3 2003/11/16 09:02:42 dyoung Exp $ */ /* $Header: /tcpdump/master/tcpdump/ieee802_11_radio.h,v 1.1 2004/09/23 21:33:10 dyoung Exp $ */ ==== //depot/projects/wifi/contrib/tcpdump/print-802_11.c#5 (text+ko) ==== @@ -1,3 +1,4 @@ +/* $FreeBSD: src/contrib/tcpdump/print-802_11.c,v 1.2 2007/06/11 04:04:30 sam Exp $ */ /* * Copyright (c) 2001 * Fortress Technologies, Inc. All rights reserved. ==== //depot/projects/wifi/etc/group#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/group,v 1.34 2006/02/05 19:34:09 rwatson Exp $ +# $FreeBSD: src/etc/group,v 1.35 2007/06/11 18:36:39 ceri Exp $ # wheel:*:0:root daemon:*:1: @@ -11,6 +11,7 @@ news:*:8: man:*:9: games:*:13: +ftp:*:14: staff:*:20: sshd:*:22: smmsp:*:25: ==== //depot/projects/wifi/etc/pam.d/ftpd#2 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/ftpd,v 1.18 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/ftpd,v 1.19 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "ftpd" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/wifi/etc/pam.d/gdm#2 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/gdm,v 1.7 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/gdm,v 1.8 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "gdm" service # # auth -auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/wifi/etc/pam.d/imap#2 (text+ko) ==== @@ -1,11 +1,13 @@ # -# $FreeBSD: src/etc/pam.d/imap,v 1.5 2003/03/08 09:50:11 markm Exp $ +# $FreeBSD: src/etc/pam.d/imap,v 1.6 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "imap" service # # auth -#auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass + +# account +#account required pam_nologin.so ==== //depot/projects/wifi/etc/pam.d/kde#2 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/kde,v 1.6 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/kde,v 1.7 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "kde" service # # auth -auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/wifi/etc/pam.d/login#2 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/login,v 1.16 2003/06/14 12:35:05 des Exp $ +# $FreeBSD: src/etc/pam.d/login,v 1.17 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "login" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_self.so no_warn auth include system # account account requisite pam_securetty.so +account required pam_nologin.so account include system # session ==== //depot/projects/wifi/etc/pam.d/other#2 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/other,v 1.10 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/other,v 1.11 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "other" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn try_first_pass @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_login_access.so account required pam_unix.so ==== //depot/projects/wifi/etc/pam.d/pop3#2 (text+ko) ==== @@ -1,11 +1,13 @@ # -# $FreeBSD: src/etc/pam.d/pop3,v 1.5 2003/03/08 09:50:11 markm Exp $ +# $FreeBSD: src/etc/pam.d/pop3,v 1.6 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "pop3" service # # auth -#auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass + +# account +#account required pam_nologin.so ==== //depot/projects/wifi/etc/pam.d/rsh#2 (text+ko) ==== @@ -1,14 +1,14 @@ # -# $FreeBSD: src/etc/pam.d/rsh,v 1.5 2003/02/10 00:50:03 des Exp $ +# $FreeBSD: src/etc/pam.d/rsh,v 1.6 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "rsh" service # # auth -auth required pam_nologin.so no_warn auth required pam_rhosts.so no_warn # account +account required pam_nologin.so account required pam_unix.so # session ==== //depot/projects/wifi/etc/pam.d/sshd#2 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/sshd,v 1.15 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/sshd,v 1.16 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "sshd" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn try_first_pass @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_login_access.so account required pam_unix.so ==== //depot/projects/wifi/etc/pam.d/telnetd#2 (text+ko) ==== @@ -1,11 +1,10 @@ # -# $FreeBSD: src/etc/pam.d/telnetd,v 1.7 2003/04/30 21:57:54 markm Exp $ +# $FreeBSD: src/etc/pam.d/telnetd,v 1.8 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "telnetd" service # # auth -auth required pam_nologin.so no_warn auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local #auth sufficient pam_krb5.so no_warn try_first_pass @@ -13,6 +12,7 @@ auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_login_access.so account required pam_unix.so ==== //depot/projects/wifi/etc/pam.d/xdm#3 (text+ko) ==== @@ -1,16 +1,16 @@ # -# $FreeBSD: src/etc/pam.d/xdm,v 1.10 2005/04/28 07:59:09 des Exp $ +# $FreeBSD: src/etc/pam.d/xdm,v 1.11 2007/06/10 18:57:20 yar Exp $ # # PAM configuration for the "xdm" service # # auth -auth required pam_nologin.so no_warn #auth sufficient pam_krb5.so no_warn try_first_pass #auth sufficient pam_ssh.so no_warn try_first_pass auth required pam_unix.so no_warn try_first_pass # account +account required pam_nologin.so #account required pam_krb5.so account required pam_unix.so ==== //depot/projects/wifi/include/arpa/inet.h#4 (text+ko) ==== @@ -56,7 +56,7 @@ /*% * @(#)inet.h 8.1 (Berkeley) 6/2/93 * $Id: inet.h,v 1.2.18.1 2005/04/27 05:00:50 sra Exp $ - * $FreeBSD: src/include/arpa/inet.h,v 1.27 2007/06/03 17:20:25 ume Exp $ + * $FreeBSD: src/include/arpa/inet.h,v 1.28 2007/06/11 07:21:21 delphij Exp $ */ #ifndef _ARPA_INET_H_ @@ -130,6 +130,7 @@ #define inet_cidr_ntop __inet_cidr_ntop #define inet_cidr_pton __inet_cidr_pton #define inet_ntoa __inet_ntoa +#define inet_ntoa_r __inet_ntoa_r #define inet_pton __inet_pton #define inet_ntop __inet_ntop #define inet_nsap_addr __inet_nsap_addr @@ -147,6 +148,7 @@ in_addr_t inet_addr(const char *); /*const*/ char *inet_ntoa(struct in_addr); +char *inet_ntoa_r(struct in_addr, char *buf); const char *inet_ntop(int, const void * __restrict, char * __restrict, socklen_t); int inet_pton(int, const char * __restrict, void * __restrict); ==== //depot/projects/wifi/include/histedit.h#3 (text+ko) ==== @@ -30,8 +30,8 @@ * SUCH DAMAGE. * * @(#)histedit.h 8.2 (Berkeley) 1/3/94 - * $NetBSD: histedit.h,v 1.28 2005/07/14 15:00:58 christos Exp $ - * $FreeBSD: src/include/histedit.h,v 1.10 2005/08/07 20:51:52 stefanf Exp $ + * $NetBSD: histedit.h,v 1.32 2007/06/10 20:20:28 christos Exp $ + * $FreeBSD: src/include/histedit.h,v 1.12 2007/06/11 06:25:19 stefanf Exp $ */ /* @@ -104,7 +104,7 @@ * Low level editline access functions */ int el_set(EditLine *, int, ...); -int el_get(EditLine *, int, void *); +int el_get(EditLine *, int, ...); #if 0 unsigned char _el_fn_complete(EditLine *, int); #endif @@ -130,8 +130,11 @@ #define EL_CLIENTDATA 14 /* , void *); */ #define EL_UNBUFFERED 15 /* , int); */ #define EL_PREP_TERM 16 /* , int); */ +#define EL_GETTC 17 /* , const char *, ..., NULL); */ +#define EL_GETFP 18 /* , int, FILE **) */ +#define EL_SETFP 19 /* , int, FILE *) */ -#define EL_BUILTIN_GETCFN (NULL) +#define EL_BUILTIN_GETCFN (NULL) /* * Source named file or $PWD/.editrc or $HOME/.editrc @@ -181,7 +184,7 @@ #define H_FUNC 0 /* , UTSL */ #define H_SETSIZE 1 /* , const int); */ -#define H_EVENT 1 /* , const int); */ +#define H_EVENT 1 /* , const int); */ #define H_GETSIZE 2 /* , void); */ #define H_FIRST 3 /* , void); */ #define H_LAST 4 /* , void); */ ==== //depot/projects/wifi/include/paths.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)paths.h 8.1 (Berkeley) 6/2/93 - * $FreeBSD: src/include/paths.h,v 1.25 2004/01/04 17:17:46 iedowse Exp $ + * $FreeBSD: src/include/paths.h,v 1.26 2007/06/11 02:21:18 simokawa Exp $ */ #ifndef _PATHS_H_ @@ -61,6 +61,7 @@ #define _PATH_DRUM "/dev/drum" #define _PATH_ETC "/etc" #define _PATH_FTPUSERS "/etc/ftpusers" +#define _PATH_FWMEM "/dev/fwmem" #define _PATH_HALT "/sbin/halt" #define _PATH_IFCONFIG "/sbin/ifconfig" #define _PATH_KMEM "/dev/kmem" ==== //depot/projects/wifi/lib/libarchive/archive_write_set_format_ustar.c#11 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.23 2007/05/29 01:00:19 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_format_ustar.c,v 1.24 2007/06/11 05:17:30 kientzle Exp $"); #ifdef HAVE_ERRNO_H @@ -279,6 +279,16 @@ /* Store in two pieces, splitting at a '/'. */ p = strchr(pp + strlen(pp) - USTAR_name_size - 1, '/'); /* + * If the separator we found is the first '/', find + * the next one. (This is a pathological case that + * occurs for paths of exactly 101 bytes that start with + * '/'; it occurs because the separating '/' is not + * stored explicitly and the reconstruction assumes that + * an empty prefix means there is no '/' separator.) + */ + if (p == pp) + p = strchr(p + 1, '/'); + /* * If there is no path separator, or the prefix or * remaining name are too large, return an error. */ ==== //depot/projects/wifi/lib/libarchive/test/test_tar_filenames.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "test.h" -__FBSDID("$FreeBSD: src/lib/libarchive/test/test_tar_filenames.c,v 1.3 2007/05/29 01:00:21 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/test/test_tar_filenames.c,v 1.4 2007/06/11 05:17:30 kientzle Exp $"); /* * Exercise various lengths of filenames in tar archives, @@ -31,8 +31,8 @@ * filenames into prefix/suffix. */ -static void -test_filename(int dlen, int flen) +static +test_filename(const char *prefix, int dlen, int flen) { char buff[8192]; char filename[400]; @@ -40,12 +40,17 @@ struct archive_entry *ae; struct archive *a; size_t used; - int i; + size_t prefix_length = 0; + int i = 0; - for (i = 0; i < dlen; i++) + if (prefix) { + strcpy(filename, prefix); + i = prefix_length = strlen(prefix); + } + for (; i < prefix_length + dlen; i++) filename[i] = 'a'; filename[i++] = '/'; - for (; i < dlen + flen + 1; i++) + for (; i < prefix_length + dlen + flen + 1; i++) filename[i] = 'b'; filename[i++] = '\0'; @@ -111,7 +116,7 @@ assertA(0 == archive_read_next_header(a, &ae)); failure("Pathname %d/%d: %s", dlen, flen, archive_entry_pathname(ae)); assertEqualString(filename, archive_entry_pathname(ae)); - assert((S_IFREG | 0755) == archive_entry_mode(ae)); + assertEqualInt((S_IFREG | 0755), archive_entry_mode(ae)); /* * Read the two dirs and check the names. @@ -147,13 +152,15 @@ /* Repeat the following for a variety of dir/file lengths. */ for (dlen = 40; dlen < 60; dlen++) { for (flen = 40; flen < 60; flen++) { - test_filename(dlen, flen); + test_filename(NULL, dlen, flen); + test_filename("/", dlen, flen); } } for (dlen = 140; dlen < 160; dlen++) { for (flen = 90; flen < 110; flen++) { - test_filename(dlen, flen); + test_filename(NULL, dlen, flen); + test_filename("/", dlen, flen); } } } ==== //depot/projects/wifi/lib/libc/inet/Symbol.map#3 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/inet/Symbol.map,v 1.2 2007/04/29 14:05:17 deischen Exp $ + * $FreeBSD: src/lib/libc/inet/Symbol.map,v 1.3 2007/06/11 07:21:21 delphij Exp $ */ FBSD_1.0 { @@ -25,6 +25,8 @@ inet_network; __inet_ntoa; inet_ntoa; + __inet_ntoa_r; + inet_ntoa_r; __inet_ntop; inet_ntop; __inet_pton; ==== //depot/projects/wifi/lib/libc/inet/inet_ntoa.c#4 (text) ==== @@ -32,7 +32,7 @@ static const char rcsid[] = "$Id: inet_ntoa.c,v 1.1.352.1 2005/04/27 05:00:54 sra Exp $"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/inet/inet_ntoa.c,v 1.4 2007/06/03 17:20:26 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/inet/inet_ntoa.c,v 1.5 2007/06/11 07:21:21 delphij Exp $"); #include "port_before.h" @@ -59,11 +59,19 @@ return (ret); } +char * +inet_ntoa_r(struct in_addr in, char *buf) +{ + (void) inet_ntop(AF_INET, &in, buf, sizeof("255.255.255.255")); + return (buf); +} + /* * Weak aliases for applications that use certain private entry points, * and fail to include . */ #undef inet_ntoa __weak_reference(__inet_ntoa, inet_ntoa); +__weak_reference(__inet_ntoa_r, inet_ntoa_r); /*! \file */ ==== //depot/projects/wifi/lib/libc/net/Makefile.inc#8 (text+ko) ==== @@ -1,5 +1,5 @@ # from @(#)Makefile.inc 8.2 (Berkeley) 9/5/93 -# $FreeBSD: src/lib/libc/net/Makefile.inc,v 1.65 2007/02/28 21:18:38 bms Exp $ +# $FreeBSD: src/lib/libc/net/Makefile.inc,v 1.66 2007/06/11 07:21:21 delphij Exp $ # machine-independent net sources .PATH: ${.CURDIR}/net @@ -80,7 +80,7 @@ if_indextoname.3 if_freenameindex.3 MLINKS+=inet.3 addr.3 inet.3 inet_addr.3 inet.3 inet_aton.3 \ inet.3 inet_lnaof.3 inet.3 inet_makeaddr.3 inet.3 inet_netof.3 \ - inet.3 inet_network.3 inet.3 inet_ntoa.3 \ + inet.3 inet_network.3 inet.3 inet_ntoa.3 inet.3 inet_ntoa_r.3\ inet.3 inet_ntop.3 inet.3 inet_pton.3 \ inet.3 network.3 inet.3 ntoa.3 MLINKS+= sctp_send.3 sctp_sendx.3 ==== //depot/projects/wifi/lib/libc/net/inet.3#7 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/net/inet.3,v 1.34 2007/03/21 05:46:18 mlaier Exp $ +.\" $FreeBSD: src/lib/libc/net/inet.3,v 1.35 2007/06/11 07:21:21 delphij Exp $ .\" -.Dd March 21, 2007 +.Dd June 11, 2007 .Dt INET 3 .Os .Sh NAME @@ -36,6 +36,7 @@ .Nm inet_addr , .Nm inet_network , .Nm inet_ntoa , +.Nm inet_ntoa_r , .Nm inet_ntop , .Nm inet_pton , .Nm inet_makeaddr , @@ -57,6 +58,11 @@ .Fn inet_network "const char *cp" .Ft char * .Fn inet_ntoa "struct in_addr in" +.Ft char * +.Fo inet_ntoa_r +.Fa "struct in_addr in" +.Fa "char *buf" +.Fc .Ft const char * .Fo inet_ntop .Fa "int af" @@ -147,6 +153,11 @@ .Ql .\& notation. The routine +.Fn inet_ntoa_r +is the reentrant version of +.Fn inet_ntoa . +It requires a buffer large enough to contain an IPv4 address. +The routine .Fn inet_makeaddr takes an Internet network number and a local network address and constructs an Internet address ==== //depot/projects/wifi/lib/libc/net/sctp_sys_calls.c#5 (text+ko) ==== @@ -1,7 +1,7 @@ /* $KAME: sctp_sys_calls.c,v 1.9 2004/08/17 06:08:53 itojun Exp $ */ /* - * Copyright (C) 2002-2006 Cisco Systems Inc, + * Copyright (C) 2002-2007 Cisco Systems Inc, * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,7 +29,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/sctp_sys_calls.c,v 1.7 2007/05/16 20:23:39 rrs Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/sctp_sys_calls.c,v 1.8 2007/06/11 21:05:29 rrs Exp $"); #include #include #include @@ -164,15 +164,21 @@ } int -sctp_connectx(int sd, const struct sockaddr *addrs, int addrcnt, sctp_assoc_t * id) +sctp_connectx(int sd, const struct sockaddr *addrs, int addrcnt, + sctp_assoc_t * id) { char buf[SCTP_STACK_BUF_SIZE]; int i, ret, cnt, *aa; char *cpto; const struct sockaddr *at; + sctp_assoc_t *p_id; size_t len = sizeof(int); - sctp_assoc_t *p_id; + /* validate the address count and list */ + if ((addrs == NULL) || (addrcnt <= 0)) { + errno = EINVAL; + return (-1); + } at = addrs; cnt = 0; cpto = ((caddr_t)buf + sizeof(int)); @@ -227,11 +233,17 @@ struct sockaddr *sa; int i, sz, fam, argsz; + /* validate the flags */ if ((flags != SCTP_BINDX_ADD_ADDR) && (flags != SCTP_BINDX_REM_ADDR)) { errno = EFAULT; return (-1); } + /* validate the address count and list */ + if ((addrcnt <= 0) || (addrs == NULL)) { + errno = EINVAL; + return (-1); + } argsz = (sizeof(struct sockaddr_storage) + sizeof(struct sctp_getaddresses)); gaddrs = (struct sctp_getaddresses *)calloc(1, argsz); @@ -709,7 +721,6 @@ struct sctp_sndrcvinfo *sinfo, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 12 12:27:57 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 705C016A41F; Tue, 12 Jun 2007 12:27:57 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 380ED16A469 for ; Tue, 12 Jun 2007 12:27:57 +0000 (UTC) (envelope-from dongmei@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 27D2C13C44C for ; Tue, 12 Jun 2007 12:27:57 +0000 (UTC) (envelope-from dongmei@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5CCRvqe079099 for ; Tue, 12 Jun 2007 12:27:57 GMT (envelope-from dongmei@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5CCRvlX079090 for perforce@freebsd.org; Tue, 12 Jun 2007 12:27:57 GMT (envelope-from dongmei@FreeBSD.org) Date: Tue, 12 Jun 2007 12:27:57 GMT Message-Id: <200706121227.l5CCRvlX079090@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dongmei@FreeBSD.org using -f From: dongmei To: Perforce Change Reviews Cc: Subject: PERFORCE change 121496 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 12:27:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=121496 Change 121496 by dongmei@dongmei2007 on 2007/06/12 12:27:06 Create GUI framwork for audit analyzer, include the menubar, toolbar, listview and treeview. Affected files ... .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/Makefile#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/compat_macros.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/list_view.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/list_view.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/main.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/menu.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/menu.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/tree_view.c#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/gtk/tree_view.h#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/image/toolbar/010.xpm#1 add .. //depot/projects/soc2007/dongmei-auditanalyzer/image/toolbar/close.xpm#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jun 12 18:53:56 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0995F16A46D; Tue, 12 Jun 2007 18:53:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BB65316A46B for ; Tue, 12 Jun 2007 18:53:55 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id AABDC13C468 for ; Tue, 12 Jun 2007 18:53:55 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5CIrtBo058613 for ; Tue, 12 Jun 2007 18:53:55 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5CIrrlJ058585 for perforce@freebsd.org; Tue, 12 Jun 2007 18:53:53 GMT (envelope-from thompsa@freebsd.org) Date: Tue, 12 Jun 2007 18:53:53 GMT Message-Id: <200706121853.l5CIrrlJ058585@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121516 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 18:53:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=121516 Change 121516 by thompsa@thompsa_heff on 2007/06/12 18:53:18 IFC (hopefully unbreak build) Affected files ... .. //depot/projects/wifi/UPDATING#33 integrate .. //depot/projects/wifi/etc/defaults/rc.conf#31 integrate .. //depot/projects/wifi/etc/rc.d/sendmail#5 integrate .. //depot/projects/wifi/games/fortune/datfiles/fortunes#25 integrate .. //depot/projects/wifi/lib/libc/net/Makefile.inc#9 integrate .. //depot/projects/wifi/lib/libc/net/Symbol.map#7 integrate .. //depot/projects/wifi/release/doc/en_US.ISO8859-1/relnotes/article.sgml#12 integrate .. //depot/projects/wifi/sbin/ifconfig/iflagg.c#2 integrate .. //depot/projects/wifi/share/man/man4/ip.4#10 integrate .. //depot/projects/wifi/share/man/man4/snd_hda.4#5 integrate .. //depot/projects/wifi/share/misc/committers-ports.dot#6 integrate .. //depot/projects/wifi/sys/conf/files#54 integrate .. //depot/projects/wifi/sys/dev/if_ndis/if_ndis_usb.c#4 integrate .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#54 edit .. //depot/projects/wifi/sys/dev/msk/if_mskreg.h#5 integrate .. //depot/projects/wifi/sys/dev/nfe/if_nfereg.h#4 integrate .. //depot/projects/wifi/sys/dev/sound/usb/uaudio.c#17 integrate .. //depot/projects/wifi/sys/dev/usb/if_aue.c#14 integrate .. //depot/projects/wifi/sys/dev/usb/if_axe.c#19 integrate .. //depot/projects/wifi/sys/dev/usb/if_cdce.c#9 integrate .. //depot/projects/wifi/sys/dev/usb/if_cue.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/if_kue.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/if_rue.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/if_rum.c#4 integrate .. //depot/projects/wifi/sys/dev/usb/if_udav.c#15 integrate .. //depot/projects/wifi/sys/dev/usb/if_ural.c#29 integrate .. //depot/projects/wifi/sys/dev/usb/uark.c#4 integrate .. //depot/projects/wifi/sys/dev/usb/ubsa.c#8 integrate .. //depot/projects/wifi/sys/dev/usb/ubser.c#8 integrate .. //depot/projects/wifi/sys/dev/usb/ucom.c#8 integrate .. //depot/projects/wifi/sys/dev/usb/ucomvar.h#4 integrate .. //depot/projects/wifi/sys/dev/usb/udbp.c#5 integrate .. //depot/projects/wifi/sys/dev/usb/ufm.c#6 integrate .. //depot/projects/wifi/sys/dev/usb/uftdi.c#8 integrate .. //depot/projects/wifi/sys/dev/usb/uhid.c#10 integrate .. //depot/projects/wifi/sys/dev/usb/uhub.c#10 integrate .. //depot/projects/wifi/sys/dev/usb/ukbd.c#9 integrate .. //depot/projects/wifi/sys/dev/usb/ulpt.c#7 integrate .. //depot/projects/wifi/sys/dev/usb/umass.c#14 integrate .. //depot/projects/wifi/sys/dev/usb/umct.c#6 integrate .. //depot/projects/wifi/sys/dev/usb/umodem.c#8 integrate .. //depot/projects/wifi/sys/dev/usb/ums.c#12 integrate .. //depot/projects/wifi/sys/dev/usb/uplcom.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/urio.c#6 integrate .. //depot/projects/wifi/sys/dev/usb/usb.c#12 integrate .. //depot/projects/wifi/sys/dev/usb/usb_port.h#9 integrate .. //depot/projects/wifi/sys/dev/usb/uscanner.c#10 integrate .. //depot/projects/wifi/sys/dev/usb/uvisor.c#9 integrate .. //depot/projects/wifi/sys/dev/usb/uvscom.c#8 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#9 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#5 integrate .. //depot/projects/wifi/sys/netinet/igmp.h#3 integrate .. //depot/projects/wifi/sys/netinet/igmp_var.h#3 integrate .. //depot/projects/wifi/sys/netinet/in.c#16 integrate .. //depot/projects/wifi/sys/netinet/in.h#11 integrate .. //depot/projects/wifi/sys/netinet/in_mcast.c#1 branch .. //depot/projects/wifi/sys/netinet/in_pcb.c#17 integrate .. //depot/projects/wifi/sys/netinet/in_var.h#7 integrate .. //depot/projects/wifi/sys/netinet/ip_carp.c#17 integrate .. //depot/projects/wifi/sys/netinet/ip_output.c#19 integrate .. //depot/projects/wifi/sys/netinet/ip_var.h#8 integrate .. //depot/projects/wifi/sys/netinet/sctp.h#7 integrate .. //depot/projects/wifi/sys/netinet/sctp_constants.h#12 integrate .. //depot/projects/wifi/sys/netinet/sctp_header.h#5 integrate .. //depot/projects/wifi/sys/netinet/sctp_input.c#13 integrate .. //depot/projects/wifi/sys/netinet/sctp_os_bsd.h#11 integrate .. //depot/projects/wifi/sys/netinet/sctp_output.c#13 integrate .. //depot/projects/wifi/sys/netinet/sctp_pcb.c#14 integrate .. //depot/projects/wifi/sys/netinet/sctp_usrreq.c#12 integrate .. //depot/projects/wifi/sys/netinet/sctputil.c#13 integrate .. //depot/projects/wifi/sys/netinet/sctputil.h#11 integrate .. //depot/projects/wifi/sys/netinet/udp_usrreq.c#21 integrate .. //depot/projects/wifi/sys/netinet/udp_var.h#4 integrate .. //depot/projects/wifi/sys/netinet6/in6.h#9 integrate .. //depot/projects/wifi/sys/netinet6/in6_ifattach.c#10 integrate .. //depot/projects/wifi/sys/netinet6/in6_pcb.c#11 integrate .. //depot/projects/wifi/sys/netinet6/sctp6_var.h#5 integrate .. //depot/projects/wifi/sys/sys/param.h#31 integrate .. //depot/projects/wifi/sys/sys/socket.h#10 integrate .. //depot/projects/wifi/tools/regression/netinet/ipmulticast/Makefile#1 branch .. //depot/projects/wifi/tools/regression/netinet/ipmulticast/ipmulticast.c#1 branch .. //depot/projects/wifi/tools/regression/netinet/ipsockopt/ipsockopt.c#6 integrate .. //depot/projects/wifi/tools/regression/usr.bin/sed/regress.sh#5 integrate .. //depot/projects/wifi/tools/tools/nanobsd/nanobsd.sh#10 integrate .. //depot/projects/wifi/usr.bin/netstat/inet.c#10 integrate .. //depot/projects/wifi/usr.bin/sed/extern.h#3 integrate .. //depot/projects/wifi/usr.bin/sed/main.c#6 integrate .. //depot/projects/wifi/usr.bin/sed/process.c#6 integrate .. //depot/projects/wifi/usr.sbin/mtest/mtest.c#3 integrate .. //depot/projects/wifi/usr.sbin/ntp/doc/ntpd.8#6 integrate Differences ... ==== //depot/projects/wifi/UPDATING#33 (text+ko) ==== @@ -21,6 +21,31 @@ developers choose to disable these features on build machines to maximize performance. +20070612: + By default, /etc/rc.d/sendmail no longer rebuilds the aliases + database if it is missing or older than the aliases file. If + desired, set the new rc.conf option sendmail_rebuild_aliases + to "YES" to restore that functionality. + +20070612: + The IPv4 multicast socket code has been considerably modified, and + moved to the file sys/netinet/in_mcast.c. Initial support for the + RFC 3678 Source-Specific Multicast Socket API has been added to + the IPv4 network stack. + + Strict multicast and broadcast reception is now the default for + UDP/IPv4 sockets; the net.inet.udp.strict_mcast_mship sysctl variable + has now been removed. + + The RFC 1724 hack for interface selection has been removed; the use + of the Linux-derived ip_mreqn structure with IP_MULTICAST_IF has + been added to replace it. Consumers such as routed will soon be + updated to reflect this. + + These changes affect users who are running routed(8) or rdisc(8) + from the FreeBSD base system on point-to-point or unnumbered + interfaces. + 20070610: The net80211 layer has changed significantly and all wireless drivers that depend on it need to be recompiled. Further these @@ -81,10 +106,10 @@ DEFAULT_THREAD_LIB=libpthread for the buildworld. 20070423: - The ABI breakage in sendmail(8)'s libmilter has been repaired - so it is no longer necessary to recompile mail filters (aka, - milters). If you recompiled mail filters after the 20070408 - note, it is not necessary to recompile them again. + The ABI breakage in sendmail(8)'s libmilter has been repaired + so it is no longer necessary to recompile mail filters (aka, + milters). If you recompiled mail filters after the 20070408 + note, it is not necessary to recompile them again. 20070417: The new trunk(4) driver has been renamed to lagg(4) as it better @@ -832,4 +857,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.494 2007/06/11 04:06:50 sam Exp $ +$FreeBSD: src/UPDATING,v 1.497 2007/06/12 17:33:56 gshapiro Exp $ ==== //depot/projects/wifi/etc/defaults/rc.conf#31 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.315 2007/05/29 06:22:14 dougb Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.316 2007/06/12 17:33:23 gshapiro Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -483,6 +483,7 @@ sendmail_msp_queue_enable="YES" # Dequeue stuck clientmqueue mail (YES/NO). sendmail_msp_queue_flags="-L sm-msp-queue -Ac -q30m" # Flags for sendmail_msp_queue daemon. +sendmail_rebuild_aliases="NO" # Run newaliases if necessary (YES/NO). ############################################################## ==== //depot/projects/wifi/etc/rc.d/sendmail#5 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: sendmail,v 1.14 2002/02/12 01:26:36 lukem Exp $ -# $FreeBSD: src/etc/rc.d/sendmail,v 1.16 2005/10/28 16:55:38 yar Exp $ +# $FreeBSD: src/etc/rc.d/sendmail,v 1.17 2007/06/12 17:33:23 gshapiro Exp $ # # PROVIDE: mail @@ -58,16 +58,18 @@ fi # check modifications on /etc/mail/aliases - if [ -f "/etc/mail/aliases.db" ]; then - if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then + if checkyesno sendmail_rebuild_aliases; then + if [ -f "/etc/mail/aliases.db" ]; then + if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then + echo \ + "${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating" + /usr/bin/newaliases + fi + else echo \ - "${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating" - /usr/bin/newaliases + "${name}: /etc/mail/aliases.db not present, generating" + /usr/bin/newaliases fi - else - echo \ - "${name}: /etc/mail/aliases.db not present, generating" - /usr/bin/newaliases fi } ==== //depot/projects/wifi/games/fortune/datfiles/fortunes#25 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.240 2007/06/06 11:12:56 ceri Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.241 2007/06/12 09:20:31 philip Exp $ % ======================================================================= @@ -13268,11 +13268,6 @@ Bucy's Law: Nothing is ever accomplished by a reasonable man. % -Bug: - An elusive creature living in a program that makes it incorrect. - The activity of "debugging," or removing bugs from a program, ends - when people get tired of doing it, not when the bugs are removed. -% Bug, n.: An aspect of a computer program which exists because the programmer was thinking about Jumbo Jacks or stock options when s/he ==== //depot/projects/wifi/lib/libc/net/Makefile.inc#9 (text+ko) ==== @@ -1,5 +1,5 @@ # from @(#)Makefile.inc 8.2 (Berkeley) 9/5/93 -# $FreeBSD: src/lib/libc/net/Makefile.inc,v 1.66 2007/06/11 07:21:21 delphij Exp $ +# $FreeBSD: src/lib/libc/net/Makefile.inc,v 1.67 2007/06/12 16:24:55 bms Exp $ # machine-independent net sources .PATH: ${.CURDIR}/net @@ -14,7 +14,7 @@ ip6opt.c linkaddr.c map_v4v6.c name6.c ntoh.c \ nsdispatch.c nslexer.c nsparser.c nss_compat.c \ rcmd.c rcmdsh.c recv.c rthdr.c sctp_sys_calls.c send.c \ - sockatmark.c vars.c + sockatmark.c sourcefilter.c vars.c .if ${MK_NS_CACHING} != "no" SRCS+= nscache.c nscachedcli.c @@ -52,6 +52,7 @@ inet6_opt_init.3 inet6_option_space.3 inet6_rth_space.3 \ inet6_rthdr_space.3 linkaddr.3 \ nsdispatch.3 rcmd.3 rcmdsh.3 resolver.3 sockatmark.3 \ + setsourcefilter.3 \ sctp_bindx.3 sctp_connectx.3 sctp_freepaddrs.3 \ sctp_getaddrlen.3 sctp_getassocid.3 sctp_getpaddrs.3 \ sctp_opt_info.3 sctp_recvmsg.3 sctp_send.3 sctp_sendmsg.3 \ @@ -121,6 +122,8 @@ resolver.3 res_search.3 resolver.3 res_send.3 resolver.3 dn_skipname.3 \ resolver.3 ns_get16.3 resolver.3 ns_get32.3 \ resolver.3 ns_put16.3 resolver.3 ns_put32.3 +MLINKS+=sourcefilter.3 setipv4sourcefilter.3 getipv4sourcefilter.3 \ + sourcefilter.3 setsourcefilter.3 getsourcefilter.3 .if ${MK_HESIOD} != "no" SRCS+= hesiod.c ==== //depot/projects/wifi/lib/libc/net/Symbol.map#7 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/net/Symbol.map,v 1.16 2007/05/31 13:01:33 deischen Exp $ + * $FreeBSD: src/lib/libc/net/Symbol.map,v 1.17 2007/06/12 16:24:55 bms Exp $ */ FBSD_1.0 { @@ -137,6 +137,10 @@ sctp_send; sctp_sendx; sctp_recvmsg; + setipv4sourcefilter; + getipv4sourcefilter; + getsourcefilter; + setsourcefilter; }; FBSDprivate_1.0 { ==== //depot/projects/wifi/release/doc/en_US.ISO8859-1/relnotes/article.sgml#12 (text+ko) ==== @@ -30,7 +30,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1038 2007/06/05 15:38:54 rafan Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1039 2007/06/12 17:33:23 gshapiro Exp $ 2000 @@ -2037,6 +2037,12 @@ The ppp-user script has been renamed to ppp. &merged; + The sendmail script no longer rebuilds + the aliases database if it is missing or older than the aliases + file. If desired, set the new rc.conf option + sendmail_rebuild_aliases to "YES" to restore + that functionality. + The removable_interfaces variable has been removed. ==== //depot/projects/wifi/sbin/ifconfig/iflagg.c#2 (text+ko) ==== @@ -3,7 +3,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sbin/ifconfig/iflagg.c,v 1.1 2007/04/17 00:35:09 thompsa Exp $"; + "$FreeBSD: src/sbin/ifconfig/iflagg.c,v 1.2 2007/06/12 10:07:57 thompsa Exp $"; #endif /* not lint */ #include @@ -58,16 +58,16 @@ static void setlaggproto(const char *val, int d, int s, const struct afswtch *afp) { - struct lagg_protos tpr[] = LAGG_PROTOS; + struct lagg_protos lpr[] = LAGG_PROTOS; struct lagg_reqall ra; int i; bzero(&ra, sizeof(ra)); ra.ra_proto = LAGG_PROTO_MAX; - for (i = 0; i < (sizeof(tpr) / sizeof(tpr[0])); i++) { - if (strcmp(val, tpr[i].tpr_name) == 0) { - ra.ra_proto = tpr[i].tpr_proto; + for (i = 0; i < (sizeof(lpr) / sizeof(lpr[0])); i++) { + if (strcmp(val, lpr[i].lpr_name) == 0) { + ra.ra_proto = lpr[i].lpr_proto; break; } } @@ -82,7 +82,7 @@ static void lagg_status(int s) { - struct lagg_protos tpr[] = LAGG_PROTOS; + struct lagg_protos lpr[] = LAGG_PROTOS; struct lagg_reqport rp, rpbuf[LAGG_MAX_PORTS]; struct lagg_reqall ra; const char *proto = ""; @@ -102,9 +102,9 @@ ra.ra_port = rpbuf; if (ioctl(s, SIOCGLAGG, &ra) == 0) { - for (i = 0; i < (sizeof(tpr) / sizeof(tpr[0])); i++) { - if (ra.ra_proto == tpr[i].tpr_proto) { - proto = tpr[i].tpr_name; + for (i = 0; i < (sizeof(lpr) / sizeof(lpr[0])); i++) { + if (ra.ra_proto == lpr[i].lpr_proto) { + proto = lpr[i].lpr_name; break; } } @@ -122,8 +122,8 @@ if (0 /* XXX */) { printf("\tsupported aggregation protocols:\n"); - for (i = 0; i < (sizeof(tpr) / sizeof(tpr[0])); i++) - printf("\t\tlaggproto %s\n", tpr[i].tpr_name); + for (i = 0; i < (sizeof(lpr) / sizeof(lpr[0])); i++) + printf("\t\tlaggproto %s\n", lpr[i].lpr_name); } } else if (isport) printf("\tlagg: laggdev %s\n", rp.rp_ifname); ==== //depot/projects/wifi/share/man/man4/ip.4#10 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ip.4 8.2 (Berkeley) 11/30/93 -.\" $FreeBSD: src/share/man/man4/ip.4,v 1.48 2007/03/18 15:31:06 bms Exp $ +.\" $FreeBSD: src/share/man/man4/ip.4,v 1.49 2007/06/12 16:24:55 bms Exp $ .\" -.Dd March 18, 2007 +.Dd April 9, 2007 .Dt IP 4 .Os .Sh NAME @@ -420,6 +420,16 @@ address of the desired interface or .Dv INADDR_ANY to specify the default interface. +.Pp +To specify an interface by index, an instance of +.Vt ip_mreqn +should be passed instead. +The +.Vt imr_ifindex +member should be set to the index of the desired interface, +or 0 to specify the default interface. +The kernel differentiates between these two structures by their size. +.\" An interface's local IP address and multicast capability can be obtained via the .Dv SIOCGIFCONF @@ -672,3 +682,7 @@ .Nm protocol appeared in .Bx 4.2 . +The +.Vt ip_mreqn +structure appeared in +.Tn Linux 2.4 . ==== //depot/projects/wifi/share/man/man4/snd_hda.4#5 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/snd_hda.4,v 1.10 2007/05/05 10:36:57 joel Exp $ +.\" $FreeBSD: src/share/man/man4/snd_hda.4,v 1.11 2007/06/12 15:26:41 joel Exp $ .\" -.Dd May 5, 2007 +.Dd June 12, 2007 .Dt SND_HDA 4 .Os .Sh NAME @@ -169,13 +169,15 @@ .Pp .Bl -bullet -compact .It -Analog Device AD1981HD +Analog Devices AD1981HD +.It +Analog Devices AD1983 .It -Analog Device AD1983 +Analog Devices AD1986A .It -Analog Device AD1986A +Analog Devices AD1988 .It -Analog Device AD1988 +Analog Devices AD1988B .It CMedia CMI9880 .It @@ -187,6 +189,8 @@ .It Realtek ALC262 .It +Realtek ALC660 +.It Realtek ALC861 .It Realtek ALC861VD ==== //depot/projects/wifi/share/misc/committers-ports.dot#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/misc/committers-ports.dot,v 1.57 2007/06/09 21:43:52 beech Exp $ +# $FreeBSD: src/share/misc/committers-ports.dot,v 1.58 2007/06/12 09:05:06 chinsan Exp $ # This file is meant to list all FreeBSD ports committers and describe the # mentor-mentee relationships between them. @@ -53,6 +53,7 @@ bland [label="Alexander Nedotsukov\nbland@FreeBSD.org\n2003/08/14"] brooks [label="Brooks Davies\nbrooks@FreeBSD.org\n2004/05/03"] bsam [label="Boris Samorodov\nbsam@FreeBSD.org\n2006/07/20"] +chinsan [label="Chinsan Huang\nchinsan@FreeBSD.org\n2007/06/12"] clement [label="Clement Laforet\nclement@FreeBSD.org\n2003/12/17"] clsung [label="Cheng-Lung Sung\nclsung@FreeBSD.org\n2004/8/18"] cperciva [label="Colin Percival\ncperciva@FreeBSD.org\n2006/01/31"] @@ -239,6 +240,8 @@ philip -> koitsu +rafan -> chinsan + sat -> beech sem -> az ==== //depot/projects/wifi/sys/conf/files#54 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1216 2007/06/11 03:36:48 sam Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1217 2007/06/12 16:24:54 bms Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1802,6 +1802,7 @@ netinet/in_gif.c optional gif inet netinet/ip_gre.c optional gre inet netinet/ip_id.c optional inet +netinet/in_mcast.c optional inet netinet/in_pcb.c optional inet netinet/in_proto.c optional inet \ compile-with "${NORMAL_C} -I$S/contrib/pf" ==== //depot/projects/wifi/sys/dev/if_ndis/if_ndis_usb.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis_usb.c,v 1.7 2006/09/07 06:00:03 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis_usb.c,v 1.8 2007/06/12 15:37:19 imp Exp $"); #include #include @@ -130,7 +130,7 @@ sc = (struct ndis_softc *)dummy; if (uaa->device == NULL) - USB_ATTACH_ERROR_RETURN; + return ENXIO; sc->ndis_dev = self; @@ -140,9 +140,9 @@ windrv_create_pdo(drv, self); if (ndis_attach(self) != 0) - USB_ATTACH_ERROR_RETURN; + return ENXIO; - USB_ATTACH_SUCCESS_RETURN; + return 0; } static struct resource_list * ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#54 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.52 2007/03/21 18:40:31 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.54 2007/06/11 10:56:06 thompsa Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver ==== //depot/projects/wifi/sys/dev/msk/if_mskreg.h#5 (text+ko) ==== @@ -93,7 +93,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/*$FreeBSD: src/sys/dev/msk/if_mskreg.h,v 1.5 2007/06/11 02:00:50 yongari Exp $*/ +/*$FreeBSD: src/sys/dev/msk/if_mskreg.h,v 1.6 2007/06/12 10:50:32 yongari Exp $*/ /* * SysKonnect PCI vendor ID @@ -2185,7 +2185,7 @@ #define MSK_STAT_RING_CNT ((1 + 3) * (MSK_TX_RING_CNT + MSK_RX_RING_CNT)) #define MSK_MAXTXSEGS 32 #define MSK_TSO_MAXSGSIZE 4096 -#define MSK_TSO_MAXSIZE 65535 +#define MSK_TSO_MAXSIZE (65535 + sizeof(struct ether_vlan_header)) #define MSK_MAXRXSEGS 32 /* ==== //depot/projects/wifi/sys/dev/nfe/if_nfereg.h#4 (text+ko) ==== @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/nfe/if_nfereg.h,v 1.9 2007/06/12 02:35:01 yongari Exp $ + * $FreeBSD: src/sys/dev/nfe/if_nfereg.h,v 1.10 2007/06/12 10:51:47 yongari Exp $ */ #define NFE_RX_RING_COUNT 256 @@ -51,7 +51,7 @@ #define NFE_MAX_SCATTER 32 #define NFE_TSO_MAXSGSIZE 4096 -#define NFE_TSO_MAXSIZE 65535 +#define NFE_TSO_MAXSIZE (65535 + sizeof(struct ether_vlan_header)) #define NFE_IRQ_STATUS 0x000 #define NFE_IRQ_MASK 0x004 ==== //depot/projects/wifi/sys/dev/sound/usb/uaudio.c#17 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: uaudio.c,v 1.91 2004/11/05 17:46:14 kent Exp $ */ -/* $FreeBSD: src/sys/dev/sound/usb/uaudio.c,v 1.32 2007/06/10 15:45:29 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/sound/usb/uaudio.c,v 1.33 2007/06/12 15:37:19 imp Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -552,14 +552,14 @@ if (cdesc == NULL) { printf("%s: failed to get configuration descriptor\n", device_get_nameunit(sc->sc_dev)); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } err = uaudio_identify(sc, cdesc); if (err) { printf("%s: audio descriptors make no sense, error=%d\n", device_get_nameunit(sc->sc_dev), err); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } sc->sc_ac_ifaceh = uaa->iface; @@ -586,7 +586,7 @@ if (sc->sc_alts[j].ifaceh == NULL) { printf("%s: alt %d missing AS interface(s)\n", device_get_nameunit(sc->sc_dev), j); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } } @@ -620,7 +620,7 @@ sc->sc_dying = 0; if (audio_attach_mi(sc->sc_dev)) { printf("audio_attach_mi failed\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } #endif @@ -630,8 +630,7 @@ OID_AUTO, "async", CTLFLAG_RW, &sc->async, 0, "Asynchronous USB request"); #endif - - USB_ATTACH_SUCCESS_RETURN; + return 0; } #if defined(__NetBSD__) || defined(__OpenBSD__) ==== //depot/projects/wifi/sys/dev/usb/if_aue.c#14 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_aue.c,v 1.108 2007/06/11 05:44:28 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_aue.c,v 1.109 2007/06/12 15:37:17 imp Exp $"); /* * ADMtek AN986 Pegasus and AN8511 Pegasus II USB to ethernet driver. @@ -644,13 +644,13 @@ if (usbd_set_config_no(sc->aue_udev, AUE_CONFIG_NO, 0)) { device_printf(self, "getting interface handle failed\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } err = usbd_device2interface_handle(uaa->device, AUE_IFACE_IDX, &iface); if (err) { device_printf(self, "getting interface handle failed\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } sc->aue_iface = iface; @@ -666,7 +666,7 @@ ed = usbd_interface2endpoint_descriptor(iface, i); if (ed == NULL) { device_printf(self, "couldn't get ep %d\n", i); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && UE_GET_XFERTYPE(ed->bmAttributes) == UE_BULK) { @@ -702,7 +702,7 @@ mtx_destroy(&sc->aue_mtx); sx_destroy(&sc->aue_sx); usb_ether_task_destroy(&sc->aue_taskqueue); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } ifp->if_softc = sc; if_initname(ifp, "aue", sc->aue_unit); @@ -736,7 +736,7 @@ mtx_destroy(&sc->aue_mtx); sx_destroy(&sc->aue_sx); usb_ether_task_destroy(&sc->aue_taskqueue); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } sc->aue_qdat.ifp = ifp; @@ -751,7 +751,7 @@ sc->aue_link = 1; AUE_SXUNLOCK(sc); - USB_ATTACH_SUCCESS_RETURN; + return 0; } static int ==== //depot/projects/wifi/sys/dev/usb/if_axe.c#19 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_axe.c,v 1.46 2007/06/10 07:24:32 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_axe.c,v 1.47 2007/06/12 15:37:17 imp Exp $"); /* * ASIX Electronics AX88172 USB 2.0 ethernet driver. Used in the @@ -517,7 +517,7 @@ if (usbd_set_config_no(sc->axe_udev, AXE_CONFIG_NO, 1)) { device_printf(sc->axe_dev, "getting interface handle failed\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } usb_init_task(&sc->axe_tick_task, axe_tick_task, sc); @@ -525,7 +525,7 @@ if (usbd_device2interface_handle(uaa->device, AXE_IFACE_IDX, &sc->axe_iface)) { device_printf(sc->axe_dev, "getting interface handle failed\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } id = usbd_get_interface_descriptor(sc->axe_iface); @@ -534,7 +534,7 @@ ed = usbd_interface2endpoint_descriptor(sc->axe_iface, i); if (!ed) { device_printf(sc->axe_dev, "couldn't get ep %d\n", i); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && UE_GET_XFERTYPE(ed->bmAttributes) == UE_BULK) { @@ -586,7 +586,7 @@ AXE_SLEEPUNLOCK(sc); sx_destroy(&sc->axe_sleeplock); mtx_destroy(&sc->axe_mtx); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } ifp->if_softc = sc; if_initname(ifp, "axe", device_get_unit(sc->axe_dev)); @@ -612,7 +612,7 @@ AXE_SLEEPUNLOCK(sc); sx_destroy(&sc->axe_sleeplock); mtx_destroy(&sc->axe_mtx); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } /* @@ -628,7 +628,7 @@ AXE_UNLOCK(sc); AXE_SLEEPUNLOCK(sc); - USB_ATTACH_SUCCESS_RETURN; + return 0; } static int ==== //depot/projects/wifi/sys/dev/usb/if_cdce.c#9 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_cdce.c,v 1.18 2007/06/10 07:33:48 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_cdce.c,v 1.20 2007/06/12 16:52:07 imp Exp $"); #include #include @@ -160,7 +160,7 @@ UDESC_CS_INTERFACE, UDESCSUB_CDC_UNION); if (ud == NULL) { device_printf(sc->cdce_dev, "no union descriptor\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } data_ifcno = ud->bSlaveInterface[0]; @@ -179,7 +179,7 @@ if (sc->cdce_data_iface == NULL) { device_printf(sc->cdce_dev, "no data interface\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } /* @@ -208,7 +208,7 @@ if (usbd_set_interface(sc->cdce_data_iface, j)) { device_printf(sc->cdce_dev, "setting alternate interface failed\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } /* Find endpoints. */ id = usbd_get_interface_descriptor(sc->cdce_data_iface); @@ -218,7 +218,7 @@ if (!ed) { device_printf(sc->cdce_dev, "could not read endpoint descriptor\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && UE_GET_XFERTYPE(ed->bmAttributes) == UE_BULK) { @@ -242,11 +242,11 @@ if (sc->cdce_bulkin_no == -1) { device_printf(sc->cdce_dev, "could not find data bulk in\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } if (sc->cdce_bulkout_no == -1 ) { device_printf(sc->cdce_dev, "could not find data bulk out\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } mtx_init(&sc->cdce_mtx, device_get_nameunit(sc->cdce_dev), MTX_NETWORK_LOCK, @@ -285,7 +285,7 @@ device_printf(sc->cdce_dev, "can not if_alloc()\n"); CDCE_UNLOCK(sc); mtx_destroy(&sc->cdce_mtx); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } ifp->if_softc = sc; if_initname(ifp, "cdce", device_get_unit(sc->cdce_dev)); @@ -312,9 +312,9 @@ CDCE_UNLOCK(sc); usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->cdce_udev, - USBDEV(sc->cdce_dev)); + sc->cdce_dev); - USB_ATTACH_SUCCESS_RETURN; + return 0; } USB_DETACH(cdce) @@ -335,7 +335,7 @@ mtx_destroy(&sc->cdce_mtx); usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->cdce_udev, - USBDEV(sc->cdce_dev)); + sc->cdce_dev); return (0); } ==== //depot/projects/wifi/sys/dev/usb/if_cue.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_cue.c,v 1.66 2007/06/11 05:42:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_cue.c,v 1.67 2007/06/12 15:37:18 imp Exp $"); /* * CATC USB-EL1210A USB to ethernet driver. Used in the CATC Netmate @@ -443,7 +443,7 @@ if (usbd_set_config_no(sc->cue_udev, CUE_CONFIG_NO, 0)) { device_printf(sc->cue_dev, "getting interface handle failed\n"); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } id = usbd_get_interface_descriptor(uaa->iface); @@ -453,7 +453,7 @@ ed = usbd_interface2endpoint_descriptor(uaa->iface, i); if (!ed) { device_printf(sc->cue_dev, "couldn't get ep %d\n", i); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && UE_GET_XFERTYPE(ed->bmAttributes) == UE_BULK) { @@ -485,7 +485,7 @@ device_printf(sc->cue_dev, "can not if_alloc()\n"); CUE_UNLOCK(sc); mtx_destroy(&sc->cue_mtx); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } ifp->if_softc = sc; if_initname(ifp, "cue", device_get_unit(sc->cue_dev)); @@ -511,7 +511,7 @@ sc->cue_dying = 0; CUE_UNLOCK(sc); - USB_ATTACH_SUCCESS_RETURN; + return 0; } static int ==== //depot/projects/wifi/sys/dev/usb/if_kue.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_kue.c,v 1.75 2007/06/11 05:50:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_kue.c,v 1.76 2007/06/12 15:37:18 imp Exp $"); /* * Kawasaki LSI KL5KUSB101B USB to ethernet adapter driver. @@ -421,7 +421,7 @@ ed = usbd_interface2endpoint_descriptor(uaa->iface, i); if (!ed) { device_printf(sc->kue_dev, "couldn't get ep %d\n", i); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && UE_GET_XFERTYPE(ed->bmAttributes) == UE_BULK) { @@ -443,7 +443,7 @@ if (kue_load_fw(sc)) { KUE_UNLOCK(sc); mtx_destroy(&sc->kue_mtx); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } /* Reset the adapter. */ @@ -461,7 +461,7 @@ device_printf(sc->kue_dev, "can not if_alloc()\n"); KUE_UNLOCK(sc); mtx_destroy(&sc->kue_mtx); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } ifp->if_softc = sc; if_initname(ifp, "kue", device_get_unit(sc->kue_dev)); @@ -487,7 +487,7 @@ KUE_UNLOCK(sc); - USB_ATTACH_SUCCESS_RETURN; + return 0; } static int ==== //depot/projects/wifi/sys/dev/usb/if_rue.c#13 (text+ko) ==== @@ -57,7 +57,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_rue.c,v 1.33 2007/06/11 06:01:05 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_rue.c,v 1.34 2007/06/12 15:37:18 imp Exp $"); /* * RealTek RTL8150 USB to fast ethernet controller driver. @@ -679,7 +679,7 @@ sc->rue_dying = 0; RUE_UNLOCK(sc); - USB_ATTACH_SUCCESS_RETURN; + return 0; error2: if_free(ifp); @@ -687,7 +687,7 @@ RUE_UNLOCK(sc); mtx_destroy(&sc->rue_mtx); error: - USB_ATTACH_ERROR_RETURN; + return ENXIO; } static int >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 12 20:18:31 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 910C616A515; Tue, 12 Jun 2007 20:18:31 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B9FD816A511 for ; Tue, 12 Jun 2007 20:18:30 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A973613C457 for ; Tue, 12 Jun 2007 20:18:30 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5CKIUXq038998 for ; Tue, 12 Jun 2007 20:18:30 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5CKISR5038968 for perforce@freebsd.org; Tue, 12 Jun 2007 20:18:28 GMT (envelope-from lulf@FreeBSD.org) Date: Tue, 12 Jun 2007 20:18:28 GMT Message-Id: <200706122018.l5CKISR5038968@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121530 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 20:18:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=121530 Change 121530 by lulf@lulf_carrot on 2007/06/12 20:18:01 - Integrate changes. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/Makefile.inc1#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/Makefile.ia64#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#7 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/cache/g_cache.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/eli/g_eli.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/geom_kern.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/journal/g_journal.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/mirror/g_mirror.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part_apm.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part_gpt.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/raid3/g_raid3.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/GENERIC#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/busdma_machdep.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/elan-mmcr.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/genassym.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/identcpu.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/intr_machdep.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/io_apic.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/machdep.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_clock.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_machdep.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_watchdog.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/swtch.s#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/sys_machdep.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/trap.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/tsc.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/vm_machdep.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/ibcs2/imgact_coff.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/include/pcpu.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/include/specialreg.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/include/vmparam.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/isa/clock.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/isa/npx.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/linux/linux_machdep.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/init_main.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_acct.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_alq.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_clock.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_condvar.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_conf.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_cpu.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_descrip.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_event.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exec.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exit.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_fork.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_idle.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_intr.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kse.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kthread.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_ktrace.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_linker.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_lockf.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_malloc.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mbuf.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mib.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mtxpool.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mutex.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_poll.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_proc.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_prot.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_resource.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_rwlock.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_shutdown.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sig.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_subr.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_switch.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sx.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_synch.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sysctl.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_tc.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_thr.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_thread.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_time.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_umtx.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/ksched.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/link_elf.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_core.c#2 delete .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_ule.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_lock.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_mbpool.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_prof.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_smp.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_taskqueue.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_trap.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_turnstile.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_witness.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sys_generic.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sys_pipe.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sys_process.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/tty.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/tty_cons.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_sockbuf.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_socket.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_usrreq.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_aio.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_bio.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_cluster.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_lookup.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_syscalls.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_vnops.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vnode_if.src#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/conf.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/filedesc.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/mutex.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/param.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/pcpu.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/proc.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/resource.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/resourcevar.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/sched.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/sx.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/syscallsubr.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/sysctl.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/syslimits.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/thr.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/turnstile.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/ucred.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/umtx.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/vmmeter.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/vnode.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/swap_pager.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/uma_core.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_contig.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_fault.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_glue.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_map.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_meter.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_object.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_page.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageout.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageq.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_zeroidle.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vnode_pager.c#3 integrate Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/Makefile.inc1#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.581 2007/05/19 20:34:29 des Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.582 2007/05/26 20:17:19 ru Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -309,7 +309,7 @@ rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c .endif .for _dir in \ - usr/bin usr/games usr/include/c++/3.4 usr/include/sys usr/lib \ + usr/bin usr/games usr/include/sys usr/lib \ usr/libexec usr/sbin usr/share/dict \ usr/share/groff_font/devX100 \ usr/share/groff_font/devX100-12 \ @@ -505,7 +505,7 @@ # and Makefile.inc1 causes the correct PATH to be used, rather than a # modification of the current environment's PATH. In addition, we need # to quote multiword values. -# +# buildenvvars: @echo ${WMAKEENV:Q} @@ -1113,7 +1113,7 @@ ${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET all; \ ${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET install -_prereq_libs: ${_prereq_libs:S/$/__PL/} +_prereq_libs: ${_prereq_libs:S/$/__PL/} _startup_libs: ${_startup_libs:S/$/__L/} _prebuild_libs: ${_prebuild_libs:S/$/__L/} _generic_libs: ${_generic_libs:S/$/__L/} ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/Makefile.ia64#3 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.ia64 -- with config changes. # Copyright 1990 W. Jolitz # from: src/sys/conf/Makefile.alpha,v 1.76 -# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.69 2007/05/16 17:23:53 wkoszek Exp $ +# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.70 2007/06/02 21:30:39 marcel Exp $ # # Makefile for FreeBSD # @@ -16,8 +16,6 @@ # after which config should be rerun for all machines. # -GCC3= you bet - # Which version of config(8) is required. %VERSREQ= 600004 ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1427 2007/05/16 17:19:47 scottl Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1428 2007/06/05 00:12:36 jeff Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -185,7 +185,6 @@ # not recommended for production use at this time. # options SCHED_4BSD -#options SCHED_CORE #options SCHED_ULE ##################################################################### ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1211 2007/05/25 09:48:18 kmacy Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1214 2007/06/05 00:12:36 jeff Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -915,6 +915,8 @@ dev/sn/if_sn_isa.c optional sn isa dev/sn/if_sn_pccard.c optional sn pccard dev/snp/snp.c optional snp +dev/sound/clone.c optional sound +dev/sound/unit.c optional sound dev/sound/isa/ad1816.c optional snd_ad1816 isa dev/sound/isa/ess.c optional snd_ess isa dev/sound/isa/gusc.c optional snd_gusc isa @@ -1426,7 +1428,6 @@ kern/p1003_1b.c standard kern/posix4_mib.c standard kern/sched_4bsd.c optional sched_4bsd -kern/sched_core.c optional sched_core kern/sched_ule.c optional sched_ule kern/serdev_if.m standard kern/subr_acl_posix1e.c standard @@ -1556,13 +1557,13 @@ net/bpf.c standard net/bpf_jitter.c optional bpf_jitter net/bpf_filter.c optional bpf | netgraph_bpf -net/bridgestp.c optional if_bridge +net/bridgestp.c optional bridge | if_bridge net/bsd_comp.c optional ppp_bsdcomp net/ieee8023ad_lacp.c optional lagg net/if.c standard net/if_arcsubr.c optional arcnet net/if_atmsubr.c optional atm -net/if_bridge.c optional if_bridge +net/if_bridge.c optional bridge | if_bridge net/if_clone.c standard net/if_disc.c optional disc net/if_edsc.c optional edsc ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.588 2007/05/15 16:43:01 mav Exp $ +# $FreeBSD: src/sys/conf/options,v 1.590 2007/06/05 00:12:36 jeff Exp $ # # On the handling of kernel options # @@ -135,7 +135,6 @@ PREEMPTION opt_sched.h QUOTA SCHED_4BSD opt_sched.h -SCHED_CORE opt_sched.h SCHED_ULE opt_sched.h SHOW_BUSYBUFS SLEEPQUEUE_PROFILING @@ -422,6 +421,7 @@ SCTP_SACK_RWND_LOGGING opt_sctp.h SCTP_FLIGHT_LOGGING opt_sctp.h SCTP_MBUF_LOGGING opt_sctp.h +SCTP_PACKET_LOGGING opt_sctp.h # Netgraph(4). Use option NETGRAPH to enable the base netgraph code. # Each netgraph node type can be either be compiled into the kernel ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/cache/g_cache.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/cache/g_cache.c,v 1.1 2006/10/06 08:27:07 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/cache/g_cache.c,v 1.2 2007/06/04 18:25:06 dwmalone Exp $"); #include #include @@ -66,7 +66,7 @@ u_int val = *(u_int *)arg1; int error; - error = sysctl_handle_int(oidp, &val, sizeof(val), req); + error = sysctl_handle_int(oidp, &val, 0, req); if (error || !req->newptr) return (error); if (val < 0 || val > 100) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/eli/g_eli.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/eli/g_eli.c,v 1.37 2007/04/08 23:54:23 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/eli/g_eli.c,v 1.38 2007/06/05 00:00:51 jeff Exp $"); #include #include @@ -332,11 +332,11 @@ tsleep(wr, 0, "geli:smp", hz / 4); } #endif - mtx_lock_spin(&sched_lock); + thread_lock(curthread); sched_prio(curthread, PRIBIO); if (sc->sc_crypto == G_ELI_CRYPTO_SW && g_eli_threads == 0) sched_bind(curthread, wr->w_number); - mtx_unlock_spin(&sched_lock); + thread_unlock(curthread); G_ELI_DEBUG(1, "Thread %s started.", curthread->td_proc->p_comm); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/geom_kern.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/geom_kern.c,v 1.40 2005/11/25 10:09:30 le Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/geom_kern.c,v 1.41 2007/06/05 00:00:51 jeff Exp $"); #include #include @@ -88,9 +88,9 @@ struct thread *tp = FIRST_THREAD_IN_PROC(p); mtx_assert(&Giant, MA_NOTOWNED); - mtx_lock_spin(&sched_lock); + thread_lock(tp); sched_prio(tp, PRIBIO); - mtx_unlock_spin(&sched_lock); + thread_unlock(tp); for(;;) { g_io_schedule_up(tp); } @@ -111,9 +111,9 @@ struct thread *tp = FIRST_THREAD_IN_PROC(p); mtx_assert(&Giant, MA_NOTOWNED); - mtx_lock_spin(&sched_lock); + thread_lock(tp); sched_prio(tp, PRIBIO); - mtx_unlock_spin(&sched_lock); + thread_unlock(tp); for(;;) { g_io_schedule_down(tp); } @@ -134,9 +134,9 @@ struct thread *tp = FIRST_THREAD_IN_PROC(p); mtx_assert(&Giant, MA_NOTOWNED); - mtx_lock_spin(&sched_lock); + thread_lock(tp); sched_prio(tp, PRIBIO); - mtx_unlock_spin(&sched_lock); + thread_unlock(tp); for(;;) { g_run_events(); tsleep(&g_wait_event, PRIBIO, "-", hz/10); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/journal/g_journal.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/journal/g_journal.c,v 1.11 2007/04/06 12:53:54 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/journal/g_journal.c,v 1.13 2007/06/05 00:00:52 jeff Exp $"); #include #include @@ -115,7 +115,7 @@ int error; entries = g_journal_record_entries; - error = sysctl_handle_int(oidp, &entries, sizeof(entries), req); + error = sysctl_handle_int(oidp, &entries, 0, req); if (error != 0 || req->newptr == NULL) return (error); if (entries < 1 || entries > GJ_RECORD_HEADER_NENTRIES) @@ -150,7 +150,7 @@ int error; limit = g_journal_cache_limit; - error = sysctl_handle_int(oidp, &limit, sizeof(limit), req); + error = sysctl_handle_int(oidp, &limit, 0, req); if (error != 0 || req->newptr == NULL) return (error); g_journal_cache_limit = limit; @@ -170,7 +170,7 @@ int error; cswitch = g_journal_cache_switch; - error = sysctl_handle_int(oidp, &cswitch, sizeof(cswitch), req); + error = sysctl_handle_int(oidp, &cswitch, 0, req); if (error != 0 || req->newptr == NULL) return (error); if (cswitch < 0 || cswitch > 100) @@ -2057,9 +2057,9 @@ time_t last_write; int type; - mtx_lock_spin(&sched_lock); + thread_lock(curthread); sched_prio(curthread, PRIBIO); - mtx_unlock_spin(&sched_lock); + thread_unlock(curthread); sc = arg; type = 0; /* gcc */ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/mirror/g_mirror.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/mirror/g_mirror.c,v 1.92 2006/11/01 22:51:49 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/mirror/g_mirror.c,v 1.93 2007/06/05 00:00:52 jeff Exp $"); #include #include @@ -1768,9 +1768,9 @@ int timeout; sc = arg; - mtx_lock_spin(&sched_lock); + thread_lock(curthread); sched_prio(curthread, PRIBIO); - mtx_unlock_spin(&sched_lock); + thread_unlock(curthread); sx_xlock(&sc->sc_lock); for (;;) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/part/g_part.c,v 1.7 2007/05/15 23:29:57 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/part/g_part.c,v 1.8 2007/06/06 05:01:41 marcel Exp $"); #include #include @@ -426,6 +426,7 @@ sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND); sbuf_printf(sb, "%s%s added\n", gp->name, G_PART_NAME(table, entry, buf, sizeof(buf))); + sbuf_finish(sb); gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1); sbuf_delete(sb); } @@ -603,6 +604,7 @@ if (gpp->gpp_parms & G_PART_PARM_OUTPUT) { sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND); sbuf_printf(sb, "%s created\n", gp->name); + sbuf_finish(sb); gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1); sbuf_delete(sb); } @@ -670,6 +672,7 @@ sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND); sbuf_printf(sb, "%s%s deleted\n", gp->name, G_PART_NAME(table, entry, buf, sizeof(buf))); + sbuf_finish(sb); gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1); sbuf_delete(sb); } @@ -724,6 +727,7 @@ if (gpp->gpp_parms & G_PART_PARM_OUTPUT) { sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND); sbuf_printf(sb, "%s destroyed\n", gp->name); + sbuf_finish(sb); gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1); sbuf_delete(sb); } @@ -771,6 +775,7 @@ sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND); sbuf_printf(sb, "%s%s modified\n", gp->name, G_PART_NAME(table, entry, buf, sizeof(buf))); + sbuf_finish(sb); gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1); sbuf_delete(sb); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part_apm.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/part/g_part_apm.c,v 1.2 2007/05/08 20:18:17 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/part/g_part_apm.c,v 1.3 2007/06/06 05:06:14 marcel Exp $"); #include #include @@ -358,9 +358,10 @@ return (g_part_alias_name(G_PART_ALIAS_FREEBSD_UFS)); if (!strcmp(type, APM_ENT_TYPE_FREEBSD_VINUM)) return (g_part_alias_name(G_PART_ALIAS_FREEBSD_VINUM)); - len = MIN(sizeof(entry->ent.ent_type), bufsz - 1); - bcopy(type, buf, len); - buf[len] = '\0'; + buf[0] = '!'; + len = MIN(sizeof(entry->ent.ent_type), bufsz - 2); + bcopy(type, buf + 1, len); + buf[len + 1] = '\0'; return (buf); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part_gpt.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/part/g_part_gpt.c,v 1.2 2007/05/08 20:18:17 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/part/g_part_gpt.c,v 1.3 2007/06/06 05:06:14 marcel Exp $"); #include #include @@ -602,7 +602,8 @@ return (g_part_alias_name(G_PART_ALIAS_FREEBSD_VINUM)); if (EQUUID(type, &gpt_uuid_mbr)) return (g_part_alias_name(G_PART_ALIAS_MBR)); - snprintf_uuid(buf, bufsz, type); + buf[0] = '!'; + snprintf_uuid(buf + 1, bufsz - 1, type); return (buf); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/raid3/g_raid3.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/raid3/g_raid3.c,v 1.80 2006/11/01 22:51:49 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/raid3/g_raid3.c,v 1.81 2007/06/05 00:00:52 jeff Exp $"); #include #include @@ -2017,9 +2017,9 @@ int timeout; sc = arg; - mtx_lock_spin(&sched_lock); + thread_lock(curthread); sched_prio(curthread, PRIBIO); - mtx_unlock_spin(&sched_lock); + thread_unlock(curthread); sx_xlock(&sc->sc_lock); for (;;) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/stripe/g_stripe.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/stripe/g_stripe.c,v 1.31 2006/11/01 22:16:53 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/stripe/g_stripe.c,v 1.32 2007/06/04 18:25:06 dwmalone Exp $"); #include #include @@ -80,7 +80,7 @@ int error, fast; fast = g_stripe_fast; - error = sysctl_handle_int(oidp, &fast, sizeof(fast), req); + error = sysctl_handle_int(oidp, &fast, 0, req); if (error == 0 && req->newptr != NULL) g_stripe_fast = fast; return (error); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/GENERIC#3 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.467 2007/05/09 11:43:04 maxim Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.468 2007/05/28 14:38:42 simokawa Exp $ cpu I486_CPU cpu I586_CPU @@ -300,3 +300,6 @@ device firewire # FireWire bus code device sbp # SCSI over FireWire (Requires scbus and da) device fwe # Ethernet over FireWire (non-standard!) +device fwip # IP over FireWire (RFC 2734,3146) +device dcons # Dumb console driver +device dcons_crom # Configuration ROM for dcons ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/busdma_machdep.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.87 2007/05/20 16:53:45 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.88 2007/05/29 06:30:25 yongari Exp $"); #include #include @@ -674,6 +674,8 @@ * Compute the segment size, and adjust counts. */ sgsize = PAGE_SIZE - ((u_long)curaddr & PAGE_MASK); + if (sgsize > dmat->maxsegsz) + sgsize = dmat->maxsegsz; if (buflen < sgsize) sgsize = buflen; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/elan-mmcr.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/elan-mmcr.c,v 1.34 2007/03/27 21:03:37 n_hibma Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/elan-mmcr.c,v 1.35 2007/06/04 18:25:06 dwmalone Exp $"); #include "opt_cpu.h" #include @@ -313,7 +313,7 @@ int error; f = elan_timecounter.tc_frequency * 4; - error = sysctl_handle_int(oidp, &f, sizeof(f), req); + error = sysctl_handle_int(oidp, &f, 0, req); if (error == 0 && req->newptr != NULL) elan_timecounter.tc_frequency = (f + 3) / 4; return (error); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/genassym.c,v 1.156 2006/12/20 04:40:38 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/genassym.c,v 1.157 2007/06/06 07:35:07 davidxu Exp $"); #include "opt_apic.h" #include "opt_compat.h" @@ -199,7 +199,6 @@ ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid)); ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap)); ASSYM(PC_PRIVATE_TSS, offsetof(struct pcpu, pc_private_tss)); -ASSYM(PC_CURTID, offsetof(struct pcpu, pc_curtid)); #ifdef DEV_APIC ASSYM(LA_VER, offsetof(struct LAPIC, version)); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/identcpu.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/identcpu.c,v 1.177 2007/04/18 10:08:24 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/identcpu.c,v 1.180 2007/05/29 19:39:18 des Exp $"); #include "opt_cpu.h" @@ -750,7 +750,7 @@ "\015" "\016CX16" /* CMPXCHG16B Instruction */ "\017xTPR" /* Send Task Priority Messages*/ - "\020" + "\020PDCM" /* Perf/Debug Capability MSR */ "\021" "\022" "\023DCA" /* Direct Cache Access */ @@ -856,13 +856,8 @@ } if (cpu_feature & CPUID_HTT && strcmp(cpu_vendor, - "AuthenticAMD") == 0) { + "AuthenticAMD") == 0) cpu_feature &= ~CPUID_HTT; - if (bootverbose) - printf("\nHTT bit cleared - FreeBSD" - " does not have licensing issues" - " requiring it.\n"); - } /* * If this CPU supports HTT or CMP then mention the ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/intr_machdep.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.27 2007/05/08 21:29:13 jhb Exp $ + * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.29 2007/06/04 21:38:45 attilio Exp $ */ /* @@ -241,7 +241,7 @@ * processed too. */ (*isrc->is_count)++; - PCPU_LAZY_INC(cnt.v_intr); + PCPU_INC(cnt.v_intr); ie = isrc->is_event; @@ -301,7 +301,7 @@ struct thread *td; struct intr_event *ie; struct intr_handler *ih; - int error, vector, thread; + int error, vector, thread, ret; td = curthread; @@ -312,7 +312,7 @@ * processed too. */ (*isrc->is_count)++; - PCPU_LAZY_INC(cnt.v_intr); + PCPU_INC(cnt.v_intr); ie = isrc->is_event; @@ -347,6 +347,7 @@ * a trapframe as its argument. */ td->td_intr_nesting_level++; + ret = 0; thread = 0; critical_enter(); TAILQ_FOREACH(ih, &ie->ie_handlers, ih_next) { @@ -358,9 +359,27 @@ ih->ih_filter, ih->ih_argument == NULL ? frame : ih->ih_argument, ih->ih_name); if (ih->ih_argument == NULL) - ih->ih_filter(frame); + ret = ih->ih_filter(frame); else - ih->ih_filter(ih->ih_argument); + ret = ih->ih_filter(ih->ih_argument); + /* + * Wrapper handler special handling: + * + * in some particular cases (like pccard and pccbb), + * the _real_ device handler is wrapped in a couple of + * functions - a filter wrapper and an ithread wrapper. + * In this case (and just in this case), the filter wrapper + * could ask the system to schedule the ithread and mask + * the interrupt source if the wrapped handler is composed + * of just an ithread handler. + * + * TODO: write a generic wrapper to avoid people rolling + * their own + */ + if (!thread) { + if (ret == FILTER_SCHEDULE_THREAD) + thread = 1; + } } /* ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/io_apic.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.34 2007/05/08 21:29:13 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.35 2007/06/05 18:57:48 jhb Exp $"); #include "opt_isa.h" @@ -492,7 +492,7 @@ intbase = next_ioapic_base; printf("ioapic%u: Assuming intbase of %d\n", io->io_id, intbase); - } else if (intbase != next_ioapic_base) + } else if (intbase != next_ioapic_base && bootverbose) printf("ioapic%u: WARNING: intbase %d != expected base %d\n", io->io_id, intbase, next_ioapic_base); io->io_intbase = intbase; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/machdep.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.652 2007/05/20 22:03:57 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.657 2007/06/06 07:35:07 davidxu Exp $"); #include "opt_apic.h" #include "opt_atalk.h" @@ -189,7 +189,13 @@ long Maxmem = 0; long realmem = 0; -#define PHYSMAP_SIZE (2 * 16) +/* + * The number of PHYSMAP entries must be one less than the number of + * PHYSSEG entries because the PHYSMAP entry that spans the largest + * physical address that is accessible by ISA DMA is split into two + * PHYSSEG entries. + */ +#define PHYSMAP_SIZE (2 * (VM_PHYSSEG_MAX - 1)) vm_paddr_t phys_avail[PHYSMAP_SIZE + 2]; vm_paddr_t dump_avail[PHYSMAP_SIZE + 2]; @@ -247,8 +253,8 @@ vm_ksubmap_init(&kmi); printf("avail memory = %ju (%ju MB)\n", - ptoa((uintmax_t)VMCNT_GET(free_count)), - ptoa((uintmax_t)VMCNT_GET(free_count)) / 1048576); + ptoa((uintmax_t)cnt.v_free_count), + ptoa((uintmax_t)cnt.v_free_count) / 1048576); /* * Set up buffers, so they can be used to read disk labels. @@ -1058,9 +1064,9 @@ #ifdef SMP /* Schedule ourselves on the indicated cpu. */ - mtx_lock_spin(&sched_lock); + thread_lock(curthread); sched_bind(curthread, cpu_id); - mtx_unlock_spin(&sched_lock); + thread_unlock(curthread); #endif /* Calibrate by measuring a short delay. */ @@ -1071,9 +1077,9 @@ intr_restore(reg); #ifdef SMP - mtx_lock_spin(&sched_lock); + thread_lock(curthread); sched_unbind(curthread); - mtx_unlock_spin(&sched_lock); + thread_unlock(curthread); #endif /* @@ -1174,7 +1180,8 @@ mtx_lock_spin(&dt_lock); if (td->td_proc->p_md.md_ldt) user_ldt_free(td); - mtx_unlock_spin(&dt_lock); + else + mtx_unlock_spin(&dt_lock); bzero((char *)regs, sizeof(struct trapframe)); regs->tf_eip = entry; @@ -2111,7 +2118,6 @@ PCPU_SET(prvspace, pc); PCPU_SET(curthread, &thread0); PCPU_SET(curpcb, thread0.td_pcb); - PCPU_SET(curtid, thread0.td_tid); /* * Initialize mutexes. ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_clock.c#2 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_clock.c,v 1.19 2004/05/30 20:34:57 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_clock.c,v 1.20 2007/06/04 18:25:06 dwmalone Exp $"); /*- * Just when we thought life were beautiful, reality pops its grim face over @@ -71,7 +71,7 @@ if (piix_timecounter.tc_frequency == 0) return (EOPNOTSUPP); freq = piix_freq; - error = sysctl_handle_int(oidp, &freq, sizeof(freq), req); + error = sysctl_handle_int(oidp, &freq, 0, req); if (error == 0 && req->newptr != NULL) { piix_freq = freq; piix_timecounter.tc_frequency = piix_freq; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_machdep.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.279 2007/05/20 22:03:57 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.280 2007/06/04 23:56:07 jeff Exp $"); #include "opt_apic.h" #include "opt_cpu.h" @@ -61,6 +61,7 @@ #include #include #include +#include #include #include @@ -642,25 +643,8 @@ while (smp_started == 0) ia32_pause(); - /* ok, now grab sched_lock and enter the scheduler */ - mtx_lock_spin(&sched_lock); - - /* - * Correct spinlock nesting. The idle thread context that we are - * borrowing was created so that it would start out with a single - * spin lock (sched_lock) held in fork_trampoline(). Since we've - * explicitly acquired locks in this function, the nesting count - * is now 2 rather than 1. Since we are nested, calling - * spinlock_exit() will simply adjust the counts without allowing - * spin lock using code to interrupt us. - */ - spinlock_exit(); - KASSERT(curthread->td_md.md_spinlock_count == 1, ("invalid count")); - - PCPU_SET(switchtime, cpu_ticks()); - PCPU_SET(switchticks, ticks); - - cpu_throw(NULL, choosethread()); /* doesn't return */ + /* enter the scheduler */ + sched_throw(NULL); panic("scheduler returned us to %s", __func__); /* NOTREACHED */ @@ -1194,12 +1178,12 @@ #ifdef COUNT_IPIS (*ipi_preempt_counts[cpu])++; #endif - mtx_lock_spin(&sched_lock); + thread_lock(running_thread); if (running_thread->td_critnest > 1) running_thread->td_owepreempt = 1; else mi_switch(SW_INVOL | SW_PREEMPT, NULL); - mtx_unlock_spin(&sched_lock); + thread_unlock(running_thread); } if (ipi_bitmap & (1 << IPI_AST)) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_watchdog.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/i386/mp_watchdog.c,v 1.4 2005/02/27 22:34:07 pjd Exp $ + * $FreeBSD: src/sys/i386/i386/mp_watchdog.c,v 1.5 2007/06/04 23:56:33 jeff Exp $ */ #include "opt_mp_watchdog.h" >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 12 20:23:38 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C3A116A473; Tue, 12 Jun 2007 20:23:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E63AF16A46E for ; Tue, 12 Jun 2007 20:23:37 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D75E913C44C for ; Tue, 12 Jun 2007 20:23:37 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5CKNbbE044273 for ; Tue, 12 Jun 2007 20:23:37 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5CKNbVK044263 for perforce@freebsd.org; Tue, 12 Jun 2007 20:23:37 GMT (envelope-from thompsa@freebsd.org) Date: Tue, 12 Jun 2007 20:23:37 GMT Message-Id: <200706122023.l5CKNbVK044263@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121532 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 20:23:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=121532 Change 121532 by thompsa@thompsa_heff on 2007/06/12 20:23:26 Catch up with sc->axe_unit removal. Affected files ... .. //depot/projects/wifi/sys/dev/usb/if_axe.c#20 edit Differences ... ==== //depot/projects/wifi/sys/dev/usb/if_axe.c#20 (text+ko) ==== @@ -305,10 +305,10 @@ } } -printf("axe%d: write media 0x%x\n", sc->axe_unit, val);/*XXX*/ +device_printf(sc->axe_dev, "write media 0x%x\n", val);/*XXX*/ err = axe_cmd(sc, AXE_CMD_WRITE_MEDIA, 0, val, NULL); if (err) { - printf("axe%d: media change failed\n", sc->axe_unit); + device_printf(sc->axe_dev, "media change failed\n"); return; } } @@ -734,7 +734,7 @@ /* XXX don't handle multiple packets in one transfer */ if (sc->axe_flags & (AX178|AX772)) { if (total_len < sizeof(hdr)) { -printf("axe%d: total_len %d\n", sc->axe_unit, total_len);/*XXX*/ +device_printf(sc->axe_dev, "total_len %d\n", total_len);/*XXX*/ ifp->if_ierrors++; goto done; } @@ -742,13 +742,13 @@ total_len -= sizeof(hdr); if ((hdr.len ^ hdr.ilen) != 0xffff) { -printf("axe%d: len %d ilen %d\n", sc->axe_unit, hdr.len, hdr.ilen);/*XXX*/ +device_printf(sc->axe_dev, "len %d ilen %d\n", hdr.len, hdr.ilen);/*XXX*/ ifp->if_ierrors++; goto done; } pktlen = le16toh(hdr.len); if (pktlen > total_len) { -printf("axe%d: pktlen %d total_len %d\n", sc->axe_unit, pktlen, total_len);/*XXX*/ +device_printf(sc->axe_dev, "pktlen %d total_len %d\n", pktlen, total_len);/*XXX*/ ifp->if_ierrors++; goto done; } @@ -898,7 +898,7 @@ if (sc->axe_flags & (AX178|AX772)) { hdr.len = htole16(m->m_pkthdr.len); hdr.ilen = -hdr.len; -printf("axe%d: %s len %d\n", sc->axe_unit, __func__, m->m_pkthdr.len); +device_printf(sc->axe_dev, "%s len %d\n", __func__, m->m_pkthdr.len); memcpy(c->ue_buf, &hdr, sizeof(hdr)); m_copydata(m, 0, m->m_pkthdr.len, c->ue_buf + sizeof(hdr)); @@ -908,7 +908,7 @@ if ((length % boundary) == 0) { hdr.len = 0; hdr.ilen = 0xffff; -printf("axe%d: %s add null segment\n", sc->axe_unit, __func__); +device_printf(sc->axe_dev, "%s add null segment\n", __func__); memcpy(c->ue_buf + length, &hdr, sizeof(hdr)); length += sizeof(hdr); } @@ -918,7 +918,7 @@ } c->ue_mbuf = m; -printf("axe%d: %s length %d\n", sc->axe_unit, __func__, length); +device_printf(sc->axe_dev, "%s length %d\n", __func__, length); usbd_setup_xfer(c->ue_xfer, sc->axe_ep[AXE_ENDPT_TX], c, c->ue_buf, length, USBD_FORCE_SHORT_XFER, 10000, axe_txeof); From owner-p4-projects@FreeBSD.ORG Tue Jun 12 20:57:21 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5169816A468; Tue, 12 Jun 2007 20:57:21 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id EE6F816A46C for ; Tue, 12 Jun 2007 20:57:20 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D350B13C483 for ; Tue, 12 Jun 2007 20:57:20 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5CKvKcX084020 for ; Tue, 12 Jun 2007 20:57:20 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5CKvKlc084001 for perforce@freebsd.org; Tue, 12 Jun 2007 20:57:20 GMT (envelope-from lulf@FreeBSD.org) Date: Tue, 12 Jun 2007 20:57:20 GMT Message-Id: <200706122057.l5CKvKlc084001@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121535 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 20:57:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=121535 Change 121535 by lulf@lulf_carrot on 2007/06/12 20:57:13 - Allow subdisks to be added to raid5 plexes again. - Add detach to userland gvinum tool - Add gv_detach general request handler for detaching - Add gv_detach_sd and gv_detach_plex to detach a subdisk and a plex. - Make gv_sd_to_plex use the standard plex-size calculation. - Add a sddetached-variable to gv_plex do be able to detect wether a plex misses a subdisk or not. This variable is increased when a subdisk is detached, and increased when a subdisk is attached. - Remove weird offset-check with a correct one. - Hook it up in the event system. - Looks like handling a crashed drive, and replacing it is working so far! Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#7 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#14 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#12 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_raid5.c#4 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#7 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#12 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#7 (text+ko) ==== @@ -57,6 +57,7 @@ void gvinum_attach(int, char **); void gvinum_create(int, char **); +void gvinum_detach(int, char **); void gvinum_help(void); void gvinum_list(int, char **); void gvinum_move(int, char **); @@ -362,7 +363,46 @@ gvinum_list(0, NULL); } +/* Detach a plex or subdisk from its parent. */ void +gvinum_detach(int argc, char **argv) +{ + const char *errstr; + struct gctl_req *req; + int flags, i; + + optreset = 1; + optind = 1; + while ((i = getopt(argc, argv, "f")) != -1) { + switch(i) { + case 'f': + flags |= GV_FLAG_F; + break; + default: + warn("invalid flag: %c", i); + return; + } + } + argc -= optind; + argv += optind; + if (argc != 1) { + warnx("usage: detach [-f] | "); + return; + } + + req = gctl_get_handle(); + gctl_ro_param(req, "class", -1, "VINUM"); + gctl_ro_param(req, "verb", -1, "detach"); + gctl_ro_param(req, "object", -1, argv[0]); + gctl_ro_param(req, "flags", sizeof(int), &flags); + + errstr = gctl_issue(req); + if (errstr != NULL) + warnx("detach failed: %s", errstr); + gctl_free(req); +} + +void gvinum_help(void) { printf("COMMANDS\n" @@ -373,6 +413,9 @@ "attach plex volume [rename]\n" "attach subdisk plex [offset] [rename]\n" " Attach a plex to a volume, or a subdisk to a plex\n" + "detach [-f] [plex | subdisk]\n" + " Detach a plex or a subdisk from the volume or plex to\n" + " which it is attached.\n" "l | list [-r] [-v] [-V] [volume | plex | subdisk]\n" " List information about specified objects.\n" "ld [-r] [-v] [-V] [volume]\n" @@ -933,6 +976,8 @@ exit(0); else if (!strcmp(argv[0], "attach")) gvinum_attach(argc, argv); + else if (!strcmp(argv[0], "detach")) + gvinum_detach(argc, argv); else if (!strcmp(argv[0], "help")) gvinum_help(); else if (!strcmp(argv[0], "list") || !strcmp(argv[0], "l")) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#14 (text+ko) ==== @@ -52,6 +52,7 @@ int gv_create(struct g_geom *, struct gctl_req *); void gv_attach(struct gv_softc *, struct gctl_req *); +void gv_detach(struct gv_softc *, struct gctl_req *); static void gv_orphan(struct g_consumer *cp) @@ -239,10 +240,6 @@ } p = gv_find_plex(sc, parent); s = gv_find_sd(sc, child); - if (p->org == GV_PLEX_RAID5) { - gctl_error(req, "cannot add subdisk to a raid5 plex"); - return; - } /* XXX: Rename not supported yet. */ gv_post_event(sc, GV_EVENT_ATTACH_SD, s, p, NULL); break; @@ -252,6 +249,40 @@ } } +/* Handle userland request of detaching object. */ +void +gv_detach(struct gv_softc *sc, struct gctl_req *req) +{ + struct gv_plex *p; + struct gv_sd *s; + int *flags, type; + char *object; + + object = gctl_get_param(req, "object", NULL); + if (object == NULL) { + gctl_error(req, "no argument given"); + return; + } + + flags = gctl_get_paraml(req, "flags", sizeof(*flags)); + type = gv_object_type(sc, object); + switch (type) { + case GV_TYPE_PLEX: + /* XXX: Support flags. */ + p = gv_find_plex(sc, object); + gv_post_event(sc, GV_EVENT_DETACH_PLEX, p, NULL, NULL); + break; + case GV_TYPE_SD: + /* XXX: Support flags. */ + s = gv_find_sd(sc, object); + gv_post_event(sc, GV_EVENT_DETACH_SD, s, NULL, NULL); + break; + default: + gctl_error(req, "invalid object type"); + break; + } +} + /* Handle userland requests for creating new objects. */ int gv_create(struct g_geom *gp, struct gctl_req *req) @@ -372,6 +403,9 @@ if (!strcmp(verb, "attach")) { gv_attach(sc, req); + } else if (!strcmp(verb, "detach")) { + gv_detach(sc, req); + } else if (!strcmp(verb, "list")) { gv_list(gp, req); @@ -429,8 +463,8 @@ vhdr = NULL; + g_topology_assert(); g_trace(G_T_TOPOLOGY, "gv_taste(%s, %s)", mp->name, pp->name); - g_topology_assert(); gp = LIST_FIRST(&mp->geom); if (gp == NULL) { @@ -692,6 +726,24 @@ "%s\n", s->name, p->name); break; + case GV_EVENT_DETACH_PLEX: + printf("VINUM: event 'detach'\n"); + p = ev->arg1; + err = gv_detach_plex(p, 0); + if (err) + printf("VINUM: error detaching %s\n", + p->name); + break; + + case GV_EVENT_DETACH_SD: + printf("VINUM: event 'detach'\n"); + s = ev->arg1; + err = gv_detach_sd(s, 0); + if (err) + printf("VINUM: error detaching %s\n", + s->name); + break; + case GV_EVENT_THREAD_EXIT: printf("VINUM: event 'thread exit'\n"); g_free(ev); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#12 (text+ko) ==== @@ -92,6 +92,8 @@ int gv_plexdown(struct gv_volume *); int gv_attach_plex(struct gv_plex *, struct gv_volume *, int); int gv_attach_sd(struct gv_sd *, struct gv_plex *, off_t, int); +int gv_detach_plex(struct gv_plex *, int); +int gv_detach_sd(struct gv_sd *, int); void gv_worker(void *); void gv_post_event(struct gv_softc *, int, void *, void *, void *); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_raid5.c#4 (text+ko) ==== ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#7 (text+ko) ==== @@ -267,6 +267,7 @@ gv_sd_to_plex(struct gv_sd *s, struct gv_plex *p) { struct gv_sd *s2; + off_t psizeorig; /* If this subdisk was already given to this plex, do nothing. */ if (s->plex_sc == p) @@ -296,23 +297,6 @@ s->plex_offset = 0; } - p->sdcount++; - - /* Adjust the size of our plex. */ - switch (p->org) { - case GV_PLEX_CONCAT: - case GV_PLEX_STRIPED: - p->size += s->size; - break; - - case GV_PLEX_RAID5: - p->size = (p->sdcount - 1) * gv_plex_smallest_sd(p, s->size); - break; - - default: - break; - } - /* There are no subdisks for this plex yet, just insert it. */ if (LIST_EMPTY(&p->subdisks)) { LIST_INSERT_HEAD(&p->subdisks, s, in_plex); @@ -331,6 +315,23 @@ } s->plex_sc = p; + /* Adjust the size of our plex. We check if the plex misses a subdisk, + * so we don't make the plex smaller than it actually should be. + */ + psizeorig = p->size; + p->size = gv_plex_size(p); + /* Make sure the size is not changed. */ + if (p->sddetached > 0) { + if (p->size < psizeorig) { + p->size = psizeorig; + /* We make sure wee need another subdisk. */ + if (p->sddetached == 1) + p->sddetached++; + } + p->sddetached--; + } else { + p->sdcount++; + } return (0); } @@ -1082,6 +1083,7 @@ LIST_INSERT_HEAD(&v->plexes, p, in_volume); /* Get plex up again. */ + gv_update_vol_size(v, gv_vol_size(v)); gv_set_plex_state(p, GV_PLEX_UP, 0); gv_save_config(p->vinumconf); return (0); @@ -1102,15 +1104,15 @@ } gv_set_sd_state(s, GV_SD_STALE, GV_SETSTATE_FORCE); - /* First check that this subdisk doesn't overlap with another of the - * plexes subdisks. */ + /* First check that this subdisk has a correct offset. If none other + * starts at the same, and it's correct module stripesize, it is */ + if (offset != -1 && offset % p->stripesize != 0) + return (GV_ERR_BADOFFSET); LIST_FOREACH(s2, &p->subdisks, in_plex) { - if (((s2->plex_offset > offset) && - (s2->plex_offset < s->size + offset)) || - ((offset > s2->plex_offset) && - (offset < s2->size + s2->plex_offset))) + if (s2->plex_offset == offset) return (GV_ERR_BADOFFSET); } + /* Attach the subdisk to the plex at given offset. */ s->plex_offset = offset; strlcpy(s->plex, p->name, GV_MAXPLEXNAME); @@ -1118,6 +1120,7 @@ error = gv_sd_to_plex(s, p); if (error) return (error); + if (rename) { snprintf(s->name, GV_MAXSDNAME, "%s.%d", s->plex, p->sdcount - 1); @@ -1127,3 +1130,65 @@ * initiate a rebuild/sync first. */ return (0); } + +/* Detach a plex from a volume. */ +int +gv_detach_plex(struct gv_plex *p, int flags) +{ + struct gv_volume *v; + + g_topology_assert(); + v = p->vol_sc; + + if (v == NULL) { + printf("VINUM: plex %s already detached\n", p->name); + return (0); /* Not an error. */ + } + + /* + * Only proceed if forced or volume inactive. + * XXX: Safe dropout if we're mirrored. + */ + if (!(flags & GV_FLAG_F) && (gv_provider_is_open(v->provider) || + p->state == GV_PLEX_UP)) { + printf("VINUM: volume busy\n"); + return (GV_ERR_ISOPEN); + } + v->plexcount--; + LIST_REMOVE(p, in_volume); + p->vol_sc = NULL; + memset(p->volume, 0, GV_MAXVOLNAME); + gv_update_vol_size(v, gv_vol_size(v)); + gv_save_config(p->vinumconf); + return (0); +} + +/* Detach a subdisk from a plex. */ +int +gv_detach_sd(struct gv_sd *s, int flags) +{ + struct gv_plex *p; + + g_topology_assert(); + p = s->plex_sc; + + if (p == NULL) { + printf("VINUM: subdisk %s already detached\n", s->name); + return (0); /* Not an error. */ + } + + /* + * Don't proceed if we're not forcing, and the plex is up, or degraded + * with this subdisk up. + */ + if (!(flags & GV_FLAG_F) && ((p->state != GV_PLEX_DOWN) || + ((p->state == GV_PLEX_DEGRADED) && (s->state == GV_SD_UP)))) + return (GV_ERR_ISOPEN); + + LIST_REMOVE(s, in_plex); + s->plex_sc = NULL; + memset(s->plex, 0, GV_MAXPLEXNAME); + p->sddetached++; + gv_save_config(s->vinumconf); + return (0); +} ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#12 (text+ko) ==== @@ -197,6 +197,8 @@ #define GV_EVENT_START_VOLUME 21 #define GV_EVENT_ATTACH_PLEX 22 #define GV_EVENT_ATTACH_SD 23 +#define GV_EVENT_DETACH_PLEX 24 +#define GV_EVENT_DETACH_SD 25 struct gv_event { int type; @@ -311,6 +313,7 @@ char volume[GV_MAXVOLNAME]; /* Name of associated volume. */ struct gv_volume *vol_sc; /* Pointer to associated volume. */ + int sddetached; /* Number of detached subdisks. */ int sdcount; /* Number of subdisks in this plex. */ int sddown; /* Number of subdisks that are down. */ int flags; From owner-p4-projects@FreeBSD.ORG Tue Jun 12 21:05:31 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE84B16A46D; Tue, 12 Jun 2007 21:05:31 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6CD0916A46B for ; Tue, 12 Jun 2007 21:05:31 +0000 (UTC) (envelope-from karma@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5DFE913C458 for ; Tue, 12 Jun 2007 21:05:31 +0000 (UTC) (envelope-from karma@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5CL5VvR092696 for ; Tue, 12 Jun 2007 21:05:31 GMT (envelope-from karma@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5CL5VTf092678 for perforce@freebsd.org; Tue, 12 Jun 2007 21:05:31 GMT (envelope-from karma@FreeBSD.org) Date: Tue, 12 Jun 2007 21:05:31 GMT Message-Id: <200706122105.l5CL5VTf092678@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to karma@FreeBSD.org using -f From: Alexey Mikhailov To: Perforce Change Reviews Cc: Subject: PERFORCE change 121536 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 21:05:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=121536 Change 121536 by karma@karma_ez on 2007/06/12 21:04:42 Initial sources hierarchy to start commit into Affected files ... .. //depot/projects/soc2007/karma_audit/dlog/daemon/client.c#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/client.h#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/config.c#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/config.h#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/dlogd.c#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/server.c#1 add .. //depot/projects/soc2007/karma_audit/dlog/daemon/server.h#1 add .. //depot/projects/soc2007/karma_audit/dlog/lib/libdlogd.c#1 add .. //depot/projects/soc2007/karma_audit/dlog/lib/libdlogd.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jun 12 21:13:42 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1633216A468; Tue, 12 Jun 2007 21:13:42 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C257316A400 for ; Tue, 12 Jun 2007 21:13:41 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B366613C457 for ; Tue, 12 Jun 2007 21:13:41 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5CLDff0099161 for ; Tue, 12 Jun 2007 21:13:41 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5CLDfFO099158 for perforce@freebsd.org; Tue, 12 Jun 2007 21:13:41 GMT (envelope-from lulf@FreeBSD.org) Date: Tue, 12 Jun 2007 21:13:41 GMT Message-Id: <200706122113.l5CLDfFO099158@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121537 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 21:13:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=121537 Change 121537 by lulf@lulf_carrot on 2007/06/12 21:12:41 - Print out error codes when we get them. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#15 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#6 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#15 (text+ko) ==== @@ -609,7 +609,7 @@ * ERROR CODES.*/ if (err) printf("VINUM: error setting subdisk " - "state\n"); + "state: error code %d\n", err); g_free(ev->arg2); g_free(ev->arg3); break; @@ -624,7 +624,7 @@ * ERROR CODES.*/ if (err) printf("VINUM: error setting drive " - "state\n"); + "state: error code %d\n", err); g_free(ev->arg2); g_free(ev->arg3); break; @@ -637,7 +637,7 @@ err = gv_set_vol_state(v, newstate, flags); if (err) printf("VINUM: error setting volume " - "state\n"); + "state: error code %d\n", err); g_free(ev->arg2); g_free(ev->arg3); break; @@ -650,7 +650,7 @@ err = gv_set_plex_state(p, newstate, flags); if (err) printf("VINUM: error setting plex " - "state\n"); + "state: error code %d\n", err); g_free(ev->arg2); g_free(ev->arg3); break; @@ -660,7 +660,7 @@ err = gv_resetconfig(sc); if (err) printf("VINUM: error resetting config: " - "%d\n", err); + "error code %d\n", err); break; case GV_EVENT_PARITY_REBUILD: @@ -713,7 +713,8 @@ err = gv_attach_plex(p, v, 0); if (err) printf("VINUM: error attaching %s to " - "%s\n", p->name, v->name); + "%s: error code %d\n", p->name, + v->name, err); break; case GV_EVENT_ATTACH_SD: @@ -723,7 +724,8 @@ err = gv_attach_sd(s, p, -1, 0); if (err) printf("VINUM: error attaching %s to " - "%s\n", s->name, p->name); + "%s: error code %d\n", s->name, + p->name, err); break; case GV_EVENT_DETACH_PLEX: @@ -731,8 +733,8 @@ p = ev->arg1; err = gv_detach_plex(p, 0); if (err) - printf("VINUM: error detaching %s\n", - p->name); + printf("VINUM: error detaching %s: " + "error code %d\n", p->name, err); break; case GV_EVENT_DETACH_SD: @@ -740,8 +742,8 @@ s = ev->arg1; err = gv_detach_sd(s, 0); if (err) - printf("VINUM: error detaching %s\n", - s->name); + printf("VINUM: error detaching %s: " + "error code %d\n", p->name, err); break; case GV_EVENT_THREAD_EXIT: ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#6 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Tue Jun 12 21:33:23 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA77A16A551; Tue, 12 Jun 2007 21:33:22 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 68A0F16A53B for ; Tue, 12 Jun 2007 21:33:22 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 408EC13C4B0 for ; Tue, 12 Jun 2007 21:33:22 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5CLXMrE012847 for ; Tue, 12 Jun 2007 21:33:22 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5CLXMbN012841 for perforce@freebsd.org; Tue, 12 Jun 2007 21:33:22 GMT (envelope-from thompsa@freebsd.org) Date: Tue, 12 Jun 2007 21:33:22 GMT Message-Id: <200706122133.l5CLXMbN012841@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121542 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 21:33:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=121542 Change 121542 by thompsa@thompsa_heff on 2007/06/12 21:33:06 Fix undefined variable, this file seems to have local changes and I hope I didnt hose them in the intergrate. Affected files ... .. //depot/projects/wifi/sys/dev/ath/if_ath.c#145 edit Differences ... ==== //depot/projects/wifi/sys/dev/ath/if_ath.c#145 (text+ko) ==== @@ -754,6 +754,7 @@ static void ath_intr_body(struct ath_softc *sc, int count) { + struct ifnet *ifp = sc->sc_ifp; struct ath_hal *ah = sc->sc_ah; HAL_INT status; From owner-p4-projects@FreeBSD.ORG Tue Jun 12 21:39:30 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A74A316A46B; Tue, 12 Jun 2007 21:39:30 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8561E16A400 for ; Tue, 12 Jun 2007 21:39:30 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 76B9813C455 for ; Tue, 12 Jun 2007 21:39:30 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5CLdUhb018450 for ; Tue, 12 Jun 2007 21:39:30 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5CLdUxO018444 for perforce@freebsd.org; Tue, 12 Jun 2007 21:39:30 GMT (envelope-from lulf@FreeBSD.org) Date: Tue, 12 Jun 2007 21:39:30 GMT Message-Id: <200706122139.l5CLdUxO018444@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121544 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2007 21:39:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=121544 Change 121544 by lulf@lulf_carrot on 2007/06/12 21:39:18 - Allow mounted rebuild of plex. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#5 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#5 (text+ko) ==== @@ -217,8 +217,9 @@ gv_rebuild_plex(struct gv_plex *p) { - if (gv_provider_is_open(p->vol_sc->provider)) - return (EBUSY); +/* XXX: Is this safe? (Allows for mounted rebuild) +/* if (gv_provider_is_open(p->vol_sc->provider)) + return (EBUSY);*/ if (p->flags & GV_PLEX_SYNCING) return (EINPROGRESS); From owner-p4-projects@FreeBSD.ORG Wed Jun 13 01:59:53 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E962716A46C; Wed, 13 Jun 2007 01:59:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9C15916A469 for ; Wed, 13 Jun 2007 01:59:52 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8BB3013C45A for ; Wed, 13 Jun 2007 01:59:52 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5D1xqcm075462 for ; Wed, 13 Jun 2007 01:59:52 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5D1xqva075441 for perforce@freebsd.org; Wed, 13 Jun 2007 01:59:52 GMT (envelope-from thompsa@freebsd.org) Date: Wed, 13 Jun 2007 01:59:52 GMT Message-Id: <200706130159.l5D1xqva075441@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 121554 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jun 2007 01:59:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=121554 Change 121554 by thompsa@thompsa_heff on 2007/06/13 01:58:56 Sprinkle a few more basic debugging printfs. Affected files ... .. //depot/projects/wifi/sys/dev/wi/if_wi.c#35 edit Differences ... ==== //depot/projects/wifi/sys/dev/wi/if_wi.c#35 (text+ko) ==== @@ -190,7 +190,7 @@ #define WI_DEBUG #ifdef WI_DEBUG -static int wi_debug = 0; +static int wi_debug = 100; SYSCTL_INT(_hw_wi, OID_AUTO, debug, CTLFLAG_RW, &wi_debug, 0, "control debugging printfs"); @@ -674,6 +674,7 @@ int error = 0, wasenabled; + DPRINTF(("%s\n", __func__)); if (sc->wi_gone) return; @@ -879,6 +880,7 @@ ieee80211_new_state(ic, IEEE80211_S_INIT, -1); + DPRINTF(("%s\n", __func__)); DELAY(100000); WI_LOCK(sc); if (sc->sc_enabled && !sc->wi_gone) { @@ -1053,6 +1055,7 @@ } sc->sc_txd[cur].d_len = off; if (sc->sc_txcur == cur) { + DPRINTF2(("%s: xmit frame, idx=%d\n", __func__, cur)); if (wi_cmd(sc, WI_CMD_TX | WI_RECLAIM, fid, 0, 0)) { if_printf(ifp, "xmit failed\n"); sc->sc_txd[cur].d_len = 0; @@ -1162,6 +1165,7 @@ int error = 0; int tries; + DPRINTF(("%s\n", __func__)); /* Symbol firmware cannot be initialized more than once */ if (sc->sc_firmware_type == WI_SYMBOL && sc->sc_reset) return (0); @@ -2550,6 +2554,7 @@ u_int16_t val; struct wi_key wkey[IEEE80211_WEP_NKID]; + DPRINTF(("%s\n", __func__)); switch (sc->sc_firmware_type) { case WI_LUCENT: val = (ic->ic_flags & IEEE80211_F_PRIVACY) ? 1 : 0; @@ -2660,6 +2665,8 @@ { int i, s = 0; + DPRINTF2(("%s: cmd=%d val0=%d val1=%d val2=%d\n", + __func__, cmd, val0, val1, val2)); if (sc->wi_gone) return (ENODEV); @@ -3000,6 +3007,7 @@ int error = 0; u_int16_t val[2]; + DPRINTF(("%s\n", __func__)); if (!sc->sc_enabled) return ENXIO; switch (sc->sc_firmware_type) { @@ -3042,7 +3050,7 @@ struct ieee80211com *ic; uint8_t ssid[2+IEEE80211_NWID_LEN]; - printf("wi_scan_result\n"); + DPRINTF(("%s\n", __func__)); ic = &sc->sc_ic; rstamp++; memset(&sp, 0, sizeof(sp)); @@ -3519,6 +3527,7 @@ struct ifnet *ifp = ic->ic_ifp; struct wi_softc *sc = ifp->if_softc; + DPRINTF(("%s\n", __func__)); WI_LOCK(sc); sc->sc_flags |= WI_FLAGS_SCANNING; wi_scan_ap(sc, 0x3fff, 0x000f); From owner-p4-projects@FreeBSD.ORG Wed Jun 13 13:17:09 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2BA1716A469; Wed, 13 Jun 2007 13:17:09 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ED53A16A41F for ; Wed, 13 Jun 2007 13:17:08 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id DCCB413C4BF for ; Wed, 13 Jun 2007 13:17:08 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5DDH8sR076411 for ; Wed, 13 Jun 2007 13:17:08 GMT (envelope-from sephe@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5DDH70Q076391 for perforce@freebsd.org; Wed, 13 Jun 2007 13:17:07 GMT (envelope-from sephe@FreeBSD.org) Date: Wed, 13 Jun 2007 13:17:07 GMT Message-Id: <200706131317.l5DDH70Q076391@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau To: Perforce Change Reviews Cc: Subject: PERFORCE change 121573 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jun 2007 13:17:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=121573 Change 121573 by sephe@sephe_enigma:sam_wifi on 2007/06/13 13:16:39 IFC @121571 (unbreak buildworld) Affected files ... .. //depot/projects/wifi/lib/libarchive/archive_read_support_format_tar.c#19 integrate .. //depot/projects/wifi/lib/libarchive/test/Makefile#6 integrate .. //depot/projects/wifi/lib/libarchive/test/main.c#4 integrate .. //depot/projects/wifi/lib/libarchive/test/test_read_format_gtar_sparse.c#1 branch .. //depot/projects/wifi/lib/libarchive/test/test_tar_filenames.c#4 integrate .. //depot/projects/wifi/lib/libarchive/test/test_write_format_ar.c#4 integrate .. //depot/projects/wifi/lib/libc/net/Makefile.inc#10 integrate .. //depot/projects/wifi/lib/libc/net/sourcefilter.3#1 branch .. //depot/projects/wifi/lib/libc/net/sourcefilter.c#1 branch .. //depot/projects/wifi/sbin/Makefile#13 integrate .. //depot/projects/wifi/sbin/mknod/mknod.c#2 integrate .. //depot/projects/wifi/share/man/man4/nfe.4#5 integrate .. //depot/projects/wifi/share/man/man5/src.conf.5#6 integrate .. //depot/projects/wifi/share/mk/bsd.own.mk#10 integrate .. //depot/projects/wifi/sys/conf/NOTES#42 integrate .. //depot/projects/wifi/sys/conf/files#55 integrate .. //depot/projects/wifi/sys/conf/options#35 integrate .. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_ael1002.c#3 integrate .. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_common.h#3 integrate .. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_mc5.c#3 integrate .. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_t3_hw.c#3 integrate .. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_vsc7323.c#1 branch .. //depot/projects/wifi/sys/dev/cxgb/common/cxgb_xgmac.c#3 integrate .. //depot/projects/wifi/sys/dev/cxgb/cxgb_adapter.h#4 integrate .. //depot/projects/wifi/sys/dev/cxgb/cxgb_config.h#3 integrate .. //depot/projects/wifi/sys/dev/cxgb/cxgb_lro.c#4 integrate .. //depot/projects/wifi/sys/dev/cxgb/cxgb_main.c#6 integrate .. //depot/projects/wifi/sys/dev/cxgb/cxgb_offload.c#2 integrate .. //depot/projects/wifi/sys/dev/cxgb/cxgb_offload.h#2 integrate .. //depot/projects/wifi/sys/dev/cxgb/cxgb_sge.c#6 integrate .. //depot/projects/wifi/sys/dev/cxgb/t3fw-4.0.0.bin.gz.uu#2 delete .. //depot/projects/wifi/sys/dev/cxgb/t3fw-4.1.0.bin.gz.uu#1 branch .. //depot/projects/wifi/sys/dev/mxge/if_mxge.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/dsbr100io.h#3 integrate .. //depot/projects/wifi/sys/dev/usb/ehci.c#14 integrate .. //depot/projects/wifi/sys/dev/usb/hid.c#6 integrate .. //depot/projects/wifi/sys/dev/usb/if_aue.c#15 integrate .. //depot/projects/wifi/sys/dev/usb/if_axe.c#21 integrate .. //depot/projects/wifi/sys/dev/usb/if_cdce.c#10 integrate .. //depot/projects/wifi/sys/dev/usb/if_cue.c#14 integrate .. //depot/projects/wifi/sys/dev/usb/if_kue.c#14 integrate .. //depot/projects/wifi/sys/dev/usb/if_rue.c#14 integrate .. //depot/projects/wifi/sys/dev/usb/if_rum.c#5 integrate .. //depot/projects/wifi/sys/dev/usb/if_udav.c#16 integrate .. //depot/projects/wifi/sys/dev/usb/if_ural.c#30 integrate .. //depot/projects/wifi/sys/dev/usb/ohci.c#10 integrate .. //depot/projects/wifi/sys/dev/usb/ohcivar.h#7 integrate .. //depot/projects/wifi/sys/dev/usb/rio500_usb.h#3 integrate .. //depot/projects/wifi/sys/dev/usb/uark.c#5 integrate .. //depot/projects/wifi/sys/dev/usb/ubsa.c#9 integrate .. //depot/projects/wifi/sys/dev/usb/ubser.c#9 integrate .. //depot/projects/wifi/sys/dev/usb/udbp.c#6 integrate .. //depot/projects/wifi/sys/dev/usb/ufm.c#7 integrate .. //depot/projects/wifi/sys/dev/usb/ufoma.c#6 integrate .. //depot/projects/wifi/sys/dev/usb/uftdi.c#9 integrate .. //depot/projects/wifi/sys/dev/usb/uhci.c#11 integrate .. //depot/projects/wifi/sys/dev/usb/uhcivar.h#6 integrate .. //depot/projects/wifi/sys/dev/usb/uhid.c#11 integrate .. //depot/projects/wifi/sys/dev/usb/uhub.c#11 integrate .. //depot/projects/wifi/sys/dev/usb/uipaq.c#3 integrate .. //depot/projects/wifi/sys/dev/usb/ukbd.c#10 integrate .. //depot/projects/wifi/sys/dev/usb/ulpt.c#8 integrate .. //depot/projects/wifi/sys/dev/usb/umass.c#15 integrate .. //depot/projects/wifi/sys/dev/usb/umct.c#7 integrate .. //depot/projects/wifi/sys/dev/usb/umodem.c#9 integrate .. //depot/projects/wifi/sys/dev/usb/ums.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/uplcom.c#14 integrate .. //depot/projects/wifi/sys/dev/usb/urio.c#7 integrate .. //depot/projects/wifi/sys/dev/usb/usb.c#13 integrate .. //depot/projects/wifi/sys/dev/usb/usb.h#6 integrate .. //depot/projects/wifi/sys/dev/usb/usb_mem.c#7 integrate .. //depot/projects/wifi/sys/dev/usb/usb_mem.h#3 integrate .. //depot/projects/wifi/sys/dev/usb/usb_port.h#10 integrate .. //depot/projects/wifi/sys/dev/usb/usbdi.c#8 integrate .. //depot/projects/wifi/sys/dev/usb/usbdi.h#9 integrate .. //depot/projects/wifi/sys/dev/usb/usbdi_util.c#5 integrate .. //depot/projects/wifi/sys/dev/usb/usbdivar.h#7 integrate .. //depot/projects/wifi/sys/dev/usb/uscanner.c#11 integrate .. //depot/projects/wifi/sys/dev/usb/uvisor.c#10 integrate .. //depot/projects/wifi/sys/dev/usb/uvscom.c#9 integrate .. //depot/projects/wifi/sys/geom/part/g_part_mbr.c#1 branch .. //depot/projects/wifi/sys/ia64/conf/DEFAULTS#6 integrate .. //depot/projects/wifi/sys/kern/kern_kse.c#17 integrate .. //depot/projects/wifi/sys/kern/kern_switch.c#19 integrate .. //depot/projects/wifi/sys/kern/kern_thread.c#22 integrate .. //depot/projects/wifi/sys/kern/subr_sleepqueue.c#14 integrate .. //depot/projects/wifi/sys/kern/subr_trap.c#13 integrate .. //depot/projects/wifi/sys/kern/subr_turnstile.c#12 integrate .. //depot/projects/wifi/sys/libkern/mcount.c#2 integrate .. //depot/projects/wifi/sys/modules/cxgb/Makefile#4 integrate .. //depot/projects/wifi/sys/modules/ip_mroute_mod/Makefile#4 integrate .. //depot/projects/wifi/sys/net/if_ethersubr.c#23 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#6 integrate .. //depot/projects/wifi/sys/netgraph/ng_car.c#3 integrate .. //depot/projects/wifi/sys/netinet/sctp.h#8 integrate .. //depot/projects/wifi/sys/netinet/sctp_constants.h#13 integrate .. //depot/projects/wifi/sys/netinet/sctp_input.c#14 integrate .. //depot/projects/wifi/sys/netinet/sctp_pcb.c#15 integrate .. //depot/projects/wifi/sys/netinet/sctp_structs.h#10 integrate .. //depot/projects/wifi/sys/netinet/sctp_sysctl.c#6 integrate .. //depot/projects/wifi/sys/netinet/sctp_sysctl.h#3 integrate .. //depot/projects/wifi/sys/netinet/sctp_timer.c#10 integrate .. //depot/projects/wifi/sys/netinet/sctputil.c#14 integrate .. //depot/projects/wifi/sys/powerpc/conf/DEFAULTS#6 integrate .. //depot/projects/wifi/sys/sun4v/include/pcpu.h#4 integrate .. //depot/projects/wifi/sys/sys/proc.h#33 integrate .. //depot/projects/wifi/sys/sys/sched.h#8 integrate .. //depot/projects/wifi/sys/vm/vm_pageout.c#16 integrate .. //depot/projects/wifi/tools/build/options/WITHOUT_KVM#1 branch .. //depot/projects/wifi/tools/build/options/WITHOUT_KVM_SUPPORT#1 branch .. //depot/projects/wifi/tools/tools/recoverdisk/Makefile#5 delete .. //depot/projects/wifi/tools/tools/recoverdisk/recoverdisk.1#3 delete .. //depot/projects/wifi/tools/tools/recoverdisk/recoverdisk.c#5 delete .. //depot/projects/wifi/usr.bin/Makefile#14 integrate .. //depot/projects/wifi/usr.bin/netstat/sctp.c#2 integrate .. //depot/projects/wifi/usr.sbin/ifmcstat/Makefile#4 integrate Differences ... ==== //depot/projects/wifi/lib/libarchive/archive_read_support_format_tar.c#19 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.56 2007/05/29 01:00:19 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.57 2007/06/13 03:35:37 kientzle Exp $"); #ifdef HAVE_ERRNO_H #include @@ -150,22 +150,34 @@ struct archive_string longname; struct archive_string pax_header; struct archive_string pax_global; + struct archive_string line; wchar_t *pax_entry; size_t pax_entry_length; int header_recursion_depth; off_t entry_bytes_remaining; off_t entry_offset; off_t entry_padding; + off_t realsize; struct sparse_block *sparse_list; + struct sparse_block *sparse_last; + int64_t sparse_offset; + int64_t sparse_numbytes; + int sparse_gnu_major; + int sparse_gnu_minor; + char sparse_gnu_pending; }; static size_t UTF8_mbrtowc(wchar_t *pwc, const char *s, size_t n); static int archive_block_is_null(const unsigned char *p); static char *base64_decode(const wchar_t *, size_t, size_t *); -static int gnu_read_sparse_data(struct archive_read *, struct tar *, +static void gnu_add_sparse_entry(struct tar *, + off_t offset, off_t remaining); +static int gnu_sparse_old_read(struct archive_read *, struct tar *, const struct archive_entry_header_gnutar *header); -static void gnu_parse_sparse_data(struct archive_read *, struct tar *, +static void gnu_sparse_old_parse(struct tar *, const struct gnu_sparse *sparse, int length); +static int gnu_sparse_01_parse(struct tar *, const wchar_t *); +static ssize_t gnu_sparse_10_read(struct archive_read *, struct tar *); static int header_Solaris_ACL(struct archive_read *, struct tar *, struct archive_entry *, const void *); static int header_common(struct archive_read *, struct tar *, @@ -194,11 +206,12 @@ static int archive_read_format_tar_read_header(struct archive_read *, struct archive_entry *); static int checksum(struct archive_read *, const void *); -static int pax_attribute(struct archive_entry *, +static int pax_attribute(struct tar *, struct archive_entry *, wchar_t *key, wchar_t *value); static int pax_header(struct archive_read *, struct tar *, struct archive_entry *, char *attr); static void pax_time(const wchar_t *, int64_t *sec, long *nanos); +static ssize_t readline(struct archive_read *, struct tar *, const char **); static int read_body_to_string(struct archive_read *, struct tar *, struct archive_string *, const void *h); static int64_t tar_atol(const char *, unsigned); @@ -250,17 +263,23 @@ archive_read_format_tar_cleanup(struct archive_read *a) { struct tar *tar; + struct sparse_block *p; tar = (struct tar *)(a->format->data); + while (tar->sparse_list != NULL) { + p = tar->sparse_list; + tar->sparse_list = p->next; + free(p); + } archive_string_free(&tar->acl_text); archive_string_free(&tar->entry_name); archive_string_free(&tar->entry_linkname); archive_string_free(&tar->entry_uname); archive_string_free(&tar->entry_gname); + archive_string_free(&tar->line); archive_string_free(&tar->pax_global); archive_string_free(&tar->pax_header); - if (tar->pax_entry != NULL) - free(tar->pax_entry); + free(tar->pax_entry); free(tar); (a->format->data) = NULL; return (ARCHIVE_OK); @@ -400,9 +419,11 @@ static int default_inode; static int default_dev; struct tar *tar; + struct sparse_block *sp; const char *p; int r; size_t l; + ssize_t size; /* Assign default device/inode values. */ archive_entry_set_dev(entry, 1 + default_dev); /* Don't use zero. */ @@ -415,9 +436,40 @@ tar = (struct tar *)(a->format->data); tar->entry_offset = 0; + while (tar->sparse_list != NULL) { + sp = tar->sparse_list; + tar->sparse_list = sp->next; + free(sp); + } + tar->sparse_last = NULL; r = tar_read_header(a, tar, entry); + /* + * Yuck. See comments for gnu_sparse_10_read for why this + * is here and not in _read_data where it "should" go. + */ + if (tar->sparse_gnu_pending + && tar->sparse_gnu_major == 1 + && tar->sparse_gnu_minor == 0) { + tar->sparse_gnu_pending = 0; + /* Read initial sparse map. */ + size = gnu_sparse_10_read(a, tar); + if (size < 0) + return (size); + tar->entry_bytes_remaining -= size; + tar->entry_padding += size; + } + + /* + * "non-sparse" files are really just sparse files with + * a single block. + */ + if (tar->sparse_list == NULL) + gnu_add_sparse_entry(tar, 0, tar->entry_bytes_remaining); + + tar->realsize = archive_entry_size(entry); + if (r == ARCHIVE_OK) { /* * "Regular" entry with trailing '/' is really @@ -442,55 +494,64 @@ struct sparse_block *p; tar = (struct tar *)(a->format->data); - if (tar->sparse_list != NULL) { - /* Remove exhausted entries from sparse list. */ - while (tar->sparse_list != NULL && - tar->sparse_list->remaining == 0) { - p = tar->sparse_list; - tar->sparse_list = p->next; - free(p); + + if (tar->sparse_gnu_pending) { + if (tar->sparse_gnu_major == 1 && tar->sparse_gnu_minor == 0) { + /* + * We should parse the sparse data + * here, but have to parse it as part of the + * header because of a bug in GNU tar 1.16.1. + */ + } else { + *size = 0; + *offset = 0; + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Unrecognized GNU sparse file format"); + return (ARCHIVE_WARN); } - if (tar->sparse_list == NULL) { - /* We exhausted the entire sparse list. */ - tar->entry_bytes_remaining = 0; - } + tar->sparse_gnu_pending = 0; + } + + /* Remove exhausted entries from sparse list. */ + while (tar->sparse_list != NULL && + tar->sparse_list->remaining == 0) { + p = tar->sparse_list; + tar->sparse_list = p->next; + free(p); } - if (tar->entry_bytes_remaining > 0) { - bytes_read = (a->decompressor->read_ahead)(a, buff, 1); - if (bytes_read == 0) { - archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, - "Truncated tar archive"); - return (ARCHIVE_FATAL); - } - if (bytes_read < 0) - return (ARCHIVE_FATAL); - if (bytes_read > tar->entry_bytes_remaining) - bytes_read = tar->entry_bytes_remaining; - if (tar->sparse_list != NULL) { - /* Don't read more than is available in the - * current sparse block. */ - if (tar->sparse_list->remaining < bytes_read) - bytes_read = tar->sparse_list->remaining; - tar->entry_offset = tar->sparse_list->offset; - tar->sparse_list->remaining -= bytes_read; - tar->sparse_list->offset += bytes_read; - } - *size = bytes_read; - *offset = tar->entry_offset; - tar->entry_offset += bytes_read; - tar->entry_bytes_remaining -= bytes_read; - (a->decompressor->consume)(a, bytes_read); - return (ARCHIVE_OK); - } else { + /* If we're at end of file, return EOF. */ + if (tar->sparse_list == NULL || tar->entry_bytes_remaining == 0) { if ((a->decompressor->skip)(a, tar->entry_padding) < 0) return (ARCHIVE_FATAL); tar->entry_padding = 0; *buff = NULL; *size = 0; - *offset = tar->entry_offset; + *offset = tar->realsize; return (ARCHIVE_EOF); } + + bytes_read = (a->decompressor->read_ahead)(a, buff, 1); + if (bytes_read == 0) { + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Truncated tar archive"); + return (ARCHIVE_FATAL); + } + if (bytes_read < 0) + return (ARCHIVE_FATAL); + if (bytes_read > tar->entry_bytes_remaining) + bytes_read = tar->entry_bytes_remaining; + /* Don't read more than is available in the + * current sparse block. */ + if (tar->sparse_list->remaining < bytes_read) + bytes_read = tar->sparse_list->remaining; + *size = bytes_read; + *offset = tar->sparse_list->offset; + tar->sparse_list->remaining -= bytes_read; + tar->sparse_list->offset += bytes_read; + tar->entry_bytes_remaining -= bytes_read; + (a->decompressor->consume)(a, bytes_read); + return (ARCHIVE_OK); } static int @@ -521,6 +582,7 @@ tar->sparse_list = p->next; free(p); } + tar->sparse_last = NULL; return (ARCHIVE_OK); } @@ -847,7 +909,8 @@ archive_entry_set_mode(entry, tar_atol(header->mode, sizeof(header->mode))); archive_entry_set_uid(entry, tar_atol(header->uid, sizeof(header->uid))); archive_entry_set_gid(entry, tar_atol(header->gid, sizeof(header->gid))); - archive_entry_set_size(entry, tar_atol(header->size, sizeof(header->size))); + tar->entry_bytes_remaining = tar_atol(header->size, sizeof(header->size)); + archive_entry_set_size(entry, tar->entry_bytes_remaining); archive_entry_set_mtime(entry, tar_atol(header->mtime, sizeof(header->mtime)), 0); /* Handle the tar type flag appropriately. */ @@ -892,29 +955,35 @@ */ if (archive_entry_size(entry) > 0 && a->archive.archive_format != ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE && - archive_read_format_tar_bid(a) > 50) + archive_read_format_tar_bid(a) > 50) { archive_entry_set_size(entry, 0); - break; + tar->entry_bytes_remaining = 0; + } case '2': /* Symlink */ archive_entry_set_filetype(entry, AE_IFLNK); archive_entry_set_size(entry, 0); + tar->entry_bytes_remaining = 0; archive_entry_set_symlink(entry, tar->entry_linkname.s); break; case '3': /* Character device */ archive_entry_set_filetype(entry, AE_IFCHR); archive_entry_set_size(entry, 0); + tar->entry_bytes_remaining = 0; break; case '4': /* Block device */ archive_entry_set_filetype(entry, AE_IFBLK); archive_entry_set_size(entry, 0); + tar->entry_bytes_remaining = 0; break; case '5': /* Dir */ archive_entry_set_filetype(entry, AE_IFDIR); archive_entry_set_size(entry, 0); + tar->entry_bytes_remaining = 0; break; case '6': /* FIFO device */ archive_entry_set_filetype(entry, AE_IFIFO); archive_entry_set_size(entry, 0); + tar->entry_bytes_remaining = 0; break; case 'D': /* GNU incremental directory type */ /* @@ -972,7 +1041,6 @@ /* Grab rest of common fields */ header_common(a, tar, entry, h); - tar->entry_bytes_remaining = archive_entry_size(entry); tar->entry_padding = 0x1ff & (-tar->entry_bytes_remaining); return (0); } @@ -1014,7 +1082,6 @@ */ err2 = pax_header(a, tar, entry, tar->pax_header.s); err = err_combine(err, err2); - tar->entry_bytes_remaining = archive_entry_size(entry); tar->entry_padding = 0x1ff & (-tar->entry_bytes_remaining); return (err); } @@ -1065,7 +1132,6 @@ tar_atol(header->rdevminor, sizeof(header->rdevminor))); } - tar->entry_bytes_remaining = archive_entry_size(entry); tar->entry_padding = 0x1ff & (-tar->entry_bytes_remaining); return (0); @@ -1160,7 +1226,7 @@ value = wp + 1; /* Identify this attribute and set it in the entry. */ - err2 = pax_attribute(entry, key, value); + err2 = pax_attribute(tar, entry, key, value); err = err_combine(err, err2); /* Skip to next line */ @@ -1215,19 +1281,72 @@ * extensions should always have keywords of the form "VENDOR.attribute" * In particular, it's quite feasible to support many different * vendor extensions here. I'm using "LIBARCHIVE" for extensions - * unique to this library (currently, there are none). + * unique to this library. * - * Investigate other vendor-specific extensions, as well and see if + * Investigate other vendor-specific extensions and see if * any of them look useful. */ static int -pax_attribute(struct archive_entry *entry, +pax_attribute(struct tar *tar, struct archive_entry *entry, wchar_t *key, wchar_t *value) { int64_t s; long n; switch (key[0]) { + case 'G': + /* GNU "0.0" sparse pax format. */ + if (wcscmp(key, L"GNU.sparse.numblocks") == 0) { + tar->sparse_offset = -1; + tar->sparse_numbytes = -1; + tar->sparse_gnu_major = 0; + tar->sparse_gnu_minor = 0; + } + if (wcscmp(key, L"GNU.sparse.offset") == 0) { + tar->sparse_offset = tar_atol10(value, wcslen(value)); + if (tar->sparse_numbytes != -1) { + gnu_add_sparse_entry(tar, + tar->sparse_offset, tar->sparse_numbytes); + tar->sparse_offset = -1; + tar->sparse_numbytes = -1; + } + } + if (wcscmp(key, L"GNU.sparse.numbytes") == 0) { + tar->sparse_numbytes = tar_atol10(value, wcslen(value)); + if (tar->sparse_numbytes != -1) { + gnu_add_sparse_entry(tar, + tar->sparse_offset, tar->sparse_numbytes); + tar->sparse_offset = -1; + tar->sparse_numbytes = -1; + } + } + if (wcscmp(key, L"GNU.sparse.size") == 0) + archive_entry_set_size(entry, + tar_atol10(value, wcslen(value))); + + /* GNU "0.1" sparse pax format. */ + if (wcscmp(key, L"GNU.sparse.map") == 0) { + tar->sparse_gnu_major = 0; + tar->sparse_gnu_minor = 1; + if (gnu_sparse_01_parse(tar, value) != ARCHIVE_OK) + return (ARCHIVE_WARN); + } + + /* GNU "1.0" sparse pax format */ + if (wcscmp(key, L"GNU.sparse.major") == 0) { + tar->sparse_gnu_major = tar_atol10(value, wcslen(value)); + tar->sparse_gnu_pending = 1; + } + if (wcscmp(key, L"GNU.sparse.minor") == 0) { + tar->sparse_gnu_minor = tar_atol10(value, wcslen(value)); + tar->sparse_gnu_pending = 1; + } + if (wcscmp(key, L"GNU.sparse.name") == 0) + archive_entry_copy_pathname_w(entry, value); + if (wcscmp(key, L"GNU.sparse.realsize") == 0) + archive_entry_set_size(entry, + tar_atol10(value, wcslen(value))); + break; case 'L': /* Our extensions */ /* TODO: Handle arbitrary extended attributes... */ @@ -1306,8 +1425,12 @@ case 's': /* POSIX has reserved 'security.*' */ /* Someday: if (wcscmp(key, L"security.acl")==0) { ... } */ - if (wcscmp(key, L"size")==0) - archive_entry_set_size(entry, tar_atol10(value, wcslen(value))); + if (wcscmp(key, L"size")==0) { + tar->entry_bytes_remaining = tar_atol10(value, wcslen(value)); + archive_entry_set_size(entry, tar->entry_bytes_remaining); + } + tar->entry_bytes_remaining = 0; + break; case 'u': if (wcscmp(key, L"uid")==0) @@ -1418,7 +1541,6 @@ } else archive_entry_set_rdev(entry, 0); - tar->entry_bytes_remaining = archive_entry_size(entry); tar->entry_padding = 0x1ff & (-tar->entry_bytes_remaining); /* Grab GNU-specific fields. */ @@ -1432,7 +1554,7 @@ } if (header->sparse[0].offset[0] != 0) { - gnu_read_sparse_data(a, tar, header); + gnu_sparse_old_read(a, tar, header); } else { if (header->isextended[0] != 0) { /* XXX WTF? XXX */ @@ -1442,8 +1564,38 @@ return (0); } +static void +gnu_add_sparse_entry(struct tar *tar, off_t offset, off_t remaining) +{ + struct sparse_block *p; + + p = (struct sparse_block *)malloc(sizeof(*p)); + if (p == NULL) + __archive_errx(1, "Out of memory"); + memset(p, 0, sizeof(*p)); + if (tar->sparse_last != NULL) + tar->sparse_last->next = p; + else + tar->sparse_list = p; + tar->sparse_last = p; + p->offset = offset; + p->remaining = remaining; +} + +/* + * GNU tar old-format sparse data. + * + * GNU old-format sparse data is stored in a fixed-field + * format. Offset/size values are 11-byte octal fields (same + * format as 'size' field in ustart header). These are + * stored in the header, allocating subsequent header blocks + * as needed. Extending the header in this way is a pretty + * severe POSIX violation; this design has earned GNU tar a + * lot of criticism. + */ + static int -gnu_read_sparse_data(struct archive_read *a, struct tar *tar, +gnu_sparse_old_read(struct archive_read *a, struct tar *tar, const struct archive_entry_header_gnutar *header) { ssize_t bytes_read; @@ -1455,7 +1607,7 @@ }; const struct extended *ext; - gnu_parse_sparse_data(a, tar, header->sparse, 4); + gnu_sparse_old_parse(tar, header->sparse, 4); if (header->isextended[0] == 0) return (ARCHIVE_OK); @@ -1471,7 +1623,7 @@ } (a->decompressor->consume)(a, 512); ext = (const struct extended *)data; - gnu_parse_sparse_data(a, tar, ext->sparse, 21); + gnu_sparse_old_parse(tar, ext->sparse, 21); } while (ext->isextended[0] != 0); if (tar->sparse_list != NULL) tar->entry_offset = tar->sparse_list->offset; @@ -1479,34 +1631,165 @@ } static void -gnu_parse_sparse_data(struct archive_read *a, struct tar *tar, +gnu_sparse_old_parse(struct tar *tar, const struct gnu_sparse *sparse, int length) { - struct sparse_block *last; - struct sparse_block *p; + while (length > 0 && sparse->offset[0] != 0) { + gnu_add_sparse_entry(tar, + tar_atol(sparse->offset, sizeof(sparse->offset)), + tar_atol(sparse->numbytes, sizeof(sparse->numbytes))); + sparse++; + length--; + } +} + +/* + * GNU tar sparse format 0.0 + * + * Beginning with GNU tar 1.15, sparse files are stored using + * information in the pax extended header. The GNU tar maintainers + * have gone through a number of variations in the process of working + * out this scheme; furtunately, they're all numbered. + * + * Sparse format 0.0 uses attribute GNU.sparse.numblocks to store the + * number of blocks, and GNU.sparse.offset/GNU.sparse.numbytes to + * store offset/size for each block. The repeated instances of these + * latter fields violate the pax specification (which frowns on + * duplicate keys), so this format was quickly replaced. + */ + +/* + * GNU tar sparse format 0.1 + * + * This version replaced the offset/numbytes attributes with + * a single "map" attribute that stored a list of integers. This + * format had two problems: First, the "map" attribute could be very + * long, which caused problems for some implementations. More + * importantly, the sparse data was lost when extracted by archivers + * that didn't recognize this extension. + */ + +static int +gnu_sparse_01_parse(struct tar *tar, const wchar_t *p) +{ + const wchar_t *e; + off_t offset = -1, size = -1; + + for (;;) { + e = p; + while (*e != '\0' && *e != ',') { + if (*e < '0' || *e > '9') + return (ARCHIVE_WARN); + e++; + } + if (offset < 0) { + offset = tar_atol10(p, e - p); + if (offset < 0) + return (ARCHIVE_WARN); + } else { + size = tar_atol10(p, e - p); + if (size < 0) + return (ARCHIVE_WARN); + gnu_add_sparse_entry(tar, offset, size); + offset = -1; + } + if (*e == '\0') + return (ARCHIVE_OK); + p = e + 1; + } +} + +/* + * GNU tar sparse format 1.0 + * + * The idea: The offset/size data is stored as a series of base-10 + * ASCII numbers prepended to the file data, so that dearchivers that + * don't support this format will extract the block map along with the + * data and a separate post-process can restore the sparseness. + * + * Unfortunately, GNU tar 1.16 adds bogus padding to the end of the + * entry that depends on the size of the map; this means we have to + * parse the sparse map when we read the header (otherwise, entry_skip + * will fail). This is why sparse_10_read is called from read_header + * above, instead of at the beginning of read_data, where it "should" + * go. + * + * This variant also replaced GNU.sparse.size with GNU.sparse.realsize + * and introduced the GNU.sparse.major/GNU.sparse.minor attributes. + */ + +/* + * Read the next line from the input, and parse it as a decimal + * integer followed by '\n'. Returns positive integer value or + * negative on error. + */ +static int64_t +gnu_sparse_10_atol(struct archive_read *a, struct tar *tar, + ssize_t *total_read) +{ + int64_t l, limit, last_digit_limit; + const char *p; + ssize_t bytes_read; + int base, digit; - (void)a; /* UNUSED */ + base = 10; + limit = INT64_MAX / base; + last_digit_limit = INT64_MAX % base; - last = tar->sparse_list; - while (last != NULL && last->next != NULL) - last = last->next; + bytes_read = readline(a, tar, &p); + if (bytes_read <= 0) + return (ARCHIVE_FATAL); + *total_read += bytes_read; - while (length > 0 && sparse->offset[0] != 0) { - p = (struct sparse_block *)malloc(sizeof(*p)); - if (p == NULL) - __archive_errx(1, "Out of memory"); - memset(p, 0, sizeof(*p)); - if (last != NULL) - last->next = p; + l = 0; + while (bytes_read > 0) { + if (*p == '\n') + return (l); + if (*p < '0' || *p >= '0' + base) + return (ARCHIVE_WARN); + digit = *p - '0'; + if (l > limit || (l == limit && digit > last_digit_limit)) + l = UINT64_MAX; /* Truncate on overflow. */ else - tar->sparse_list = p; - last = p; - p->offset = tar_atol(sparse->offset, sizeof(sparse->offset)); - p->remaining = - tar_atol(sparse->numbytes, sizeof(sparse->numbytes)); - sparse++; - length--; + l = (l * base) + digit; + p++; + bytes_read--; + } + /* TODO: Error message. */ + return (ARCHIVE_WARN); +} + +/* + * Returns number of bytes consumed to read the sparse block data. + */ +static ssize_t +gnu_sparse_10_read(struct archive_read *a, struct tar *tar) +{ + ssize_t bytes_read = 0; + int entries; + off_t offset, size, to_skip; + + /* Parse entries. */ + entries = gnu_sparse_10_atol(a, tar, &bytes_read); + if (entries < 0) + return (ARCHIVE_FATAL); + /* Parse the individual entries. */ + while (entries-- > 0) { + /* Parse offset/size */ + offset = gnu_sparse_10_atol(a, tar, &bytes_read); + if (offset < 0) + return (ARCHIVE_FATAL); + size = gnu_sparse_10_atol(a, tar, &bytes_read); + if (size < 0) + return (ARCHIVE_FATAL); + /* Add a new sparse entry. */ + gnu_add_sparse_entry(tar, offset, size); } + /* Skip rest of block... */ + to_skip = 0x1ff & -bytes_read; + if (to_skip != (a->decompressor->skip)(a, to_skip)) + return (ARCHIVE_FATAL); + return (bytes_read + to_skip); } /*- @@ -1574,7 +1857,6 @@ return (sign < 0) ? -l : l; } - /* * Note that this implementation does not (and should not!) obey * locale settings; you cannot simply substitute strtol here, since @@ -1647,6 +1929,55 @@ return (l); } +/* + * Returns length of line (including trailing newline) + * or negative on error. 'start' argument is updated to + * point to first character of line. This avoids copying + * when possible. + */ +static ssize_t +readline(struct archive_read *a, struct tar *tar, const char **start) +{ + ssize_t bytes_read; + ssize_t total_size = 0; + const void *t; + const char *s; + void *p; + + bytes_read = (a->decompressor->read_ahead)(a, &t, 1); + if (bytes_read <= 0) + return (ARCHIVE_FATAL); + s = t; /* Start of line? */ + p = memchr(t, '\n', bytes_read); + /* If we found '\n' in the read buffer, return pointer to that. */ + if (p != NULL) { + bytes_read = 1 + ((const char *)p) - s; + (a->decompressor->consume)(a, bytes_read); + *start = s; + return (bytes_read); + } + /* Otherwise, we need to accumulate in a line buffer. */ + for (;;) { + archive_string_ensure(&tar->line, total_size + bytes_read); + memcpy(tar->line.s + total_size, t, bytes_read); + (a->decompressor->consume)(a, bytes_read); + total_size += bytes_read; + /* Read some more. */ + bytes_read = (a->decompressor->read_ahead)(a, &t, 1); + if (bytes_read <= 0) + return (ARCHIVE_FATAL); + s = t; /* Start of line? */ + p = memchr(t, '\n', bytes_read); + /* If we found '\n', finish the line. */ + if (p != NULL) { + bytes_read = 1 + ((const char *)p) - s; + (a->decompressor->consume)(a, bytes_read); + *start = tar->line.s; + return (total_size + bytes_read); + } + } +} + static int utf8_decode(wchar_t *dest, const char *src, size_t length) { ==== //depot/projects/wifi/lib/libarchive/test/Makefile#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libarchive/test/Makefile,v 1.5 2007/05/29 01:00:20 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/test/Makefile,v 1.7 2007/06/13 03:35:37 kientzle Exp $ TESTS= \ test_acl_basic.c \ @@ -19,6 +19,7 @@ test_read_format_cpio_svr4c_Z.c \ test_read_format_empty.c \ test_read_format_gtar_gz.c \ + test_read_format_gtar_sparse.c \ test_read_format_iso_gz.c \ test_read_format_isorr_bz2.c \ test_read_format_pax_bz2.c \ @@ -48,7 +49,6 @@ CLEANFILES+= list.h -MK_MAN=no NO_MAN=yes PROG=libarchive_test @@ -63,7 +63,7 @@ #WARNS=6 test: libarchive_test - ./libarchive_test + ./libarchive_test -k list.h: ${TESTS} Makefile (cd ${.CURDIR}; cat ${TESTS}) | grep DEFINE_TEST > list.h ==== //depot/projects/wifi/lib/libarchive/test/main.c#4 (text+ko) ==== @@ -32,7 +32,14 @@ #include #include "test.h" -__FBSDID("$FreeBSD: src/lib/libarchive/test/main.c,v 1.3 2007/05/29 01:00:20 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/test/main.c,v 1.4 2007/06/13 03:30:46 kientzle Exp $"); + +/* Default is to crash and try to force a core dump on failure. */ +static int dump_on_failure = 1; +/* Default is to print some basic information about each test. */ +static int quiet_flag = 0; +/* Cumulative count of failures. */ +static int failures = 0; /* * My own implementation of the standard assert() macro emits the @@ -51,10 +58,13 @@ */ static char msg[4096]; + /* Common handling of failed tests. */ static void test_failed(struct archive *a) { + failures ++; + if (msg[0] != '\0') { fprintf(stderr, " Description: %s\n", msg); msg[0] = '\0'; @@ -63,9 +73,11 @@ fprintf(stderr, " archive error: %s\n", archive_error_string(a)); } - fprintf(stderr, " *** forcing core dump so failure can be debugged ***\n"); - *(char *)(NULL) = 0; - exit(1); + if (dump_on_failure) { + fprintf(stderr, " *** forcing core dump so failure can be debugged ***\n"); + *(char *)(NULL) = 0; + exit(1); + } } /* Set up a message to display only after a test fails. */ @@ -160,9 +172,12 @@ #include "list.h" }; -static void test_run(int i, const char *tmpdir) +static int test_run(int i, const char *tmpdir) { - printf("%d: %s\n", i, tests[i].name); + int failures_before = failures; + + if (!quiet_flag) + printf("%d: %s\n", i, tests[i].name); /* * Always explicitly chdir() in case the last test moved us to * a strange place. @@ -187,6 +202,7 @@ exit(1); } (*tests[i].func)(); + return (failures - failures_before); } static void usage(void) @@ -194,9 +210,13 @@ static const int limit = sizeof(tests) / sizeof(tests[0]); int i; - printf("Usage: libarchive_test ...\n"); + printf("Usage: libarchive_test [options] ...\n"); printf("Default is to run all tests.\n"); printf("Otherwise, specify the numbers of the tests you wish to run.\n"); + printf("Options:\n"); + printf(" -k Keep running after failures.\n"); + printf(" Default: Core dump after any failure.\n"); + printf(" -q Quiet.\n"); printf("Available tests:\n"); for (i = 0; i < limit; i++) printf(" %d: %s\n", i, tests[i].name); @@ -206,10 +226,26 @@ int main(int argc, char **argv) { static const int limit = sizeof(tests) / sizeof(tests[0]); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jun 13 13:53:54 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 15E5C16A51D; Wed, 13 Jun 2007 13:53:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AA9D716A503 for ; Wed, 13 Jun 2007 13:53:53 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8332713C489 for ; Wed, 13 Jun 2007 13:53:53 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5DDrrZD012714 for ; Wed, 13 Jun 2007 13:53:53 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5DDrrVi012707 for perforce@freebsd.org; Wed, 13 Jun 2007 13:53:53 GMT (envelope-from jhb@freebsd.org) Date: Wed, 13 Jun 2007 13:53:53 GMT Message-Id: <200706131353.l5DDrrVi012707@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 121574 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jun 2007 13:53:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=121574 Change 121574 by jhb@jhb_mutex on 2007/06/13 13:53:09 Properly acquire Giant around vrele() of ktrace node if needed. Affected files ... .. //depot/projects/smpng/sys/kern/kern_exec.c#106 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_exec.c#106 (text+ko) ==== @@ -747,8 +747,13 @@ if (ndp->ni_vp && error != 0) vrele(ndp->ni_vp); #ifdef KTRACE - if (tracevp != NULL) + if (tracevp != NULL) { + int tvfslocked; + + tvfslocked = VFS_LOCK_GIANT(tracevp->v_mount); vrele(tracevp); + VFS_UNLOCK_GIANT(tvfslocked); + } if (tracecred != NULL) crfree(tracecred); #endif From owner-p4-projects@FreeBSD.ORG Wed Jun 13 13:53:54 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91B2216A564; Wed, 13 Jun 2007 13:53:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4726516A46F for ; Wed, 13 Jun 2007 13:53:54 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3706413C4AD for ; Wed, 13 Jun 2007 13:53:54 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5DDrsXG012729 for ; Wed, 13 Jun 2007 13:53:54 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5DDrrdD012717 for perforce@freebsd.org; Wed, 13 Jun 2007 13:53:53 GMT (envelope-from jhb@freebsd.org) Date: Wed, 13 Jun 2007 13:53:53 GMT Message-Id: <200706131353.l5DDrrdD012717@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 121575 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jun 2007 13:53:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=121575 Change 121575 by jhb@jhb_mutex on 2007/06/13 13:53:32 Try to de-pessimize ktrace locking some. Affected files ... .. //depot/projects/smpng/sys/kern/kern_exit.c#124 edit .. //depot/projects/smpng/sys/kern/kern_ktrace.c#60 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_exit.c#124 (text+ko) ==== @@ -355,26 +355,32 @@ mtx_unlock(&Giant); #ifdef KTRACE /* - * Drain any pending records on the thread and release the trace - * file. It might be better if drain-and-clear were atomic. + * Disable tracing, then drain any pending records and release + * the trace file. */ - ktrprocexit(td); - PROC_LOCK(p); - mtx_lock(&ktrace_mtx); - p->p_traceflag = 0; /* don't trace the vrele() */ - tracevp = p->p_tracevp; - p->p_tracevp = NULL; - tracecred = p->p_tracecred; - p->p_tracecred = NULL; - mtx_unlock(&ktrace_mtx); - PROC_UNLOCK(p); - if (tracevp != NULL) { - locked = VFS_LOCK_GIANT(tracevp->v_mount); - vrele(tracevp); - VFS_UNLOCK_GIANT(locked); + if (p->p_traceflag != 0) { + PROC_LOCK(p); + mtx_lock(&ktrace_mtx); + p->p_traceflag = 0; + mtx_unlock(&ktrace_mtx); + PROC_UNLOCK(p); + ktrprocexit(td); + PROC_LOCK(p); + mtx_lock(&ktrace_mtx); + tracevp = p->p_tracevp; + p->p_tracevp = NULL; + tracecred = p->p_tracecred; + p->p_tracecred = NULL; + mtx_unlock(&ktrace_mtx); + PROC_UNLOCK(p); + if (tracevp != NULL) { + locked = VFS_LOCK_GIANT(tracevp->v_mount); + vrele(tracevp); + VFS_UNLOCK_GIANT(locked); + } + if (tracecred != NULL) + crfree(tracecred); } - if (tracecred != NULL) - crfree(tracecred); #endif /* * Release reference to text vnode ==== //depot/projects/smpng/sys/kern/kern_ktrace.c#60 (text+ko) ==== @@ -444,6 +444,8 @@ ktruserret(struct thread *td) { + if (STAILQ_EMPTY(&td->td_proc->p_ktr)) + return; ktrace_enter(td); sx_xlock(&ktrace_sx); ktr_drain(td); From owner-p4-projects@FreeBSD.ORG Wed Jun 13 19:24:02 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B272016A46B; Wed, 13 Jun 2007 19:24:02 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8BB3A16A468 for ; Wed, 13 Jun 2007 19:24:02 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7CEE313C48A for ; Wed, 13 Jun 2007 19:24:02 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5DJO2HR036821 for ; Wed, 13 Jun 2007 19:24:02 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5DJO2kS036815 for perforce@freebsd.org; Wed, 13 Jun 2007 19:24:02 GMT (envelope-from jhb@freebsd.org) Date: Wed, 13 Jun 2007 19:24:02 GMT Message-Id: <200706131924.l5DJO2kS036815@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 121597 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jun 2007 19:24:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=121597 Change 121597 by jhb@jhb_mutex on 2007/06/13 19:23:42 IFC: WITH_GCC3. Affected files ... .. //depot/projects/smpng/sys/conf/kern.mk#20 integrate Differences ... ==== //depot/projects/smpng/sys/conf/kern.mk#20 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.mk,v 1.51 2007/05/19 04:45:54 kan Exp $ +# $FreeBSD: src/sys/conf/kern.mk,v 1.52 2007/05/24 21:53:42 obrien Exp $ # # Warning flags for compiling the kernel and components of the kernel. @@ -12,7 +12,10 @@ .else CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \ - ${_wundef} -Wno-pointer-sign -fformat-extensions + ${_wundef} ${_Wno_pointer_sign} -fformat-extensions +.if !defined(WITH_GCC3) +_Wno_pointer_sign=-Wno-pointer-sign +.endif .if !defined(NO_UNDEF) _wundef= -Wundef .endif From owner-p4-projects@FreeBSD.ORG Wed Jun 13 21:18:36 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 214F916A46F; Wed, 13 Jun 2007 21:18:36 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B4A6116A46C for ; Wed, 13 Jun 2007 21:18:35 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A2BE213C45B for ; Wed, 13 Jun 2007 21:18:35 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5DLIZXd049294 for ; Wed, 13 Jun 2007 21:18:35 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5DLIMn3049152 for perforce@freebsd.org; Wed, 13 Jun 2007 21:18:22 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 13 Jun 2007 21:18:22 GMT Message-Id: <200706132118.l5DLIMn3049152@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 121602 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jun 2007 21:18:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=121602 Change 121602 by rdivacky@rdivacky_witten on 2007/06/13 21:17:41 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/busdma_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/cpu_switch.S#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/intr_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/io_apic.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/mp_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/mp_watchdog.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/trap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/tsc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/vm_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/ia32/ia32_syscall.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/include/kdb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/include/pcpu.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/include/vmparam.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/linux32/linux32_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/arm/busdma_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/arm/intr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/arm/trap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/arm/undefined.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/arm/vm_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/at91/uart_cpu_at91rm9200usart.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/include/kdb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/include/pcpu.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/include/pmap.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/include/pte.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/include/vmparam.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/cam/README.quirks#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/cam/cam_xpt.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/cam/scsi/scsi_all.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/linux/linux_file.c#11 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/linux/linux_misc.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/linux/linux_uid16.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/ndis/subr_ntoskrnl.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/opensolaris/kern/opensolaris_atomic.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/opensolaris/kern/opensolaris_kstat.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/opensolaris/kern/opensolaris_policy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/opensolaris/kern/opensolaris_vfs.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/opensolaris/sys/atomic.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/opensolaris/sys/vfs.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/svr4/svr4_misc.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/NOTES#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.amd64#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.i386#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.pc98#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.sparc64#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files.sun4v#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/options#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/options.arm#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/fil.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_auth.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_auth.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_compat.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_fil.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_frag.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_frag.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_ftp_pxy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_htable.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_htable.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_ipsec_pxy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_irc_pxy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_log.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_lookup.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_lookup.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_nat.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_pool.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_pool.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_pptp_pxy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_proxy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_proxy.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_raudio_pxy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_rcmd_pxy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_rpcb_pxy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_scan.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_scan.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_state.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_state.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_sync.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ip_sync.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/ipl.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/opensolaris/common/atomic/amd64/atomic.S#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/opensolaris/common/atomic/i386/atomic.S#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/opensolaris/common/atomic/ia64/atomic.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/opensolaris/uts/common/sys/asm_linkage.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/opensolaris/uts/common/sys/atomic.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/an/if_an.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/ah_osdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/ah_osdep.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/ath_rate/amrr/amrr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/ath_rate/onoe/onoe.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/ath_rate/onoe/onoe.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/if_ath_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/if_athioctl.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/if_athrate.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/awi/awi.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/awi/awivar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/bce/if_bcereg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/bge/if_bge.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cardbus/cardbus_cis.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_ael1002.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_common.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_mc5.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_t3_hw.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_vsc7323.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_xgmac.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_adapter.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_config.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_lro.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_offload.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_offload.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_sge.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/t3fw-4.0.0.bin.gz.uu#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/t3fw-4.1.0.bin.gz.uu#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/dcons/dcons.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/dcons/dcons_crom.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/dcons/dcons_os.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/dcons/dcons_os.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/de/if_de.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/firewire.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/firewirereg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/fwdev.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/fwdma.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/fwmem.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/fwohci.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/fwohci_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/fwohcivar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/if_fwe.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/if_fwevar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/if_fwip.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/if_fwipvar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/sbp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/sbp_targ.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/gem/if_gem.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/gem/if_gemvar.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/hatm/if_hatm_intr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/hwpmc/hwpmc_mod.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/if_ndis/if_ndis.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/if_ndis/if_ndis_usb.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ipw/if_ipw.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/isp/isp_freebsd.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/isp/isp_ioctl.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/isp/isp_pci.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/iwi/if_iwi.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/iwi/if_iwireg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/iwi/if_iwivar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/md/md.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mfi/mfivar.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mii/brgphy.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mii/brgphyreg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mii/ciphy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mii/ciphyreg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mii/icsphy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mii/icsphyreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mii/miidevs#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mii/rlphy.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mmc/mmc.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpilib/mpi.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpilib/mpi_cnfg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpilib/mpi_init.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpilib/mpi_ioc.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpilib/mpi_log_fc.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpilib/mpi_log_sas.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpilib/mpi_raid.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpilib/mpi_sas.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpilib/mpi_targ.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpt.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpt.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mpt/mpt_cam.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/msk/if_msk.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nfe/if_nfereg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nfe/if_nfevar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nve/if_nve.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/pccbb/pccbb.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/pccbb/pccbb_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/pccbb/pccbbvar.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/pdq/pdqreg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/puc/puc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/puc/pucdata.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/if_ral_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/rt2560.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/rt2560reg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/rt2560var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/rt2661.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/rt2661reg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/rt2661var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sbsh/if_sbsh.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/clone.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/isa/ad1816.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/isa/ess.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/isa/mss.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/isa/sb16.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/isa/sb8.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/als4000.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/atiixp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/aureal.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/cmi.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/cs4281.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/csapcm.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/ds1.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/emu10k1.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/emu10kx-pcm.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/emu10kx.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/es137x.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/fm801.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/hda/hdac.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/ich.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/maestro3.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/solo.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/t4dwave.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/via8233.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/via82c686.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/vibes.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/ac97.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/ac97_patch.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/channel.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/channel.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/dsp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/feeder.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/sndstat.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/sound.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pcm/vchan.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/usb/uaudio.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/usb/uaudio_pcm.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/speaker/spkr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/syscons/syscons.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/dsbr100io.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ehci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/hid.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_aue.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_axe.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_axereg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_cdce.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_cdcereg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_cue.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_cuereg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_kue.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_kuereg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_rue.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_rum.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_rumreg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_rumvar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_udav.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_ural.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_uralreg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_uralvar.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ohci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ohcivar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/rio500_usb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uark.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ubsa.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ubser.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ucom.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ucomvar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ucycom.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/udbp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ufm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ufoma.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uftdi.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ugen.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uhci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uhcivar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uhid.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uhub.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uipaq.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ukbd.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ulpt.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/umass.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/umct.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/umodem.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/ums.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uplcom.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/urio.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_mem.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_mem.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_port.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_subr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdevs#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdi.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdi.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdi_util.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdivar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uscanner.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uvisor.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/uvscom.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/wi/if_wi.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/wi/if_wivar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/devfs/devfs_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/procfs/procfs_ctl.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/procfs/procfs_ioctl.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/pseudofs/pseudofs_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/smbfs/smbfs_io.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/gdb/gdb_packet.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/cache/g_cache.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/eli/g_eli.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/geom_kern.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/journal/g_journal.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/mirror/g_mirror.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/part/g_part.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/part/g_part_apm.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/part/g_part_gpt.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/part/g_part_mbr.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/raid3/g_raid3.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/gnu/fs/ext2fs/ext2_vnops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/gnu/fs/reiserfs/reiserfs_namei.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/gnu/fs/reiserfs/reiserfs_stree.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/conf/PAE#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/busdma_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/elan-mmcr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/genassym.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/intr_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/io_apic.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/mp_clock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/mp_watchdog.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/swtch.s#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/trap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/tsc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/vm_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/kdb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/pcpu.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/vmparam.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/isa/clock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/isa/npx.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/linux/linux_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/conf/GENERIC#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia32/ia32_trap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/db_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/interrupt.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/pmap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/trap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/include/cpufunc.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/include/kdb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/include/pcpu.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/include/vmparam.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/init_main.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_acct.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_clock.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_condvar.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_cpu.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exit.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_fork.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_idle.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_intr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_kse.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_kthread.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_ktrace.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_lockf.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_mbuf.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_mutex.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_poll.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_priv.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_proc.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_prot.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_resource.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_rwlock.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_shutdown.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_sig.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_subr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_switch.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_synch.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_sysctl.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_tc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_thr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_thread.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_time.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_umtx.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/ksched.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sched_core.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sched_ule.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_acl_posix1e.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_lock.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_prof.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_smp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_taskqueue.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_trap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_turnstile.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_witness.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sys_generic.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sys_process.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sysv_ipc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sysv_msg.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/tty.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/uipc_mqueue.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/uipc_socket.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_aio.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_bio.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_mount.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#18 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/libkern/mcount.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/bge/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/cxgb/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/ip_mroute_mod/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/mii/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/wlan/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/wlan_scan_ap/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/wlan_scan_sta/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/zfs/Makefile#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/ieee8023ad_lacp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/ieee8023ad_lacp.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_bridge.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_bridgevar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_fwsubr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_lagg.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_lagg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_media.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_spppsubr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_types.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/pfil.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/route.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/_ieee80211.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_acl.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_amrr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_crypto.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_crypto_ccmp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_crypto_none.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_crypto_tkip.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_crypto_wep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_freebsd.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_freebsd.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_ht.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_ht.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_output.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_power.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_power.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_radiotap.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_regdomain.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_regdomain.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_scan.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_scan.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_scan_ap.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_scan_sta.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_xauth.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netgraph/ng_base.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netgraph/ng_car.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netgraph/ng_ppp.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netgraph/ng_vlan.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/igmp.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/igmp_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/in.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/in.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/in_mcast.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/in_pcb.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/in_proto.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/in_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/ip_carp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/ip_output.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/ip_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/raw_ip.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_asconf.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_auth.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_auth.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_header.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_os_bsd.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_output.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_pcb.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_structs.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_sysctl.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_sysctl.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_timer.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_timer.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_uio.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_usrreq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctputil.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctputil.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_hostcache.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_output.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_subr.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_syncache.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_timer.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/tcp_timewait.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/udp_usrreq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/udp_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/frag6.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_ifattach.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_pcb.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6_src.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/ip6_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/raw_ip6.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/sctp6_usrreq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/sctp6_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/ipsec_osdep.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipx/ipx.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipx/ipx_if.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipx/ipx_ip.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipx/ipx_ip.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netncp/ncp_sock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netsmb/smb_trantcp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/nfsclient/nfs_bio.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/cbus/clock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/conf/GENERIC#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/include/cpu.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/include/kdb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/include/md_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/include/pcpu.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/powerpc/busdma_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/powerpc/db_interface.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/powerpc/syncicache.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/powerpc/trap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/powerpc/uio_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/powerpc/vm_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit_arg.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit_bsm.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/audit/audit_syscalls.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/mac_portacl/mac_portacl.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/mac_seeotheruids/mac_seeotheruids.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/fhc/fhc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/include/kdb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/include/pcpu.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/include/vmparam.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/pci/psycho.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/sbus/sbus.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/sparc64/mp_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/sparc64/pmap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/sparc64/trap.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/sparc64/tsb.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/sparc64/vm_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sun4v/conf/GENERIC#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sun4v/include/kdb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sun4v/include/pcpu.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sun4v/include/vmparam.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sun4v/sun4v/mp_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sun4v/sun4v/trap.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sun4v/sun4v/vm_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/mbuf.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/mutex.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/param.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/pcpu.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/priv.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/proc.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/resourcevar.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sched.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/socket.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscallsubr.h#10 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sysctl.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/systm.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/thr.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/turnstile.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/ucred.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/umtx.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/vmmeter.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ufs/ffs/ffs_alloc.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ufs/ffs/ffs_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ufs/ufs/ufs_quota.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ufs/ufs/ufs_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/swap_pager.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_contig.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_fault.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_glue.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_meter.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_object.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_page.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_pageout.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_pageq.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_phys.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_phys.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_zeroidle.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vnode_pager.c#3 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.81 2007/05/29 06:30:25 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.82 2007/06/11 17:57:24 mjacob Exp $"); #include #include @@ -220,6 +220,10 @@ if (boundary != 0 && boundary < maxsegsz) maxsegsz = boundary; + if (maxsegsz == 0) { + return (EINVAL); + } + /* Return a NULL tag on failure */ *dmat = NULL; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/cpu_switch.S#2 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.156 2007/03/30 00:06:20 jkim Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.158 2007/06/06 07:35:07 davidxu Exp $ */ #include @@ -73,19 +73,16 @@ movq TD_PCB(%rsi),%rdx /* newtd->td_proc */ movq PCB_CR3(%rdx),%rdx movq %rdx,%cr3 /* new address space */ - /* set bit in new pm_active */ - movq TD_PROC(%rsi),%rdx - movq P_VMSPACE(%rdx), %rdx - LK btsl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* set new */ - jmp sw1 + jmp swact /* - * cpu_switch(old, new) + * cpu_switch(old, new, mtx) * * Save the current thread state, then select the next thread to run * and load its state. * %rdi = oldtd * %rsi = newtd + * %rdx = mtx */ ENTRY(cpu_switch) /* Switch to new thread. First, save context. */ @@ -147,17 +144,33 @@ movq TD_PCB(%rsi),%r8 /* switch address space */ - movq PCB_CR3(%r8),%rdx + movq PCB_CR3(%r8),%rcx movq %cr3,%rax - cmpq %rdx,%rax /* Same address space? */ - je sw1 - movq %rdx,%cr3 /* new address space */ - + cmpq %rcx,%rax /* Same address space? */ + jne swinact + movq %rdx, TD_LOCK(%rdi) /* Release the old thread */ + /* Wait for the new thread to become unblocked */ + movq $blocked_lock, %rdx +1: + movq TD_LOCK(%rsi),%rcx + cmpq %rcx, %rdx + je 1b + jmp sw1 +swinact: + movq %rcx,%cr3 /* new address space */ movl PCPU(CPUID), %eax /* Release bit from old pmap->pm_active */ - movq TD_PROC(%rdi), %rdx /* oldproc */ - movq P_VMSPACE(%rdx), %rdx - LK btrl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* clear old */ + movq TD_PROC(%rdi), %rcx /* oldproc */ + movq P_VMSPACE(%rcx), %rcx + LK btrl %eax, VM_PMAP+PM_ACTIVE(%rcx) /* clear old */ + movq %rdx, TD_LOCK(%rdi) /* Release the old thread */ +swact: + /* Wait for the new thread to become unblocked */ + movq $blocked_lock, %rdx +1: + movq TD_LOCK(%rsi),%rcx + cmpq %rcx, %rdx + je 1b /* Set bit in new pmap->pm_active */ movq TD_PROC(%rsi),%rdx /* newproc */ @@ -190,9 +203,7 @@ movq %rbx, (%rax) movq %rbx, PCPU(RSP0) - movl TD_TID(%rsi), %eax movq %r8, PCPU(CURPCB) - movl %eax, PCPU(CURTID) movq %rsi, PCPU(CURTHREAD) /* into next thread */ testl $PCB_32BIT,PCB_FLAGS(%r8) ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.161 2007/03/30 00:06:20 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.163 2007/06/06 07:35:07 davidxu Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -76,6 +76,7 @@ ASSYM(PM_ACTIVE, offsetof(struct pmap, pm_active)); ASSYM(P_SFLAG, offsetof(struct proc, p_sflag)); +ASSYM(TD_LOCK, offsetof(struct thread, td_lock)); ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); ASSYM(TD_PROC, offsetof(struct thread, td_proc)); @@ -193,7 +194,6 @@ ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap)); ASSYM(PC_TSSP, offsetof(struct pcpu, pc_tssp)); ASSYM(PC_RSP0, offsetof(struct pcpu, pc_rsp0)); -ASSYM(PC_CURTID, offsetof(struct pcpu, pc_curtid)); ASSYM(LA_VER, offsetof(struct LAPIC, version)); ASSYM(LA_TPR, offsetof(struct LAPIC, tpr)); ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/intr_machdep.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.33 2007/05/31 19:25:34 piso Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.34 2007/06/04 21:38:44 attilio Exp $ */ /* @@ -250,7 +250,7 @@ * processed too. */ (*isrc->is_count)++; - PCPU_LAZY_INC(cnt.v_intr); + PCPU_INC(cnt.v_intr); ie = isrc->is_event; @@ -321,7 +321,7 @@ * processed too. */ (*isrc->is_count)++; - PCPU_LAZY_INC(cnt.v_intr); + PCPU_INC(cnt.v_intr); ie = isrc->is_event; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/io_apic.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.30 2007/05/08 21:29:12 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.31 2007/06/05 18:57:48 jhb Exp $"); #include "opt_isa.h" @@ -492,7 +492,7 @@ intbase = next_ioapic_base; printf("ioapic%u: Assuming intbase of %d\n", io->io_id, intbase); - } else if (intbase != next_ioapic_base) + } else if (intbase != next_ioapic_base && bootverbose) printf("ioapic%u: WARNING: intbase %d != expected base %d\n", io->io_id, intbase, next_ioapic_base); io->io_intbase = intbase; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/machdep.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.672 2007/05/31 22:52:10 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.675 2007/06/06 07:35:07 davidxu Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -163,7 +163,13 @@ long Maxmem = 0; long realmem = 0; -#define PHYSMAP_SIZE (2 * 30) +/* + * The number of PHYSMAP entries must be one less than the number of + * PHYSSEG entries because the PHYSMAP entry that spans the largest + * physical address that is accessible by ISA DMA is split into two + * PHYSSEG entries. + */ +#define PHYSMAP_SIZE (2 * (VM_PHYSSEG_MAX - 1)) vm_paddr_t phys_avail[PHYSMAP_SIZE + 2]; vm_paddr_t dump_avail[PHYSMAP_SIZE + 2]; @@ -460,9 +466,9 @@ #ifdef SMP /* Schedule ourselves on the indicated cpu. */ - mtx_lock_spin(&sched_lock); + thread_lock(curthread); sched_bind(curthread, cpu_id); - mtx_unlock_spin(&sched_lock); + thread_unlock(curthread); #endif /* Calibrate by measuring a short delay. */ @@ -473,9 +479,9 @@ intr_restore(reg); #ifdef SMP - mtx_lock_spin(&sched_lock); + thread_lock(curthread); sched_unbind(curthread); - mtx_unlock_spin(&sched_lock); + thread_unlock(curthread); #endif /* @@ -1173,7 +1179,6 @@ PCPU_SET(prvspace, pc); PCPU_SET(curthread, &thread0); PCPU_SET(curpcb, thread0.td_pcb); - PCPU_SET(curtid, thread0.td_tid); PCPU_SET(tssp, &common_tss[0]); /* ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/mp_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.285 2007/05/19 05:03:59 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.286 2007/06/04 23:56:07 jeff Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -46,6 +46,7 @@ #include #include #include +#include #include #include @@ -590,26 +591,8 @@ while (smp_started == 0) ia32_pause(); - /* ok, now grab sched_lock and enter the scheduler */ - mtx_lock_spin(&sched_lock); + sched_throw(NULL); - /* - * Correct spinlock nesting. The idle thread context that we are - * borrowing was created so that it would start out with a single - * spin lock (sched_lock) held in fork_trampoline(). Since we've - * explicitly acquired locks in this function, the nesting count - * is now 2 rather than 1. Since we are nested, calling - * spinlock_exit() will simply adjust the counts without allowing - * spin lock using code to interrupt us. - */ - spinlock_exit(); - KASSERT(curthread->td_md.md_spinlock_count == 1, ("invalid count")); - - PCPU_SET(switchtime, cpu_ticks()); - PCPU_SET(switchticks, ticks); - - cpu_throw(NULL, choosethread()); /* doesn't return */ - panic("scheduler returned us to %s", __func__); /* NOTREACHED */ } @@ -988,12 +971,12 @@ if (ipi_bitmap & (1 << IPI_PREEMPT)) { struct thread *running_thread = curthread; - mtx_lock_spin(&sched_lock); + thread_lock(running_thread); if (running_thread->td_critnest > 1) running_thread->td_owepreempt = 1; else mi_switch(SW_INVOL | SW_PREEMPT, NULL); - mtx_unlock_spin(&sched_lock); + thread_unlock(running_thread); } /* Nothing to do for AST */ @@ -1177,11 +1160,9 @@ if (mp_ncpus == 1) return; - mtx_lock_spin(&sched_lock); atomic_store_rel_int(&aps_ready, 1); while (smp_started == 0) ia32_pause(); - mtx_unlock_spin(&sched_lock); } SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_FIRST, release_aps, NULL); ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/mp_watchdog.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/mp_watchdog.c,v 1.4 2005/02/28 08:55:53 pjd Exp $ + * $FreeBSD: src/sys/amd64/amd64/mp_watchdog.c,v 1.5 2007/06/04 23:56:33 jeff Exp $ */ #include "opt_mp_watchdog.h" @@ -105,9 +105,7 @@ * locks to make sure. Then reset the timer. */ mtx_lock(&Giant); - mtx_lock_spin(&sched_lock); watchdog_timer = WATCHDOG_THRESHOLD; - mtx_unlock_spin(&sched_lock); mtx_unlock(&Giant); callout_reset(&watchdog_callout, 1 * hz, watchdog_function, NULL); } @@ -156,34 +154,6 @@ sysctl_watchdog, "I", ""); /* - * A badly behaved sysctl that leaks the sched lock when written to. Then >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jun 13 22:23:02 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7177D16A46B; Wed, 13 Jun 2007 22:23:02 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 229E116A468 for ; Wed, 13 Jun 2007 22:23:02 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 10F2D13C4BA for ; Wed, 13 Jun 2007 22:23:02 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5DMN0On019319 for ; Wed, 13 Jun 2007 22:23:00 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5DMN0P6019296 for perforce@freebsd.org; Wed, 13 Jun 2007 22:23:00 GMT (envelope-from lulf@FreeBSD.org) Date: Wed, 13 Jun 2007 22:23:00 GMT Message-Id: <200706132223.l5DMN0P6019296@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121604 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jun 2007 22:23:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=121604 Change 121604 by lulf@lulf_carrot on 2007/06/13 22:21:59 - Integrate. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/Makefile#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#8 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.amd64#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.i386#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.pc98#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.sparc64#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.sun4v#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options.arm#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/PAE#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/busdma_machdep.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/trap.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/include/kdb.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/init_main.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_acct.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_clock.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exec.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exit.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_fork.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kse.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_ktrace.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mutex.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_priv.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_proc.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_prot.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_resource.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sig.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_switch.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sysctl.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_thread.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_time.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_ule.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_acl_posix1e.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_witness.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sysv_ipc.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sysv_msg.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/tty.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_mqueue.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_aio.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_bio.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_subr.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_syscalls.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/modules/Makefile#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/mbuf.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/param.h#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/priv.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/proc.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/resourcevar.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/sched.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/socket.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/systm.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/vmmeter.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_contig.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_object.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_page.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageout.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageq.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_phys.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_phys.h#1 branch Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.5 (Berkeley) 3/31/94 -# $FreeBSD: src/sbin/Makefile,v 1.165 2007/01/23 09:18:25 rodrigc Exp $ +# $FreeBSD: src/sbin/Makefile,v 1.166 2007/06/12 21:31:39 phk Exp $ .include @@ -73,6 +73,7 @@ quotacheck \ rcorder \ reboot \ + recoverdisk \ restore \ route \ routed \ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1428 2007/06/05 00:12:36 jeff Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1430 2007/06/11 03:36:48 sam Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -226,11 +226,6 @@ # and WITNESS options. options MUTEX_NOINLINE -# MUTEX_WAKE_ALL changes the mutex unlock algorithm to wake all waiters -# when a contested mutex is released rather than just awaking the highest -# priority waiter. -options MUTEX_WAKE_ALL - # RWLOCK_NOINLINE forces rwlock operations to call functions to perform each # operation rather than inlining the simple cases. This can be used to # shrink the size of the kernel text segment. Note that this behavior is @@ -791,6 +786,8 @@ device wlan_xauth #802.11 external authenticator support device wlan_acl #802.11 MAC ACL support device wlan_amrr #AMRR transmit rate control algorithm +device wlan_scan_ap #802.11 AP mode scanning +device wlan_scan_sta #802.11 STA mode scanning device token #Generic TokenRing device fddi #Generic FDDI device arcnet #Generic Arcnet ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1214 2007/06/05 00:12:36 jeff Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1217 2007/06/12 16:24:54 bms Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -768,6 +768,7 @@ # XXX only xl cards? dev/mii/exphy.c optional miibus | exphy dev/mii/gentbi.c optional miibus | gentbi +dev/mii/icsphy.c optional miibus | icsphy # XXX only fxp cards? dev/mii/inphy.c optional miibus | inphy dev/mii/ip1000phy.c optional miibus | ip1000phy @@ -1612,11 +1613,17 @@ net80211/ieee80211_crypto_tkip.c optional wlan_tkip net80211/ieee80211_crypto_wep.c optional wlan_wep net80211/ieee80211_freebsd.c optional wlan +net80211/ieee80211_ht.c optional wlan net80211/ieee80211_input.c optional wlan net80211/ieee80211_ioctl.c optional wlan net80211/ieee80211_node.c optional wlan net80211/ieee80211_output.c optional wlan +net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan +net80211/ieee80211_regdomain.c optional wlan +net80211/ieee80211_scan.c optional wlan +net80211/ieee80211_scan_ap.c optional wlan_scan_ap +net80211/ieee80211_scan_sta.c optional wlan_scan_sta net80211/ieee80211_xauth.c optional wlan_xauth netatalk/aarp.c optional netatalk netatalk/at_control.c optional netatalk @@ -1794,6 +1801,7 @@ netinet/in_gif.c optional gif inet netinet/ip_gre.c optional gre inet netinet/ip_id.c optional inet +netinet/in_mcast.c optional inet netinet/in_pcb.c optional inet netinet/in_proto.c optional inet \ compile-with "${NORMAL_C} -I$S/contrib/pf" ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.amd64#3 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.103 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.104 2007/06/11 00:38:05 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -199,10 +199,6 @@ dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_amd64.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_mbr.c standard -geom/geom_mbr_enc.c standard isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/link_elf_obj.c standard ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.i386#3 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.576 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.577 2007/06/11 00:38:05 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -231,10 +231,6 @@ dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_i386.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_mbr.c standard -geom/geom_mbr_enc.c standard dev/acpica/acpi_if.m standard i386/acpica/OsdEnvironment.c optional acpi i386/acpica/acpi_machdep.c optional acpi ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.pc98#3 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801/PC-9821 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.354 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.355 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -137,10 +137,6 @@ dev/speaker/spkr.c optional speaker dev/syscons/apm/apm_saver.c optional apm_saver apm dev/uart/uart_cpu_pc98.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_pc98.c standard -geom/geom_pc98_enc.c standard i386/bios/apm.c optional apm #i386/i386/apic_vector.s optional apic i386/i386/atomic.c standard \ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.sparc64#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sparc64,v 1.88 2007/03/07 21:13:49 marius Exp $ +# $FreeBSD: src/sys/conf/files.sparc64,v 1.89 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -67,10 +67,6 @@ dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_sparc64.c optional uart dev/uart/uart_kbd_sun.c optional uart sc -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_sunlabel.c standard -geom/geom_sunlabel_enc.c standard kern/syscalls.c optional ktr libkern/ffs.c standard libkern/ffsl.c standard ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.sun4v#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sun4v,v 1.8 2006/12/18 07:26:35 kmacy Exp $ +# $FreeBSD: src/sys/conf/files.sun4v,v 1.9 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -28,10 +28,6 @@ dev/ofw/openfirmio.c standard dev/ofw/openpromio.c standard dev/uart/uart_cpu_sparc64.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_sunlabel.c standard -geom/geom_sunlabel_enc.c standard kern/syscalls.c optional ktr libkern/ffs.c standard libkern/ffsl.c standard ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.590 2007/06/05 00:12:36 jeff Exp $ +# $FreeBSD: src/sys/conf/options,v 1.591 2007/06/08 21:36:52 attilio Exp $ # # On the handling of kernel options # @@ -123,7 +123,6 @@ MFI_DECODE_LOG opt_mfi.h MPROF_BUFFERS opt_mprof.h MPROF_HASH_SIZE opt_mprof.h -MUTEX_WAKE_ALL NO_ADAPTIVE_MUTEXES opt_adaptive_mutexes.h NO_ADAPTIVE_RWLOCKS NSWBUF_MIN opt_swap.h ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options.arm#2 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD: src/sys/conf/options.arm,v 1.16 2007/02/19 01:03:07 cognet Exp $ +#$FreeBSD: src/sys/conf/options.arm,v 1.17 2007/06/11 21:31:13 cognet Exp $ ARM9_CACHE_WRITE_THROUGH opt_global.h ARM_CACHE_LOCK_ENABLE opt_global.h ARMFPE opt_global.h @@ -8,8 +8,9 @@ CPU_SA1100 opt_global.h CPU_SA1110 opt_global.h CPU_ARM9 opt_global.h +CPU_XSCALE_80219 opt_global.h CPU_XSCALE_80321 opt_global.h -CPU_XSCALE_80219 opt_global.h +CPU_XSCALE_81342 opt_global.h CPU_XSCALE_IXP425 opt_global.h FLASHADDR opt_global.h KERNPHYSADDR opt_global.h ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/i386 # -# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.9 2006/11/04 23:50:12 jb Exp $ +# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.10 2007/06/11 00:38:06 marcel Exp $ machine i386 @@ -19,5 +19,9 @@ # UART chips on this platform device uart_ns8250 +# Default partitioning schemes +options GEOM_BSD +options GEOM_MBR + # KSE support went from being default to a kernel option options KSE ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/GENERIC#4 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.468 2007/05/28 14:38:42 simokawa Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.471 2007/06/12 02:24:30 yongari Exp $ cpu I486_CPU cpu I586_CPU @@ -60,6 +60,7 @@ options KBD_INSTALL_CDEV # install a CDEV entry in /dev options ADAPTIVE_GIANT # Giant mutex is adaptive. options STOP_NMI # Stop CPUS using NMI instead of IPI +options AUDIT # Security event auditing # Debugging for use in -current options KDB # Enable kernel debugger support. @@ -210,8 +211,9 @@ device fxp # Intel EtherExpress PRO/100B (82557, 82558) device lge # Level 1 LXT1001 gigabit Ethernet device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet +device nfe # nVidia nForce MCP on-board Ethernet device nge # NatSemi DP83820 gigabit Ethernet -device nve # nVidia nForce MCP on-board Ethernet Networking +#device nve # nVidia nForce MCP on-board Ethernet Networking device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 @@ -245,6 +247,8 @@ device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm +device wlan_scan_ap # 802.11 AP mode scanning +device wlan_scan_sta # 802.11 STA mode scanning device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/PAE#3 (text+ko) ==== @@ -1,7 +1,7 @@ # # PAE -- Generic kernel configuration file for FreeBSD/i386 PAE # -# $FreeBSD: src/sys/i386/conf/PAE,v 1.24 2007/05/07 02:06:03 kevlo Exp $ +# $FreeBSD: src/sys/i386/conf/PAE,v 1.25 2007/06/11 19:29:42 thompsa Exp $ include GENERIC @@ -80,6 +80,8 @@ nodevice wlan_ccmp # 802.11 CCMP support nodevice wlan_tkip # 802.11 TKIP support nodevice wlan_amrr # AMRR transmit rate control algorithm +nodevice wlan_scan_ap # 802.11 AP mode scanning +nodevice wlan_scan_sta # 802.11 STA mode scanning nodevice an nodevice ath # Atheros pci/cardbus NIC's nodevice ath_hal # Atheros HAL (Hardware Access Layer) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/busdma_machdep.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.88 2007/05/29 06:30:25 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.89 2007/06/11 17:57:24 mjacob Exp $"); #include #include @@ -225,6 +225,10 @@ if (boundary != 0 && boundary < maxsegsz) maxsegsz = boundary; + if (maxsegsz == 0) { + return (EINVAL); + } + /* Return a NULL tag on failure */ *dmat = NULL; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/trap.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.304 2007/06/04 21:38:46 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.305 2007/06/10 21:59:13 attilio Exp $"); /* * 386 Trap and System call handling @@ -921,10 +921,6 @@ u_int code; ksiginfo_t ksi; - /* - * note: PCPU_INC() can only be used if we can afford - * occassional inaccuracy in the count. - */ PCPU_INC(cnt.v_syscall); #ifdef DIAGNOSTIC ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/include/kdb.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/include/kdb.h,v 1.3 2006/04/03 22:51:47 marcel Exp $ + * $FreeBSD: src/sys/i386/include/kdb.h,v 1.4 2007/06/09 21:55:17 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -47,6 +47,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/init_main.c#4 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.280 2007/06/08 11:47:36 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.282 2007/06/10 00:28:41 attilio Exp $"); #include "opt_ddb.h" #include "opt_init_path.h" @@ -500,6 +500,7 @@ { struct timespec ts; struct proc *p; + struct rusage ru; /* * Now we can look at the time, having had a chance to verify the @@ -508,7 +509,13 @@ sx_slock(&allproc_lock); FOREACH_PROC_IN_SYSTEM(p) { microuptime(&p->p_stats->p_start); + PROC_SLOCK(p); + rufetch(p, &ru); /* Clears thread stats */ + PROC_SUNLOCK(p); p->p_rux.rux_runtime = 0; + p->p_rux.rux_uticks = 0; + p->p_rux.rux_sticks = 0; + p->p_rux.rux_iticks = 0; } sx_sunlock(&allproc_lock); PCPU_SET(switchtime, cpu_ticks()); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_acct.c#4 (text+ko) ==== @@ -68,7 +68,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_acct.c,v 1.92 2007/06/05 00:00:53 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_acct.c,v 1.93 2007/06/09 21:48:44 attilio Exp $"); #include "opt_mac.h" @@ -370,8 +370,7 @@ bcopy(p->p_comm, acct.ac_comm, sizeof acct.ac_comm); /* (2) The amount of user and system time that was used */ - rufetch(p, &ru); - calcru(p, &ut, &st); + rufetchcalc(p, &ru, &ut, &st); acct.ac_utime = encode_timeval(ut); acct.ac_stime = encode_timeval(st); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_clock.c#5 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_clock.c,v 1.200 2007/06/04 23:53:06 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_clock.c,v 1.201 2007/06/09 19:41:13 attilio Exp $"); #include "opt_kdb.h" #include "opt_device_polling.h" @@ -85,7 +85,7 @@ long cp_time[CPUSTATES]; /* Spin-lock protecting profiling statistics. */ -struct mtx time_lock; +static struct mtx time_lock; static int sysctl_kern_cp_time(SYSCTL_HANDLER_ARGS) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exec.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.304 2007/05/31 11:51:51 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.305 2007/06/12 00:11:59 rwatson Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_ktrace.h" @@ -567,8 +567,7 @@ #ifdef KTRACE if (p->p_tracevp != NULL && - priv_check_cred(oldcred, PRIV_DEBUG_DIFFCRED, - SUSER_ALLOWJAIL)) { + priv_check_cred(oldcred, PRIV_DEBUG_DIFFCRED, 0)) { mtx_lock(&ktrace_mtx); p->p_traceflag = 0; tracevp = p->p_tracevp; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exit.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.301 2007/06/07 22:27:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.303 2007/06/09 21:48:44 attilio Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -116,7 +116,6 @@ struct ucred *tracecred; #endif struct plimit *plim; - struct rusage *ru; int locked; /* @@ -233,8 +232,6 @@ */ EVENTHANDLER_INVOKE(process_exit, p); - MALLOC(ru, struct rusage *, sizeof(struct rusage), - M_ZOMBIE, M_WAITOK); /* * If parent is waiting for us to exit or exec, * P_PPWAIT is set; we will wakeup the parent below. @@ -447,16 +444,6 @@ p->p_xstat = rv; p->p_xthread = td; /* - * All statistics have been aggregated into the final td_ru by - * thread_exit(). Copy these into the proc here where wait*() - * can find them. - * XXX We will miss any statistics gathered between here and - * thread_exit() except for those related to clock ticks. - */ - *ru = td->td_ru; - ru->ru_nvcsw++; - p->p_ru = ru; - /* * Notify interested parties of our demise. */ KNOTE_LOCKED(&p->p_klist, NOTE_EXIT); @@ -537,6 +524,11 @@ knlist_destroy(&p->p_klist); /* + * Save our children's rusage information in our exit rusage. + */ + ruadd(&p->p_ru, &p->p_rux, &p->p_stats->p_cru, &p->p_crux); + + /* * Make sure the scheduler takes this thread out of its tables etc. * This will also release this thread's reference to the ucred. * Other thread parts to release include pcb bits and such. @@ -711,30 +703,16 @@ } nfound++; + PROC_SLOCK(p); if (p->p_state == PRS_ZOMBIE) { - - /* - * It is possible that the last thread of this - * process is still running on another CPU - * in thread_exit() after having dropped the process - * lock via PROC_UNLOCK() but before it has completed - * cpu_throw(). In that case, the other thread must - * still hold the proc slock, so simply by acquiring - * proc slock once we will wait long enough for the - * thread to exit in that case. - * XXX This is questionable. - */ - PROC_SLOCK(p); + if (rusage) { + *rusage = p->p_ru; + calcru(p, &rusage->ru_utime, &rusage->ru_stime); + } PROC_SUNLOCK(p); - td->td_retval[0] = p->p_pid; if (status) *status = p->p_xstat; /* convert to int */ - if (rusage) { - *rusage = *p->p_ru; - calcru(p, &rusage->ru_utime, &rusage->ru_stime); - } - PROC_LOCK(q); sigqueue_take(p->p_ksi); PROC_UNLOCK(q); @@ -776,11 +754,9 @@ p->p_xstat = 0; /* XXX: why? */ PROC_UNLOCK(p); PROC_LOCK(q); - ruadd(&q->p_stats->p_cru, &q->p_crux, p->p_ru, + ruadd(&q->p_stats->p_cru, &q->p_crux, &p->p_ru, &p->p_rux); PROC_UNLOCK(q); - FREE(p->p_ru, M_ZOMBIE); - p->p_ru = NULL; /* * Decrement the count of procs running with this uid. @@ -819,7 +795,6 @@ sx_xunlock(&allproc_lock); return (0); } - PROC_SLOCK(p); if ((p->p_flag & P_STOPPED_SIG) && (p->p_suspcount == p->p_numthreads) && (p->p_flag & P_WAITED) == 0 && ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_fork.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.276 2007/06/07 22:27:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.279 2007/06/12 07:47:09 jeff Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -306,8 +306,7 @@ * * XXXRW: Can we avoid privilege here if it's not needed? */ - error = priv_check_cred(td->td_ucred, PRIV_PROC_LIMIT, SUSER_RUID | - SUSER_ALLOWJAIL); + error = priv_check_cred(td->td_ucred, PRIV_PROC_LIMIT, SUSER_RUID); if (error == 0) ok = chgproccnt(td->td_ucred->cr_ruidinfo, 1, 0); else { @@ -658,20 +657,20 @@ vm_forkproc(td, p2, td2, flags); if (flags == (RFFDG | RFPROC)) { - atomic_add_int(&cnt.v_forks, 1); - atomic_add_int(&cnt.v_forkpages, p2->p_vmspace->vm_dsize + + PCPU_INC(cnt.v_forks); + PCPU_ADD(cnt.v_forkpages, p2->p_vmspace->vm_dsize + p2->p_vmspace->vm_ssize); } else if (flags == (RFFDG | RFPROC | RFPPWAIT | RFMEM)) { - atomic_add_int(&cnt.v_vforks, 1); - atomic_add_int(&cnt.v_vforkpages, p2->p_vmspace->vm_dsize + + PCPU_INC(cnt.v_vforks); + PCPU_ADD(cnt.v_vforkpages, p2->p_vmspace->vm_dsize + p2->p_vmspace->vm_ssize); } else if (p1 == &proc0) { - atomic_add_int(&cnt.v_kthreads, 1); - atomic_add_int(&cnt.v_kthreadpages, p2->p_vmspace->vm_dsize + + PCPU_INC(cnt.v_kthreads); + PCPU_ADD(cnt.v_kthreadpages, p2->p_vmspace->vm_dsize + p2->p_vmspace->vm_ssize); } else { - atomic_add_int(&cnt.v_rforks, 1); - atomic_add_int(&cnt.v_rforkpages, p2->p_vmspace->vm_dsize + + PCPU_INC(cnt.v_rforks); + PCPU_ADD(cnt.v_rforkpages, p2->p_vmspace->vm_dsize + p2->p_vmspace->vm_ssize); } @@ -769,6 +768,7 @@ { struct proc *p; struct thread *td; + struct thread *dtd; td = curthread; p = td->td_proc; @@ -779,6 +779,17 @@ sched_fork_exit(td); /* + * Processes normally resume in mi_switch() after being + * cpu_switch()'ed to, but when children start up they arrive here + * instead, so we must do much the same things as mi_switch() would. + */ + if ((dtd = PCPU_GET(deadthread))) { + PCPU_SET(deadthread, NULL); + thread_stash(dtd); + } + thread_unlock(td); + + /* * cpu_set_fork_handler intercepts this function call to * have this call a non-return function to stay in kernel mode. * initproc has its own fork handler, but it does return. ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kse.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.230 2007/06/04 23:54:27 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.231 2007/06/12 19:49:39 jeff Exp $"); #include #include @@ -65,6 +65,13 @@ static int thread_update_usr_ticks(struct thread *td); static void thread_alloc_spare(struct thread *td); +static struct thread *thread_schedule_upcall(struct thread *td, struct kse_upcall *ku); +static struct kse_upcall *upcall_alloc(void); +static void upcall_free(struct kse_upcall *ku); +static void upcall_link(struct kse_upcall *ku, struct proc *p); +static void upcall_unlink(struct kse_upcall *ku); +static void upcall_stash(struct kse_upcall *ke); + struct mtx kse_lock; MTX_SYSINIT(kse_lock, &kse_lock, "kse lock", MTX_SPIN); @@ -138,6 +145,7 @@ mtx_lock_spin(&kse_lock); thread_unlink(td); mtx_unlock_spin(&kse_lock); + upcall_remove(td); } #endif @@ -1293,7 +1301,6 @@ max_threads_hits++; PROC_LOCK(p); PROC_SLOCK(p); - p->p_maxthrwaits++; while (p->p_numthreads > max_threads_per_proc) { if (p->p_numupcalls >= max_threads_per_proc) break; @@ -1306,7 +1313,6 @@ PROC_SLOCK(p); } } - p->p_maxthrwaits--; PROC_SUNLOCK(p); PROC_UNLOCK(p); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_ktrace.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_ktrace.c,v 1.118 2007/05/31 11:51:51 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_ktrace.c,v 1.119 2007/06/12 00:11:59 rwatson Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -793,8 +793,7 @@ p->p_tracecred = crhold(td->td_ucred); } p->p_traceflag |= facs; - if (priv_check_cred(td->td_ucred, PRIV_KTRACE, - SUSER_ALLOWJAIL) == 0) + if (priv_check(td, PRIV_KTRACE) == 0) p->p_traceflag |= KTRFAC_ROOT; } else { /* KTROP_CLEAR */ @@ -1000,7 +999,7 @@ PROC_LOCK_ASSERT(targetp, MA_OWNED); if (targetp->p_traceflag & KTRFAC_ROOT && - priv_check_cred(td->td_ucred, PRIV_KTRACE, SUSER_ALLOWJAIL)) + priv_check(td, PRIV_KTRACE)) return (0); if (p_candebug(td, targetp) != 0) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mutex.c#5 (text+ko) ==== @@ -34,12 +34,11 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.194 2007/06/06 03:40:46 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.196 2007/06/09 18:09:37 mjacob Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" #include "opt_global.h" -#include "opt_mutex_wake_all.h" #include "opt_sched.h" #include @@ -72,15 +71,6 @@ #include #include -/* - * Force MUTEX_WAKE_ALL for now. - * single thread wakeup needs fixes to avoid race conditions with - * priority inheritance. - */ -#ifndef MUTEX_WAKE_ALL -#define MUTEX_WAKE_ALL -#endif - #if defined(SMP) && !defined(NO_ADAPTIVE_MUTEXES) #define ADAPTIVE_MUTEXES #endif @@ -349,21 +339,7 @@ continue; } -#ifdef MUTEX_WAKE_ALL MPASS(v != MTX_CONTESTED); -#else - /* - * The mutex was marked contested on release. This means that - * there are other threads blocked on it. Grab ownership of - * it and propagate its priority to the current thread if - * necessary. - */ - if (v == MTX_CONTESTED) { - m->mtx_lock = tid | MTX_CONTESTED; - turnstile_claim(ts); - break; - } -#endif /* * If the mutex isn't already contested and a failure occurs @@ -554,7 +530,7 @@ { mtx_assert(new, MA_OWNED); MPASS(td->td_lock == &blocked_lock); - atomic_store_rel_ptr((void *)&td->td_lock, (uintptr_t)new); + atomic_store_rel_ptr((volatile void *)&td->td_lock, (uintptr_t)new); spinlock_exit(); } @@ -609,21 +585,8 @@ #else MPASS(ts != NULL); #endif -#ifdef MUTEX_WAKE_ALL turnstile_broadcast(ts, TS_EXCLUSIVE_QUEUE); _release_lock_quick(m); -#else - if (turnstile_signal(ts, TS_EXCLUSIVE_QUEUE)) { - _release_lock_quick(m); - if (LOCK_LOG_TEST(&m->lock_object, opts)) - CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p not held", m); - } else { - m->mtx_lock = MTX_CONTESTED; - if (LOCK_LOG_TEST(&m->lock_object, opts)) - CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p still contested", - m); - } -#endif /* * This turnstile is now no longer associated with the mutex. We can * unlock the chain lock so a new turnstile may take it's place. ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_priv.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/kern/kern_priv.c,v 1.1 2006/11/06 13:37:17 rwatson Exp $ + * $FreeBSD: src/sys/kern/kern_priv.c,v 1.2 2007/06/12 00:11:59 rwatson Exp $ */ #include "opt_mac.h" @@ -77,18 +77,8 @@ /* * Jail policy will restrict certain privileges that may otherwise be * be granted. - * - * While debugging the transition from SUSER_ALLOWJAIL to Jail being - * aware of specific privileges, perform run-time checking that the - * two versions of the policy align. This assertion will go away - * once the SUSER_ALLOWJAIL flag has gone away. */ error = prison_priv_check(cred, priv); -#ifdef NOTYET - KASSERT(!jailed(cred) || error == ((flags & SUSER_ALLOWJAIL) ? 0 : - EPERM), ("priv_check_cred: prison_priv_check %d but flags %s", - error, flags & SUSER_ALLOWJAIL ? "allowjail" : "!allowjail")); -#endif if (error) return (error); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_proc.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.249 2007/06/05 00:00:54 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.250 2007/06/09 21:48:44 attilio Exp $"); #include "opt_ktrace.h" #include "opt_kstack_pages.h" @@ -700,7 +700,9 @@ if ((p->p_sflag & PS_INMEM) && p->p_stats != NULL) { kp->ki_start = p->p_stats->p_start; timevaladd(&kp->ki_start, &boottime); + PROC_SLOCK(p); calcru(p, &kp->ki_rusage.ru_utime, &kp->ki_rusage.ru_stime); + PROC_SUNLOCK(p); calccru(p, &kp->ki_childutime, &kp->ki_childstime); /* Some callers want child-times in a single value */ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_prot.c#3 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_prot.c,v 1.210 2007/06/07 22:27:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_prot.c,v 1.211 2007/06/12 00:11:59 rwatson Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -511,8 +511,7 @@ #ifdef POSIX_APPENDIX_B_4_2_2 /* Use BSD-compat clause from B.4.2.2 */ uid != oldcred->cr_uid && /* allow setuid(geteuid()) */ #endif - (error = priv_check_cred(oldcred, PRIV_CRED_SETUID, - SUSER_ALLOWJAIL)) != 0) + (error = priv_check_cred(oldcred, PRIV_CRED_SETUID, 0)) != 0) goto fail; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jun 13 22:30:10 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5BF4D16A469; Wed, 13 Jun 2007 22:30:10 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 169BB16A477 for ; Wed, 13 Jun 2007 22:30:10 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 04A6413C489 for ; Wed, 13 Jun 2007 22:30:10 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5DMU9Ri025976 for ; Wed, 13 Jun 2007 22:30:09 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5DMU9Ug025969 for perforce@freebsd.org; Wed, 13 Jun 2007 22:30:09 GMT (envelope-from lulf@FreeBSD.org) Date: Wed, 13 Jun 2007 22:30:09 GMT Message-Id: <200706132230.l5DMU9Ug025969@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121605 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jun 2007 22:30:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=121605 Change 121605 by lulf@lulf_carrot on 2007/06/13 22:29:57 - Integrate gv_sync routine to be able to sync a plex from another, like if you add another plex to create a mirror, you are now able to get this in sync with the original. What's missing is to delay write-requests while syncing. - Modify gv_sync to operate the same way as rebuild etc: Send down a read BIO, and when it is done, send down the write BIO to the one stored as the receiver (use bio_caller2 for that, but I need to make sure later that RAID5 mirrors are not affected by this). gv_sync_request is used to send down new BIOs, while gv_sync_completed is called by gv_bio_done. - Set gv_done in rebuild/check in BIO to make sure it always return to the correct place. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#13 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#6 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#11 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#2 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#13 (text+ko) ==== @@ -109,7 +109,8 @@ void gv_plex_done(struct gv_plex *, struct bio *); void gv_bio_done(struct gv_softc *, struct bio *); void gv_cleanup(struct gv_softc *); - +int gv_sync_request(struct gv_plex *, struct gv_plex *, + off_t, off_t, int, caddr_t); void gv_create_drive(struct gv_softc *, struct gv_drive *); void gv_create_volume(struct gv_softc *, struct gv_volume *); void gv_create_plex(struct gv_softc *, struct gv_plex *); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#6 (text+ko) ==== @@ -118,8 +118,8 @@ error = 0; v = p->vol_sc; - if ((v != NULL) && (v->plexcount > 1)); -/* error = gv_sync(v);*/ + if ((v != NULL) && (v->plexcount > 1)) + error = gv_sync(v); else if (p->org == GV_PLEX_RAID5) { if (p->state == GV_PLEX_DEGRADED) error = gv_rebuild_plex(p); @@ -170,13 +170,14 @@ return (error); } +#endif static int gv_sync(struct gv_volume *v) { struct gv_softc *sc; struct gv_plex *p, *up; - struct gv_sync_args *sync; + int error; KASSERT(v != NULL, ("gv_sync: NULL v")); sc = v->vinumconf; @@ -193,6 +194,17 @@ if (up == NULL) return (ENXIO); + g_topology_lock(); + error = gv_access(v->provider, 1, 1, 0); + if (error) { + g_topology_unlock(); + printf("VINUM: sync from '%s' failed to access volume: %d\n", + up->name, error); + return (error); + } + g_topology_unlock(); + + /* Go through the good plex, and issue BIO's to all other plexes. */ LIST_FOREACH(p, &v->plexes, in_volume) { if ((p == up) || (p->state == GV_PLEX_UP)) continue; @@ -200,24 +212,23 @@ return (EINPROGRESS); } p->flags |= GV_PLEX_SYNCING; - sync = g_malloc(sizeof(*sync), M_WAITOK | M_ZERO); - sync->v = v; - sync->from = up; - sync->to = p; - sync->syncsize = GV_DFLT_SYNCSIZE; - kthread_create(gv_sync_td, sync, NULL, 0, 0, "gv_sync '%s'", - p->name); + printf("VINUM: starting sync of plex %s\n", p->name); + error = gv_sync_request(up, p, 0, GV_DFLT_SYNCSIZE, BIO_READ, + g_malloc(GV_DFLT_SYNCSIZE, M_WAITOK)); + if (error) { + printf("VINUM: error syncing plex %s\n", p->name); + break; + } } return (0); } -#endif static int gv_rebuild_plex(struct gv_plex *p) { -/* XXX: Is this safe? (Allows for mounted rebuild) +/* XXX: Is this safe? (Allows for mounted rebuild)*/ /* if (gv_provider_is_open(p->vol_sc->provider)) return (EBUSY);*/ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#11 (text+ko) ==== @@ -372,8 +372,9 @@ } else if (pbp->bio_cmd == BIO_WRITE && (pbp->bio_cflags & GV_BIO_REBUILD)) { gv_rebuild_completed(p, pbp); - } else + } else { g_io_deliver(pbp, pbp->bio_error); + } } /* Clean up what we allocated. */ @@ -498,7 +499,7 @@ g_topology_unlock(); bp->bio_cmd = BIO_WRITE; - bp->bio_done = NULL; + bp->bio_done = gv_done; bp->bio_error = 0; bp->bio_length = p->stripesize; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#2 (text+ko) ==== @@ -41,6 +41,8 @@ #include #include +static void gv_sync_completed(struct gv_plex *, struct bio *); + void gv_volume_start(struct gv_softc *sc, struct bio *bp) { @@ -127,11 +129,107 @@ pbp->bio_completed += bp->bio_completed; g_destroy_bio(bp); pbp->bio_inbed++; - if (pbp->bio_children == pbp->bio_inbed) - g_io_deliver(pbp, pbp->bio_error); + if (pbp->bio_children == pbp->bio_inbed) { + if (pbp->bio_cflags & GV_BIO_SYNCREQ) + gv_sync_completed(p, pbp); + else + g_io_deliver(pbp, pbp->bio_error); + } break; case GV_PLEX_RAID5: gv_plex_done(p, bp); break; } } + +/* + * Handle a finished plex sync bio. + */ +static void +gv_sync_completed(struct gv_plex *to, struct bio *bp) +{ + struct gv_plex *from, *p; + struct gv_volume *v; + int err; + + g_topology_assert_not(); + + from = bp->bio_caller2; + v = to->vol_sc; + + err = gv_sync_request(from, to, bp->bio_offset, bp->bio_length, + bp->bio_cmd, bp->bio_data); + if (err) { + if (bp->bio_cflags & GV_BIO_MALLOC) + g_free(bp->bio_data); + g_destroy_bio(bp); + return; + } + /* Free data if we're writing and destroy bio. */ + if (bp->bio_cmd == BIO_WRITE && bp->bio_cflags & GV_BIO_MALLOC) + g_free(bp->bio_data); + g_destroy_bio(bp); + + /* Check if all plexes are synced, and lower refcounts. */ + g_topology_lock(); + LIST_FOREACH(p, &v->plexes, in_volume) { + if (p->flags & GV_PLEX_SYNCING) + goto cleanup; + } + /* If we came here, all plexes are synced, and we're free. */ + gv_access(v->provider, -1, -1, 0); + printf("VINUM: plex sync completed\n"); +cleanup: + g_topology_unlock(); +} + +int +gv_sync_request(struct gv_plex *from, struct gv_plex *to, off_t offset, off_t + length, int type, caddr_t data) +{ + struct bio *bp; + + bp = g_new_bio(); + if (bp == NULL) { + printf("VINUM: sync from '%s' failed at offset " + " %jd; out of memory\n", from->name, offset); + return (ENOMEM); + } + bp->bio_length = length; + bp->bio_done = gv_done; + bp->bio_cflags |= GV_BIO_SYNCREQ; + bp->bio_offset = offset; + bp->bio_caller2 = to; /* Reverse the caller. */ + + /* If it was a read, write it to the destination. */ + if (type == BIO_READ) { + /*printf("We just read %s at %jd, and now write %s at %jd\n", + to->name, offset, from->name, offset);*/ + bp->bio_cmd = BIO_WRITE; + bp->bio_data = data; + /* If it was a write, read the next one. */ + } else if (type == BIO_WRITE) { + bp->bio_cmd = BIO_READ; + bp->bio_offset += bp->bio_length; + bp->bio_data = g_malloc(bp->bio_length, M_WAITOK); + bp->bio_cflags |= GV_BIO_MALLOC; + + /*printf("We just wrote %s at %jd, and now read %s at %jd\n", + to->name, bp->bio_offset, from->name, bp->bio_offset); + */ + /* If we're finished, clean up. */ + if (bp->bio_offset >= from->size) { + printf("VINUM: syncing of %s from %s completed\n", + to->name, from->name); + to->flags &= ~GV_PLEX_SYNCING; + return (0); + } + } + +/* printf("Sending next bio: "); + g_print_bio(bp); + printf("\n");*/ + /* Send down next. */ + gv_plex_start(from, bp); + return (0); +} From owner-p4-projects@FreeBSD.ORG Thu Jun 14 04:10:19 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 331D516A46F; Thu, 14 Jun 2007 04:10:19 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E1DE416A41F for ; Thu, 14 Jun 2007 04:10:18 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D042913C468 for ; Thu, 14 Jun 2007 04:10:18 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5E4AIHZ057969 for ; Thu, 14 Jun 2007 04:10:18 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5E4AI7u057962 for perforce@freebsd.org; Thu, 14 Jun 2007 04:10:18 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Thu, 14 Jun 2007 04:10:18 GMT Message-Id: <200706140410.l5E4AI7u057962@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 121612 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jun 2007 04:10:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=121612 Change 121612 by zhouzhouyi@zhouzhouyi_mactest on 2007/06/14 04:09:46 Special handling in mac_test_check_vnode_read and so on to avoid recursing in read /dev/mactestpipe Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#6 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#4 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#6 (text+ko) ==== @@ -61,6 +61,7 @@ #include #include #include +#include #include #include @@ -667,19 +668,37 @@ struct devfs_dirent *de, struct label *delabel, struct vnode *vp, struct label *vplabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_associate_vnode_devfs with mplabel delabel and vplabel:", + strlen("mac_test_associate_vnode_devfs with mplabel delabel and vplabel:")); + MACTEST_PIPE_SUBMIT_LABEL3(vnode,mplabel,vnode,delabel,vnode,vplabel); + if (delabel != NULL && SLOT(delabel) == MAGIC_MACTESTPIPE) + LABEL_INIT(vplabel, MAGIC_MACTESTPIPE); LABEL_CHECK(mplabel, MAGIC_MOUNT); LABEL_CHECK(delabel, MAGIC_DEVFS); LABEL_CHECK(vplabel, MAGIC_VNODE); COUNTER_INC(associate_vnode_devfs); } - +/* + * To avoid recursion on reading /dev/mactestpipe to a tempory file + * we associate the file with "mac_test" mac_test extattr with + * MAGIC_MACTESTPIPE label + */ + COUNTER_DECL(associate_vnode_extattr); static int mac_test_associate_vnode_extattr(struct mount *mp, struct label *mplabel, struct vnode *vp, struct label *vplabel) { - + char mac_test[64]; + int error, buflen = 64; + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_associate_vnode_extattr with mplabel and vplabel:", + strlen("mac_test_associate_vnode_extattr with mplabel and vplabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(vnode,mplabel,vnode,vplabel); + bzero(mac_test,buflen); + error = vn_extattr_get(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, + "mac_test", &buflen, mac_test, curthread); + if (!error && !strncmp(mac_test,"mac_test", 8)) + LABEL_INIT(vplabel, MAGIC_MACTESTPIPE); LABEL_CHECK(mplabel, MAGIC_MOUNT); LABEL_CHECK(vplabel, MAGIC_VNODE); COUNTER_INC(associate_vnode_extattr); @@ -692,7 +711,9 @@ mac_test_associate_vnode_singlelabel(struct mount *mp, struct label *mplabel, struct vnode *vp, struct label *vplabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_associate_vnode_singlelabel with mplabel and vplabel:", + strlen("mac_test_associate_vnode_singlelabel with mplabel and vplabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(vnode,mplabel,vnode,vplabel); LABEL_CHECK(mplabel, MAGIC_MOUNT); LABEL_CHECK(vplabel, MAGIC_VNODE); COUNTER_INC(associate_vnode_singlelabel); @@ -703,7 +724,9 @@ mac_test_create_devfs_device(struct ucred *cred, struct mount *mp, struct cdev *dev, struct devfs_dirent *de, struct label *delabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_devfs_device with delabel:", + strlen("mac_test_create_devfs_device with delabel:")); + MACTEST_PIPE_SUBMIT_LABEL(vnode,delabel); if (cred != NULL) LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(delabel, MAGIC_DEVFS); @@ -726,7 +749,9 @@ struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, struct label *delabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_devfs_symlink with ddlabel and delabel:", + strlen("mac_test_create_devfs_symlink with ddlabel and delabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(vnode,ddlabel,vnode,delabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(ddlabel, MAGIC_DEVFS); LABEL_CHECK(delabel, MAGIC_DEVFS); @@ -739,7 +764,9 @@ struct label *mplabel, struct vnode *dvp, struct label *dvplabel, struct vnode *vp, struct label *vplabel, struct componentname *cnp) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_vnode_extattr with mplabel dvplabel and vplabel:", + strlen("mac_test_create_vnode_extattr with mplabel dvplabel and vplabel:")); + MACTEST_PIPE_SUBMIT_LABEL3(vnode,mplabel,vnode,dvplabel,vnode,vplabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(mplabel, MAGIC_MOUNT); LABEL_CHECK(dvplabel, MAGIC_VNODE); @@ -753,7 +780,9 @@ mac_test_create_mount(struct ucred *cred, struct mount *mp, struct label *mplabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_mount with mplabel:", + strlen("mac_test_create_mount with mplabel:")); + MACTEST_PIPE_SUBMIT_LABEL(vnode,mplabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(mplabel, MAGIC_MOUNT); COUNTER_INC(create_mount); @@ -764,7 +793,9 @@ mac_test_relabel_vnode(struct ucred *cred, struct vnode *vp, struct label *vplabel, struct label *label) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_relabel_vnode with vplabel and label:", + strlen("mac_test_relabel_vnode with vplabel and label:")); + MACTEST_PIPE_SUBMIT_LABEL2(vnode,vplabel,vnode,label); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(vplabel, MAGIC_VNODE); LABEL_CHECK(label, MAGIC_VNODE); @@ -776,7 +807,9 @@ mac_test_setlabel_vnode_extattr(struct ucred *cred, struct vnode *vp, struct label *vplabel, struct label *intlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_setlabel_vnode_extattr with vplabel and intlabel:", + strlen("mac_test_setlabel_vnode_extattr with vplabel and intlabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(vnode,vplabel,vnode,intlabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(vplabel, MAGIC_VNODE); LABEL_CHECK(intlabel, MAGIC_VNODE); @@ -1629,7 +1662,7 @@ mac_test_check_pipe_read(struct ucred *cred, struct pipepair *pp, struct label *pipelabel) { - + LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pipelabel, MAGIC_PIPE); COUNTER_INC(check_pipe_read); @@ -2326,6 +2359,12 @@ struct vnode *vp, struct label *vplabel) { + if (vplabel != NULL && SLOT(vplabel) != MAGIC_MACTESTPIPE){ + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_check_vnode_read with cred label and vplabel:", + strlen("mac_test_check_vnode_read with cred label and vplabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(cred,active_cred->cr_label,vnode,vplabel); + } + LABEL_CHECK(active_cred->cr_label, MAGIC_CRED); if (file_cred != NULL) LABEL_CHECK(file_cred->cr_label, MAGIC_CRED); ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#4 (text+ko) ==== @@ -19,19 +19,78 @@ char *buffer; \ char *elements1 = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ if (!elements1) \ + goto exit1; \ + strcpy(elements1, elements); \ + buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ + if (!buffer) \ goto exit; \ + MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ + strleng = strlen(buffer); \ + *(buffer + strleng) = '\n'; \ + mactest_pipe_submit(buffer, strleng + 1); \ + free(buffer, M_MACTEST_PIPE); \ +exit: \ + free(elements1, M_MACTEST_PIPE); \ +exit1: \ + ;/*extra ; to avoid label at the end of compound statement*/ \ +}while(0) + +#define MACTEST_PIPE_SUBMIT_LABEL2(type,label,type1,label1) do { \ + int error; \ + int strleng = 0; \ + char *buffer; \ + char *elements1 = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ + if (!elements1) \ + goto exit3; \ strcpy(elements1, elements); \ buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ if (!buffer) \ - goto exit1; \ + goto exit2; \ + MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ + strleng = strlen(buffer); \ + mactest_pipe_submit(buffer, strleng); \ + mactest_pipe_submit(" ", 1); \ + strcpy(elements1, elements); \ + MAC_EXTERNALIZE(type1,label1, elements1, buffer, 256); \ + strleng = strlen(buffer); \ + *(buffer + strleng) = '\n'; \ + mactest_pipe_submit(buffer, strleng + 1); \ + free(buffer, M_MACTEST_PIPE); \ +exit2: \ + free(elements1, M_MACTEST_PIPE); \ +exit3: \ + ;/*extra ; to avoid label at the end of compound statement*/ \ +}while(0) + +#define MACTEST_PIPE_SUBMIT_LABEL3(type,label,type1,label1,type2,label2) do { \ + int error; \ + int strleng = 0; \ + char *buffer; \ + char *elements1 = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ + if (!elements1) \ + goto exit5; \ + strcpy(elements1, elements); \ + buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ + if (!buffer) \ + goto exit4; \ MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ strleng = strlen(buffer); \ + mactest_pipe_submit(buffer, strleng); \ + mactest_pipe_submit(" ", 1); \ + strcpy(elements1, elements); \ + MAC_EXTERNALIZE(type1,label1, elements1, buffer, 256); \ + strleng = strlen(buffer); \ + mactest_pipe_submit(buffer, strleng); \ + mactest_pipe_submit(" ", 1); \ + strcpy(elements1, elements); \ + MAC_EXTERNALIZE(type2,label2, elements1, buffer, 256); \ + strleng = strlen(buffer); \ *(buffer + strleng) = '\n'; \ mactest_pipe_submit(buffer, strleng + 1); \ free(buffer, M_MACTEST_PIPE); \ -exit1: \ +exit4: \ free(elements1, M_MACTEST_PIPE); \ -exit: \ +exit5: \ ;/*extra ; to avoid label at the end of compound statement*/ \ }while(0) @@ -41,12 +100,12 @@ char *buffer; \ buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ if (!buffer) \ - goto exit2; \ + goto exit6; \ sprintf(buffer,"pid = %d ", td->td_proc->p_pid); \ mactest_pipe_submit(buffer, strlen(buffer)); \ mactest_pipe_submit(string, length); \ free(buffer, M_MACTEST_PIPE); \ -exit2: \ +exit6: \ ; \ }while(0) From owner-p4-projects@FreeBSD.ORG Thu Jun 14 14:26:39 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7957516A46E; Thu, 14 Jun 2007 14:26:39 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3AB3C16A46B for ; Thu, 14 Jun 2007 14:26:39 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2D79713C487 for ; Thu, 14 Jun 2007 14:26:39 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5EEQdFk051995 for ; Thu, 14 Jun 2007 14:26:39 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5EEQc6W051989 for perforce@freebsd.org; Thu, 14 Jun 2007 14:26:38 GMT (envelope-from lulf@FreeBSD.org) Date: Thu, 14 Jun 2007 14:26:38 GMT Message-Id: <200706141426.l5EEQc6W051989@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121631 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jun 2007 14:26:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=121631 Change 121631 by lulf@lulf_carrot on 2007/06/14 14:26:33 - Submit a temporarily hack to fix a problem where two or more plexes uses the same BIO. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#12 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#3 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#12 (text+ko) ==== ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#3 (text+ko) ==== @@ -112,6 +112,7 @@ struct gv_volume *v; struct gv_plex *p; struct gv_sd *s; + int numplex; s = bp->bio_caller1; KASSERT(s != NULL, ("gv_bio_done: NULL s")); @@ -132,8 +133,36 @@ if (pbp->bio_children == pbp->bio_inbed) { if (pbp->bio_cflags & GV_BIO_SYNCREQ) gv_sync_completed(p, pbp); - else + else { + /* + * If completed is a multiple of a number less + * than or equal to the plexcount, we can be + * sure that a write got through, and adjust + * bio_completed accordingly. + * + * A) We can be sure all plexes will have + * written the BIO, becaouse bio_children == + * bio_inbed which is "global" for all plexes + * since the same BIO was sent to all. + * B) If a plex fails to write totally, we get + * a wrong length/completed number which is + * lower than it should, and the error shouldn't + * really occur. + * + * XXX: This is sort of a hack, but I can't find + * any better way without cloning the initial + * BIO being sent down to all plexes in a mirror + * + * Actually, cloning the BIO would be + * preferable. + */ + numplex = pbp->bio_completed / pbp->bio_length; + if (numplex <= v->plexcount && + (pbp->bio_completed % pbp->bio_length) == 0) + pbp->bio_completed = + pbp->bio_completed / numplex; g_io_deliver(pbp, pbp->bio_error); + } } break; case GV_PLEX_RAID5: From owner-p4-projects@FreeBSD.ORG Thu Jun 14 15:33:03 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D66A116A46E; Thu, 14 Jun 2007 15:33:02 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 96BDF16A46C for ; Thu, 14 Jun 2007 15:33:02 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8861813C44B for ; Thu, 14 Jun 2007 15:33:02 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5EFX2Xf016339 for ; Thu, 14 Jun 2007 15:33:02 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5EFX16o016329 for perforce@freebsd.org; Thu, 14 Jun 2007 15:33:01 GMT (envelope-from jhb@freebsd.org) Date: Thu, 14 Jun 2007 15:33:01 GMT Message-Id: <200706141533.l5EFX16o016329@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 121634 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jun 2007 15:33:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=121634 Change 121634 by jhb@jhb_mutex on 2007/06/14 15:32:32 Fix various ktrace bogons: - Don't let users enable ktrace on exiting processes. Otherwise, tracing could be enabled on an exiting process after it has done ktrprocexit() and we'd never teardown the state or drop the references on the ucred or vnode. - When clearing ktrace from a process, stash any pending events on a local queue so we can free them. Otherwise we might leak memory and ktrace request objects. In theory we might should drain the requests first, but since we don't store vnode and cred state in the requests, this would be tricky to do. - Optimize the locking so that we pass the proc lock to ktrops and ktrsetchildren rather than dropping it just so we can acquire it again. Affected files ... .. //depot/projects/smpng/sys/kern/kern_ktrace.c#61 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_ktrace.c#61 (text+ko) ==== @@ -98,6 +98,7 @@ } ktr_data; STAILQ_ENTRY(ktr_request) ktr_list; }; +STAILQ_HEAD(ktr_request_queue, ktr_request); static int data_lengths[] = { 0, /* none */ @@ -110,7 +111,7 @@ 0 /* KTR_USER */ }; -static STAILQ_HEAD(, ktr_request) ktr_free; +static struct ktr_request_queue ktr_free; static SYSCTL_NODE(_kern, OID_AUTO, ktrace, CTLFLAG_RD, 0, "KTRACE options"); @@ -134,8 +135,10 @@ static void ktr_freerequest(struct ktr_request *req); static void ktr_writerequest(struct thread *td, struct ktr_request *req); static int ktrcanset(struct thread *,struct proc *); -static int ktrsetchildren(struct thread *,struct proc *,int,int,struct vnode *); -static int ktrops(struct thread *,struct proc *,int,int,struct vnode *); +static int ktrsetchildren(struct thread *,struct proc *,int,int,struct vnode *, + struct ktr_request_queue *); +static int ktrops(struct thread *,struct proc *,int,int,struct vnode *, + struct ktr_request_queue *); /* * ktrace itself generates events, such as context switches, which we do not @@ -321,13 +324,13 @@ static void ktr_drain(struct thread *td) { + struct ktr_request_queue local_queue; struct ktr_request *queued_req; - STAILQ_HEAD(, ktr_request) local_queue; ktrace_assert(td); sx_assert(&ktrace_sx, SX_XLOCKED); - STAILQ_INIT(&local_queue); /* XXXRW: needed? */ + STAILQ_INIT(&local_queue); if (!STAILQ_EMPTY(&td->td_proc->p_ktr)) { mtx_lock(&ktrace_mtx); @@ -575,6 +578,8 @@ #ifdef KTRACE register struct vnode *vp = NULL; register struct proc *p; + struct ktr_request_queue local_queue; + struct ktr_request *req; struct pgrp *pg; int facs = uap->facs & ~KTRFAC_ROOT; int ops = KTROP(uap->ops); @@ -590,6 +595,7 @@ if (ops != KTROP_CLEARFILE && facs == 0) return (EINVAL); + STAILQ_INIT(&local_queue); ktrace_enter(td); if (ops != KTROP_CLEAR) { /* @@ -632,6 +638,8 @@ p->p_tracecred = NULL; p->p_tracevp = NULL; p->p_traceflag = 0; + STAILQ_CONCAT(&local_queue, + &td->td_proc->p_ktr); mtx_unlock(&ktrace_mtx); vrele_count++; crfree(cred); @@ -675,12 +683,13 @@ PROC_UNLOCK(p); continue; } - PROC_UNLOCK(p); nfound++; if (descend) - ret |= ktrsetchildren(td, p, ops, facs, vp); + ret |= ktrsetchildren(td, p, ops, facs, vp, + &local_queue); else - ret |= ktrops(td, p, ops, facs, vp); + ret |= ktrops(td, p, ops, facs, vp, + &local_queue); } if (nfound == 0) { sx_sunlock(&proctree_lock); @@ -692,25 +701,21 @@ * by pid */ p = pfind(uap->pid); - if (p == NULL) { - sx_sunlock(&proctree_lock); + if (p == NULL) error = ESRCH; - goto done; - } - error = p_cansee(td, p); - /* - * The slock of the proctree lock will keep this process - * from going away, so unlocking the proc here is ok. - */ - PROC_UNLOCK(p); + else + error = p_cansee(td, p); if (error) { + if (p != NULL) + PROC_UNLOCK(p); sx_sunlock(&proctree_lock); goto done; } if (descend) - ret |= ktrsetchildren(td, p, ops, facs, vp); + ret |= ktrsetchildren(td, p, ops, facs, vp, + &local_queue); else - ret |= ktrops(td, p, ops, facs, vp); + ret |= ktrops(td, p, ops, facs, vp, &local_queue); } sx_sunlock(&proctree_lock); if (!ret) @@ -721,6 +726,15 @@ (void) vn_close(vp, FWRITE, td->td_ucred, td); VFS_UNLOCK_GIANT(vfslocked); } + + /* + * Free any pending requests from processes where tracing was + * disabled. + */ + while ((req = STAILQ_FIRST(&local_queue))) { + STAILQ_REMOVE_HEAD(&local_queue, ktr_list); + ktr_freerequest(req); + } ktrace_exit(td); return (error); #else /* !KTRACE */ @@ -766,20 +780,30 @@ #ifdef KTRACE static int -ktrops(td, p, ops, facs, vp) +ktrops(td, p, ops, facs, vp, request_queue) struct thread *td; struct proc *p; int ops, facs; struct vnode *vp; + struct ktr_request_queue *request_queue; { struct vnode *tracevp = NULL; struct ucred *tracecred = NULL; - PROC_LOCK(p); + PROC_LOCK_ASSERT(p, MA_OWNED); if (!ktrcanset(td, p)) { PROC_UNLOCK(p); return (0); } + if (p->p_flag & P_WEXIT) { + /* + * If the process is exiting, just ignore it. We + * don't want to return EPERM for this (maybe ESRCH?) + * so we fake success. + */ + PROC_UNLOCK(p); + return (1); + } mtx_lock(&ktrace_mtx); if (ops == KTROP_SET) { if (p->p_tracevp != vp) { @@ -807,6 +831,7 @@ p->p_tracevp = NULL; tracecred = p->p_tracecred; p->p_tracecred = NULL; + STAILQ_CONCAT(request_queue, &td->td_proc->p_ktr); } } mtx_unlock(&ktrace_mtx); @@ -825,19 +850,21 @@ } static int -ktrsetchildren(td, top, ops, facs, vp) +ktrsetchildren(td, top, ops, facs, vp, request_queue) struct thread *td; struct proc *top; int ops, facs; struct vnode *vp; + struct ktr_request_queue *request_queue; { register struct proc *p; register int ret = 0; p = top; + PROC_LOCK_ASSERT(p, MA_OWNED); sx_assert(&proctree_lock, SX_LOCKED); for (;;) { - ret |= ktrops(td, p, ops, facs, vp); + ret |= ktrops(td, p, ops, facs, vp, request_queue); /* * If this process has children, descend to them next, * otherwise do any siblings, and if done with this level, @@ -854,6 +881,7 @@ } p = p->p_pptr; } + PROC_LOCK(p); } /*NOTREACHED*/ } @@ -861,6 +889,7 @@ static void ktr_writerequest(struct thread *td, struct ktr_request *req) { + struct ktr_request_queue local_queue; struct ktr_header *kth; struct vnode *vp; struct proc *p; @@ -955,6 +984,7 @@ * we really do this? Other processes might have suitable * credentials for the operation. */ + STAILQ_INIT(&local_queue); cred = NULL; sx_slock(&allproc_lock); FOREACH_PROC_IN_SYSTEM(p) { @@ -965,6 +995,7 @@ p->p_traceflag = 0; cred = p->p_tracecred; p->p_tracecred = NULL; + STAILQ_CONCAT(&local_queue, &td->td_proc->p_ktr); mtx_unlock(&ktrace_mtx); vrele_count++; } @@ -977,10 +1008,14 @@ sx_sunlock(&allproc_lock); /* - * We can't clear any pending requests in threads that have cached - * them but not yet committed them, as those are per-thread. The - * thread will have to clear it itself on system call return. + * Free any pending requests from processes where tracing was + * disabled. */ + while ((req = STAILQ_FIRST(&local_queue))) { + STAILQ_REMOVE_HEAD(&local_queue, ktr_list); + ktr_freerequest(req); + } + vfslocked = VFS_LOCK_GIANT(vp->v_mount); while (vrele_count-- > 0) vrele(vp); From owner-p4-projects@FreeBSD.ORG Thu Jun 14 16:46:35 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A172D16A469; Thu, 14 Jun 2007 16:46:35 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4331916A46D for ; Thu, 14 Jun 2007 16:46:35 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3203F13C484 for ; Thu, 14 Jun 2007 16:46:35 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5EGkZYO081008 for ; Thu, 14 Jun 2007 16:46:35 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5EGkZYX080999 for perforce@freebsd.org; Thu, 14 Jun 2007 16:46:35 GMT (envelope-from lulf@FreeBSD.org) Date: Thu, 14 Jun 2007 16:46:35 GMT Message-Id: <200706141646.l5EGkZYX080999@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121639 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jun 2007 16:46:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=121639 Change 121639 by lulf@lulf_carrot on 2007/06/14 16:46:24 - Fix many bugs i introduced when refractoring my sync code without looking over it. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#7 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#4 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#7 (text+ko) ==== @@ -214,7 +214,7 @@ p->flags |= GV_PLEX_SYNCING; printf("VINUM: starting sync of plex %s\n", p->name); error = gv_sync_request(up, p, 0, GV_DFLT_SYNCSIZE, BIO_READ, - g_malloc(GV_DFLT_SYNCSIZE, M_WAITOK)); + NULL); if (error) { printf("VINUM: error syncing plex %s\n", p->name); break; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#4 (text+ko) ==== @@ -183,21 +183,33 @@ g_topology_assert_not(); + err = 0; from = bp->bio_caller2; v = to->vol_sc; - err = gv_sync_request(from, to, bp->bio_offset, bp->bio_length, - bp->bio_cmd, bp->bio_data); - if (err) { + /* If it was a read, write it. */ + if (bp->bio_cmd == BIO_READ) { + err = gv_sync_request(from, to, bp->bio_offset, bp->bio_length, + BIO_WRITE, bp->bio_data); + /* If it was a write, read the next one. */ + } else if (bp->bio_cmd == BIO_WRITE) { if (bp->bio_cflags & GV_BIO_MALLOC) g_free(bp->bio_data); - g_destroy_bio(bp); + /* If we're finished, clean up. */ + if (bp->bio_offset + bp->bio_length >= from->size) { + printf("VINUM: syncing of %s from %s completed\n", + to->name, from->name); + to->flags &= ~GV_PLEX_SYNCING; + } else { + err = gv_sync_request(from, to, bp->bio_offset + + bp->bio_length, bp->bio_length, BIO_READ, NULL); + } + } + g_destroy_bio(bp); + if (err) { + printf("VINUM: error syncing plexes: error code %d\n", err); return; } - /* Free data if we're writing and destroy bio. */ - if (bp->bio_cmd == BIO_WRITE && bp->bio_cflags & GV_BIO_MALLOC) - g_free(bp->bio_data); - g_destroy_bio(bp); /* Check if all plexes are synced, and lower refcounts. */ g_topology_lock(); @@ -228,34 +240,15 @@ bp->bio_done = gv_done; bp->bio_cflags |= GV_BIO_SYNCREQ; bp->bio_offset = offset; - bp->bio_caller2 = to; /* Reverse the caller. */ - - /* If it was a read, write it to the destination. */ - if (type == BIO_READ) { - /*printf("We just read %s at %jd, and now write %s at %jd\n", - to->name, offset, from->name, offset);*/ - bp->bio_cmd = BIO_WRITE; - bp->bio_data = data; - /* If it was a write, read the next one. */ - } else if (type == BIO_WRITE) { - bp->bio_cmd = BIO_READ; - bp->bio_offset += bp->bio_length; - bp->bio_data = g_malloc(bp->bio_length, M_WAITOK); - bp->bio_cflags |= GV_BIO_MALLOC; - - /*printf("We just wrote %s at %jd, and now read %s at %jd\n", - to->name, bp->bio_offset, from->name, bp->bio_offset); - */ - /* If we're finished, clean up. */ - if (bp->bio_offset >= from->size) { - printf("VINUM: syncing of %s from %s completed\n", - to->name, from->name); - to->flags &= ~GV_PLEX_SYNCING; - return (0); - } + bp->bio_caller2 = to; + bp->bio_cmd = type; + if (data == NULL) { + data = g_malloc(length, M_WAITOK); + bp->bio_cflags |= GV_BIO_MALLOC; } + bp->bio_data = data; -/* printf("Sending next bio: "); +/* printf("Sending next bio:\n "); g_print_bio(bp); printf("\n");*/ /* Send down next. */ From owner-p4-projects@FreeBSD.ORG Thu Jun 14 18:04:13 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 36E2116A473; Thu, 14 Jun 2007 18:04:13 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CF6D716A46B for ; Thu, 14 Jun 2007 18:04:12 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id BE63813C458 for ; Thu, 14 Jun 2007 18:04:12 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5EI4CRT071167 for ; Thu, 14 Jun 2007 18:04:12 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5EI4CpR071132 for perforce@freebsd.org; Thu, 14 Jun 2007 18:04:12 GMT (envelope-from lulf@FreeBSD.org) Date: Thu, 14 Jun 2007 18:04:12 GMT Message-Id: <200706141804.l5EI4CpR071132@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121644 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jun 2007 18:04:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=121644 Change 121644 by lulf@lulf_carrot on 2007/06/14 18:03:54 - Make sure we NULL out the last_read_plex so we don't get a panic after a detach and a volume tries to read. - Fix a memory leak where I forgot to set the GV_BIO_MALLOC flag. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#8 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#5 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#8 (text+ko) ==== @@ -1155,6 +1155,8 @@ return (GV_ERR_ISOPEN); } v->plexcount--; + /* Make sure someone don't read us when gone. */ + v->last_read_plex = NULL; LIST_REMOVE(p, in_volume); p->vol_sc = NULL; memset(p->volume, 0, GV_MAXVOLNAME); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#5 (text+ko) ==== @@ -242,10 +242,9 @@ bp->bio_offset = offset; bp->bio_caller2 = to; bp->bio_cmd = type; - if (data == NULL) { + if (data == NULL) data = g_malloc(length, M_WAITOK); - bp->bio_cflags |= GV_BIO_MALLOC; - } + bp->bio_cflags |= GV_BIO_MALLOC; /* Free on the next run. */ bp->bio_data = data; /* printf("Sending next bio:\n "); From owner-p4-projects@FreeBSD.ORG Thu Jun 14 21:20:20 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E58716A46F; Thu, 14 Jun 2007 21:20:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 41A3716A400 for ; Thu, 14 Jun 2007 21:20:20 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1A5C713C489 for ; Thu, 14 Jun 2007 21:20:20 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5ELKJpm058444 for ; Thu, 14 Jun 2007 21:20:20 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5ELKJZ4058435 for perforce@freebsd.org; Thu, 14 Jun 2007 21:20:19 GMT (envelope-from jhb@freebsd.org) Date: Thu, 14 Jun 2007 21:20:19 GMT Message-Id: <200706142120.l5ELKJZ4058435@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 121653 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jun 2007 21:20:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=121653 Change 121653 by jhb@jhb_mutex on 2007/06/14 21:20:12 I'm dumb, this is already done inline. Affected files ... .. //depot/projects/smpng/sys/kern/kern_ktrace.c#62 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_ktrace.c#62 (text+ko) ==== @@ -447,8 +447,6 @@ ktruserret(struct thread *td) { - if (STAILQ_EMPTY(&td->td_proc->p_ktr)) - return; ktrace_enter(td); sx_xlock(&ktrace_sx); ktr_drain(td); From owner-p4-projects@FreeBSD.ORG Fri Jun 15 03:41:26 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2459616A469; Fri, 15 Jun 2007 03:41:26 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CCCDB16A41F for ; Fri, 15 Jun 2007 03:41:25 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id BCE1213C455 for ; Fri, 15 Jun 2007 03:41:25 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5F3fPi6035096 for ; Fri, 15 Jun 2007 03:41:25 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5F3fPZE035074 for perforce@freebsd.org; Fri, 15 Jun 2007 03:41:25 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Fri, 15 Jun 2007 03:41:25 GMT Message-Id: <200706150341.l5F3fPZE035074@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 121671 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 03:41:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=121671 Change 121671 by zhouzhouyi@zhouzhouyi_mactest on 2007/06/15 03:41:21 Code beautification and conditional checks for void label Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#7 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#5 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test.c#7 (text+ko) ==== @@ -668,7 +668,8 @@ struct devfs_dirent *de, struct label *delabel, struct vnode *vp, struct label *vplabel) { - MACTEST_PIPE_SUBMIT_WITHPID("mac_test_associate_vnode_devfs with mplabel delabel and vplabel:", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_associate_vnode_devfs " + "with mplabel delabel and vplabel:", strlen("mac_test_associate_vnode_devfs with mplabel delabel and vplabel:")); MACTEST_PIPE_SUBMIT_LABEL3(vnode,mplabel,vnode,delabel,vnode,vplabel); if (delabel != NULL && SLOT(delabel) == MAGIC_MACTESTPIPE) @@ -691,7 +692,8 @@ { char mac_test[64]; int error, buflen = 64; - MACTEST_PIPE_SUBMIT_WITHPID("mac_test_associate_vnode_extattr with mplabel and vplabel:", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_associate_vnode_extattr with " + "mplabel and vplabel:", strlen("mac_test_associate_vnode_extattr with mplabel and vplabel:")); MACTEST_PIPE_SUBMIT_LABEL2(vnode,mplabel,vnode,vplabel); bzero(mac_test,buflen); @@ -711,7 +713,8 @@ mac_test_associate_vnode_singlelabel(struct mount *mp, struct label *mplabel, struct vnode *vp, struct label *vplabel) { - MACTEST_PIPE_SUBMIT_WITHPID("mac_test_associate_vnode_singlelabel with mplabel and vplabel:", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_associate_vnode_singlelabel " + "with mplabel and vplabel:", strlen("mac_test_associate_vnode_singlelabel with mplabel and vplabel:")); MACTEST_PIPE_SUBMIT_LABEL2(vnode,mplabel,vnode,vplabel); LABEL_CHECK(mplabel, MAGIC_MOUNT); @@ -724,11 +727,15 @@ mac_test_create_devfs_device(struct ucred *cred, struct mount *mp, struct cdev *dev, struct devfs_dirent *de, struct label *delabel) { - MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_devfs_device with delabel:", - strlen("mac_test_create_devfs_device with delabel:")); - MACTEST_PIPE_SUBMIT_LABEL(vnode,delabel); - if (cred != NULL) + struct label * tmplabel; + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_devfs_device with cr_label and delabel:", + strlen("mac_test_create_devfs_device with cr_label and delabel:")); + if (cred != NULL){ LABEL_CHECK(cred->cr_label, MAGIC_CRED); + tmplabel = cred->cr_label; + }else + tmplabel = 0; + MACTEST_PIPE_SUBMIT_LABEL2(cred, 0, vnode,delabel); LABEL_CHECK(delabel, MAGIC_DEVFS); COUNTER_INC(create_devfs_device); } @@ -738,7 +745,9 @@ mac_test_create_devfs_directory(struct mount *mp, char *dirname, int dirnamelen, struct devfs_dirent *de, struct label *delabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_devfs_directory with delabel:", + strlen("mac_test_create_devfs_directory with delabel:")); + MACTEST_PIPE_SUBMIT_LABEL(vnode,delabel); LABEL_CHECK(delabel, MAGIC_DEVFS); COUNTER_INC(create_devfs_directory); } @@ -749,9 +758,10 @@ struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, struct label *delabel) { - MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_devfs_symlink with ddlabel and delabel:", - strlen("mac_test_create_devfs_symlink with ddlabel and delabel:")); - MACTEST_PIPE_SUBMIT_LABEL2(vnode,ddlabel,vnode,delabel); + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_devfs_symlink " + "with cr_label ddlabel and delabel:", + strlen("mac_test_create_devfs_symlink with cr_label ddlabel and delabel:")); + MACTEST_PIPE_SUBMIT_LABEL3(cred, cred->cr_label, vnode,ddlabel,vnode,delabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(ddlabel, MAGIC_DEVFS); LABEL_CHECK(delabel, MAGIC_DEVFS); @@ -764,9 +774,12 @@ struct label *mplabel, struct vnode *dvp, struct label *dvplabel, struct vnode *vp, struct label *vplabel, struct componentname *cnp) { - MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_vnode_extattr with mplabel dvplabel and vplabel:", - strlen("mac_test_create_vnode_extattr with mplabel dvplabel and vplabel:")); - MACTEST_PIPE_SUBMIT_LABEL3(vnode,mplabel,vnode,dvplabel,vnode,vplabel); + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_vnode_extattr with " + "cr_label mplabel dvplabel and vplabel:", + strlen("mac_test_create_vnode_extattr with cr_label " + "mplabel dvplabel and vplabel:")); + MACTEST_PIPE_SUBMIT_LABEL4(cred,cred->cr_label,vnode,mplabel,vnode, + dvplabel,vnode,vplabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(mplabel, MAGIC_MOUNT); LABEL_CHECK(dvplabel, MAGIC_VNODE); @@ -780,9 +793,9 @@ mac_test_create_mount(struct ucred *cred, struct mount *mp, struct label *mplabel) { - MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_mount with mplabel:", - strlen("mac_test_create_mount with mplabel:")); - MACTEST_PIPE_SUBMIT_LABEL(vnode,mplabel); + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_mount with cr_label and mplabel:", + strlen("mac_test_create_mount with cr_label and mplabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(cred,cred->cr_label,vnode,mplabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(mplabel, MAGIC_MOUNT); COUNTER_INC(create_mount); @@ -793,9 +806,9 @@ mac_test_relabel_vnode(struct ucred *cred, struct vnode *vp, struct label *vplabel, struct label *label) { - MACTEST_PIPE_SUBMIT_WITHPID("mac_test_relabel_vnode with vplabel and label:", - strlen("mac_test_relabel_vnode with vplabel and label:")); - MACTEST_PIPE_SUBMIT_LABEL2(vnode,vplabel,vnode,label); + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_relabel_vnode with cr_label vplabel and label:", + strlen("mac_test_relabel_vnode with cr_label vplabel and label:")); + MACTEST_PIPE_SUBMIT_LABEL3(cred,cred->cr_label,vnode,vplabel,vnode,label); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(vplabel, MAGIC_VNODE); LABEL_CHECK(label, MAGIC_VNODE); @@ -807,9 +820,10 @@ mac_test_setlabel_vnode_extattr(struct ucred *cred, struct vnode *vp, struct label *vplabel, struct label *intlabel) { - MACTEST_PIPE_SUBMIT_WITHPID("mac_test_setlabel_vnode_extattr with vplabel and intlabel:", - strlen("mac_test_setlabel_vnode_extattr with vplabel and intlabel:")); - MACTEST_PIPE_SUBMIT_LABEL2(vnode,vplabel,vnode,intlabel); + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_setlabel_vnode_extattr with " + "cr_label vplabel and intlabel:", + strlen("mac_test_setlabel_vnode_extattr with cr_label vplabel and intlabel:")); + MACTEST_PIPE_SUBMIT_LABEL3(cred,cred->cr_label,vnode,vplabel,vnode,intlabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(vplabel, MAGIC_VNODE); LABEL_CHECK(intlabel, MAGIC_VNODE); @@ -823,7 +837,9 @@ mac_test_update_devfs(struct mount *mp, struct devfs_dirent *devfs_dirent, struct label *direntlabel, struct vnode *vp, struct label *vplabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_update_devfs with direntlabel and vplabel:", + strlen("mac_test_update_devfs with direntlabel and vplabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(vnode,direntlabel,vnode,vplabel); LABEL_CHECK(direntlabel, MAGIC_DEVFS); LABEL_CHECK(vplabel, MAGIC_VNODE); COUNTER_INC(update_devfs); @@ -837,7 +853,10 @@ mac_test_create_mbuf_from_socket(struct socket *so, struct label *socketlabel, struct mbuf *m, struct label *mbuflabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_mbuf_from_socket" + " with socketlabel and mbuflabel:", + strlen("mac_test_update_devfs with socketlabel and mbuflabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(socket,socketlabel,vnode,mbuflabel); LABEL_CHECK(socketlabel, MAGIC_SOCKET); LABEL_CHECK(mbuflabel, MAGIC_MBUF); COUNTER_INC(create_mbuf_from_socket); @@ -848,7 +867,9 @@ mac_test_create_socket(struct ucred *cred, struct socket *socket, struct label *socketlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_socket with cr_label and socketlabel:", + strlen("mac_test_create_socket with cr_label and socketlabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(cred,cred->cr_label,socket,socketlabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(socketlabel, MAGIC_SOCKET); COUNTER_INC(create_socket); @@ -859,7 +880,9 @@ mac_test_create_pipe(struct ucred *cred, struct pipepair *pp, struct label *pipelabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_pipe with cr_label and pipelabel:", + strlen("mac_test_create_socket with cr_label and pipelabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(cred,cred->cr_label,pipe,pipelabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pipelabel, MAGIC_PIPE); COUNTER_INC(create_pipe); @@ -870,7 +893,9 @@ mac_test_create_posix_sem(struct ucred *cred, struct ksem *ksem, struct label *posixlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_posix_sem with cr_label and posixlabel:", + strlen("mac_test_create_socket with cr_label and posixlabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(cred,cred->cr_label,vnode,posixlabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(posixlabel, MAGIC_POSIX_SEM); COUNTER_INC(create_posix_sem); @@ -882,7 +907,11 @@ struct label *oldsocketlabel, struct socket *newsocket, struct label *newsocketlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_socket_from_socket with " + "oldsocketlabel and newsocketlabel:", + strlen("mac_test_create_socket_from_socket with oldsocketlabel " + "and newsocketlabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(socket,oldsocketlabel,socket,newsocketlabel); LABEL_CHECK(oldsocketlabel, MAGIC_SOCKET); LABEL_CHECK(newsocketlabel, MAGIC_SOCKET); COUNTER_INC(create_socket_from_socket); @@ -893,7 +922,10 @@ mac_test_relabel_socket(struct ucred *cred, struct socket *socket, struct label *socketlabel, struct label *newlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_relabel_socket with cr_label " + "socketlabel and newlabel:", + strlen("mac_test_relabel_socket with cr_label socketlabel and newlabel:")); + MACTEST_PIPE_SUBMIT_LABEL3(cred,cred->cr_label,socket,socketlabel,socket,newlabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(newlabel, MAGIC_SOCKET); COUNTER_INC(relabel_socket); @@ -904,7 +936,10 @@ mac_test_relabel_pipe(struct ucred *cred, struct pipepair *pp, struct label *pipelabel, struct label *newlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_relabel_pipe with cr_label " + "pipelabel and newlabel:", + strlen("mac_test_relabel_pipe with cr_label pipelabel and newlabel:")); + MACTEST_PIPE_SUBMIT_LABEL3(cred,cred->cr_label,pipe,pipelabel,pipe,newlabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(pipelabel, MAGIC_PIPE); LABEL_CHECK(newlabel, MAGIC_PIPE); @@ -916,7 +951,10 @@ mac_test_set_socket_peer_from_mbuf(struct mbuf *mbuf, struct label *mbuflabel, struct socket *socket, struct label *socketpeerlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_set_socket_peer_from_mbuf with " + "mbuflabel and socketpeerlabel:", + strlen("mac_test_set_socket_peer_from_mbuf with mbuflabel and socketpeerlabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(vnode,mbuflabel,socket,socketpeerlabel); LABEL_CHECK(mbuflabel, MAGIC_MBUF); LABEL_CHECK(socketpeerlabel, MAGIC_SOCKET); COUNTER_INC(set_socket_peer_from_mbuf); @@ -931,7 +969,11 @@ struct label *oldsocketlabel, struct socket *newsocket, struct label *newsocketpeerlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_set_socket_peer_from_socket with" + " oldsocketlabel and newsocketpeerlabel:", + strlen("mac_test_set_socket_peer_from_socket with " + "oldsocketlabel and newsocketpeerlabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(socket,oldsocketlabel,socket,newsocketpeerlabel); LABEL_CHECK(oldsocketlabel, MAGIC_SOCKET); LABEL_CHECK(newsocketpeerlabel, MAGIC_SOCKET); COUNTER_INC(set_socket_peer_from_socket); @@ -942,7 +984,9 @@ mac_test_create_bpfdesc(struct ucred *cred, struct bpf_d *bpf_d, struct label *bpflabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_bpfdesc with cr_label and bpflabel:", + strlen("mac_test_create_bpfdesc with cr_label and bpflabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(cred,cred->cr_label,vnode,bpflabel); LABEL_CHECK(cred->cr_label, MAGIC_CRED); LABEL_CHECK(bpflabel, MAGIC_BPF); COUNTER_INC(create_bpfdesc); @@ -953,7 +997,10 @@ mac_test_create_datagram_from_ipq(struct ipq *ipq, struct label *ipqlabel, struct mbuf *datagram, struct label *datagramlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_datagram_from_ipq " + "with ipqlabel and datagramlabel:", + strlen("mac_test_create_datagram_from_ipq with ipqlabel and datagramlabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(vnode,ipqlabel,vnode,datagramlabel); LABEL_CHECK(ipqlabel, MAGIC_IPQ); LABEL_CHECK(datagramlabel, MAGIC_MBUF); COUNTER_INC(create_datagram_from_ipq); @@ -964,7 +1011,10 @@ mac_test_create_fragment(struct mbuf *datagram, struct label *datagramlabel, struct mbuf *fragment, struct label *fragmentlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_fragment " + "with datagramlabel and fragmentlabel:", + strlen("mac_test_create_fragment with datagramlabel and fragmentlabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(vnode,datagramlabel,vnode,fragmentlabel); LABEL_CHECK(datagramlabel, MAGIC_MBUF); LABEL_CHECK(fragmentlabel, MAGIC_MBUF); COUNTER_INC(create_fragment); @@ -974,7 +1024,10 @@ static void mac_test_create_ifnet(struct ifnet *ifnet, struct label *ifnetlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_ifnet " + "with ifnetlabel:", + strlen("mac_test_create_ifnet with ifnetlabel:")); + MACTEST_PIPE_SUBMIT_LABEL(ifnet,ifnetlabel); LABEL_CHECK(ifnetlabel, MAGIC_IFNET); COUNTER_INC(create_ifnet); } @@ -984,7 +1037,10 @@ mac_test_create_inpcb_from_socket(struct socket *so, struct label *solabel, struct inpcb *inp, struct label *inplabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_inpcb_from_socket " + "with solabel and inplabel:", + strlen("mac_test_create_inpcb_from_socket with solabel and inplabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(socket, solabel, ifnet, inplabel); LABEL_CHECK(solabel, MAGIC_SOCKET); LABEL_CHECK(inplabel, MAGIC_INPCB); COUNTER_INC(create_inpcb_from_socket); @@ -995,7 +1051,10 @@ mac_test_create_sysv_msgmsg(struct ucred *cred, struct msqid_kernel *msqkptr, struct label *msqlabel, struct msg *msgptr, struct label *msglabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_sysv_msgmsg " + "with cr_label msqlabel and msglabel:", + strlen("mac_test_create_sysv_msgmsg with cr_label msqlabel and msglabel:")); + MACTEST_PIPE_SUBMIT_LABEL3(cred, cred->cr_label, cred, msqlabel, cred, msglabel); LABEL_CHECK(msglabel, MAGIC_SYSV_MSG); LABEL_CHECK(msqlabel, MAGIC_SYSV_MSQ); COUNTER_INC(create_sysv_msgmsg); @@ -1006,7 +1065,10 @@ mac_test_create_sysv_msgqueue(struct ucred *cred, struct msqid_kernel *msqkptr, struct label *msqlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_sysv_msgqueue " + "with msqlabel:", + strlen("mac_test_create_sysv_msgqueue with msqlabel:")); + MACTEST_PIPE_SUBMIT_LABEL(vnode, msqlabel); LABEL_CHECK(msqlabel, MAGIC_SYSV_MSQ); COUNTER_INC(create_sysv_msgqueue); } @@ -1016,7 +1078,10 @@ mac_test_create_sysv_sem(struct ucred *cred, struct semid_kernel *semakptr, struct label *semalabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_sysv_sem " + "with cr_label and semalabel:", + strlen("mac_test_create_sysv_sem with cr_label and semalabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(cred, cred->cr_label, vnode, semalabel); LABEL_CHECK(semalabel, MAGIC_SYSV_SEM); COUNTER_INC(create_sysv_sem); } @@ -1026,7 +1091,10 @@ mac_test_create_sysv_shm(struct ucred *cred, struct shmid_kernel *shmsegptr, struct label *shmlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_sysv_shm " + "with cr_label and shmlabel:", + strlen("mac_test_create_sysv_shm with cr_label and shmlabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(cred, cred->cr_label, vnode, shmlabel); LABEL_CHECK(shmlabel, MAGIC_SYSV_SHM); COUNTER_INC(create_sysv_shm); } @@ -1036,7 +1104,10 @@ mac_test_create_ipq(struct mbuf *fragment, struct label *fragmentlabel, struct ipq *ipq, struct label *ipqlabel) { - + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_create_ipq " + "with fragmentlabel and ipqlabel:", + strlen("mac_test_create_ipq with fragmentlabel and ipqlabel:")); + MACTEST_PIPE_SUBMIT_LABEL2(vnode, fragmentlabel, vnode, ipqlabel); LABEL_CHECK(fragmentlabel, MAGIC_MBUF); LABEL_CHECK(ipqlabel, MAGIC_IPQ); COUNTER_INC(create_ipq); @@ -2360,7 +2431,8 @@ { if (vplabel != NULL && SLOT(vplabel) != MAGIC_MACTESTPIPE){ - MACTEST_PIPE_SUBMIT_WITHPID("mac_test_check_vnode_read with cred label and vplabel:", + MACTEST_PIPE_SUBMIT_WITHPID("mac_test_check_vnode_read " + "with cred label and vplabel:", strlen("mac_test_check_vnode_read with cred label and vplabel:")); MACTEST_PIPE_SUBMIT_LABEL2(cred,active_cred->cr_label,vnode,vplabel); } ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/zhouzhouyi_mactest_soc/sys/security/mac_test/mac_test_private.h#5 (text+ko) ==== @@ -24,7 +24,10 @@ buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ if (!buffer) \ goto exit; \ - MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ + if (!label) \ + strcpy(buffer,"NULL"); \ + else \ + MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ strleng = strlen(buffer); \ *(buffer + strleng) = '\n'; \ mactest_pipe_submit(buffer, strleng + 1); \ @@ -46,13 +49,19 @@ buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ if (!buffer) \ goto exit2; \ - MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ + if (!label) \ + strcpy(buffer,"NULL"); \ + else \ + MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ strleng = strlen(buffer); \ mactest_pipe_submit(buffer, strleng); \ mactest_pipe_submit(" ", 1); \ strcpy(elements1, elements); \ - MAC_EXTERNALIZE(type1,label1, elements1, buffer, 256); \ - strleng = strlen(buffer); \ + if (!label1) \ + strcpy(buffer,"NULL"); \ + else \ + MAC_EXTERNALIZE(type1,label1, elements1, buffer, 256); \ + strleng = strlen(buffer); \ *(buffer + strleng) = '\n'; \ mactest_pipe_submit(buffer, strleng + 1); \ free(buffer, M_MACTEST_PIPE); \ @@ -73,18 +82,27 @@ buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ if (!buffer) \ goto exit4; \ - MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ - strleng = strlen(buffer); \ + if (!label) \ + strcpy(buffer,"NULL"); \ + else \ + MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ + strleng = strlen(buffer); \ mactest_pipe_submit(buffer, strleng); \ mactest_pipe_submit(" ", 1); \ strcpy(elements1, elements); \ - MAC_EXTERNALIZE(type1,label1, elements1, buffer, 256); \ + if (!label1) \ + strcpy(buffer,"NULL"); \ + else \ + MAC_EXTERNALIZE(type1,label1, elements1, buffer, 256); \ strleng = strlen(buffer); \ mactest_pipe_submit(buffer, strleng); \ mactest_pipe_submit(" ", 1); \ strcpy(elements1, elements); \ - MAC_EXTERNALIZE(type2,label2, elements1, buffer, 256); \ - strleng = strlen(buffer); \ + if (!label2) \ + strcpy(buffer,"NULL"); \ + else \ + MAC_EXTERNALIZE(type2,label2, elements1, buffer, 256); \ + strleng = strlen(buffer); \ *(buffer + strleng) = '\n'; \ mactest_pipe_submit(buffer, strleng + 1); \ free(buffer, M_MACTEST_PIPE); \ @@ -109,4 +127,56 @@ ; \ }while(0) + +#define MACTEST_PIPE_SUBMIT_LABEL4(type,label,type1,label1,type2,label2,\ + type3,label3) \ + do { \ + int error; \ + int strleng = 0; \ + char *buffer; \ + char *elements1 = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ + if (!elements1) \ + goto exit8; \ + strcpy(elements1, elements); \ + buffer = malloc(256, M_MACTEST_PIPE, M_NOWAIT); \ + if (!buffer) \ + goto exit7; \ + if (!label) \ + strcpy(buffer,"NULL"); \ + else \ + MAC_EXTERNALIZE(type,label, elements1, buffer, 256); \ + strleng = strlen(buffer); \ + mactest_pipe_submit(buffer, strleng); \ + mactest_pipe_submit(" ", 1); \ + strcpy(elements1, elements); \ + if (!label1) \ + strcpy(buffer,"NULL"); \ + else \ + MAC_EXTERNALIZE(type1,label1, elements1, buffer, 256); \ + strleng = strlen(buffer); \ + mactest_pipe_submit(buffer, strleng); \ + mactest_pipe_submit(" ", 1); \ + strcpy(elements1, elements); \ + if (!label2) \ + strcpy(buffer,"NULL"); \ + else \ + MAC_EXTERNALIZE(type2,label2, elements1, buffer, 256); \ + strleng = strlen(buffer); \ + mactest_pipe_submit(buffer, strleng); \ + mactest_pipe_submit(" ", 1); \ + strcpy(elements1, elements); \ + if (!label3) \ + strcpy(buffer,"NULL"); \ + else \ + MAC_EXTERNALIZE(type3,label3, elements1, buffer, 256); \ + strleng = strlen(buffer); \ + *(buffer + strleng) = '\n'; \ + mactest_pipe_submit(buffer, strleng + 1); \ + free(buffer, M_MACTEST_PIPE); \ +exit7: \ + free(elements1, M_MACTEST_PIPE); \ +exit8: \ + ;/*extra ; to avoid label at the end of compound statement*/ \ +}while(0) + #endif /* ! _SECURITY_MAC_TEST_PRIVATE_H */ From owner-p4-projects@FreeBSD.ORG Fri Jun 15 12:49:49 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6036516A46C; Fri, 15 Jun 2007 12:49:49 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 32ED116A46B for ; Fri, 15 Jun 2007 12:49:49 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: from mail.garage.freebsd.pl (arm132.internetdsl.tpnet.pl [83.17.198.132]) by mx1.freebsd.org (Postfix) with ESMTP id BDB2D13C468 for ; Fri, 15 Jun 2007 12:49:48 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 54E1F487F4; Fri, 15 Jun 2007 14:49:46 +0200 (CEST) Received: from localhost (pjd.wheel.pl [10.0.1.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id 4CDA8456AB; Fri, 15 Jun 2007 14:49:41 +0200 (CEST) Date: Fri, 15 Jun 2007 14:49:40 +0200 From: Pawel Jakub Dawidek To: Ulf Lilleengen Message-ID: <20070615124940.GB37295@garage.freebsd.pl> References: <200706122057.l5CKvKlc084001@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="cvVnyQ+4j833TQvp" Content-Disposition: inline In-Reply-To: <200706122057.l5CKvKlc084001@repoman.freebsd.org> X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 7.0-CURRENT i386 User-Agent: mutt-ng/devel-r804 (FreeBSD) X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-5.9 required=3.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.0.4 Cc: Perforce Change Reviews Subject: Re: PERFORCE change 121535 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 12:49:49 -0000 --cvVnyQ+4j833TQvp Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jun 12, 2007 at 08:57:20PM +0000, Ulf Lilleengen wrote: > http://perforce.freebsd.org/chv.cgi?CH=3D121535 >=20 > Change 121535 by lulf@lulf_carrot on 2007/06/12 20:57:13 >=20 > - Allow subdisks to be added to raid5 plexes again. > - Add detach to userland gvinum tool > - Add gv_detach general request handler for detaching > - Add gv_detach_sd and gv_detach_plex to detach a subdisk and a plex. > - Make gv_sd_to_plex use the standard plex-size calculation. > - Add a sddetached-variable to gv_plex do be able to detect wether a > plex misses a subdisk or not. This variable is increased when a > subdisk is detached, and increased when a subdisk is attached. > - Remove weird offset-check with a correct one. > - Hook it up in the event system. > - Looks like handling a crashed drive, and replacing it is working so > far! =20 What do you use to test this? If you're not using it now, you should try gnop(8). You can simulate disk removal and I/O errors. It proved to be very handy for me in the past. --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --cvVnyQ+4j833TQvp Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQFGcorkForvXbEpPzQRAsE9AJ9ROvBSlXpb1IWbbbZRF2hLgy7UYACgzdPD phgzA13MWfumLlcqyXU9thE= =WX59 -----END PGP SIGNATURE----- --cvVnyQ+4j833TQvp-- From owner-p4-projects@FreeBSD.ORG Fri Jun 15 15:38:17 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 83B8016A46E; Fri, 15 Jun 2007 15:38:17 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4A20316A400; Fri, 15 Jun 2007 15:38:17 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from merke.itea.ntnu.no (merke.itea.ntnu.no [129.241.7.61]) by mx1.freebsd.org (Postfix) with ESMTP id 07B2A13C4B0; Fri, 15 Jun 2007 15:38:17 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by merke.itea.ntnu.no (Postfix) with ESMTP id 8144713DAB2; Fri, 15 Jun 2007 17:18:02 +0200 (CEST) Received: from twoflower.idi.ntnu.no (twoflower.idi.ntnu.no [129.241.104.169]) by merke.itea.ntnu.no (Postfix) with ESMTP; Fri, 15 Jun 2007 17:18:02 +0200 (CEST) Received: by twoflower.idi.ntnu.no (Postfix, from userid 1002) id 4540717023; Fri, 15 Jun 2007 17:18:02 +0200 (CEST) Date: Fri, 15 Jun 2007 17:18:02 +0200 From: Ulf Lilleengen To: Pawel Jakub Dawidek Message-ID: <20070615151802.GA19594@twoflower.idi.ntnu.no> References: <200706122057.l5CKvKlc084001@repoman.freebsd.org> <20070615124940.GB37295@garage.freebsd.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070615124940.GB37295@garage.freebsd.pl> User-Agent: Mutt/1.5.15 (2007-04-06) X-Content-Scanned: with sophos and spamassassin at mailgw.ntnu.no. Cc: Perforce Change Reviews Subject: Re: PERFORCE change 121535 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 15:38:18 -0000 On Fri, Jun 15, 2007 at 02:49:40PM +0200, Pawel Jakub Dawidek wrote: > On Tue, Jun 12, 2007 at 08:57:20PM +0000, Ulf Lilleengen wrote: > > http://perforce.freebsd.org/chv.cgi?CH=121535 > > > > Change 121535 by lulf@lulf_carrot on 2007/06/12 20:57:13 > > > > - Allow subdisks to be added to raid5 plexes again. > > - Add detach to userland gvinum tool > > - Add gv_detach general request handler for detaching > > - Add gv_detach_sd and gv_detach_plex to detach a subdisk and a plex. > > - Make gv_sd_to_plex use the standard plex-size calculation. > > - Add a sddetached-variable to gv_plex do be able to detect wether a > > plex misses a subdisk or not. This variable is increased when a > > subdisk is detached, and increased when a subdisk is attached. > > - Remove weird offset-check with a correct one. > > - Hook it up in the event system. > > - Looks like handling a crashed drive, and replacing it is working so > > far! > > What do you use to test this? If you're not using it now, you should try > gnop(8). You can simulate disk removal and I/O errors. It proved to be > very handy for me in the past. > I do a dd if=/dev/zero of=/dev/ which makes gvinum "loose" the drive. But thanks for the tip. It can perhaps give me ability to test more than just removal. -- Ulf Lilleengen From owner-p4-projects@FreeBSD.ORG Fri Jun 15 15:43:32 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9431816A477; Fri, 15 Jun 2007 15:43:32 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 66C4616A46C for ; Fri, 15 Jun 2007 15:43:32 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5679613C4EF for ; Fri, 15 Jun 2007 15:43:32 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5FFhWDq053505 for ; Fri, 15 Jun 2007 15:43:32 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5FFhJLI053242 for perforce@freebsd.org; Fri, 15 Jun 2007 15:43:19 GMT (envelope-from rpaulo@FreeBSD.org) Date: Fri, 15 Jun 2007 15:43:19 GMT Message-Id: <200706151543.l5FFhJLI053242@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 121696 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 15:43:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=121696 Change 121696 by rpaulo@rpaulo_epsilon on 2007/06/15 15:42:52 IFC Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/busdma_machdep.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/trap.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/conf/GENERIC#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/ia32/ia32_syscall.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/amd64/include/kdb.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/busdma_machdep.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/pmap.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/if_ate.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/kdb.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/pmap.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/pte.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/cam/README.quirks#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_file.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_misc.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/kern/opensolaris_atomic.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/kern/opensolaris_policy.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/opensolaris/sys/atomic.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/svr4/svr4_misc.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/NOTES#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.amd64#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.i386#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.pc98#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.sparc64#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files.sun4v#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/options#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/options.arm#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/ipfilter/netinet/fil.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/common/atomic/amd64/atomic.S#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/common/atomic/i386/atomic.S#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/common/atomic/ia64/atomic.S#1 branch .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/sys/asm_linkage.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/sys/atomic.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/dev/an/if_an.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/ath_rate/amrr/amrr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/ath_rate/onoe/onoe.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/if_ath.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/if_athioctl.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/if_athvar.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/awi/awi.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/awi/awivar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cardbus/cardbus_cis.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/common/cxgb_ael1002.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/common/cxgb_common.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/common/cxgb_mc5.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/common/cxgb_t3_hw.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/common/cxgb_vsc7323.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/common/cxgb_xgmac.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_adapter.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_config.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_lro.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_main.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_offload.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_offload.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_sge.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/t3fw-4.0.0.bin.gz.uu#2 delete .. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/t3fw-4.1.0.bin.gz.uu#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/dcons/dcons.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/dcons/dcons_crom.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/dcons/dcons_os.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/dcons/dcons_os.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/firewire.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/firewirereg.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/fwohci.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/sbp.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/firewire/sbp_targ.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/hatm/if_hatm_intr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/if_ndis/if_ndis.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/if_ndis/if_ndis_usb.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ipw/if_ipw.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp_freebsd.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp_ioctl.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp_pci.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/iwi/if_iwi.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/iwi/if_iwireg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/iwi/if_iwivar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/brgphy.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/icsphy.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/icsphyreg.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/mii/miidevs#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/msk/if_msk.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/msk/if_mskreg.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mxge/if_mxge.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nfe/if_nfereg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nfe/if_nfevar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nve/if_nve.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/pdq/pdqreg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/if_ral_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2560.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2560reg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2560var.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2661.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2661reg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2661var.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sbsh/if_sbsh.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/clone.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/clone.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/isa/ess.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/isa/mss.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/atiixp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/aureal.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/cmi.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/cs4281.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/csapcm.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/emu10k1.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/es137x.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/fm801.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/hda/hdac.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/ich.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/solo.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/via8233.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pci/vibes.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pcm/buffer.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pcm/buffer.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pcm/channel.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pcm/channel.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pcm/dsp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/pcm/vchan.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/usb/uaudio.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sound/usb/uaudio_pcm.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/txp/if_txp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/dsbr100io.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ehci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ehcivar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/hid.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_aue.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_axe.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_axereg.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_cdce.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_cdcereg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_cue.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_cuereg.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_kue.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_kuereg.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_rue.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_rum.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_rumreg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_rumvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_udav.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_ural.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_uralreg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_uralvar.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ohci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ohcivar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/rio500_usb.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uark.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ubsa.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ubser.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ucom.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ucomvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ucycom.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/udbp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ufm.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ufoma.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uftdi.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ugen.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uhci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uhcivar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uhid.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uhub.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uipaq.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ulpt.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/umass.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/umct.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/umodem.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ums.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uplcom.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/urio.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_mem.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_mem.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_port.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_subr.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdi.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdi.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdi_util.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdivar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uscanner.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uvisor.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/uvscom.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/wi/if_wi.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/wi/if_wivar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/procfs/procfs_ioctl.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/procfs/procfs_status.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/pseudofs/pseudofs_vnops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/gdb/gdb_packet.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/geom/part/g_part_mbr.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/gnu/fs/ext2fs/ext2_vnops.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/gnu/fs/reiserfs/reiserfs_namei.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/gnu/fs/reiserfs/reiserfs_stree.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/conf/GENERIC#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/conf/PAE#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/busdma_machdep.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/trap.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/include/kdb.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/conf/GENERIC#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/db_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/machdep.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/pmap.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/include/cpufunc.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/include/kdb.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/include/vmparam.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/init_main.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_acct.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_clock.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_exec.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_exit.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_fork.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_kse.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_ktrace.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_malloc.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_mutex.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_ntptime.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_priv.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_proc.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_prot.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_resource.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_sig.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_switch.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_sysctl.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_thr.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_thread.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_time.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sched_4bsd.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sched_ule.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_acl_posix1e.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_sleepqueue.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_trap.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_turnstile.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_witness.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sysv_ipc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/sysv_msg.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/tty.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_mqueue.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_aio.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_bio.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_mount.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_subr.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_syscalls.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/libkern/mcount.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/Makefile#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/bge/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/cxgb/Makefile#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/ip_mroute_mod/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/mii/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/wlan/Makefile#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/wlan_scan_ap/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/modules/wlan_scan_sta/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/modules/zfs/Makefile#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/bpf.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/ieee8023ad_lacp.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/ieee8023ad_lacp.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_bridge.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_bridgevar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_ethersubr.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_lagg.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_lagg.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_media.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_spppsubr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_types.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/pfil.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/route.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/_ieee80211.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_acl.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_amrr.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_crypto.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_crypto.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_crypto_ccmp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_crypto_none.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_crypto_tkip.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_crypto_wep.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_freebsd.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_freebsd.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_ht.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_ht.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_input.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_ioctl.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_ioctl.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_node.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_node.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_output.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_power.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_power.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_proto.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_proto.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_radiotap.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_regdomain.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_regdomain.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_scan.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_scan.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_scan_ap.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_scan_sta.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net80211/ieee80211_var.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_car.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_vlan.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/igmp.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/igmp_var.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_mcast.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_pcb.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_proto.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/in_var.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_carp.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_output.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_var.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/raw_ip.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp.h#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_asconf.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_asconf.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_auth.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_auth.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_bsd_addr.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_constants.h#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_header.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_indata.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_input.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_lock_bsd.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_os_bsd.h#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_output.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.h#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_peeloff.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_structs.h#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_sysctl.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_sysctl.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_timer.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_timer.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_uio.h#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_usrreq.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.h#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_hostcache.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_input.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_output.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_subr.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_timer.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/udp_usrreq.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/udp_var.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/in6.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/in6_ifattach.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/in6_pcb.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/in6_src.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/ip6_output.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/raw_ip6.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/sctp6_usrreq.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/sctp6_var.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/udp6_output.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipsec/ipsec_osdep.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipx/ipx.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipx/ipx.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipx/ipx_if.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipx/ipx_ip.c#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netipx/ipx_ip.h#2 delete .. //depot/projects/soc2007/rpaulo-macbook/netipx/ipx_usrreq.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pc98/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pc98/conf/GENERIC#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/conf/GENERIC#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/include/cpu.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/include/kdb.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/include/md_var.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/busdma_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/db_interface.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/syncicache.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/uio_machdep.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_arg.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_bsm.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_syscalls.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_trigger.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_bsdextended/mac_bsdextended.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_portacl/mac_portacl.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_seeotheruids/mac_seeotheruids.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/conf/GENERIC#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/include/kdb.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/conf/GENERIC#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/include/kdb.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sun4v/include/pcpu.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/mbuf.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/param.h#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/priv.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/proc.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/resourcevar.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/sched.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/socket.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/syscallsubr.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/systm.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/thr.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/ucred.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/vmmeter.h#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ffs/ffs_alloc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ffs/ffs_vnops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ufs/ufs_quota.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ufs/ufs/ufs_vnops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_contig.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_object.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_page.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_pageout.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_pageq.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_phys.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_phys.h#1 branch Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.81 2007/05/29 06:30:25 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.82 2007/06/11 17:57:24 mjacob Exp $"); #include #include @@ -220,6 +220,10 @@ if (boundary != 0 && boundary < maxsegsz) maxsegsz = boundary; + if (maxsegsz == 0) { + return (EINVAL); + } + /* Return a NULL tag on failure */ *dmat = NULL; ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/trap.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.317 2007/06/04 21:38:44 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.318 2007/06/10 21:59:12 attilio Exp $"); /* * AMD64 Trap and System call handling @@ -736,10 +736,6 @@ int reg, regcnt; ksiginfo_t ksi; - /* - * note: PCPU_INC() can only be used if we can afford - * occassional inaccuracy in the count. - */ PCPU_INC(cnt.v_syscall); #ifdef DIAGNOSTIC ==== //depot/projects/soc2007/rpaulo-macbook/amd64/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.9 2006/11/04 23:50:11 jb Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.10 2007/06/11 00:38:05 marcel Exp $ machine amd64 @@ -15,5 +15,9 @@ # UART chips on this platform device uart_ns8250 +# Default partitioning schemes +options GEOM_BSD +options GEOM_MBR + # KSE support went from being default to a kernel option options KSE ==== //depot/projects/soc2007/rpaulo-macbook/amd64/conf/GENERIC#4 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.478 2007/05/28 14:38:42 simokawa Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.482 2007/06/14 17:14:25 delphij Exp $ cpu HAMMER ident GENERIC @@ -30,6 +30,7 @@ options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols +options SCTP # Stream Transmission Control Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists @@ -60,6 +61,7 @@ options KBD_INSTALL_CDEV # install a CDEV entry in /dev options ADAPTIVE_GIANT # Giant mutex is adaptive. options STOP_NMI # Stop CPUS using NMI instead of IPI +options AUDIT # Security event auditing # Debugging for use in -current options KDB # Enable kernel debugger support. @@ -199,8 +201,9 @@ device fxp # Intel EtherExpress PRO/100B (82557, 82558) device lge # Level 1 LXT1001 gigabit Ethernet device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet +device nfe # nVidia nForce MCP on-board Ethernet device nge # NatSemi DP83820 gigabit Ethernet -device nve # nVidia nForce MCP on-board Ethernet Networking +#device nve # nVidia nForce MCP on-board Ethernet Networking device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 @@ -232,6 +235,8 @@ device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm +device wlan_scan_ap # 802.11 AP mode scanning +device wlan_scan_sta # 802.11 STA mode scanning device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) ==== //depot/projects/soc2007/rpaulo-macbook/amd64/ia32/ia32_syscall.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.18 2007/06/04 21:38:45 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.19 2007/06/10 21:59:12 attilio Exp $"); /* * 386 Trap and System call handling @@ -104,12 +104,7 @@ u_int code; ksiginfo_t ksi; - /* - * note: PCPU_INC() can only be used if we can afford - * occassional inaccuracy in the count. - */ PCPU_INC(cnt.v_syscall); - td->td_pticks = 0; td->td_frame = frame; if (td->td_ucred != p->p_ucred) ==== //depot/projects/soc2007/rpaulo-macbook/amd64/include/kdb.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/kdb.h,v 1.3 2006/04/03 22:51:46 marcel Exp $ + * $FreeBSD: src/sys/amd64/include/kdb.h,v 1.4 2007/06/09 21:55:16 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -47,6 +47,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { } ==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/busdma_machdep.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.31 2007/05/29 06:30:25 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.33 2007/06/10 12:33:01 cognet Exp $"); /* * ARM bus dma support routines @@ -427,7 +427,8 @@ } /* Performed initial allocation */ newtag->flags |= BUS_DMA_MIN_ALLOC_COMP; - } + } else + newtag->bounce_zone = NULL; if (error != 0) free(newtag, M_DEVBUF); else @@ -674,8 +675,8 @@ CTR4(KTR_BUSDMA, "lowaddr= %d Maxmem= %d, boundary= %d, " "alignment= %d", dmat->lowaddr, ptoa((vm_paddr_t)Maxmem), dmat->boundary, dmat->alignment); - CTR3(KTR_BUSDMA, "map= %p, nobouncemap= %p, pagesneeded= %d", - map, &nobounce_dmamap, map->pagesneeded); + CTR2(KTR_BUSDMA, "map= %p, pagesneeded= %d", + map, map->pagesneeded); /* * Count the number of bounce pages * needed in order to complete this transfer @@ -1384,8 +1385,7 @@ struct bounce_page *bpage; KASSERT(dmat->bounce_zone != NULL, ("no bounce zone in dma tag")); - KASSERT(map != NULL && map != &nobounce_dmamap, - ("add_bounce_page: bad map %p", map)); + KASSERT(map != NULL, ("add_bounce_page: bad map %p", map)); bz = dmat->bounce_zone; if (map->pagesneeded == 0) ==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/pmap.c#4 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.82 2007/05/31 22:52:10 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.83 2007/06/11 21:29:26 cognet Exp $"); #include #include #include @@ -613,11 +613,9 @@ * is significantly faster than the traditional, write-through * behavior of this case. */ -#ifndef CPU_XSCALE_CORE3 pte_l1_s_cache_mode |= L1_S_XSCALE_TEX(TEX_XSCALE_X); pte_l2_l_cache_mode |= L2_XSCALE_L_TEX(TEX_XSCALE_X); pte_l2_s_cache_mode |= L2_XSCALE_T_TEX(TEX_XSCALE_X); -#endif #endif /* XSCALE_CACHE_READ_WRITE_ALLOCATE */ #ifdef XSCALE_CACHE_WRITE_THROUGH /* @@ -2820,6 +2818,34 @@ * Low level mapping routines..... ***************************************************/ +/* Map a super section into the KVA. */ + +void +pmap_kenter_supersection(vm_offset_t va, uint64_t pa, int flags) +{ + pd_entry_t pd = L1_S_PROTO | L1_S_SUPERSEC | (pa & L1_SUP_OFFSET) | + (((pa >> 32) & 0x8) << 20) | L1_S_PROT(PTE_KERNEL, + VM_PROT_READ|VM_PROT_WRITE) | L1_S_DOM(PMAP_DOMAIN_KERNEL); + struct l1_ttable *l1; + vm_offset_t va_end; + + KASSERT(((va | pa) & L1_SUP_OFFSET) == 0, + ("Not a valid section mapping")); + if (flags & SECTION_CACHE) + pd |= pte_l1_s_cache_mode; + else if (flags & SECTION_PT) + pd |= pte_l1_s_cache_mode_pt; + va = va & L1_SUP_OFFSET; + va_end = va + L1_SUP_SIZE; + SLIST_FOREACH(l1, &l1_list, l1_link) { + for (; va < va_end; va += L1_S_SIZE) { + l1->l1_kva[L1_IDX(va)] = pd; + PTE_SYNC(&l1->l1_kva[L1_IDX(va)]); + } + } + +} + /* Map a section into the KVA. */ void ==== //depot/projects/soc2007/rpaulo-macbook/arm/at91/if_ate.c#2 (text) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.19 2007/02/23 12:18:27 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.20 2007/06/11 19:36:37 imp Exp $"); #include #include @@ -581,7 +581,6 @@ WR4(sc, ETH_SA1L, (eaddr[3] << 24) | (eaddr[2] << 16) | (eaddr[1] << 8) | eaddr[0]); WR4(sc, ETH_SA1H, (eaddr[5] << 8) | (eaddr[4])); - } static int ==== //depot/projects/soc2007/rpaulo-macbook/arm/include/kdb.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/kdb.h,v 1.3 2005/01/05 21:58:48 imp Exp $ + * $FreeBSD: src/sys/arm/include/kdb.h,v 1.4 2007/06/09 21:55:16 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -44,6 +44,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { cpu_idcache_wbinv_all(); ==== //depot/projects/soc2007/rpaulo-macbook/arm/include/pmap.h#3 (text+ko) ==== @@ -44,7 +44,7 @@ * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30 * - * $FreeBSD: src/sys/arm/include/pmap.h,v 1.25 2007/05/19 12:47:34 cognet Exp $ + * $FreeBSD: src/sys/arm/include/pmap.h,v 1.26 2007/06/11 21:29:26 cognet Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -521,6 +521,7 @@ #define SECTION_CACHE 0x1 #define SECTION_PT 0x2 void pmap_kenter_section(vm_offset_t, vm_paddr_t, int flags); +void pmap_kenter_supersection(vm_offset_t, uint64_t, int flags); extern char *_tmppt; ==== //depot/projects/soc2007/rpaulo-macbook/arm/include/pte.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/pte.h,v 1.3 2005/01/05 21:58:48 imp Exp $ + * $FreeBSD: src/sys/arm/include/pte.h,v 1.4 2007/06/11 21:29:26 cognet Exp $ */ #ifndef _MACHINE_PTE_H_ @@ -140,6 +140,12 @@ * presented to the translation logic. */ +/* ARMv6 super-sections. */ +#define L1_SUP_SIZE 0x01000000 /* 16M */ +#define L1_SUP_OFFSET (L1_SUP_SIZE - 1) +#define L1_SUP_FRAME (~L1_SUP_OFFSET) +#define L1_SUP_SHIFT 24 + #define L1_S_SIZE 0x00100000 /* 1M */ #define L1_S_OFFSET (L1_S_SIZE - 1) #define L1_S_FRAME (~L1_S_OFFSET) @@ -199,10 +205,13 @@ #define L1_S_DOM_MASK L1_S_DOM(0xf) #define L1_S_AP(x) ((x) << 10) /* access permissions */ #define L1_S_ADDR_MASK 0xfff00000 /* phys address of section */ +#define L1_SHARED (1 << 16) #define L1_S_XSCALE_P 0x00000200 /* ECC enable for this section */ #define L1_S_XSCALE_TEX(x) ((x) << 12) /* Type Extension */ +#define L1_S_SUPERSEC ((1) << 18) /* Section is a super-section. */ + /* L1 Coarse Descriptor */ #define L1_C_IMP0 0x00000004 /* implementation defined */ #define L1_C_IMP1 0x00000008 /* implementation defined */ @@ -250,6 +259,7 @@ #define L2_AP(x) (L2_AP0(x) | L2_AP1(x) | L2_AP2(x) | L2_AP3(x)) #define L2_XSCALE_L_TEX(x) ((x) << 12) /* Type Extension */ +#define L2_XSCALE_L_S(x) (1 << 15) /* Shared */ #define L2_XSCALE_T_TEX(x) ((x) << 6) /* Type Extension */ /* @@ -296,6 +306,64 @@ * 1 1 Y Y Write-back R/W Allocate */ #define TEX_XSCALE_X 0x01 /* X modifies C and B */ +#define TEX_XSCALE_E 0x02 +#define TEX_XSCALE_T 0x04 + +/* Xscale core 3 */ + +/* + * + * Cache attributes with L2 present, S = 0 + * T E X C B L1 i-cache L1 d-cache L1 DC WP L2 cacheable write coalesce + * 0 0 0 0 0 N N - N N + * 0 0 0 0 1 N N - N Y + * 0 0 0 1 0 Y Y WT N Y + * 0 0 0 1 1 Y Y WB Y Y + * 0 0 1 0 0 N N - Y Y + * 0 0 1 0 1 N N - N N + * 0 0 1 1 0 Y Y - - N + * 0 0 1 1 1 Y Y WT Y Y + * 0 1 0 0 0 N N - N N + * 0 1 0 0 1 N/A N/A N/A N/A N/A + * 0 1 0 1 0 N/A N/A N/A N/A N/A + * 0 1 0 1 1 N/A N/A N/A N/A N/A + * 0 1 1 X X N/A N/A N/A N/A N/A + * 1 X 0 0 0 N N - N Y + * 1 X 0 0 1 Y N - N Y + * 1 X 0 1 0 Y N - N Y + * 1 X 0 1 1 Y N - Y Y + * 1 X 1 0 0 N N - Y Y + * 1 X 1 0 1 Y Y WT Y Y + * 1 X 1 1 0 Y Y WT Y Y + * 1 X 1 1 1 Y Y WT Y Y + * + * + * + * + * Cache attributes with L2 present, S = 1 + * T E X C B L1 i-cache L1 d-cache L1 DC WP L2 cacheable write coalesce + * 0 0 0 0 0 N N - N N + * 0 0 0 0 1 N N - N Y + * 0 0 0 1 0 Y Y - N Y + * 0 0 0 1 1 Y Y WT Y Y + * 0 0 1 0 0 N N - Y Y + * 0 0 1 0 1 N N - N N + * 0 0 1 1 0 Y Y - - N + * 0 0 1 1 1 Y Y WT Y Y + * 0 1 0 0 0 N N - N N + * 0 1 0 0 1 N/A N/A N/A N/A N/A + * 0 1 0 1 0 N/A N/A N/A N/A N/A + * 0 1 0 1 1 N/A N/A N/A N/A N/A + * 0 1 1 X X N/A N/A N/A N/A N/A + * 1 X 0 0 0 N N - N Y + * 1 X 0 0 1 Y N - N Y + * 1 X 0 1 0 Y N - N Y + * 1 X 0 1 1 Y N - Y Y + * 1 X 1 0 0 N N - Y Y + * 1 X 1 0 1 Y Y WT Y Y + * 1 X 1 1 0 Y Y WT Y Y + * 1 X 1 1 1 Y Y WT Y Y + */ #endif /* !_MACHINE_PTE_H_ */ /* End of pte.h */ ==== //depot/projects/soc2007/rpaulo-macbook/cam/README.quirks#2 (text+ko) ==== @@ -1,4 +1,212 @@ -/* $FreeBSD: src/sys/cam/README.quirks,v 1.1 2007/05/29 20:07:22 mjacob Exp $ */ +/* $FreeBSD: src/sys/cam/README.quirks,v 1.2 2007/06/10 04:31:55 mjacob Exp $ */ + + FreeBSD Quirk Guidelines + + Nate Lawson - njl at freebsd org + +0. Introduction + +FreeBSD drivers make every attempt possible to support the standards +behind hardware. Where possible and not in conflict with the standard, +they also attempt to work around hardware which doesn't strictly +conform. However, some devices have flaws which can't be worked +around while keeping the driver compatible with the standard. For +these devices, we have created a quirks mechanism to indicate to +the driver that it must avoid certain commands or use them differently +with a specific model and/or version of hardware. This document +focuses on identifying and committing quirks for storage hardware +involving CAM and UMASS but is applicable to other areas. + +CAM provides a generic transport for SCSI-like devices. Many different +transports use SCSI command sets including parallel SCSI, firewire +(1394), USB UMASS, fibre channel, and ATAPI. For block devices (i.e. +hard drives, flash adapters, cameras) there are two standards, SBC +and RBC. SCSI hard drives are usually SBC-compliant and smaller +devices like flash drives are usually RBC-compliant. Multimedia +devices including CDROMs and DVD-RW are usually MMC-compliant. + +Please follow these guidelines to get your device working as soon +as possible. If you are a committer, please do NOT commit quirks +directly but follow this process also. + +1. Determing the problem + +The first step is to determine what's wrong. If the device should +be supported but hangs while attaching, it's possible a quirk can +help. The types of things a quirk can fix are: +` + * cam/cam_xpt.c quirks + + o CAM_QUIRK_NOLUNS - do not probe luns other than 0 since device + responds to all inquiries with "lun present". + + o CAM_QUIRK_NOSERIAL - do not send an inquiry for serial number. + + o CAM_QUIRK_HILUNS - probe all luns even if some respond "not present" + since device has a sparse lun space. + + * cam/scsi/scsi_da.c quirks + + o DA_Q_NO_SYNC_CACHE - The sync cache command is used to force a + drive to write out all changes to disk before shutting down. Some + drives hang when receiving this command even though it is required + by all SBC and RBC standards. Note that a warning message on + console is NOT sufficient to add this quirk. The warning messages + are harmless and only a device or system hang is cause for adding + this quirk. + + o DA_Q_NO_6_BYTE - The RBC spec (see Links below) does not allow + for 6-byte READ/WRITE commands. Some manufacturers took that too + literally and crash when receiving 6-byte commands. This quirk + causes FreeBSD to only send 10-byte commands. Since the CAM subsystem + has been modified to not send 6-byte commands to USB, 1394, and + other transports that don't support SBC, this quirk should be very + rare. + + o DA_Q_NO_PREVENT - Don't use the prevent/allow commands to keep a + removable medium from being ejected. Some systems can't handle these + commands (rare). + + * cam/scsi/scsi_cd.c quirks + + o CD_Q_NO_TOUCH - not implemented + + o CD_Q_BCD_TRACKS - convert start/end track to BCD + + o CD_Q_NO_CHANGER - never treat as a changer + + o CD_Q_CHANGER - always treat as a changer + + * cam/scsi/scsi_ch.c quirks + o CH_Q_NO_DBD - disable block descriptors in mode sense + + * cam/scsi/scsi_sa.c quirks + + o SA_QUIRK_NOCOMP - Can't deal with compression at all + + o SA_QUIRK_FIXED - Force fixed mode + + o SA_QUIRK_VARIABLE - Force variable mode + + o SA_QUIRK_2FM - Needs Two File Marks at EOD + + o SA_QUIRK_1FM - No more than 1 File Mark at EOD + + o SA_QUIRK_NODREAD - Don't try and dummy read density + + o SA_QUIRK_NO_MODESEL - Don't do mode select at all + + o SA_QUIRK_NO_CPAGE - Don't use DEVICE COMPRESSION page + + * dev/usb/umass.c quirks + + o NO_TEST_UNIT_READY - The drive does not support Test Unit Ready. + Convert to Start Unit. This command is a simple no-op for most + firmware but some of them hang when this command is sent. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jun 15 16:00:55 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF6EE16A46C; Fri, 15 Jun 2007 16:00:55 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6B1AF16A468 for ; Fri, 15 Jun 2007 16:00:55 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5CA4913C4CC for ; Fri, 15 Jun 2007 16:00:55 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5FG0tYT069725 for ; Fri, 15 Jun 2007 16:00:55 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5FG0tBr069714 for perforce@freebsd.org; Fri, 15 Jun 2007 16:00:55 GMT (envelope-from rpaulo@FreeBSD.org) Date: Fri, 15 Jun 2007 16:00:55 GMT Message-Id: <200706151600.l5FG0tBr069714@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 121698 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 16:00:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=121698 Change 121698 by rpaulo@rpaulo_epsilon on 2007/06/15 16:00:38 Adapt to the following commit: date: 2007/06/12 15:37:18; author: imp Expand USB_ATTACH_{ERROR,SUCCESS}_RETURN inline and eliminate from usb_port.h. They aren't needed, and are a legacy of this code's past. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#5 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#5 (text+ko) ==== @@ -184,7 +184,7 @@ if (err) { printf("%s: could not read report descriptor\n", device_get_nameunit(sc->sc_dev)); - USB_ATTACH_ERROR_RETURN; + return ENXIO; } if (hid_locate(desc, size, HID_USAGE2(HUP_CUSTOM, HUC_FNKEY), From owner-p4-projects@FreeBSD.ORG Fri Jun 15 16:13:12 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C9F3816A479; Fri, 15 Jun 2007 16:13:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8FCC816A477 for ; Fri, 15 Jun 2007 16:13:11 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 80FCA13C4B0 for ; Fri, 15 Jun 2007 16:13:11 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5FGDBS8083691 for ; Fri, 15 Jun 2007 16:13:11 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5FGDBKB083683 for perforce@freebsd.org; Fri, 15 Jun 2007 16:13:11 GMT (envelope-from gabor@freebsd.org) Date: Fri, 15 Jun 2007 16:13:11 GMT Message-Id: <200706151613.l5FGDBKB083683@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 121701 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 16:13:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=121701 Change 121701 by gabor@gabor_server on 2007/06/15 16:12:52 Change OSVERSION handling here, as well. This change was forgotten when I was working on the DESTDIR support last summer. Reported by: kris Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.subdir.mk#9 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.subdir.mk#9 (text+ko) ==== @@ -58,10 +58,12 @@ OSREL!= /usr/bin/uname -r | sed -e 's/[-(].*//' .endif .if !defined(OSVERSION) -.if exists(/sbin/sysctl) -OSVERSION!= /sbin/sysctl -n kern.osreldate +.if exists(/usr/include/sys/param.h) +OSVERSION!= ${AWK} '/^\#define __FreeBSD_version/ {print $$3}' < /usr/include/sys/param.h +.elif exists(/usr/src/sys/sys/param.h) +OSVERSION!= ${AWK} '/^\#define __FreeBSD_version/ {print $$3}' < /usr/src/sys/sys/param.h .else -OSVERSION!= /usr/sbin/sysctl -n kern.osreldate +OSVERSION!= ${SYSCTL} -n kern.osreldate .endif .endif .endif From owner-p4-projects@FreeBSD.ORG Fri Jun 15 16:57:04 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B8E7116A46E; Fri, 15 Jun 2007 16:57:04 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8990116A41F for ; Fri, 15 Jun 2007 16:57:04 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 790E313C4B8 for ; Fri, 15 Jun 2007 16:57:04 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5FGv4W9035479 for ; Fri, 15 Jun 2007 16:57:04 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5FGv4Yw035472 for perforce@freebsd.org; Fri, 15 Jun 2007 16:57:04 GMT (envelope-from lulf@FreeBSD.org) Date: Fri, 15 Jun 2007 16:57:04 GMT Message-Id: <200706151657.l5FGv4Yw035472@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121702 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 16:57:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=121702 Change 121702 by lulf@lulf_carrot on 2007/06/15 16:56:29 - Fix a bug where I used wrong text-to-number conversion on some states. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#10 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#10 (text+ko) ==== @@ -97,7 +97,7 @@ /* XXX: Should try to avoid malloc. */ newstatep = g_malloc(sizeof(int), M_WAITOK | M_ZERO); - *newstatep = gv_sdstatei(state); + *newstatep = gv_plexstatei(state); flagp = g_malloc(sizeof(int), M_WAITOK | M_ZERO); *flagp = f; gv_post_event(sc, GV_EVENT_SET_PLEX_STATE, p, newstatep, flagp); @@ -127,7 +127,7 @@ /* XXX: Should try to avoid malloc. */ newstatep = g_malloc(sizeof(int), M_WAITOK | M_ZERO); - *newstatep = gv_sdstatei(state); + *newstatep = gv_drivestatei(state); flagp = g_malloc(sizeof(int), M_WAITOK | M_ZERO); *flagp = f; gv_post_event(sc, GV_EVENT_SET_DRIVE_STATE, d, newstatep, From owner-p4-projects@FreeBSD.ORG Fri Jun 15 17:23:37 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E6F116A46C; Fri, 15 Jun 2007 17:23:37 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D101616A469 for ; Fri, 15 Jun 2007 17:23:36 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C263313C483 for ; Fri, 15 Jun 2007 17:23:36 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5FHNao5060669 for ; Fri, 15 Jun 2007 17:23:36 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5FHNaLA060662 for perforce@freebsd.org; Fri, 15 Jun 2007 17:23:36 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 15 Jun 2007 17:23:36 GMT Message-Id: <200706151723.l5FHNaLA060662@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 121703 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 17:23:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=121703 Change 121703 by hselasky@hselasky_mini_itx on 2007/06/15 17:23:15 Poll the interrupt handler one time after attach/resume to catch any lost interrupts. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ehci.c#33 edit .. //depot/projects/usb/src/sys/dev/usb/ohci.c#27 edit .. //depot/projects/usb/src/sys/dev/usb/uhci.c#27 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ehci.c#33 (text+ko) ==== @@ -105,6 +105,7 @@ static usbd_config_td_command_t ehci_root_ctrl_task; static void ehci_root_ctrl_task_td(struct ehci_softc *sc, struct thread *ctd); +static void ehci_do_poll(struct usbd_bus *bus); #define SC_HW_PHYSADDR(sc,what) \ ((sc)->sc_hw_page.physaddr + \ @@ -373,6 +374,11 @@ done: mtx_unlock(&sc->sc_bus.mtx); + + if (!err) { + /* catch any lost interrupts */ + ehci_do_poll(&(sc->sc_bus)); + } return (err); } @@ -531,6 +537,10 @@ mtx_unlock(&sc->sc_bus.mtx); DELAY(1000*USB_RESUME_WAIT); + + /* catch any lost interrupts */ + ehci_do_poll(&(sc->sc_bus)); + return; } ==== //depot/projects/usb/src/sys/dev/usb/ohci.c#27 (text+ko) ==== @@ -121,6 +121,7 @@ static usbd_config_td_command_t ohci_root_ctrl_task; static void ohci_root_ctrl_task_td(struct ohci_softc *sc, struct thread *ctd); +static void ohci_do_poll(struct usbd_bus *bus); #define SC_HW_PHYSADDR(sc,what) \ ((sc)->sc_hw_page.physaddr + \ @@ -379,6 +380,8 @@ else { mtx_unlock(&sc->sc_bus.mtx); + /* catch any lost interrupts */ + ohci_do_poll(&(sc->sc_bus)); return (USBD_NORMAL_COMPLETION); } } @@ -475,6 +478,10 @@ sc->sc_control = sc->sc_intre = 0; mtx_unlock(&sc->sc_bus.mtx); + + /* catch any lost interrupts */ + ohci_do_poll(&(sc->sc_bus)); + return; } ==== //depot/projects/usb/src/sys/dev/usb/uhci.c#27 (text+ko) ==== @@ -138,6 +138,7 @@ static usbd_config_td_command_t uhci_root_ctrl_task; static void uhci_root_ctrl_task_td(struct uhci_softc *sc, struct thread *ctd); +static void uhci_do_poll(struct usbd_bus *bus); void uhci_reset(uhci_softc_t *sc) @@ -439,6 +440,9 @@ mtx_unlock(&sc->sc_bus.mtx); + /* catch lost interrupts */ + uhci_do_poll(&(sc->sc_bus)); + return 0; } @@ -503,6 +507,10 @@ #endif mtx_unlock(&sc->sc_bus.mtx); + + /* catch lost interrupts */ + uhci_do_poll(&(sc->sc_bus)); + return; } From owner-p4-projects@FreeBSD.ORG Fri Jun 15 17:25:41 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D0E7F16A473; Fri, 15 Jun 2007 17:25:40 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4E59B16A468 for ; Fri, 15 Jun 2007 17:25:40 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3FC1313C448 for ; Fri, 15 Jun 2007 17:25:40 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5FHPemt062559 for ; Fri, 15 Jun 2007 17:25:40 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5FHPdDK062548 for perforce@freebsd.org; Fri, 15 Jun 2007 17:25:39 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 15 Jun 2007 17:25:39 GMT Message-Id: <200706151725.l5FHPdDK062548@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 121704 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 17:25:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=121704 Change 121704 by hselasky@hselasky_mini_itx on 2007/06/15 17:25:03 Enhance the usability of the usbd_find_descriptor() function. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/if_cdce.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/umodem.c#21 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.c#38 edit .. //depot/projects/usb/src/sys/dev/usb/usb_subr.h#40 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/if_cdce.c#19 (text+ko) ==== @@ -253,7 +253,7 @@ } ud = usbd_find_descriptor - (uaa->device, uaa->iface_index, + (uaa->device, NULL, uaa->iface_index, UDESC_CS_INTERFACE, UDESCSUB_CDC_UNION); if ((ud == NULL) || (ud->bLength < sizeof(*ud))) { @@ -328,7 +328,7 @@ &cdce_ifmedia_sts_cb); ue = usbd_find_descriptor - (uaa->device, uaa->iface_index, + (uaa->device, NULL, uaa->iface_index, UDESC_CS_INTERFACE, UDESCSUB_CDC_ENF); if ((ue == NULL) || (ue->bLength < sizeof(*ue)) || ==== //depot/projects/usb/src/sys/dev/usb/umodem.c#21 (text+ko) ==== @@ -903,7 +903,7 @@ umodem_get_desc(struct usb_attach_arg *uaa, u_int8_t type, u_int8_t subtype) { return - usbd_find_descriptor(uaa->device, uaa->iface_index, type, subtype); + usbd_find_descriptor(uaa->device, NULL, uaa->iface_index, type, subtype); } static usbd_status ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.c#38 (text+ko) ==== @@ -364,13 +364,22 @@ return (NULL); } +/*------------------------------------------------------------------------* + * usbd_find_descriptor + * + * This function will lookup the first descriptor that matches + * the criteria given by the arguments "type" and "subtype". Descriptors + * will only be searched within the interface having the index "iface_index". + * It is possible to specify the last descriptor returned by this function + * as the "id" argument. That way one can search for multiple descriptors + * matching the same criteria. + *------------------------------------------------------------------------*/ void * -usbd_find_descriptor(struct usbd_device *udev, uint16_t iface_index, +usbd_find_descriptor(struct usbd_device *udev, void *id, uint16_t iface_index, int16_t type, int16_t subtype) { usb_descriptor_t *desc; usb_config_descriptor_t *cd; - usb_interface_descriptor_t *id; struct usbd_interface *iface; cd = usbd_get_config_descriptor(udev); @@ -378,14 +387,16 @@ return NULL; } - iface = usbd_get_iface(udev, iface_index); - if (iface == NULL) { + if (id == NULL) { + iface = usbd_get_iface(udev, iface_index); + if (iface == NULL) { return NULL; - } + } - id = usbd_get_interface_descriptor(iface); - if (id == NULL) { + id = usbd_get_interface_descriptor(iface); + if (id == NULL) { return NULL; + } } desc = (void *)id; @@ -396,7 +407,8 @@ break; } - if ((desc->bDescriptorType == type) && + if (((type == USBD_TYPE_ANY) || + (type == desc->bDescriptorType)) && ((subtype == USBD_SUBTYPE_ANY) || (subtype == desc->bDescriptorSubtype))) { ==== //depot/projects/usb/src/sys/dev/usb/usb_subr.h#40 (text+ko) ==== @@ -541,6 +541,7 @@ /* prototypes from usb_subr.c */ +#define USBD_TYPE_ANY (-1) #define USBD_SUBTYPE_ANY (-1) #ifdef __FreeBSD__ @@ -559,7 +560,7 @@ struct usb_hid_descriptor *usbd_get_hdesc(usb_config_descriptor_t *cd, usb_interface_descriptor_t *id); usb_interface_descriptor_t *usbd_find_idesc(usb_config_descriptor_t *cd, uint16_t iface_index, uint16_t alt_index); usb_endpoint_descriptor_t *usbd_find_edesc(usb_config_descriptor_t *cd, uint16_t iface_index, uint16_t alt_index, uint16_t endptidx); -void * usbd_find_descriptor(struct usbd_device *udev, uint16_t iface_index, int16_t type, int16_t subtype); +void * usbd_find_descriptor(struct usbd_device *udev, void *id, uint16_t iface_index, int16_t type, int16_t subtype); int usbd_get_no_alts(usb_config_descriptor_t *cd, uint8_t ifaceno); usbd_status usbd_search_and_set_config(struct usbd_device *udev, int32_t no, int32_t msg); usbd_status usbd_set_config_index(struct usbd_device *udev, int32_t index, int32_t msg); @@ -819,10 +820,20 @@ /* prototypes from "usb_compat_linux.c" */ void usb_linux_free_usb_device(struct usb_device *dev); +/* USB virtual endpoint */ +struct usbd_vep { + struct usb_device_put_urb urb; + struct usbd_xfer *xfer[1]; + uint8_t dev_addr; + uint8_t isread; +}; + /* USB clone support */ struct usbd_clone { struct mtx mtx; struct usb_cdev cdev; + struct usb_device_poll_urb status; + struct usbd_vep vep[USB_DEVICE_VEP_MAX]; struct usbd_bus *bus; struct usbd_clone *next; From owner-p4-projects@FreeBSD.ORG Fri Jun 15 19:17:07 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7115316A46E; Fri, 15 Jun 2007 19:17:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 26CBB16A46B for ; Fri, 15 Jun 2007 19:17:07 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 16CA713C468 for ; Fri, 15 Jun 2007 19:17:07 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5FJH6Jh071652 for ; Fri, 15 Jun 2007 19:17:06 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5FJH6Oq071640 for perforce@freebsd.org; Fri, 15 Jun 2007 19:17:06 GMT (envelope-from peter@freebsd.org) Date: Fri, 15 Jun 2007 19:17:06 GMT Message-Id: <200706151917.l5FJH6Oq071640@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 121709 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 19:17:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=121709 Change 121709 by peter@peter_overcee on 2007/06/15 19:16:05 Add a minimal /dev/nvram driver. (read/write 114 bytes of cmos ram) Affected files ... .. //depot/projects/hammer/sys/amd64/isa/clock.c#61 edit .. //depot/projects/hammer/sys/i386/isa/clock.c#36 edit Differences ... ==== //depot/projects/hammer/sys/amd64/isa/clock.c#61 (text+ko) ==== @@ -53,12 +53,15 @@ #include #include #include +#include +#include #include #include #include #include #include #include +#include #include #include #include @@ -931,4 +934,100 @@ DRIVER_MODULE(attimer, isa, attimer_driver, attimer_devclass, 0, 0); DRIVER_MODULE(attimer, acpi, attimer_driver, attimer_devclass, 0, 0); + +/* + * Linux-style /dev/nvram driver + * + * cmos ram starts at bytes 14 through 128, for a total of 114 bytes. + * bytes 16 through 31 are checksummed at byte 32. + * Unlike Linux, you have to take care of the checksums yourself. + * The driver exposes byte 14 as file offset 0. + */ + +#define NVRAM_FIRST RTC_DIAG /* 14 */ +#define NVRAM_LAST 128 + +static d_open_t nvram_open; +static d_read_t nvram_read; +static d_write_t nvram_write; + +static struct cdev *nvram_dev; + +static struct cdevsw nvram_cdevsw = { + .d_version = D_VERSION, + .d_flags = D_NEEDGIANT, + .d_open = nvram_open, + .d_read = nvram_read, + .d_write = nvram_write, + .d_name = "nvram", +}; + +static int +nvram_open(struct cdev *dev __unused, int flags, int fmt __unused, + struct thread *td) +{ + int error = 0; + + if (flags & FWRITE) + error = securelevel_gt(td->td_ucred, 0); + + return (error); +} + +static int +nvram_read(struct cdev *dev, struct uio *uio, int flags) +{ + int nv_off; + u_char v; + int error = 0; + + while (uio->uio_resid > 0 && error == 0) { + nv_off = uio->uio_offset + NVRAM_FIRST; + if (nv_off < NVRAM_FIRST || nv_off >= NVRAM_LAST) + return (0); /* Signal EOF */ + /* Single byte at a time */ + v = rtcin(nv_off); + error = uiomove(&v, 1, uio); + } + return (error); + +} + +static int +nvram_write(struct cdev *dev, struct uio *uio, int flags) +{ + int nv_off; + u_char v; + int error = 0; + + while (uio->uio_resid > 0 && error == 0) { + nv_off = uio->uio_offset + NVRAM_FIRST; + if (nv_off < NVRAM_FIRST || nv_off >= NVRAM_LAST) + return (0); /* Signal EOF */ + /* Single byte at a time */ + error = uiomove(&v, 1, uio); + writertc(nv_off, v); + } + return (error); +} + +static int +nvram_modevent(module_t mod __unused, int type, void *data __unused) +{ + switch (type) { + case MOD_LOAD: + nvram_dev = make_dev(&nvram_cdevsw, 0, + UID_ROOT, GID_KMEM, 0640, "nvram"); + break; + case MOD_UNLOAD: + case MOD_SHUTDOWN: + destroy_dev(nvram_dev); + break; + default: + return (EOPNOTSUPP); + } + return (0); +} +DEV_MODULE(nvram, nvram_modevent, NULL); + #endif /* DEV_ISA */ ==== //depot/projects/hammer/sys/i386/isa/clock.c#36 (text+ko) ==== @@ -56,12 +56,15 @@ #include #include #include +#include +#include #include #include #include #include #include #include +#include #include #include #include @@ -930,4 +933,100 @@ DRIVER_MODULE(attimer, isa, attimer_driver, attimer_devclass, 0, 0); DRIVER_MODULE(attimer, acpi, attimer_driver, attimer_devclass, 0, 0); + +/* + * Linux-style /dev/nvram driver + * + * cmos ram starts at bytes 14 through 128, for a total of 114 bytes. + * bytes 16 through 31 are checksummed at byte 32. + * Unlike Linux, you have to take care of the checksums yourself. + * The driver exposes byte 14 as file offset 0. + */ + +#define NVRAM_FIRST RTC_DIAG /* 14 */ +#define NVRAM_LAST 128 + +static d_open_t nvram_open; +static d_read_t nvram_read; +static d_write_t nvram_write; + +static struct cdev *nvram_dev; + +static struct cdevsw nvram_cdevsw = { + .d_version = D_VERSION, + .d_flags = D_NEEDGIANT, + .d_open = nvram_open, + .d_read = nvram_read, + .d_write = nvram_write, + .d_name = "nvram", +}; + +static int +nvram_open(struct cdev *dev __unused, int flags, int fmt __unused, + struct thread *td) +{ + int error = 0; + + if (flags & FWRITE) + error = securelevel_gt(td->td_ucred, 0); + + return (error); +} + +static int +nvram_read(struct cdev *dev, struct uio *uio, int flags) +{ + int nv_off; + u_char v; + int error = 0; + + while (uio->uio_resid > 0 && error == 0) { + nv_off = uio->uio_offset + NVRAM_FIRST; + if (nv_off < NVRAM_FIRST || nv_off >= NVRAM_LAST) + return (0); /* Signal EOF */ + /* Single byte at a time */ + v = rtcin(nv_off); + error = uiomove(&v, 1, uio); + } + return (error); + +} + +static int +nvram_write(struct cdev *dev, struct uio *uio, int flags) +{ + int nv_off; + u_char v; + int error = 0; + + while (uio->uio_resid > 0 && error == 0) { + nv_off = uio->uio_offset + NVRAM_FIRST; + if (nv_off < NVRAM_FIRST || nv_off >= NVRAM_LAST) + return (0); /* Signal EOF */ + /* Single byte at a time */ + error = uiomove(&v, 1, uio); + writertc(nv_off, v); + } + return (error); +} + +static int +nvram_modevent(module_t mod __unused, int type, void *data __unused) +{ + switch (type) { + case MOD_LOAD: + nvram_dev = make_dev(&nvram_cdevsw, 0, + UID_ROOT, GID_KMEM, 0640, "nvram"); + break; + case MOD_UNLOAD: + case MOD_SHUTDOWN: + destroy_dev(nvram_dev); + break; + default: + return (EOPNOTSUPP); + } + return (0); +} +DEV_MODULE(nvram, nvram_modevent, NULL); + #endif /* DEV_ISA */ From owner-p4-projects@FreeBSD.ORG Fri Jun 15 20:42:57 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8D4216A509; Fri, 15 Jun 2007 20:42:56 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B1C3D16A5AB for ; Fri, 15 Jun 2007 20:42:56 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A34F113C484 for ; Fri, 15 Jun 2007 20:42:56 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5FKguTQ049101 for ; Fri, 15 Jun 2007 20:42:56 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5FKgu82049095 for perforce@freebsd.org; Fri, 15 Jun 2007 20:42:56 GMT (envelope-from lulf@FreeBSD.org) Date: Fri, 15 Jun 2007 20:42:56 GMT Message-Id: <200706152042.l5FKgu82049095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121717 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2007 20:42:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=121717 Change 121717 by lulf@lulf_carrot on 2007/06/15 20:42:36 - Add returning correct value for "initializing"-state - Make it possible to set REVIVING and INITIALIZING states. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_share.c#2 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#11 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_share.c#2 (text+ko) ==== @@ -236,6 +236,8 @@ return (GV_SD_UP); else if (!strcmp(buf, "reviving")) return (GV_SD_REVIVING); + else if (!strcmp(buf, "initializing")) + return (GV_SD_INITIALIZING); else if (!strcmp(buf, "stale")) return (GV_SD_STALE); else ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#11 (text+ko) ==== @@ -202,6 +202,16 @@ return (GV_ERR_ISATTACHED); break; + case GV_SD_REVIVING: + case GV_SD_INITIALIZING: + /* + * Only do this if we're forced, since it usually is done + * internally, and then we do use the force flag. + */ + if (!flags & GV_SETSTATE_FORCE) + return (GV_ERR_SETSTATE); + break; + case GV_SD_UP: /* We can't bring the subdisk up if our drive is dead. */ d = s->drive_sc; From owner-p4-projects@FreeBSD.ORG Sat Jun 16 09:49:04 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 14B2216A41F; Sat, 16 Jun 2007 09:49:04 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D370B16A469 for ; Sat, 16 Jun 2007 09:49:03 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C1BB413C465 for ; Sat, 16 Jun 2007 09:49:03 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l5G9n3Wa032342 for ; Sat, 16 Jun 2007 09:49:03 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l5G9n2bq032315 for perforce@freebsd.org; Sat, 16 Jun 2007 09:49:02 GMT (envelope-from lulf@FreeBSD.org) Date: Sat, 16 Jun 2007 09:49:02 GMT Message-Id: <200706160949.l5G9n2bq032315@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 121767 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jun 2007 09:49:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=121767 Change 121767 by lulf@lulf_carrot on 2007/06/16 09:48:17 - Integrate. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#7 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#9 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part_mbr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/GENERIC#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/trap.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exec.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exit.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_ktrace.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_malloc.c#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_sleepqueue.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_trap.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_turnstile.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageout.c#5 integrate Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1430 2007/06/11 03:36:48 sam Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1432 2007/06/13 14:01:42 rwatson Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -151,6 +151,7 @@ options GEOM_NOP # Test class. options GEOM_PART_APM # Apple partitioning options GEOM_PART_GPT # GPT partitioning +options GEOM_PART_MBR # MBR partitioning options GEOM_PC98 # NEC PC9800 partitioning options GEOM_RAID3 # RAID3 functionality. options GEOM_SHSEC # Shared secret. @@ -515,7 +516,6 @@ #options FAST_IPSEC #new IPsec (cannot define w/ IPSEC) options IPX #IPX/SPX communications protocols -options IPXIP #IPX in IP encapsulation (not available) options NCP #NetWare Core protocol ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1217 2007/06/12 16:24:54 bms Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1220 2007/06/13 14:01:42 rwatson Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -519,6 +519,7 @@ dev/cxgb/cxgb_lro.c optional cxgb pci dev/cxgb/cxgb_sge.c optional cxgb pci dev/cxgb/common/cxgb_mc5.c optional cxgb pci +dev/cxgb/common/cxgb_vsc7323.c optional cxgb pci dev/cxgb/common/cxgb_vsc8211.c optional cxgb pci dev/cxgb/common/cxgb_ael1002.c optional cxgb pci dev/cxgb/common/cxgb_mv88e1xxx.c optional cxgb pci @@ -1260,6 +1261,7 @@ geom/part/g_part_if.m standard geom/part/g_part_apm.c optional geom_part_apm geom/part/g_part_gpt.c optional geom_part_gpt +geom/part/g_part_mbr.c optional geom_part_mbr geom/raid3/g_raid3.c optional geom_raid3 geom/raid3/g_raid3_ctl.c optional geom_raid3 geom/shsec/g_shsec.c optional geom_shsec @@ -1906,7 +1908,6 @@ netipx/ipx.c optional ipx netipx/ipx_cksum.c optional ipx netipx/ipx_input.c optional ipx -netipx/ipx_ip.c optional ipx ipxip netipx/ipx_outputfl.c optional ipx netipx/ipx_pcb.c optional ipx netipx/ipx_proto.c optional ipx ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.591 2007/06/08 21:36:52 attilio Exp $ +# $FreeBSD: src/sys/conf/options,v 1.593 2007/06/13 14:01:42 rwatson Exp $ # # On the handling of kernel options # @@ -89,6 +89,7 @@ GEOM_NOP opt_geom.h GEOM_PART_APM opt_geom.h GEOM_PART_GPT opt_geom.h +GEOM_PART_MBR opt_geom.h GEOM_PC98 opt_geom.h GEOM_RAID3 opt_geom.h GEOM_SHSEC opt_geom.h @@ -375,7 +376,6 @@ IPFIREWALL_NAT opt_ipfw.h IPSTEALTH IPX -IPXIP opt_ipx.h LIBMBPOOL LIBMCHAIN LIBALIAS ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/GENERIC#5 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.471 2007/06/12 02:24:30 yongari Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.472 2007/06/14 17:14:26 delphij Exp $ cpu I486_CPU cpu I586_CPU @@ -32,6 +32,7 @@ options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols +options SCTP # Stream Transmission Control Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/trap.c#4 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.305 2007/06/10 21:59:13 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.306 2007/06/13 22:37:48 jhb Exp $"); /* * 386 Trap and System call handling @@ -785,9 +785,6 @@ return (-1); } - /* kludge to pass faulting virtual address to sendsig */ - frame->tf_err = eva; - return((rv == KERN_PROTECTION_FAILURE) ? SIGBUS : SIGSEGV); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exec.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.305 2007/06/12 00:11:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.306 2007/06/13 19:41:47 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_ktrace.h" @@ -736,8 +736,13 @@ if (ndp->ni_vp && error != 0) vrele(ndp->ni_vp); #ifdef KTRACE - if (tracevp != NULL) + if (tracevp != NULL) { + int tvfslocked; + + tvfslocked = VFS_LOCK_GIANT(tracevp->v_mount); vrele(tracevp); + VFS_UNLOCK_GIANT(tvfslocked); + } if (tracecred != NULL) crfree(tracecred); #endif ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exit.c#5 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.303 2007/06/09 21:48:44 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.304 2007/06/13 20:01:42 jhb Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -356,26 +356,32 @@ mtx_unlock(&Giant); #ifdef KTRACE /* - * Drain any pending records on the thread and release the trace - * file. It might be better if drain-and-clear were atomic. + * Disable tracing, then drain any pending records and release + * the trace file. */ - ktrprocexit(td); - PROC_LOCK(p); - mtx_lock(&ktrace_mtx); - p->p_traceflag = 0; /* don't trace the vrele() */ - tracevp = p->p_tracevp; - p->p_tracevp = NULL; - tracecred = p->p_tracecred; - p->p_tracecred = NULL; - mtx_unlock(&ktrace_mtx); - PROC_UNLOCK(p); - if (tracevp != NULL) { - locked = VFS_LOCK_GIANT(tracevp->v_mount); - vrele(tracevp); - VFS_UNLOCK_GIANT(locked); + if (p->p_traceflag != 0) { + PROC_LOCK(p); + mtx_lock(&ktrace_mtx); + p->p_traceflag = 0; + mtx_unlock(&ktrace_mtx); + PROC_UNLOCK(p); + ktrprocexit(td); + PROC_LOCK(p); + mtx_lock(&ktrace_mtx); + tracevp = p->p_tracevp; + p->p_tracevp = NULL; + tracecred = p->p_tracecred; + p->p_tracecred = NULL; + mtx_unlock(&ktrace_mtx); + PROC_UNLOCK(p); + if (tracevp != NULL) { + locked = VFS_LOCK_GIANT(tracevp->v_mount); + vrele(tracevp); + VFS_UNLOCK_GIANT(locked); + } + if (tracecred != NULL) + crfree(tracecred); } - if (tracecred != NULL) - crfree(tracecred); #endif /* * Release reference to text vnode ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_ktrace.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_ktrace.c,v 1.119 2007/06/12 00:11:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_ktrace.c,v 1.120 2007/06/13 20:01:42 jhb Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -444,6 +444,8 @@ ktruserret(struct thread *td) { + if (STAILQ_EMPTY(&td->td_proc->p_ktr)) + return; ktrace_enter(td); sx_xlock(&ktrace_sx); ktr_drain(td); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_malloc.c#6 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_malloc.c,v 1.160 2007/05/31 22:52:12 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_malloc.c,v 1.161 2007/06/14 03:02:33 rwatson Exp $"); #include "opt_ddb.h" #include "opt_vm.h" @@ -267,7 +267,7 @@ } /* - * A free operation has occurred -- update malloc type statistis for the + * A free operation has occurred -- update malloc type statistics for the * amount of the bucket size. Occurs within a critical section so that the * thread isn't preempted and doesn't migrate while updating per-CPU * statistics. ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_sleepqueue.c#4 (text+ko) ==== @@ -60,10 +60,11 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_sleepqueue.c,v 1.37 2007/06/04 23:50:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_sleepqueue.c,v 1.38 2007/06/12 23:27:31 jeff Exp $"); #include "opt_sleepqueue_profiling.h" #include "opt_ddb.h" +#include "opt_sched.h" #include #include ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_trap.c#4 (text+ko) ==== @@ -38,13 +38,14 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_trap.c,v 1.297 2007/06/05 00:00:54 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_trap.c,v 1.298 2007/06/12 23:27:31 jeff Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" #ifdef __i386__ #include "opt_npx.h" #endif +#include "opt_sched.h" #include #include ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_turnstile.c#4 (text+ko) ==== @@ -57,10 +57,11 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_turnstile.c,v 1.168 2007/06/04 23:51:43 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_turnstile.c,v 1.169 2007/06/12 23:27:31 jeff Exp $"); #include "opt_ddb.h" #include "opt_turnstile_profiling.h" +#include "opt_sched.h" #include #include ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageout.c#5 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_pageout.c,v 1.284 2007/06/10 21:59:14 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_pageout.c,v 1.285 2007/06/13 06:10:10 alc Exp $"); #include "opt_vm.h" #include @@ -440,9 +440,7 @@ vm_page_unlock_queues(); vm_object_pip_add(object, count); - vm_pager_put_pages(object, mc, count, - (flags | ((object == kernel_object) ? VM_PAGER_PUT_SYNC : 0)), - pageout_status); + vm_pager_put_pages(object, mc, count, flags, pageout_status); vm_page_lock_queues(); for (i = 0; i < count; i++) {