PERFORCE change 135414 for review
John Birrell
jb at FreeBSD.org
Thu Feb 14 13:21:29 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=135414
Change 135414 by jb at jb_freebsd1 on 2008/02/14 21:20:34
IFC
Affected files ...
.. //depot/projects/dtrace/src/lib/libthr/thread/thr_mutex.c#19 integrate
.. //depot/projects/dtrace/src/lib/msun/src/e_hypot.c#4 integrate
.. //depot/projects/dtrace/src/lib/msun/src/e_hypotf.c#4 integrate
.. //depot/projects/dtrace/src/lib/msun/src/e_pow.c#4 integrate
.. //depot/projects/dtrace/src/lib/msun/src/e_powf.c#4 integrate
.. //depot/projects/dtrace/src/lib/msun/src/s_ceil.c#4 integrate
.. //depot/projects/dtrace/src/lib/msun/src/s_ceill.c#5 integrate
.. //depot/projects/dtrace/src/lib/msun/src/s_floor.c#4 integrate
.. //depot/projects/dtrace/src/lib/msun/src/s_floorl.c#5 integrate
.. //depot/projects/dtrace/src/lib/msun/src/s_trunc.c#4 integrate
.. //depot/projects/dtrace/src/lib/msun/src/s_truncl.c#6 integrate
.. //depot/projects/dtrace/src/share/man/man4/sk.4#5 integrate
.. //depot/projects/dtrace/src/share/man/man9/lock.9#11 integrate
.. //depot/projects/dtrace/src/sys/dev/coretemp/coretemp.c#4 integrate
.. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge.c#14 integrate
.. //depot/projects/dtrace/src/sys/dev/mxge/if_mxge_var.h#9 integrate
.. //depot/projects/dtrace/src/sys/ia64/ia64/machdep.c#15 integrate
.. //depot/projects/dtrace/src/sys/ia64/ia64/pmap.c#13 integrate
.. //depot/projects/dtrace/src/sys/kern/kern_descrip.c#21 integrate
.. //depot/projects/dtrace/src/sys/kern/uipc_syscalls.c#25 integrate
.. //depot/projects/dtrace/src/sys/kern/vfs_mount.c#26 integrate
.. //depot/projects/dtrace/src/usr.bin/netstat/route.c#12 integrate
.. //depot/projects/dtrace/src/usr.sbin/rpcbind/rpcbind.c#7 integrate
.. //depot/projects/dtrace/www/en/search/search.sgml#6 integrate
.. //depot/projects/dtrace/www/share/sgml/advisories.xml#17 integrate
Differences ...
==== //depot/projects/dtrace/src/lib/libthr/thread/thr_mutex.c#19 (text+ko) ====
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.70 2008/02/06 20:43:19 des Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_mutex.c,v 1.71 2008/02/14 12:37:58 des Exp $
*/
#include "namespace.h"
@@ -876,5 +876,5 @@
if (__predict_false(ret))
return (ret);
}
- return ((*mutex)->m_lock.m_owner == TID(curthread));
+ return ((*mutex)->m_owner == curthread);
}
==== //depot/projects/dtrace/src/lib/msun/src/e_hypot.c#4 (text+ko) ====
@@ -11,9 +11,8 @@
* ====================================================
*/
-#ifndef lint
-static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_hypot.c,v 1.9 2005/02/04 18:26:05 das Exp $";
-#endif
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/lib/msun/src/e_hypot.c,v 1.10 2008/02/14 13:44:03 bde Exp $");
/* __ieee754_hypot(x,y)
*
@@ -68,7 +67,8 @@
if(ha > 0x5f300000) { /* a>2**500 */
if(ha >= 0x7ff00000) { /* Inf or NaN */
u_int32_t low;
- w = a+b; /* for sNaN */
+ /* Use original arg order iff result is NaN; quieten sNaNs. */
+ w = fabs(x+0.0)+fabs(y+0.0);
GET_LOW_WORD(low,a);
if(((ha&0xfffff)|low)==0) w = a;
GET_LOW_WORD(low,b);
==== //depot/projects/dtrace/src/lib/msun/src/e_hypotf.c#4 (text+ko) ====
@@ -13,9 +13,8 @@
* ====================================================
*/
-#ifndef lint
-static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_hypotf.c,v 1.9 2002/05/28 18:15:03 alfred Exp $";
-#endif
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/lib/msun/src/e_hypotf.c,v 1.10 2008/02/14 13:44:03 bde Exp $");
#include "math.h"
#include "math_private.h"
@@ -37,7 +36,8 @@
k=0;
if(ha > 0x58800000) { /* a>2**50 */
if(ha >= 0x7f800000) { /* Inf or NaN */
- w = a+b; /* for sNaN */
+ /* Use original arg order iff result is NaN; quieten sNaNs. */
+ w = fabsf(x+0.0F)+fabsf(y+0.0F);
if(ha == 0x7f800000) w = a;
if(hb == 0x7f800000) w = b;
return w;
==== //depot/projects/dtrace/src/lib/msun/src/e_pow.c#4 (text+ko) ====
@@ -9,9 +9,8 @@
* ====================================================
*/
-#ifndef lint
-static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_pow.c,v 1.11 2005/02/04 18:26:06 das Exp $";
-#endif
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/lib/msun/src/e_pow.c,v 1.13 2008/02/14 12:56:35 bde Exp $");
/* __ieee754_pow(x,y) return x**y
*
@@ -110,10 +109,10 @@
/* y==zero: x**0 = 1 */
if((iy|ly)==0) return one;
- /* +-NaN return x+y */
+ /* y!=zero: result is NaN if either arg is NaN */
if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) ||
iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0)))
- return x+y;
+ return (x+0.0)+(y+0.0);
/* determine if y is an odd int when x < 0
* yisint = 0 ... y is not an integer
==== //depot/projects/dtrace/src/lib/msun/src/e_powf.c#4 (text+ko) ====
@@ -13,9 +13,8 @@
* ====================================================
*/
-#ifndef lint
-static char rcsid[] = "$FreeBSD: src/lib/msun/src/e_powf.c,v 1.12 2004/06/01 19:33:30 bde Exp $";
-#endif
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/lib/msun/src/e_powf.c,v 1.15 2008/02/14 12:56:35 bde Exp $");
#include "math.h"
#include "math_private.h"
@@ -47,8 +46,8 @@
lg2_l = 1.42860654e-06, /* 0x35bfbe8c */
ovt = 4.2995665694e-08, /* -(128-log2(ovfl+.5ulp)) */
cp = 9.6179670095e-01, /* 0x3f76384f =2/(3ln2) */
-cp_h = 9.6179199219e-01, /* 0x3f763800 =head of cp */
-cp_l = 4.7017383622e-06, /* 0x369dc3a0 =tail of cp_h */
+cp_h = 9.6191406250e-01, /* 0x3f764000 =12b cp */
+cp_l = -1.1736857402e-04, /* 0xb8f623c6 =tail of cp_h */
ivln2 = 1.4426950216e+00, /* 0x3fb8aa3b =1/ln2 */
ivln2_h = 1.4426879883e+00, /* 0x3fb8aa00 =16b 1/ln2*/
ivln2_l = 7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/
@@ -68,10 +67,10 @@
/* y==zero: x**0 = 1 */
if(iy==0) return one;
- /* +-NaN return x+y */
+ /* y!=zero: result is NaN if either arg is NaN */
if(ix > 0x7f800000 ||
iy > 0x7f800000)
- return x+y;
+ return (x+0.0F)+(y+0.0F);
/* determine if y is an odd int when x < 0
* yisint = 0 ... y is not an integer
==== //depot/projects/dtrace/src/lib/msun/src/s_ceil.c#4 (text+ko) ====
@@ -11,7 +11,7 @@
*/
#ifndef lint
-static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_ceil.c,v 1.9 2003/07/23 04:53:46 peter Exp $";
+static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_ceil.c,v 1.10 2008/02/14 15:10:33 bde Exp $";
#endif
/*
@@ -70,3 +70,7 @@
INSERT_WORDS(x,i0,i1);
return x;
}
+
+#if LDBL_MANT_DIG == 53
+__weak_reference(ceil, ceill);
+#endif
==== //depot/projects/dtrace/src/lib/msun/src/s_ceill.c#5 (text+ko) ====
@@ -12,7 +12,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/msun/src/s_ceill.c,v 1.8 2008/02/13 18:16:43 bde Exp $");
+__FBSDID("$FreeBSD: src/lib/msun/src/s_ceill.c,v 1.9 2008/02/14 15:10:33 bde Exp $");
/*
* ceill(x)
@@ -99,7 +99,3 @@
}
return (u.e);
}
-
-#if LDBL_MANT_DIG == 53
-__weak_reference(ceil, ceill);
-#endif
==== //depot/projects/dtrace/src/lib/msun/src/s_floor.c#4 (text+ko) ====
@@ -11,7 +11,7 @@
*/
#ifndef lint
-static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_floor.c,v 1.9 2003/07/23 04:53:46 peter Exp $";
+static char rcsid[] = "$FreeBSD: src/lib/msun/src/s_floor.c,v 1.10 2008/02/14 15:10:34 bde Exp $";
#endif
/*
@@ -71,3 +71,7 @@
INSERT_WORDS(x,i0,i1);
return x;
}
+
+#if LDBL_MANT_DIG == 53
+__weak_reference(floor, floorl);
+#endif
==== //depot/projects/dtrace/src/lib/msun/src/s_floorl.c#5 (text+ko) ====
@@ -12,7 +12,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/msun/src/s_floorl.c,v 1.7 2008/02/13 18:16:43 bde Exp $");
+__FBSDID("$FreeBSD: src/lib/msun/src/s_floorl.c,v 1.8 2008/02/14 15:10:34 bde Exp $");
/*
* floorl(x)
@@ -99,7 +99,3 @@
}
return (u.e);
}
-
-#if LDBL_MANT_DIG == 53
-__weak_reference(floor, floorl);
-#endif
==== //depot/projects/dtrace/src/lib/msun/src/s_trunc.c#4 (text+ko) ====
@@ -11,7 +11,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/msun/src/s_trunc.c,v 1.1 2004/06/20 09:25:43 das Exp $");
+__FBSDID("$FreeBSD: src/lib/msun/src/s_trunc.c,v 1.2 2008/02/14 15:10:34 bde Exp $");
/*
* trunc(x)
@@ -59,3 +59,7 @@
INSERT_WORDS(x,i0,i1);
return x;
}
+
+#if LDBL_MANT_DIG == 53
+__weak_reference(trunc, truncl);
+#endif
==== //depot/projects/dtrace/src/lib/msun/src/s_truncl.c#6 (text+ko) ====
@@ -12,7 +12,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/msun/src/s_truncl.c,v 1.8 2008/02/13 18:16:43 bde Exp $");
+__FBSDID("$FreeBSD: src/lib/msun/src/s_truncl.c,v 1.9 2008/02/14 15:10:34 bde Exp $");
/*
* truncl(x)
@@ -66,7 +66,3 @@
}
return (u.e);
}
-
-#if LDBL_MANT_DIG == 53
-__weak_reference(trunc, truncl);
-#endif
==== //depot/projects/dtrace/src/share/man/man4/sk.4#5 (text+ko) ====
@@ -28,9 +28,9 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/share/man/man4/sk.4,v 1.30 2007/01/30 08:40:04 brueffer Exp $
+.\" $FreeBSD: src/share/man/man4/sk.4,v 1.31 2008/02/14 10:01:48 brueffer Exp $
.\"
-.Dd July 16, 2005
+.Dd February 14, 2008
.Dt SK 4
.Os
.Sh NAME
@@ -191,17 +191,28 @@
.It
SMC 9452TX single port, 1000baseT adapter
.El
+.Sh LOADER TUNABLES
+Tunables can be set at the
+.Xr loader 8
+prompt before booting the kernel or stored in
+.Xr loader.conf 5 .
+.Bl -tag -width xxxxxx
+.It Va hw.skc.jumbo_disable
+Disable jumbo frame support.
+Systems with less memory can set it to a non-zero value to save memory.
+The default value is 0.
+.El
.Sh SYSCTL VARIABLES
The following variable is available as both
.Xr sysctl 8
variable and
.Xr loader 8
tunable:
-.Bl -tag -width indent
+.Bl -tag -width xxxxxx
.It Va dev.skc.%d.int_mod
-.Pp
This variable controls interrupt moderation.
-The accepted range is 10 to 10000, default value is 100 microseconds.
+The accepted range is 10 to 10000.
+The default value is 100 microseconds.
The interface has to be brought down and up again before a change takes effect.
.El
.Sh DIAGNOSTICS
==== //depot/projects/dtrace/src/share/man/man9/lock.9#11 (text+ko) ====
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
-.\" $FreeBSD: src/share/man/man9/lock.9,v 1.24 2008/02/13 21:54:16 attilio Exp $
+.\" $FreeBSD: src/share/man/man9/lock.9,v 1.25 2008/02/14 19:39:09 brueffer Exp $
.\"
.Dd February 13, 2008
.Dt LOCK 9
@@ -239,7 +239,7 @@
.Vt lkp
lock pointed to by the first argument.
.It Dv KA_HELD
-Assert that the a not specified thread has a lock on the
+Assert that an unspecified thread has a lock on the
.Vt lkp
lock pointed to by the first argument.
.It Dv KA_UNHELD
@@ -260,16 +260,18 @@
Assert that the current thread has a recursed lock on
.Fa lkp .
.It Dv KA_NOTRECURSED
-Assert that the current thread has not a recursed lock on
+Assert that the current thread does not have a recursed lock on
.Fa lkp .
.El
.Pp
-It also worths note that
+Note that
.Dv KA_HELD
and
.Dv KA_UNHELD
-usage is highly discouraged. They are intended to cater a bad behaviour
-introduced by buffer cache locks handling and hopefully they will be
+usage is highly discouraged.
+They are intended to cater a bad behaviour
+introduced by buffer cache lock handling.
+They will hopefully be
made useless by revisiting such locks.
.Sh RETURN VALUES
The
==== //depot/projects/dtrace/src/sys/dev/coretemp/coretemp.c#4 (text+ko) ====
@@ -23,7 +23,7 @@
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.5 2008/01/10 16:09:22 rpaulo Exp $
+ * $FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.6 2008/02/14 14:14:59 rpaulo Exp $
*
*/
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.5 2008/01/10 16:09:22 rpaulo Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/coretemp/coretemp.c,v 1.6 2008/02/14 14:14:59 rpaulo Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -143,6 +143,15 @@
cpu_model += ((cpu_id >> 16) & 0xf) << 4;
cpu_mask = cpu_id & 15;
+ /*
+ * Some CPUs, namely the PIII, don't have thermal sensors, but
+ * report them when the CPUID check is performed in
+ * coretemp_identify(). This leads to a later GPF when the sensor
+ * is queried via a MSR, so we stop here.
+ */
+ if (cpu_model < 0xe)
+ return (ENXIO);
+
#if 0 /*
* XXXrpaulo: I have this CPU model and when it returns from C3
* coretemp continues to function properly.
==== //depot/projects/dtrace/src/sys/dev/mxge/if_mxge.c#14 (text+ko) ====
@@ -28,7 +28,7 @@
***************************************************************************/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mxge/if_mxge.c,v 1.46 2008/02/14 00:09:59 gallatin Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mxge/if_mxge.c,v 1.47 2008/02/14 16:24:14 gallatin Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -2685,7 +2685,7 @@
}
valid = stats->valid;
- if (!sc->msi_enabled) {
+ if (sc->legacy_irq) {
/* lower legacy IRQ */
*sc->irq_deassert = 0;
if (!mxge_deassert_wait)
@@ -2705,6 +2705,8 @@
mxge_clean_rx_done(ss);
send_done_count = be32toh(stats->send_done_count);
}
+ if (sc->legacy_irq && mxge_deassert_wait)
+ mb();
} while (*((volatile uint8_t *) &stats->valid));
if (__predict_false(stats->stats_updated)) {
@@ -4035,9 +4037,9 @@
count = pci_msi_count(sc->dev);
if (count == 1 && pci_alloc_msi(sc->dev, &count) == 0) {
rid = 1;
- sc->msi_enabled = 1;
} else {
rid = 0;
+ sc->legacy_irq = 1;
}
sc->irq_res = bus_alloc_resource(sc->dev, SYS_RES_IRQ, &rid, 0, ~0,
1, RF_SHAREABLE | RF_ACTIVE);
@@ -4047,7 +4049,7 @@
}
if (mxge_verbose)
device_printf(sc->dev, "using %s irq %ld\n",
- sc->msi_enabled ? "MSI" : "INTx",
+ sc->legacy_irq ? "INTx" : "MSI",
rman_get_start(sc->irq_res));
err = bus_setup_intr(sc->dev, sc->irq_res,
INTR_TYPE_NET | INTR_MPSAFE,
@@ -4057,8 +4059,8 @@
mxge_intr, &sc->ss[0], &sc->ih);
if (err != 0) {
bus_release_resource(sc->dev, SYS_RES_IRQ,
- sc->msi_enabled ? 1 : 0, sc->irq_res);
- if (sc->msi_enabled)
+ sc->legacy_irq ? 0 : 1, sc->irq_res);
+ if (!sc->legacy_irq)
pci_release_msi(sc->dev);
}
return err;
@@ -4099,8 +4101,8 @@
{
bus_teardown_intr(sc->dev, sc->irq_res, sc->ih);
bus_release_resource(sc->dev, SYS_RES_IRQ,
- sc->msi_enabled ? 1 : 0, sc->irq_res);
- if (sc->msi_enabled)
+ sc->legacy_irq ? 0 : 1, sc->irq_res);
+ if (!sc->legacy_irq)
pci_release_msi(sc->dev);
}
==== //depot/projects/dtrace/src/sys/dev/mxge/if_mxge_var.h#9 (text+ko) ====
@@ -25,7 +25,7 @@
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-$FreeBSD: src/sys/dev/mxge/if_mxge_var.h,v 1.19 2008/02/14 00:09:59 gallatin Exp $
+$FreeBSD: src/sys/dev/mxge/if_mxge_var.h,v 1.20 2008/02/14 16:24:14 gallatin Exp $
***************************************************************************/
@@ -206,7 +206,7 @@
mxge_dma_t cmd_dma;
mxge_dma_t zeropad_dma;
struct pci_dev *pdev;
- int msi_enabled;
+ int legacy_irq;
int link_state;
unsigned int rdma_tags_available;
int intr_coal_delay;
==== //depot/projects/dtrace/src/sys/ia64/ia64/machdep.c#15 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.229 2008/02/04 02:21:33 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.230 2008/02/14 18:46:50 marcel Exp $");
#include "opt_compat.h"
#include "opt_ddb.h"
@@ -100,6 +100,9 @@
#include <i386/include/specialreg.h>
+/* XXX fc.i kluge (quick fix) */
+extern int ia64_icache_sync_kluge;
+
u_int64_t processor_frequency;
u_int64_t bus_frequency;
u_int64_t itc_frequency;
@@ -218,6 +221,9 @@
}
break;
case 0x20:
+ /* XXX fc.i kluge (quick fix) */
+ ia64_icache_sync_kluge = 1;
+
family_name = "Itanium 2";
switch (model) {
case 0x00:
==== //depot/projects/dtrace/src/sys/ia64/ia64/pmap.c#13 (text+ko) ====
@@ -46,7 +46,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.196 2008/01/03 07:34:33 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.197 2008/02/14 18:46:50 marcel Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -118,6 +118,9 @@
/* XXX move to a header. */
extern uint64_t ia64_gateway_page[];
+/* XXX fc.i kluge (quick fix) */
+int ia64_icache_sync_kluge;
+
MALLOC_DEFINE(M_PMAP, "PMAP", "PMAP Structures");
#ifndef PMAP_SHPGPERPROC
@@ -1183,6 +1186,7 @@
pmap_set_pte(struct ia64_lpte *pte, vm_offset_t va, vm_offset_t pa,
boolean_t wired, boolean_t managed)
{
+ vm_offset_t lim;
pte->pte &= PTE_PROT_MASK | PTE_PL_MASK | PTE_AR_MASK | PTE_ED;
pte->pte |= PTE_PRESENT | PTE_MA_WB;
@@ -1193,6 +1197,15 @@
pte->itir = PAGE_SHIFT << 2;
pte->tag = ia64_ttag(va);
+
+ /* XXX fc.i kluge (quick fix) */
+ if (ia64_icache_sync_kluge) {
+ lim = va + PAGE_SIZE;
+ while (va < lim) {
+ __asm __volatile("fc.i %0" :: "r"(va));
+ va += 32;
+ }
+ }
}
/*
==== //depot/projects/dtrace/src/sys/kern/kern_descrip.c#21 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.322 2008/02/09 05:16:25 marcus Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.323 2008/02/14 11:44:31 simon Exp $");
#include "opt_compat.h"
#include "opt_ddb.h"
@@ -2050,7 +2050,7 @@
int error;
*vpp = NULL;
- if ((error = _fget(td, fd, &fp, 0, 0)) != 0)
+ if ((error = _fget(td, fd, &fp, flags, 0)) != 0)
return (error);
if (fp->f_vnode == NULL) {
error = EINVAL;
==== //depot/projects/dtrace/src/sys/kern/uipc_syscalls.c#25 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.266 2008/02/03 15:54:40 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.267 2008/02/14 11:44:31 simon Exp $");
#include "opt_sctp.h"
#include "opt_compat.h"
@@ -1796,20 +1796,23 @@
goto out;
vfslocked = VFS_LOCK_GIANT(vp->v_mount);
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
- obj = vp->v_object;
- if (obj != NULL) {
- /*
- * Temporarily increase the backing VM object's reference
- * count so that a forced reclamation of its vnode does not
- * immediately destroy it.
- */
- VM_OBJECT_LOCK(obj);
- if ((obj->flags & OBJ_DEAD) == 0) {
- vm_object_reference_locked(obj);
- VM_OBJECT_UNLOCK(obj);
- } else {
- VM_OBJECT_UNLOCK(obj);
- obj = NULL;
+ if (vp->v_type == VREG) {
+ obj = vp->v_object;
+ if (obj != NULL) {
+ /*
+ * Temporarily increase the backing VM
+ * object's reference count so that a forced
+ * reclamation of its vnode does not
+ * immediately destroy it.
+ */
+ VM_OBJECT_LOCK(obj);
+ if ((obj->flags & OBJ_DEAD) == 0) {
+ vm_object_reference_locked(obj);
+ VM_OBJECT_UNLOCK(obj);
+ } else {
+ VM_OBJECT_UNLOCK(obj);
+ obj = NULL;
+ }
}
}
VOP_UNLOCK(vp, 0);
==== //depot/projects/dtrace/src/sys/kern/vfs_mount.c#26 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.273 2008/01/24 12:34:28 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.274 2008/02/14 17:04:31 yar Exp $");
#include <sys/param.h>
#include <sys/conf.h>
@@ -1723,10 +1723,11 @@
strcpy(path, ROOTNAME);
error = kernel_vmount(
- MNT_RDONLY | MNT_ROOTFS,
+ MNT_ROOTFS,
"fstype", vfsname,
"fspath", "/",
"from", path,
+ "ro", NULL,
NULL);
if (error == 0) {
/*
@@ -2213,7 +2214,7 @@
/*
* Plain argument.
*
- * If length is -1, use printf.
+ * If length is -1, treat value as a C string.
*/
struct mntarg *
mount_arg(struct mntarg *ma, const char *name, const void *val, int len)
@@ -2300,7 +2301,7 @@
if (cp == NULL)
break;
vp = va_arg(ap, const void *);
- ma = mount_arg(ma, cp, vp, -1);
+ ma = mount_arg(ma, cp, vp, (vp != NULL ? -1 : 0));
}
va_end(ap);
==== //depot/projects/dtrace/src/usr.bin/netstat/route.c#12 (text+ko) ====
@@ -38,7 +38,7 @@
#endif
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.bin/netstat/route.c,v 1.87 2008/02/11 20:34:27 marius Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/netstat/route.c,v 1.88 2008/02/14 20:01:52 jhb Exp $");
#include <sys/param.h>
#include <sys/protosw.h>
@@ -164,11 +164,13 @@
return;
}
- kget(rtree, rt_tables);
+ if (kget(rtree, rt_tables) != 0)
+ return;
for (i = 0; i <= AF_MAX; i++) {
if ((rnh = rt_tables[i]) == 0)
continue;
- kget(rnh, head);
+ if (kget(rnh, head) != 0)
+ continue;
if (i == AF_UNSPEC) {
if (Aflag && af == 0) {
printf("Netmasks:\n");
@@ -269,10 +271,14 @@
size_cols_tree(struct radix_node *rn)
{
again:
- kget(rn, rnode);
+ if (kget(rn, rnode) != 0)
+ return;
+ if (!(rnode.rn_flags & RNF_ACTIVE))
+ return;
if (rnode.rn_bit < 0) {
if ((rnode.rn_flags & RNF_ROOT) == 0) {
- kget(rn, rtentry);
+ if (kget(rn, rtentry) != 0)
+ return;
size_cols_rtentry(&rtentry);
}
if ((rn = rnode.rn_dupedkey))
@@ -299,7 +305,8 @@
* Don't print protocol-cloned routes unless -a.
*/
if (rt->rt_flags & RTF_WASCLONED && !aflag) {
- kget(rt->rt_parent, parent);
+ if (kget(rt->rt_parent, parent) != 0)
+ return;
if (parent.rt_flags & RTF_PRCLONING)
return;
}
@@ -335,9 +342,11 @@
}
if (rt->rt_ifp) {
if (rt->rt_ifp != lastif) {
- kget(rt->rt_ifp, ifnet);
+ if (kget(rt->rt_ifp, ifnet) == 0)
+ len = strlen(ifnet.if_xname);
+ else
+ len = strlen("---");
lastif = rt->rt_ifp;
- len = strlen(ifnet.if_xname);
wid_if = MAX(len, wid_if);
}
if (rt->rt_rmx.rmx_expire) {
@@ -398,7 +407,8 @@
kgetsa(struct sockaddr *dst)
{
- kget(dst, pt_u.u_sa);
+ if (kget(dst, pt_u.u_sa) != 0)
+ return (NULL);
if (pt_u.u_sa.sa_len > sizeof (pt_u.u_sa))
kread((u_long)dst, (char *)pt_u.u_data, pt_u.u_sa.sa_len);
return (&pt_u.u_sa);
@@ -409,7 +419,10 @@
{
again:
- kget(rn, rnode);
+ if (kget(rn, rnode) != 0)
+ return;
+ if (!(rnode.rn_flags & RNF_ACTIVE))
+ return;
if (rnode.rn_bit < 0) {
if (Aflag)
printf("%-8.8lx ", (u_long)rn);
@@ -418,10 +431,11 @@
printf("(root node)%s",
rnode.rn_dupedkey ? " =>\n" : "\n");
} else if (do_rtent) {
- kget(rn, rtentry);
- p_rtentry(&rtentry);
- if (Aflag)
- p_rtnode();
+ if (kget(rn, rtentry) == 0) {
+ p_rtentry(&rtentry);
+ if (Aflag)
+ p_rtnode();
+ }
} else {
p_sockaddr(kgetsa((struct sockaddr *)rnode.rn_key),
NULL, 0, 44);
@@ -459,16 +473,19 @@
printf("%6.6s %8.8lx : %8.8lx", nbuf, (u_long)rnode.rn_left, (u_long)rnode.rn_right);
}
while (rm) {
- kget(rm, rmask);
+ if (kget(rm, rmask) != 0)
+ break;
sprintf(nbuf, " %d refs, ", rmask.rm_refs);
printf(" mk = %8.8lx {(%d),%s",
(u_long)rm, -1 - rmask.rm_bit, rmask.rm_refs ? nbuf : " ");
if (rmask.rm_flags & RNF_NORMAL) {
struct radix_node rnode_aux;
printf(" <normal>, ");
- kget(rmask.rm_leaf, rnode_aux);
- p_sockaddr(kgetsa((struct sockaddr *)rnode_aux.rn_mask),
+ if (kget(rmask.rm_leaf, rnode_aux) == 0)
+ p_sockaddr(kgetsa((struct sockaddr *)rnode_aux.rn_mask),
NULL, 0, -1);
+ else
+ p_sockaddr(NULL, NULL, 0, -1);
} else
p_sockaddr(kgetsa((struct sockaddr *)rmask.rm_mask),
NULL, 0, -1);
@@ -572,6 +589,9 @@
static char workbuf[128];
const char *cp;
+ if (sa == NULL)
+ return ("null");
+
switch(sa->sa_family) {
case AF_INET:
{
@@ -729,7 +749,8 @@
* Don't print protocol-cloned routes unless -a.
*/
if (rt->rt_flags & RTF_WASCLONED && !aflag) {
- kget(rt->rt_parent, parent);
+ if (kget(rt->rt_parent, parent) != 0)
+ return;
if (parent.rt_flags & RTF_PRCLONING)
return;
}
@@ -756,9 +777,12 @@
}
if (rt->rt_ifp) {
if (rt->rt_ifp != lastif) {
- kget(rt->rt_ifp, ifnet);
+ if (kget(rt->rt_ifp, ifnet) == 0)
+ strlcpy(prettyname, ifnet.if_xname,
+ sizeof(prettyname));
+ else
+ strlcpy(prettyname, "---", sizeof(prettyname));
lastif = rt->rt_ifp;
- strlcpy(prettyname, ifnet.if_xname, sizeof(prettyname));
}
printf("%*.*s", wid_if, wid_if, prettyname);
if (rt->rt_rmx.rmx_expire) {
==== //depot/projects/dtrace/src/usr.sbin/rpcbind/rpcbind.c#7 (text+ko) ====
@@ -1,5 +1,5 @@
/* $NetBSD: rpcbind.c,v 1.3 2002/11/08 00:16:40 fvdl Exp $ */
-/* $FreeBSD: src/usr.sbin/rpcbind/rpcbind.c,v 1.19 2007/11/07 10:53:39 kevlo Exp $ */
+/* $FreeBSD: src/usr.sbin/rpcbind/rpcbind.c,v 1.20 2008/02/14 20:12:23 yar Exp $ */
/*
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
@@ -250,7 +250,7 @@
int aicode;
int addrlen;
int nhostsbak;
- int checkbind;
+ int bound;
struct sockaddr *sa;
u_int32_t host_addr[4]; /* IPv4 or IPv6 */
struct sockaddr_un sun;
@@ -340,7 +340,7 @@
/*
* Bind to specific IPs if asked to
*/
- checkbind = 1;
+ bound = 0;
while (nhostsbak > 0) {
--nhostsbak;
/*
@@ -423,7 +423,7 @@
freeaddrinfo(res);
continue;
} else
- checkbind++;
+ bound = 1;
(void)umask(oldmask);
/* Copy the address */
@@ -467,7 +467,7 @@
goto error;
}
}
- if (!checkbind)
+ if (!bound)
return 1;
} else {
oldmask = umask(S_IXUSR|S_IXGRP|S_IXOTH);
==== //depot/projects/dtrace/www/en/search/search.sgml#6 (text+ko) ====
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
<!ENTITY base CDATA "..">
-<!ENTITY date "$FreeBSD: www/en/search/search.sgml,v 1.109 2007/03/22 21:37:41 gabor Exp $">
+<!ENTITY date "$FreeBSD: www/en/search/search.sgml,v 1.110 2008/02/14 13:58:20 gabor Exp $">
<!ENTITY title "Search">
]>
@@ -9,20 +9,20 @@
<h2>FreeBSD Search Services</h2>
<ul>
-<li><a href="#web">Web pages</a>
-<li><a href="#mailinglists">Mailing list archives</a>
-<li><a href="search-mid.html">Message-ID</a>
+<li><a href="#web">Web pages</a></li>
+<li><a href="#mailinglists">Mailing list archives</a></li>
+<li><a href="search-mid.html">Message-ID</a></li>
<li><a href="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">
-GNATS Problem Reports (Bugs) database</a>
-<li><a href="http://www.FreeBSD.org/cgi/man.cgi">Manual Pages</a>
+GNATS Problem Reports (Bugs) database</a></li>
+<li><a href="http://www.FreeBSD.org/cgi/man.cgi">Manual Pages</a></li>
<li><a href="http://www.FreeBSD.org/cgi/ports.cgi">
-Ports Changes</a>
+Ports Changes</a></li>
<li><a href="http://fxr.watson.org/">
-The Source Code</a>
-<li><a href="http://minnie.tuhs.org/BSD-info/bsdnews_search.html">BSD Usenet News Searcher</a>
-<li><a href="http://www.google.com/bsd">Google Search BSD</a>
-<li><a href="http://www.greasydaemon.com/">GreasyDaemon</a>, an all-in-one BSD UNIX search engine
-<li><a href="http://freebsd.rambler.ru/">FreeBSD mail archives search</a>
+The Source Code</a></li>
+<li><a href="http://minnie.tuhs.org/BSD-info/bsdnews_search.html">BSD Usenet News Searcher</a></li>
+<li><a href="http://www.google.com/bsd">Google Search BSD</a></li>
+<li><a href="http://www.greasydaemon.com/">GreasyDaemon</a>, an all-in-one BSD UNIX search engine</li>
+<li><a href="http://freebsd.rambler.ru/">FreeBSD mail archives search</a></li>
</ul>
<hr noshade>
==== //depot/projects/dtrace/www/share/sgml/advisories.xml#17 (text+ko) ====
@@ -2,7 +2,7 @@
<advisories>
<cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
<cvs:keyword name="freebsd">
- $FreeBSD: www/share/sgml/advisories.xml,v 1.216 2008/01/15 01:30:33 hrs Exp $
+ $FreeBSD: www/share/sgml/advisories.xml,v 1.218 2008/02/14 12:21:12 simon Exp $
</cvs:keyword>
</cvs:keywords>
@@ -10,9 +10,33 @@
<name>2008</name>
<month>
+ <name>2</name>
+
+ <day>
+ <name>14</name>
+
+ <advisory>
+ <name>FreeBSD-SA-08:04.ipsec</name>
+ </advisory>
+
+ <advisory>
+ <name>FreeBSD-SA-08:03.sendfile</name>
+ </advisory>
+ </day>
+ </month>
+
+ <month>
<name>1</name>
<day>
+ <name>18</name>
+
+ <release>
+ <name>FreeBSD 6.3-RELEASE</name>
+ </release>
+ </day>
+
+ <day>
<name>14</name>
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list