From owner-svn-src-user@FreeBSD.ORG Tue Feb 8 04:48:54 2011 Return-Path: <owner-svn-src-user@FreeBSD.ORG> Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 30E85106564A; Tue, 8 Feb 2011 04:48:54 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 222608FC08; Tue, 8 Feb 2011 04:48:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p184msd6033720; Tue, 8 Feb 2011 04:48:54 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p184mskO033718; Tue, 8 Feb 2011 04:48:54 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201102080448.p184mskO033718@svn.freebsd.org> From: Doug Barton <dougb@FreeBSD.org> Date: Tue, 8 Feb 2011 04:48:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218428 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" <svn-src-user.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user> List-Post: <mailto:svn-src-user@freebsd.org> List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=subscribe> X-List-Received-Date: Tue, 08 Feb 2011 04:48:54 -0000 Author: dougb Date: Tue Feb 8 04:48:53 2011 New Revision: 218428 URL: http://svn.freebsd.org/changeset/base/218428 Log: Tweak the way INDEX files are downloaded and installed to be only require root privileges for the minimum possible number of actions, and do things in a more secure way: 1. If necessary to download the new INDEX.bz2, as a non-root user, do it in a temporary directory created with mktemp 2. If necessary to update the actual INDEX file unzip it in that same temporary directory 3. Only use $PM_SU_CMD to install the file if necessary 4. Unlink both INDEX and INDEX.bz2 in their real locations before installing the new versions Use unset for a lot more variables in the above code. Add the -p flag for install to pm_install_s Move the initialization of PM_WRKDIRPREFIX to the area where other build-related variables are handled Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Tue Feb 8 01:49:30 2011 (r218427) +++ user/dougb/portmaster/portmaster Tue Feb 8 04:48:53 2011 (r218428) @@ -285,7 +285,7 @@ pm_unlink () { /bin/test -e $1 && /bin/u # Superuser versions for commands that need root privileges pm_find_s () { $PM_SU_CMD /usr/bin/find $*; } -pm_install_s () { $PM_SU_CMD /usr/bin/install -o root -g wheel -m 644 $1 $2; } +pm_install_s () { $PM_SU_CMD /usr/bin/install -p -o root -g wheel -m 644 $1 $2; } pm_make_s () { ( unset -v CUR_DEPS INSTALLED_LIST PM_DEPTH build_l; unset -v MASTER_RB_LIST; $PM_SU_CMD /usr/bin/nice /usr/bin/make $PM_MAKE_ARGS $*; ); } @@ -749,38 +749,56 @@ if [ "$$" -eq "$PM_PARENT_PID" ]; then [ -z "$INDEXDIR" -a -n "$PM_INDEX_ONLY" -a -z "$pd" ] && INDEXDIR="$TMPDIR" - PM_INDEX="${INDEXDIR:-$pd}/${INDEXFILE}" + PM_INDEX="${INDEXDIR:=$pd}/${INDEXFILE}" if [ -z "$PM_NO_INDEX_FETCH" ]; then : ${FETCHINDEX:='fetch -am -o'} : ${MASTER_SITE_INDEX:='http://www.FreeBSD.org/ports/'} - index_fetch="$FETCHINDEX ${PM_INDEX}.bz2 ${MASTER_SITE_INDEX}${INDEXFILE}.bz2" do_index_fetch=yes_index_fetch index_time=`stat -f '%Um' ${PM_INDEX}.bz2 2>/dev/null` - [ -n "$index_time" ] && { - $index_fetch 2>/dev/null && do_index_fetch=no_index_fetch; } + if [ -n "$index_time" ]; then + # If root, this will succeed either way + if $FETCHINDEX ${PM_INDEX}.bz2 ${MASTER_SITE_INDEX}${INDEXFILE}.bz2 2>/dev/null; then + unset do_index_fetch + newindex="${PM_INDEX}.bz2" + fi + fi + + if [ -n "$do_index_fetch" ] || + [ ${index_time:-0} -ne `stat -f '%Um' ${PM_INDEX}.bz2 2>/dev/null` ]; then + dli=`mktemp -d ${TMPDIR}/d-${PM_PARENT_PID}-index` + if [ -n "$do_index_fetch" ]; then + ift="$FETCHINDEX ${dli}/${INDEXFILE}.bz2 ${MASTER_SITE_INDEX}${INDEXFILE}.bz2" + $ift || fail Could not perform $ift + unset ift + newindex="${dli}/${INDEXFILE}.bz2" + fi - if [ "$do_index_fetch" = yes_index_fetch ]; then - pm_sv 'Fetching new INDEX file' - $PM_SU_CMD $index_fetch || fail Could not perform $index_fetch - fi - - if [ ${index_time:-0} -ne `stat -f '%Um' ${PM_INDEX}.bz2 2>/dev/null` ]; then - temp_index=`pm_mktemp index` - bunzip2 < ${PM_INDEX}.bz2 > $temp_index - pm_sv 'Installing new INDEX file' - pm_install_s $temp_index $PM_INDEX - unlink $temp_index - unset temp_index + bunzip2 --keep < $newindex > ${dli}/$INDEXFILE + if [ -w "${INDEXDIR}/" ]; then + pm_unlink $PM_INDEX + mv ${dli}/$INDEXFILE $PM_INDEX + if [ -n "$do_index_fetch" ]; then + pm_unlink ${PM_INDEX}.bz2 + mv ${dli}/${INDEXFILE}.bz2 ${PM_INDEX}.bz2 + fi + else + pm_sv 'Installing new INDEX file' + pm_install_s ${dli}/$INDEXFILE $PM_INDEX + [ -n "$do_index_fetch" ] && + pm_install_s ${dli}/${INDEXFILE}.bz2 ${PM_INDEX}.bz2 + fi + rm -rf $dli ; unset dli fi - unset index_fetch do_index_fetch index_time + unset FETCHINDEX MASTER_SITE_INDEX do_index_fetch index_time newindex else [ -r "$PM_INDEX" ] || fail "The --no-index-fetch option was used, but $PM_INDEX does not exist" fi + unset INDEXFILE INDEXDIR PM_INDEX_PORTS=`pkg_version -Ivl\< $PM_INDEX | cut -f1 -d\<` export PM_INDEX_PORTS @@ -798,7 +816,6 @@ if [ "$$" -eq "$PM_PARENT_PID" ]; then fi if [ -n "$pd" ]; then - pm_cd_pd && PM_WRKDIRPREFIX=`pm_make_b -V WRKDIRPREFIX` && pm_cd - export pd else if [ -n "$EXPUNGE" -o -n "$CLEAN_STALE" ]; then @@ -2780,6 +2797,9 @@ if [ "$$" -eq "$PM_PARENT_PID" -a -z "$S if [ -z "$FETCH_ONLY" ]; then PM_NEEDS_UPDATE=' ' ; NO_DEP_UPDATES=no_dep_updates ; build_l='' export PM_NEEDS_UPDATE NO_DEP_UPDATES build_l + + [ -z "$PM_INDEX_ONLY" ] && + pm_cd_pd && PM_WRKDIRPREFIX=`pm_make_b -V WRKDIRPREFIX` && pm_cd - fi if [ -n "$PM_BUILD_ONLY_LIST" ]; then From owner-svn-src-user@FreeBSD.ORG Fri Feb 11 12:23:27 2011 Return-Path: <owner-svn-src-user@FreeBSD.ORG> Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82D9F1065674; Fri, 11 Feb 2011 12:23:27 +0000 (UTC) (envelope-from mr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 58FEB8FC15; Fri, 11 Feb 2011 12:23:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p1BCNRfP059388; Fri, 11 Feb 2011 12:23:27 GMT (envelope-from mr@svn.freebsd.org) Received: (from mr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BCNRuC059387; Fri, 11 Feb 2011 12:23:27 GMT (envelope-from mr@svn.freebsd.org) Message-Id: <201102111223.p1BCNRuC059387@svn.freebsd.org> From: Michael Reifenberger <mr@FreeBSD.org> Date: Fri, 11 Feb 2011 12:23:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218553 - user/mr X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" <svn-src-user.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user> List-Post: <mailto:svn-src-user@freebsd.org> List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=subscribe> X-List-Received-Date: Fri, 11 Feb 2011 12:23:27 -0000 Author: mr Date: Fri Feb 11 12:23:27 2011 New Revision: 218553 URL: http://svn.freebsd.org/changeset/base/218553 Log: Create my own user area Added: user/mr/ From owner-svn-src-user@FreeBSD.ORG Fri Feb 11 12:26:24 2011 Return-Path: <owner-svn-src-user@FreeBSD.ORG> Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 58A12106564A; Fri, 11 Feb 2011 12:26:24 +0000 (UTC) (envelope-from mr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2EBAF8FC15; Fri, 11 Feb 2011 12:26:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p1BCQOOQ059521; Fri, 11 Feb 2011 12:26:24 GMT (envelope-from mr@svn.freebsd.org) Received: (from mr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BCQOfg059520; Fri, 11 Feb 2011 12:26:24 GMT (envelope-from mr@svn.freebsd.org) Message-Id: <201102111226.p1BCQOfg059520@svn.freebsd.org> From: Michael Reifenberger <mr@FreeBSD.org> Date: Fri, 11 Feb 2011 12:26:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218554 - user/mr/ficl X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" <svn-src-user.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user> List-Post: <mailto:svn-src-user@freebsd.org> List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=subscribe> X-List-Received-Date: Fri, 11 Feb 2011 12:26:24 -0000 Author: mr Date: Fri Feb 11 12:26:23 2011 New Revision: 218554 URL: http://svn.freebsd.org/changeset/base/218554 Log: Copy HEAD to work on ficl Added: - copied from r218553, head/ Directory Properties: user/mr/ficl/ (props changed) From owner-svn-src-user@FreeBSD.ORG Fri Feb 11 14:44:04 2011 Return-Path: <owner-svn-src-user@FreeBSD.ORG> Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8522B1065673; Fri, 11 Feb 2011 14:44:04 +0000 (UTC) (envelope-from mr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 193A98FC18; Fri, 11 Feb 2011 14:44:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p1BEi0fc063593; Fri, 11 Feb 2011 14:44:00 GMT (envelope-from mr@svn.freebsd.org) Received: (from mr@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1BEi092063585; Fri, 11 Feb 2011 14:44:00 GMT (envelope-from mr@svn.freebsd.org) Message-Id: <201102111444.p1BEi092063585@svn.freebsd.org> From: Michael Reifenberger <mr@FreeBSD.org> Date: Fri, 11 Feb 2011 14:44:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218568 - in user/mr/ficl: contrib/top share/mk sys/boot/pc98 sys/boot/pc98/pc98boot sys/dev/ath sys/geom/part sys/kern sys/net X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" <svn-src-user.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user> List-Post: <mailto:svn-src-user@freebsd.org> List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=subscribe> X-List-Received-Date: Fri, 11 Feb 2011 14:44:04 -0000 Author: mr Date: Fri Feb 11 14:44:00 2011 New Revision: 218568 URL: http://svn.freebsd.org/changeset/base/218568 Log: Test merge from HEAD Added: user/mr/ficl/sys/boot/pc98/pc98boot/ - copied from r218567, head/sys/boot/pc98/pc98boot/ Modified: user/mr/ficl/sys/boot/pc98/Makefile user/mr/ficl/sys/dev/ath/if_ath_tx_ht.c user/mr/ficl/sys/geom/part/g_part_pc98.c user/mr/ficl/sys/kern/uipc_socket.c user/mr/ficl/sys/net/if.c user/mr/ficl/sys/net/netisr.c user/mr/ficl/sys/net/vnet.h Directory Properties: user/mr/ficl/ (props changed) user/mr/ficl/cddl/contrib/opensolaris/ (props changed) user/mr/ficl/contrib/bind9/ (props changed) user/mr/ficl/contrib/binutils/ (props changed) user/mr/ficl/contrib/bzip2/ (props changed) user/mr/ficl/contrib/dialog/ (props changed) user/mr/ficl/contrib/ee/ (props changed) user/mr/ficl/contrib/expat/ (props changed) user/mr/ficl/contrib/file/ (props changed) user/mr/ficl/contrib/gdb/ (props changed) user/mr/ficl/contrib/gdtoa/ (props changed) user/mr/ficl/contrib/gnu-sort/ (props changed) user/mr/ficl/contrib/groff/ (props changed) user/mr/ficl/contrib/less/ (props changed) user/mr/ficl/contrib/libpcap/ (props changed) user/mr/ficl/contrib/llvm/ (props changed) user/mr/ficl/contrib/llvm/tools/clang/ (props changed) user/mr/ficl/contrib/ncurses/ (props changed) user/mr/ficl/contrib/netcat/ (props changed) user/mr/ficl/contrib/ntp/ (props changed) user/mr/ficl/contrib/one-true-awk/ (props changed) user/mr/ficl/contrib/openbsm/ (props changed) user/mr/ficl/contrib/openpam/ (props changed) user/mr/ficl/contrib/pf/ (props changed) user/mr/ficl/contrib/sendmail/ (props changed) user/mr/ficl/contrib/tcpdump/ (props changed) user/mr/ficl/contrib/tcsh/ (props changed) user/mr/ficl/contrib/top/ (props changed) user/mr/ficl/contrib/top/install-sh (props changed) user/mr/ficl/contrib/tzcode/stdtime/ (props changed) user/mr/ficl/contrib/tzcode/zic/ (props changed) user/mr/ficl/contrib/tzdata/ (props changed) user/mr/ficl/contrib/wpa/ (props changed) user/mr/ficl/contrib/xz/ (props changed) user/mr/ficl/crypto/openssh/ (props changed) user/mr/ficl/crypto/openssl/ (props changed) user/mr/ficl/lib/libc/ (props changed) user/mr/ficl/lib/libc/stdtime/ (props changed) user/mr/ficl/lib/libutil/ (props changed) user/mr/ficl/lib/libz/ (props changed) user/mr/ficl/sbin/ (props changed) user/mr/ficl/sbin/ipfw/ (props changed) user/mr/ficl/share/mk/bsd.arch.inc.mk (props changed) user/mr/ficl/share/zoneinfo/ (props changed) user/mr/ficl/sys/ (props changed) user/mr/ficl/sys/amd64/include/xen/ (props changed) user/mr/ficl/sys/cddl/contrib/opensolaris/ (props changed) user/mr/ficl/sys/contrib/dev/acpica/ (props changed) user/mr/ficl/sys/contrib/octeon-sdk/ (props changed) user/mr/ficl/sys/contrib/pf/ (props changed) user/mr/ficl/sys/contrib/x86emu/ (props changed) user/mr/ficl/usr.bin/calendar/ (props changed) user/mr/ficl/usr.bin/csup/ (props changed) user/mr/ficl/usr.bin/procstat/ (props changed) user/mr/ficl/usr.sbin/zic/ (props changed) Modified: user/mr/ficl/sys/boot/pc98/Makefile ============================================================================== --- user/mr/ficl/sys/boot/pc98/Makefile Fri Feb 11 14:17:58 2011 (r218567) +++ user/mr/ficl/sys/boot/pc98/Makefile Fri Feb 11 14:44:00 2011 (r218568) @@ -1,5 +1,5 @@ # $FreeBSD$ -SUBDIR= btx boot0 boot0.5 boot2 cdboot kgzldr libpc98 loader +SUBDIR= boot0 boot0.5 pc98boot btx boot2 cdboot kgzldr libpc98 loader .include <bsd.subdir.mk> Modified: user/mr/ficl/sys/dev/ath/if_ath_tx_ht.c ============================================================================== --- user/mr/ficl/sys/dev/ath/if_ath_tx_ht.c Fri Feb 11 14:17:58 2011 (r218567) +++ user/mr/ficl/sys/dev/ath/if_ath_tx_ht.c Fri Feb 11 14:44:00 2011 (r218568) @@ -133,7 +133,7 @@ ath_rateseries_setup(struct ath_softc *s , txrate , ic->ic_rxstream , (ni->ni_htcap & IEEE80211_HTCAP_CHWIDTH40) - , shortPreamble); + , series[i].RateFlags & HAL_RATESERIES_HALFGI); } else { series[i].PktDuration = ath_hal_computetxtime(ah, rt, pktlen, rix[i], shortPreamble); Modified: user/mr/ficl/sys/geom/part/g_part_pc98.c ============================================================================== --- user/mr/ficl/sys/geom/part/g_part_pc98.c Fri Feb 11 14:17:58 2011 (r218567) +++ user/mr/ficl/sys/geom/part/g_part_pc98.c Fri Feb 11 14:44:00 2011 (r218568) @@ -46,11 +46,14 @@ __FBSDID("$FreeBSD$"); #include "g_part_if.h" #define SECSIZE 512 +#define MENUSIZE 7168 +#define BOOTSIZE 8192 struct g_part_pc98_table { struct g_part_table base; u_char boot[SECSIZE]; u_char table[SECSIZE]; + u_char menu[MENUSIZE]; }; struct g_part_pc98_entry { @@ -105,7 +108,7 @@ static struct g_part_scheme g_part_pc98_ .gps_entrysz = sizeof(struct g_part_pc98_entry), .gps_minent = NDOSPART, .gps_maxent = NDOSPART, - .gps_bootcodesz = SECSIZE, + .gps_bootcodesz = BOOTSIZE, }; G_PART_SCHEME_DECLARE(g_part_pc98); @@ -204,14 +207,16 @@ static int g_part_pc98_bootcode(struct g_part_table *basetable, struct g_part_parms *gpp) { struct g_part_pc98_table *table; - size_t codesz; + const u_char *codeptr; + + if (gpp->gpp_codesize != BOOTSIZE) + return (EINVAL); - codesz = DOSMAGICOFFSET; table = (struct g_part_pc98_table *)basetable; - bzero(table->boot, codesz); - codesz = MIN(codesz, gpp->gpp_codesize); - if (codesz > 0) - bcopy(gpp->gpp_codeptr, table->boot, codesz); + codeptr = gpp->gpp_codeptr; + bcopy(codeptr, table->boot, SECSIZE); + bcopy(codeptr + SECSIZE*2, table->menu, MENUSIZE); + return (0); } @@ -356,7 +361,7 @@ g_part_pc98_probe(struct g_part_table *t pp = cp->provider; /* Sanity-check the provider. */ - if (pp->sectorsize < SECSIZE || pp->mediasize < 2 * SECSIZE) + if (pp->sectorsize < SECSIZE || pp->mediasize < BOOTSIZE) return (ENOSPC); if (pp->sectorsize > SECSIZE) return (ENXIO); @@ -419,7 +424,7 @@ g_part_pc98_read(struct g_part_table *ba table = (struct g_part_pc98_table *)basetable; msize = pp->mediasize / SECSIZE; - buf = g_read_data(cp, 0L, 2 * SECSIZE, &error); + buf = g_read_data(cp, 0L, BOOTSIZE, &error); if (buf == NULL) return (error); @@ -427,6 +432,7 @@ g_part_pc98_read(struct g_part_table *ba bcopy(buf, table->boot, sizeof(table->boot)); bcopy(buf + SECSIZE, table->table, sizeof(table->table)); + bcopy(buf + SECSIZE*2, table->menu, sizeof(table->menu)); for (index = NDOSPART - 1; index >= 0; index--) { p = buf + SECSIZE + index * DOSPARTSIZE; @@ -567,5 +573,7 @@ g_part_pc98_write(struct g_part_table *b error = g_write_data(cp, 0, table->boot, SECSIZE); if (!error) error = g_write_data(cp, SECSIZE, table->table, SECSIZE); + if (!error) + error = g_write_data(cp, SECSIZE*2, table->menu, MENUSIZE); return (error); } Modified: user/mr/ficl/sys/kern/uipc_socket.c ============================================================================== --- user/mr/ficl/sys/kern/uipc_socket.c Fri Feb 11 14:17:58 2011 (r218567) +++ user/mr/ficl/sys/kern/uipc_socket.c Fri Feb 11 14:44:00 2011 (r218568) @@ -437,7 +437,8 @@ sonewconn(struct socket *head, int conns if (over) #endif return (NULL); - VNET_ASSERT(head->so_vnet); + VNET_ASSERT(head->so_vnet != NULL, ("%s:%d so_vnet is NULL, head=%p", + __func__, __LINE__, head)); so = soalloc(head->so_vnet); if (so == NULL) return (NULL); Modified: user/mr/ficl/sys/net/if.c ============================================================================== --- user/mr/ficl/sys/net/if.c Fri Feb 11 14:17:58 2011 (r218567) +++ user/mr/ficl/sys/net/if.c Fri Feb 11 14:44:00 2011 (r218568) @@ -378,8 +378,10 @@ static void vnet_if_uninit(const void *unused __unused) { - VNET_ASSERT(TAILQ_EMPTY(&V_ifnet)); - VNET_ASSERT(TAILQ_EMPTY(&V_ifg_head)); + VNET_ASSERT(TAILQ_EMPTY(&V_ifnet), ("%s:%d tailq &V_ifnet=%p " + "not empty", __func__, __LINE__, &V_ifnet)); + VNET_ASSERT(TAILQ_EMPTY(&V_ifg_head), ("%s:%d tailq &V_ifg_head=%p " + "not empty", __func__, __LINE__, &V_ifg_head)); free((caddr_t)V_ifindex_table, M_IFNET); } Modified: user/mr/ficl/sys/net/netisr.c ============================================================================== --- user/mr/ficl/sys/net/netisr.c Fri Feb 11 14:17:58 2011 (r218567) +++ user/mr/ficl/sys/net/netisr.c Fri Feb 11 14:44:00 2011 (r218568) @@ -647,7 +647,8 @@ netisr_process_workstream_proto(struct n if (local_npw.nw_head == NULL) local_npw.nw_tail = NULL; local_npw.nw_len--; - VNET_ASSERT(m->m_pkthdr.rcvif != NULL); + VNET_ASSERT(m->m_pkthdr.rcvif != NULL, + ("%s:%d rcvif == NULL: m=%p", __func__, __LINE__, m)); CURVNET_SET(m->m_pkthdr.rcvif->if_vnet); netisr_proto[proto].np_handler(m); CURVNET_RESTORE(); Modified: user/mr/ficl/sys/net/vnet.h ============================================================================== --- user/mr/ficl/sys/net/vnet.h Fri Feb 11 14:17:58 2011 (r218567) +++ user/mr/ficl/sys/net/vnet.h Fri Feb 11 14:44:00 2011 (r218568) @@ -118,22 +118,27 @@ void vnet_destroy(struct vnet *vnet); * Various macros -- get and set the current network stack, but also * assertions. */ +#if defined(INVARIANTS) || defined(VNET_DEBUG) +#define VNET_ASSERT(exp, msg) do { \ + if (!(exp)) \ + panic msg; \ +} while (0) +#else +#define VNET_ASSERT(exp, msg) do { \ +} while (0) +#endif + #ifdef VNET_DEBUG void vnet_log_recursion(struct vnet *, const char *, int); -#define VNET_ASSERT(condition) \ - if (!(condition)) { \ - printf("VNET_ASSERT @ %s:%d %s():\n", \ - __FILE__, __LINE__, __FUNCTION__); \ - panic(#condition); \ - } - #define CURVNET_SET_QUIET(arg) \ - VNET_ASSERT((arg)->vnet_magic_n == VNET_MAGIC_N); \ + VNET_ASSERT((arg) != NULL && (arg)->vnet_magic_n == VNET_MAGIC_N, \ + ("CURVNET_SET at %s:%d %s() curvnet=%p vnet=%p", \ + __FILE__, __LINE__, __func__, curvnet, (arg))); \ struct vnet *saved_vnet = curvnet; \ const char *saved_vnet_lpush = curthread->td_vnet_lpush; \ curvnet = arg; \ - curthread->td_vnet_lpush = __FUNCTION__; + curthread->td_vnet_lpush = __func__; #define CURVNET_SET_VERBOSE(arg) \ CURVNET_SET_QUIET(arg) \ @@ -143,21 +148,31 @@ void vnet_log_recursion(struct vnet *, c #define CURVNET_SET(arg) CURVNET_SET_VERBOSE(arg) #define CURVNET_RESTORE() \ - VNET_ASSERT(saved_vnet == NULL || \ - saved_vnet->vnet_magic_n == VNET_MAGIC_N); \ + VNET_ASSERT(curvnet != NULL && (saved_vnet == NULL || \ + saved_vnet->vnet_magic_n == VNET_MAGIC_N), \ + ("CURVNET_RESTORE at %s:%d %s() curvnet=%p saved_vnet=%p", \ + __FILE__, __LINE__, __func__, curvnet, saved_vnet)); \ curvnet = saved_vnet; \ curthread->td_vnet_lpush = saved_vnet_lpush; #else /* !VNET_DEBUG */ -#define VNET_ASSERT(condition) -#define CURVNET_SET(arg) \ +#define CURVNET_SET_QUIET(arg) \ + VNET_ASSERT((arg) != NULL && (arg)->vnet_magic_n == VNET_MAGIC_N, \ + ("CURVNET_SET at %s:%d %s() curvnet=%p vnet=%p", \ + __FILE__, __LINE__, __func__, curvnet, (arg))); \ struct vnet *saved_vnet = curvnet; \ curvnet = arg; -#define CURVNET_SET_VERBOSE(arg) CURVNET_SET(arg) -#define CURVNET_SET_QUIET(arg) CURVNET_SET(arg) +#define CURVNET_SET_VERBOSE(arg) \ + CURVNET_SET_QUIET(arg) + +#define CURVNET_SET(arg) CURVNET_SET_VERBOSE(arg) #define CURVNET_RESTORE() \ + VNET_ASSERT(curvnet != NULL && (saved_vnet == NULL || \ + saved_vnet->vnet_magic_n == VNET_MAGIC_N), \ + ("CURVNET_RESTORE at %s:%d %s() curvnet=%p saved_vnet=%p", \ + __FILE__, __LINE__, __func__, curvnet, saved_vnet)); \ curvnet = saved_vnet; #endif /* VNET_DEBUG */ @@ -351,7 +366,7 @@ do { \ */ #define curvnet NULL -#define VNET_ASSERT(condition) +#define VNET_ASSERT(exp, msg) #define CURVNET_SET(arg) #define CURVNET_SET_QUIET(arg) #define CURVNET_RESTORE()