Date: Sun, 12 Jun 2005 18:41:32 GMT From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 78461 for review Message-ID: <200506121841.j5CIfWcX002586@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=78461 Change 78461 by marcel@marcel_nfs on 2005/06/12 18:41:23 IFC @78457 Affected files ... .. //depot/projects/tty/lib/libthr/Makefile#9 integrate .. //depot/projects/tty/lib/libthr/libthr.3#1 branch .. //depot/projects/tty/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#28 integrate .. //depot/projects/tty/sys/alpha/osf1/osf1_mount.c#9 integrate .. //depot/projects/tty/sys/compat/freebsd32/freebsd32_misc.c#10 integrate .. //depot/projects/tty/sys/conf/files#33 integrate .. //depot/projects/tty/sys/conf/files.alpha#16 integrate .. //depot/projects/tty/sys/conf/files.amd64#19 integrate .. //depot/projects/tty/sys/conf/files.i386#25 integrate .. //depot/projects/tty/sys/conf/files.ia64#19 integrate .. //depot/projects/tty/sys/conf/files.pc98#20 integrate .. //depot/projects/tty/sys/conf/files.powerpc#10 integrate .. //depot/projects/tty/sys/conf/files.sparc64#17 integrate .. //depot/projects/tty/sys/contrib/pf/net/if_pfsync.c#7 integrate .. //depot/projects/tty/sys/contrib/pf/net/pf_ioctl.c#6 integrate .. //depot/projects/tty/sys/dev/fe/if_fe_cbus.c#5 integrate .. //depot/projects/tty/sys/dev/gem/if_gem.c#9 integrate .. //depot/projects/tty/sys/dev/snc/dp83932.c#12 integrate .. //depot/projects/tty/sys/dev/snc/if_snc_pccard.c#6 integrate .. //depot/projects/tty/sys/kern/uipc_accf.c#7 integrate .. //depot/projects/tty/sys/kern/vfs_cache.c#9 integrate .. //depot/projects/tty/sys/kern/vfs_subr.c#20 integrate .. //depot/projects/tty/sys/kern/vfs_syscalls.c#17 integrate .. //depot/projects/tty/sys/net/if.c#18 integrate .. //depot/projects/tty/sys/netinet/ip_fw2.c#18 integrate .. //depot/projects/tty/sys/netinet6/nd6_nbr.c#9 integrate .. //depot/projects/tty/sys/powerpc/include/profile.h#5 integrate .. //depot/projects/tty/sys/sys/syscallsubr.h#11 integrate .. //depot/projects/tty/tools/regression/sockets/accf_data_attach/accf_data_attach.c#3 integrate Differences ... ==== //depot/projects/tty/lib/libthr/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/Makefile,v 1.12 2005/04/23 02:48:58 davidxu Exp $ +# $FreeBSD: src/lib/libthr/Makefile,v 1.13 2005/06/11 15:27:56 rwatson Exp $ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does @@ -23,6 +23,8 @@ LDFLAGS= -Wl,--version-script=${.CURDIR}/pthread.map +MAN= libthr.3 + # enable extra internal consistancy checks CFLAGS+=-D_PTHREADS_INVARIANTS -Wall CFLAGS+=-g ==== //depot/projects/tty/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#28 (text+ko) ==== @@ -3,7 +3,7 @@ <corpauthor>The &os; Project</corpauthor> - <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.874 2005/06/08 12:57:47 hrs Exp $</pubdate> + <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.876 2005/06/12 08:55:59 hrs Exp $</pubdate> <copyright> <year>2000</year> @@ -195,8 +195,27 @@ <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:09.htt.asc">FreeBSD-SA-05:09.htt</ulink>. &merged;</para> - <para> + <para>A bug in the &man.tcpdump.1; utility which allows + a malicious remote user to cause a denial-of-service + by using specially crafted packets, has been fixed. + For more information, see security advisory + <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:10.tcpdump.asc">FreeBSD-SA-05:10.tcpdump</ulink>. + &merged;</para> + + <para>Two problems in the &man.gzip.1; utility have been fixed. + These may allow a local user to modify permissions + of arbitrary files and overwrite arbitrary local + files when uncompressing a file. + For more information, see security advisory + <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:11.gzip.asc">FreeBSD-SA-05:11.gzip</ulink>. + &merged;</para> + <para>A bug in <application>BIND 9</application> DNSSEC has been fixed. + When DNSSEC is enabled, this bug may allow a remote attacker to inject + a specially crafted packet which will cause &man.named.8; to terminate. + For more information, see security advisory + <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:12.bind9.asc">FreeBSD-SA-05:12.bind9</ulink>. + &merged;</para> </sect2> <sect2 id="kernel"> @@ -222,6 +241,43 @@ treated as an unprivileged user; if set to <literal>1</literal>, then a jailed root user is treated the same as an unjailed <username>root</username> user. &merged;</para> + <para>A sysctl <varname>security.jail.getfsstatroot_only</varname> has been + renamed to <varname>security.jail.enforce_statfs</varname> and + now supports the following policies:</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Value</entry> + <entry>Policy</entry> + </row> + </thead> + + <tbody> + <row> + <entry>0</entry> + <entry>show all mount-points without any restrictions</entry> + </row> + + <row> + <entry>1</entry> + <entry>show only mount-points below jail's chroot and show only part of the + mount-point's path (if jail's chroot directory is + <filename>/jails/foo</filename> and + mount-point is + <filename>/jails/foo/usr/home</filename> + only <filename>/usr/home</filename> will be shown)</entry> + </row> + + <row> + <entry>2</entry> + <entry>show only mount-point where jail's chroot directory is placed.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + <para arch="alpha,amd64,i386,sparc64">The loader tunable <varname>debug.mpsafevm</varname> has been enabled by default. &merged;</para> @@ -231,6 +287,11 @@ DEBUG_MEMGUARD</literal>, plus small kernel modifications. It is generally intended for use by kernel developers.</para> + <para><varname>struct ifnet</varname> and network interface API + have been changed. Due to ABI incompatibility, all drivers + not in the &os; base system need to be updated to use + the new API and recompiled.</para> + <para>A number of bugs have been fixed in the ULE scheduler. &merged;</para> @@ -357,6 +418,10 @@ <para arch="i386,amd64">The &man.acpi.ibm.4; driver for IBM laptops has been added.</para> + <para arch="i386,amd64">The &man.acpi.ibm.4; driver has been + improved to support hotkeys and reading fan status and thermal + sensors.</para> + <para arch="i386,amd64">The &man.acpi.fujitsu.4; driver for handling &man.acpi.4;-controlled buttons Fujitsu laptops has been added.</para> @@ -364,6 +429,23 @@ which supports the Sony Notebook Controller on various Sony laptops has been added.</para> + <para>The &man.atkbdc.4;, &man.atkbd.4;, and &man.psm.4; + drivers have been rewritten in more bus-independent way, + and now support EBus found on sparc64 platform.</para> + + <para arch="sparc64">The following device drivers have been + added and enabled by default: + &man.atkbdc.4;, + &man.atkbd.4;, + creator(4), + machfb(4), + &man.syscons.4;, + &man.ohci.4;, + &man.psm.4;, + &man.ukbd.4;, + &man.ums.4;, + and &man.usb.4;.</para> + <para arch="sparc64">The &man.auxio.4; driver has been to drive some auxiliary I/O functions found on various SBus/EBus &ultrasparc; models. &merged;</para> @@ -382,7 +464,7 @@ in the &man.acpi.4; driver. These can individually be disabled by setting device hints such as <varname>hint.<replaceable>ichss</replaceable>.0.disabled="1"</varname>.</para> - <para arch="amd64,i386">The &man.hwpmc.4; hardware performance + <para>The &man.hwpmc.4; hardware performance monitoring counter driver has been added. This driver virtualizes the hardware performance monitoring facilities in modern CPUs and provides support for using @@ -635,6 +717,9 @@ <para>A new &man.ng.netflow.4; NetGraph node allows a router running &os; to do NetFlow version 5 exports. &merged;</para> + <para>A new &man.ng.tcpmss.4; NetGraph node has been added. + This supports altering MSS options of TCP packets.</para> + <para>The &man.sppp.4; driver now includes Frame Relay support. &merged;</para> @@ -1070,6 +1155,11 @@ it behaving as if the <option>-i</option> option is always specified has been fixed. &merged;</para> + <para>The &man.rexecd.8; utility has been removed. + There are no rexec clients in the &os; tree, and the client + function &man.rexec.3; is present only in + <application>libcompat</application>.</para> + <para>The &man.rm.1; utility now supports an <option>-I</option> option that asks for confirmation (once) if recursively removing directories or if more than 3 files are listed in the ==== //depot/projects/tty/sys/alpha/osf1/osf1_mount.c#9 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_mount.c,v 1.23 2005/06/09 17:44:45 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_mount.c,v 1.25 2005/06/11 14:58:20 pjd Exp $"); #include "opt_mac.h" #include "opt_nfs.h" @@ -168,14 +168,10 @@ if (uap->flags & OSF1_MNT_NOWAIT) flags |= MNT_NOWAIT; - count = uap->bufsize / sizeof(struct ostatfs); + count = uap->bufsize / sizeof(struct osf1_statfs); size = count * sizeof(struct statfs); - if (size > 0) - buf = malloc(size, M_TEMP, M_WAITOK); - else - buf = NULL; - error = kern_getfsstat(td, buf, size, UIO_SYSSPACE, flags); - if (buf != NULL) { + error = kern_getfsstat(td, &buf, size, UIO_SYSSPACE, flags); + if (size > 0) { count = td->td_retval[0]; sp = buf; while (count > 0 && error == 0) { ==== //depot/projects/tty/sys/compat/freebsd32/freebsd32_misc.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.34 2005/06/09 17:44:46 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.35 2005/06/11 14:58:20 pjd Exp $"); #include "opt_compat.h" @@ -163,12 +163,8 @@ count = uap->bufsize / sizeof(struct statfs32); size = count * sizeof(struct statfs); - if (size > 0) - buf = malloc(size, M_TEMP, M_WAITOK); - else - buf = NULL; - error = kern_getfsstat(td, buf, size, UIO_SYSSPACE, uap->flags); - if (buf != NULL) { + error = kern_getfsstat(td, &buf, size, UIO_SYSSPACE, uap->flags); + if (size > 0) { count = td->td_retval[0]; sp = buf; while (count > 0 && error == 0) { ==== //depot/projects/tty/sys/conf/files#33 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1025 2005/06/10 08:05:12 glebius Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1026 2005/06/12 00:47:21 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -291,8 +291,10 @@ crypto/blowfish/bf_skey.c optional ipsec ipsec_esp crypto/des/des_ecb.c optional crypto crypto/des/des_ecb.c optional ipsec ipsec_esp +crypto/des/des_ecb.c optional netsmbcrypto crypto/des/des_setkey.c optional crypto crypto/des/des_setkey.c optional ipsec ipsec_esp +crypto/des/des_setkey.c optional netsmbcrypto crypto/rc4/rc4.c optional netgraph_mppc_encryption crypto/rijndael/rijndael-alg-fst.c optional crypto crypto/rijndael/rijndael-alg-fst.c optional geom_bde ==== //depot/projects/tty/sys/conf/files.alpha#16 (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.alpha,v 1.119 2005/06/10 20:56:36 marius Exp $ +# $FreeBSD: src/sys/conf/files.alpha,v 1.120 2005/06/12 00:47:21 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -155,10 +155,11 @@ compat/linux/linux_sysctl.c optional compat_linux compat/linux/linux_stats.c optional compat_linux compat/linux/linux_util.c optional compat_linux +crypto/blowfish/bf_enc.c optional crypto crypto/blowfish/bf_enc.c optional ipsec ipsec_esp +crypto/des/des_enc.c optional crypto crypto/des/des_enc.c optional ipsec ipsec_esp -crypto/blowfish/bf_enc.c optional crypto -crypto/des/des_enc.c optional crypto +crypto/des/des_enc.c optional netsmbcrypto dev/advansys/adv_isa.c optional adv isa dev/aic/aic_isa.c optional aic isa dev/atkbdc/atkbd.c optional atkbd atkbdc ==== //depot/projects/tty/sys/conf/files.amd64#19 (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.67 2005/06/10 20:56:36 marius Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.68 2005/06/12 00:47:21 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -120,11 +120,9 @@ amd64/pci/pci_cfgreg.c optional pci crypto/blowfish/bf_enc.c optional crypto crypto/blowfish/bf_enc.c optional ipsec ipsec_esp -crypto/des/des_ecb.c optional netsmbcrypto crypto/des/des_enc.c optional crypto crypto/des/des_enc.c optional ipsec ipsec_esp crypto/des/des_enc.c optional netsmbcrypto -crypto/des/des_setkey.c optional netsmbcrypto dev/acpica/acpi_if.m standard dev/arcmsr/arcmsr.c optional arcmsr pci dev/atkbdc/atkbd.c optional atkbd atkbdc ==== //depot/projects/tty/sys/conf/files.i386#25 (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.535 2005/06/10 20:56:36 marius Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.536 2005/06/12 00:47:21 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -122,9 +122,7 @@ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ no-implicit-rule crypto/des/arch/i386/des_enc.S optional ipsec ipsec_esp -crypto/des/des_ecb.c optional netsmbcrypto crypto/des/arch/i386/des_enc.S optional netsmbcrypto -crypto/des/des_setkey.c optional netsmbcrypto bf_enc.o optional crypto \ dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ ==== //depot/projects/tty/sys/conf/files.ia64#19 (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.ia64,v 1.78 2005/06/10 20:56:36 marius Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.79 2005/06/12 00:47:21 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -36,6 +36,7 @@ crypto/blowfish/bf_enc.c optional ipsec ipsec_esp crypto/des/des_enc.c optional crypto crypto/des/des_enc.c optional ipsec ipsec_esp +crypto/des/des_enc.c optional netsmbcrypto dev/advansys/adv_isa.c optional adv isa dev/aic/aic_isa.c optional aic isa dev/atkbdc/atkbd.c optional atkbd atkbdc ==== //depot/projects/tty/sys/conf/files.pc98#20 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801/PC-9821 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.325 2005/06/09 19:45:07 jkoshy Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.326 2005/06/12 00:47:21 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -83,9 +83,7 @@ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ no-implicit-rule crypto/des/arch/i386/des_enc.S optional ipsec ipsec_esp -crypto/des/des_ecb.c optional netsmbcrypto crypto/des/arch/i386/des_enc.S optional netsmbcrypto -crypto/des/des_setkey.c optional netsmbcrypto bf_enc.o optional crypto \ dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ ==== //depot/projects/tty/sys/conf/files.powerpc#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.powerpc,v 1.43 2005/06/09 19:45:07 jkoshy Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.44 2005/06/12 00:47:21 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -52,6 +52,7 @@ crypto/blowfish/bf_enc.c optional ipsec ipsec_esp crypto/des/des_enc.c optional ipsec ipsec_esp +crypto/des/des_enc.c optional netsmbcrypto dev/ofw/openfirm.c standard dev/ofw/ofw_bus_if.m standard ==== //depot/projects/tty/sys/conf/files.sparc64#17 (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.72 2005/06/10 20:58:59 marius Exp $ +# $FreeBSD: src/sys/conf/files.sparc64,v 1.73 2005/06/12 00:47:21 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -18,10 +18,11 @@ clean "ukbdmap.h" # # +crypto/blowfish/bf_enc.c optional crypto crypto/blowfish/bf_enc.c optional ipsec ipsec_esp +crypto/des/des_enc.c optional crypto crypto/des/des_enc.c optional ipsec ipsec_esp -crypto/blowfish/bf_enc.c optional crypto -crypto/des/des_enc.c optional crypto +crypto/des/des_enc.c optional netsmbcrypto dev/atkbdc/atkbd.c optional atkbd atkbdc dev/atkbdc/atkbd_atkbdc.c optional atkbd atkbdc dev/atkbdc/atkbdc.c optional atkbdc ==== //depot/projects/tty/sys/contrib/pf/net/if_pfsync.c#7 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.17 2005/06/10 17:23:49 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.18 2005/06/12 16:46:20 mlaier Exp $ */ /* $OpenBSD: if_pfsync.c,v 1.46 2005/02/20 15:58:38 mcbride Exp $ */ /* @@ -220,15 +220,10 @@ ifp->if_baudrate = IF_Mbps(100); ifp->if_softc = sc; pfsync_setmtu(sc, MCLBYTES); - /* - * XXX - * The 2nd arg. 0 to callout_init(9) shoule be set to CALLOUT_MPSAFE - * if Gaint lock is removed from the network stack. - */ - callout_init(&sc->sc_tmo, 0); - callout_init(&sc->sc_bulk_tmo, 0); - callout_init(&sc->sc_bulkfail_tmo, 0); - callout_init(&sc->sc_send_tmo, 0); + callout_init(&sc->sc_tmo, NET_CALLOUT_MPSAFE); + callout_init(&sc->sc_bulk_tmo, NET_CALLOUT_MPSAFE); + callout_init(&sc->sc_bulkfail_tmo, NET_CALLOUT_MPSAFE); + callout_init(&sc->sc_send_tmo, NET_CALLOUT_MPSAFE); mtx_init(&sc->sc_ifq.ifq_mtx, ifp->if_xname, "pfsync send queue", MTX_DEF); if_attach(ifp); ==== //depot/projects/tty/sys/contrib/pf/net/pf_ioctl.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.19 2005/05/03 16:43:32 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.20 2005/06/12 16:46:20 mlaier Exp $ */ /* $OpenBSD: pf_ioctl.c,v 1.139 2005/03/03 07:13:39 dhartmei Exp $ */ /* @@ -335,12 +335,7 @@ my_timeout[PFTM_SRC_NODE] = PFTM_SRC_NODE_VAL; my_timeout[PFTM_TS_DIFF] = PFTM_TS_DIFF_VAL; - /* - * XXX - * The 2nd arg. 0 to callout_init(9) shoule be set to CALLOUT_MPSAFE - * if Gaint lock is removed from the network stack. - */ - callout_init(&pf_expire_to, 0); + callout_init(&pf_expire_to, NET_CALLOUT_MPSAFE); callout_reset(&pf_expire_to, my_timeout[PFTM_INTERVAL] * hz, pf_purge_timeout, &pf_expire_to); ==== //depot/projects/tty/sys/dev/fe/if_fe_cbus.c#5 (text+ko) ==== @@ -22,7 +22,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/fe/if_fe_cbus.c,v 1.12 2005/02/20 19:33:13 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fe/if_fe_cbus.c,v 1.13 2005/06/11 16:30:43 brooks Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -317,16 +317,16 @@ return ENXIO; /* Get our station address from EEPROM. */ - fe_inblk(sc, 0x18, sc->sc_enaddr, ETHER_ADDR_LEN); + fe_inblk(sc, 0x18, sc->enaddr, ETHER_ADDR_LEN); /* Make sure it is Allied-Telesis's. */ - if (!fe_valid_Ether_p(sc->sc_enaddr, 0x0000F4)) + if (!fe_valid_Ether_p(sc->enaddr, 0x0000F4)) return ENXIO; #if 1 /* Calculate checksum. */ sum = fe_inb(sc, 0x1e); for (i = 0; i < ETHER_ADDR_LEN; i++) - sum ^= sc->sc_enaddr[i]; + sum ^= sc->enaddr[i]; if (sum != 0) return ENXIO; #endif @@ -370,8 +370,8 @@ /* Get our station address from EEPROM, and make sure the EEPROM contains Allied-Telesis's address. */ - bcopy(eeprom + 8, sc->sc_enaddr, ETHER_ADDR_LEN); - if (!fe_valid_Ether_p(sc->sc_enaddr, 0x0000F4)) + bcopy(eeprom + 8, sc->enaddr, ETHER_ADDR_LEN); + if (!fe_valid_Ether_p(sc->enaddr, 0x0000F4)) return NULL; /* I don't know any sub-model identification. */ @@ -541,14 +541,14 @@ return ENXIO; /* Get our station address from EEPROM. */ - fe_inblk(sc, 0x18, sc->sc_enaddr, ETHER_ADDR_LEN); + fe_inblk(sc, 0x18, sc->enaddr, ETHER_ADDR_LEN); /* Make sure it is Contec's. */ - if (!fe_valid_Ether_p(sc->sc_enaddr, 0x00804C)) + if (!fe_valid_Ether_p(sc->enaddr, 0x00804C)) return ENXIO; /* Determine the card type. */ - if (sc->sc_enaddr[3] == 0x06) { + if (sc->enaddr[3] == 0x06) { sc->typestr = "C-NET(9N)C"; /* We seems to need our own IDENT bits... FIXME. */ @@ -632,7 +632,7 @@ /* Make sure the Ethernet (MAC) station address is of Contec's. */ if (!fe_valid_Ether_p(eeprom + FE_SSI_EEP_ADDR, 0x00804C)) return ENXIO; - bcopy(eeprom + FE_SSI_EEP_ADDR, sc->sc_enaddr, ETHER_ADDR_LEN); + bcopy(eeprom + FE_SSI_EEP_ADDR, sc->enaddr, ETHER_ADDR_LEN); /* Setup the board type. */ sc->typestr = "C-NET(98)P2"; @@ -702,7 +702,7 @@ /* Make sure the Ethernet (MAC) station address is of TDK/LANX's. */ if (!fe_valid_Ether_p(eeprom, 0x008098)) return ENXIO; - bcopy(eeprom, sc->sc_enaddr, ETHER_ADDR_LEN); + bcopy(eeprom, sc->enaddr, ETHER_ADDR_LEN); /* Setup the board type. */ sc->typestr = "LAC-98012/98013"; @@ -767,13 +767,13 @@ return ENXIO; /* Get our station address from EEPROM. */ - fe_inblk(sc, 0x18, sc->sc_enaddr, ETHER_ADDR_LEN); - if (!fe_valid_Ether_p(sc->sc_enaddr, 0x000000)) + fe_inblk(sc, 0x18, sc->enaddr, ETHER_ADDR_LEN); + if (!fe_valid_Ether_p(sc->enaddr, 0x000000)) return ENXIO; /* Determine the card type. */ sc->typestr = "Generic MB86960 Ethernet"; - if (fe_valid_Ether_p(sc->sc_enaddr, 0x000061)) + if (fe_valid_Ether_p(sc->enaddr, 0x000061)) sc->typestr = "Gateway Ethernet (Fujitsu chipset)"; /* Gateway's board requires an explicit IRQ to work, since it @@ -833,14 +833,14 @@ sc->proto_dlcr7 | FE_D7_RBS_BMPR | FE_D7_POWER_UP); /* Get our station address form ID ROM and make sure it is UBN's. */ - fe_inblk(sc, 0x18, sc->sc_enaddr, ETHER_ADDR_LEN); - if (!fe_valid_Ether_p(sc->sc_enaddr, 0x00DD01)) + fe_inblk(sc, 0x18, sc->enaddr, ETHER_ADDR_LEN); + if (!fe_valid_Ether_p(sc->enaddr, 0x00DD01)) goto fail_ubn; #if 1 /* Calculate checksum. */ sum = fe_inb(sc, 0x1e); for (i = 0; i < ETHER_ADDR_LEN; i++) - sum ^= sc->sc_enaddr[i]; + sum ^= sc->enaddr[i]; if (sum != 0) goto fail_ubn; #endif @@ -972,11 +972,11 @@ are not yet sure we have a REX-9880 board here.) */ fe_read_eeprom_rex(sc, eeprom); for (i = 0; i < ETHER_ADDR_LEN; i++) - sc->sc_enaddr[i] = eeprom[7 - i]; + sc->enaddr[i] = eeprom[7 - i]; /* Make sure it is RATOC's. */ - if (!fe_valid_Ether_p(sc->sc_enaddr, 0x00C0D0) && - !fe_valid_Ether_p(sc->sc_enaddr, 0x00803D)) + if (!fe_valid_Ether_p(sc->enaddr, 0x00C0D0) && + !fe_valid_Ether_p(sc->enaddr, 0x00803D)) return 0; /* Setup the board type. */ ==== //depot/projects/tty/sys/dev/gem/if_gem.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/gem/if_gem.c,v 1.28 2005/06/10 16:49:09 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/gem/if_gem.c,v 1.29 2005/06/12 15:33:45 brooks Exp $"); /* * Driver for Sun GEM ethernet controllers. @@ -363,9 +363,9 @@ struct ifnet *ifp = sc->sc_ifp; int i; + gem_stop(ifp, 1); ether_ifdetach(ifp); if_free(ifp); - gem_stop(ifp, 1); device_delete_child(sc->sc_dev, sc->sc_miibus); for (i = 0; i < GEM_NRXDESC; i++) { ==== //depot/projects/tty/sys/dev/snc/dp83932.c#12 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/snc/dp83932.c,v 1.18 2005/06/10 16:49:14 brooks Exp $ */ +/* $FreeBSD: src/sys/dev/snc/dp83932.c,v 1.19 2005/06/12 15:25:19 scottl Exp $ */ /* $NecBSD: dp83932.c,v 1.5 1999/07/29 05:08:44 kmatsuda Exp $ */ /* $NetBSD: if_snc.c,v 1.18 1998/04/25 21:27:40 scottr Exp $ */ @@ -166,7 +166,8 @@ ifp = sc->sc_ifp = if_alloc(IFT_ETHER); if (ifp == NULL) - panic("%s: can not if_alloc()\n", device_get_nameunit(dev)); + panic("%s: can not if_alloc()\n", + device_get_nameunit(sc->sc_dev)); #ifdef SNCDEBUG device_printf(sc->sc_dev, ==== //depot/projects/tty/sys/dev/snc/if_snc_pccard.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/snc/if_snc_pccard.c,v 1.7 2005/01/20 20:32:56 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/snc/if_snc_pccard.c,v 1.8 2005/06/12 16:21:44 brooks Exp $"); /* * National Semiconductor DP8393X SONIC Driver @@ -88,7 +88,7 @@ snc_pccard_detach(device_t dev) { struct snc_softc *sc = device_get_softc(dev); - struct ifnet *ifp = &sc->sc_if; + struct ifnet *ifp = sc->sc_ifp; if (sc->gone) { device_printf(dev, "already unloaded\n"); ==== //depot/projects/tty/sys/kern/uipc_accf.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/uipc_accf.c,v 1.18 2005/03/12 12:57:17 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_accf.c,v 1.19 2005/06/11 11:59:47 maxim Exp $"); #define ACCEPT_FILTER_MOD @@ -176,8 +176,10 @@ error = EINVAL; goto out; } - if ((so->so_options & SO_ACCEPTFILTER) == 0) + if ((so->so_options & SO_ACCEPTFILTER) == 0) { + error = EINVAL; goto out; + } strcpy(afap->af_name, so->so_accf->so_accept_filter->accf_name); if (so->so_accf->so_accept_filter_str != NULL) strcpy(afap->af_arg, so->so_accf->so_accept_filter_str); @@ -200,7 +202,7 @@ /* * Handle the simple delete case first. */ - if (sopt == NULL) { + if (sopt == NULL || sopt->sopt_val == NULL) { SOCK_LOCK(so); if ((so->so_options & SO_ACCEPTCONN) == 0) { SOCK_UNLOCK(so); ==== //depot/projects/tty/sys/kern/vfs_cache.c#9 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/vfs_cache.c,v 1.99 2005/04/13 10:59:09 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_cache.c,v 1.100 2005/06/11 08:47:30 jeff Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -474,6 +474,9 @@ int zap; int len; + VNASSERT(vp == NULL || (vp->v_iflag & VI_DOOMED) == 0, vp, + ("cahe_enter: Adding a doomed vnode")); + if (!doingcache) return; ==== //depot/projects/tty/sys/kern/vfs_subr.c#20 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.627 2005/06/11 01:16:46 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.628 2005/06/11 08:48:09 jeff Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -723,6 +723,8 @@ VNASSERT(bo->bo_clean.bv_root == NULL, vp, ("cleanblkroot not NULL")); VNASSERT(bo->bo_dirty.bv_cnt == 0, vp, ("dirtybufcnt not 0")); VNASSERT(bo->bo_dirty.bv_root == NULL, vp, ("dirtyblkroot not NULL")); + VNASSERT(TAILQ_EMPTY(&vp->v_cache_dst), vp, ("vp has namecache dst")); + VNASSERT(LIST_EMPTY(&vp->v_cache_src), vp, ("vp has namecache src")); #ifdef MAC mac_destroy_vnode(vp); #endif ==== //depot/projects/tty/sys/kern/vfs_syscalls.c#17 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.388 2005/06/09 18:49:19 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.390 2005/06/12 07:03:23 pjd Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -390,12 +390,17 @@ } */ *uap; { - return (kern_getfsstat(td, uap->buf, uap->bufsize, UIO_USERSPACE, + return (kern_getfsstat(td, &uap->buf, uap->bufsize, UIO_USERSPACE, uap->flags)); } +/* + * If (bufsize > 0 && bufseg == UIO_SYSSPACE) + * The caller is responsible for freeing memory which will be allocated + * in '*buf'. + */ int -kern_getfsstat(struct thread *td, struct statfs *buf, size_t bufsize, +kern_getfsstat(struct thread *td, struct statfs **buf, size_t bufsize, enum uio_seg bufseg, int flags) { struct mount *mp, *nmp; @@ -404,7 +409,22 @@ int error; maxcount = bufsize / sizeof(struct statfs); - sfsp = buf; + if (bufsize == 0) + sfsp = NULL; + else if (bufseg == UIO_USERSPACE) + sfsp = *buf; + else /* if (bufseg == UIO_SYSSPACE) */ { + count = 0; + mtx_lock(&mountlist_mtx); + TAILQ_FOREACH(mp, &mountlist, mnt_list) { + count++; + } + mtx_unlock(&mountlist_mtx); + if (maxcount > count) + maxcount = count; + sfsp = *buf = malloc(maxcount * sizeof(struct statfs), M_TEMP, + M_WAITOK); + } count = 0; mtx_lock(&Giant); mtx_lock(&mountlist_mtx); @@ -451,15 +471,16 @@ prison_enforce_statfs(td->td_ucred, mp, &sb); sp = &sb; } - if (bufseg == UIO_USERSPACE) { + if (bufseg == UIO_SYSSPACE) + bcopy(sp, sfsp, sizeof(*sp)); + else /* if (bufseg == UIO_USERSPACE) */ { error = copyout(sp, sfsp, sizeof(*sp)); if (error) { vfs_unbusy(mp, td); mtx_unlock(&Giant); return (error); } - } else - bcopy(sp, sfsp, sizeof(*sp)); + } sfsp++; } count++; @@ -561,12 +582,8 @@ count = uap->bufsize / sizeof(struct ostatfs); size = count * sizeof(struct statfs); - if (size > 0) - buf = malloc(size, M_TEMP, M_WAITOK); - else - buf = NULL; - error = kern_getfsstat(td, buf, size, UIO_SYSSPACE, uap->flags); - if (buf != NULL) { + error = kern_getfsstat(td, &buf, size, UIO_SYSSPACE, uap->flags); + if (size > 0) { count = td->td_retval[0]; sp = buf; while (count > 0 && error == 0) { ==== //depot/projects/tty/sys/net/if.c#18 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)if.c 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/net/if.c,v 1.231 2005/06/10 16:49:18 brooks Exp $ + * $FreeBSD: src/sys/net/if.c,v 1.232 2005/06/12 00:53:03 brooks Exp $ */ #include "opt_compat.h" @@ -402,8 +402,10 @@ if (if_com_alloc[type] != NULL) { ifp->if_l2com = if_com_alloc[type](type, ifp); - if (ifp->if_l2com == NULL) + if (ifp->if_l2com == NULL) { free(ifp, M_IFNET); + return (NULL); + } } return (ifp); @@ -426,6 +428,12 @@ return; } + ifnet_byindex(ifp->if_index) = NULL; + + /* XXX: should be locked with if_findindex() */ + while (if_index > 0 && ifaddr_byindex(if_index) == NULL) + if_index--; + if (if_com_free[type] != NULL) if_com_free[type](ifp->if_l2com, type); @@ -678,15 +686,10 @@ * Remove address from ifindex_table[] and maybe decrement if_index. * Clean up all addresses. */ - ifnet_byindex(ifp->if_index) = NULL; ifaddr_byindex(ifp->if_index) = NULL; destroy_dev(ifdev_byindex(ifp->if_index)); ifdev_byindex(ifp->if_index) = NULL; - while (if_index > 0 && ifaddr_byindex(if_index) == NULL) - if_index--; - - /* We can now free link ifaddr. */ if (!TAILQ_EMPTY(&ifp->if_addrhead)) { ifa = TAILQ_FIRST(&ifp->if_addrhead); ==== //depot/projects/tty/sys/netinet/ip_fw2.c#18 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.101 2005/06/10 12:28:17 green Exp $ + * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.102 2005/06/12 16:27:10 mlaier Exp $ */ #define DEB(x) @@ -2332,14 +2332,14 @@ break; case O_IP_SRC: - match = (hlen > 0 && + match = is_ipv4 && (hlen > 0 && ((ipfw_insn_ip *)cmd)->addr.s_addr == src_ip.s_addr); break; case O_IP_SRC_LOOKUP: case O_IP_DST_LOOKUP: - if (hlen > 0) { + if (hlen > 0 && is_ipv4) { uint32_t a = (cmd->opcode == O_IP_DST_LOOKUP) ? dst_ip.s_addr : src_ip.s_addr; @@ -2356,7 +2356,7 @@ case O_IP_SRC_MASK: case O_IP_DST_MASK: - if (hlen > 0) { + if (hlen > 0 && is_ipv4) { uint32_t a = (cmd->opcode == O_IP_DST_MASK) ? dst_ip.s_addr : src_ip.s_addr; @@ -2369,7 +2369,7 @@ break; case O_IP_SRC_ME: - if (hlen > 0) { + if (hlen > 0 && is_ipv4) { struct ifnet *tif; INADDR_TO_IFP(src_ip, tif); @@ -2379,7 +2379,7 @@ case O_IP_DST_SET: case O_IP_SRC_SET: - if (hlen > 0) { + if (hlen > 0 && is_ipv4) { u_int32_t *d = (u_int32_t *)(cmd+1); u_int32_t addr = cmd->opcode == O_IP_DST_SET ? @@ -2396,13 +2396,13 @@ break; case O_IP_DST: - match = (hlen > 0 && + match = is_ipv4 && (hlen > 0 && ((ipfw_insn_ip *)cmd)->addr.s_addr == dst_ip.s_addr); break; case O_IP_DST_ME: - if (hlen > 0) { + if (hlen > 0 && is_ipv4) { struct ifnet *tif; INADDR_TO_IFP(dst_ip, tif); @@ -2605,14 +2605,16 @@ case O_VERSRCREACH: /* Outgoing packets automatically pass/match */ + /* XXX: IPv6 missing!?! */ match = (hlen > 0 && ((oif != NULL) || - verify_path(src_ip, NULL))); + (is_ipv4 && verify_path(src_ip, NULL)))); break; >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200506121841.j5CIfWcX002586>