PERFORCE change 30708 for review
John Baldwin
jhb at FreeBSD.org
Wed May 7 11:06:13 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=30708
Change 30708 by jhb at jhb_laptop on 2003/05/07 11:05:24
IFC @30704.
Affected files ...
.. //depot/projects/smpng/sys/amd64/include/ieeefp.h#1 branch
.. //depot/projects/smpng/sys/conf/NOTES#43 integrate
.. //depot/projects/smpng/sys/conf/newvers.sh#4 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#11 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-pci.h#7 integrate
.. //depot/projects/smpng/sys/dev/em/if_em.c#21 integrate
.. //depot/projects/smpng/sys/dev/usb/uhci_pci.c#3 integrate
.. //depot/projects/smpng/sys/geom/geom_bsd.c#30 integrate
.. //depot/projects/smpng/sys/geom/geom_io.c#20 integrate
.. //depot/projects/smpng/sys/i386/isa/intr_machdep.c#19 integrate
.. //depot/projects/smpng/sys/kern/kern_sig.c#65 integrate
.. //depot/projects/smpng/sys/kern/kern_subr.c#23 integrate
.. //depot/projects/smpng/sys/kern/kern_synch.c#48 integrate
.. //depot/projects/smpng/sys/kern/uipc_syscalls.c#33 integrate
.. //depot/projects/smpng/sys/kern/vfs_default.c#20 integrate
.. //depot/projects/smpng/sys/netinet/ip_input.c#34 integrate
.. //depot/projects/smpng/sys/netinet/tcp_input.c#33 integrate
.. //depot/projects/smpng/sys/netinet/tcp_subr.c#31 integrate
.. //depot/projects/smpng/sys/netinet/tcp_var.h#14 integrate
.. //depot/projects/smpng/sys/pci/if_sis.c#25 integrate
.. //depot/projects/smpng/sys/sys/dkstat.h#3 integrate
.. //depot/projects/smpng/sys/sys/signalvar.h#15 integrate
.. //depot/projects/smpng/sys/sys/syscallsubr.h#7 integrate
.. //depot/projects/smpng/sys/vm/swap_pager.c#26 integrate
.. //depot/projects/smpng/sys/vm/vm_object.c#34 integrate
.. //depot/projects/smpng/sys/vm/vm_pager.c#12 integrate
.. //depot/projects/smpng/sys/vm/vnode_pager.c#30 integrate
Differences ...
==== //depot/projects/smpng/sys/conf/NOTES#43 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1147 2003/05/03 10:16:55 akiyama Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1148 2003/05/05 21:21:31 phk Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -116,15 +116,15 @@
#
options INCLUDE_CONFIG_FILE # Include this file in kernel
-options GEOM_AES
-options GEOM_APPLE
-options GEOM_BDE
-options GEOM_BSD
-options GEOM_GPT
-options GEOM_MBR
-options GEOM_PC98
-options GEOM_SUNLABEL
-options GEOM_VOL
+options GEOM_AES # Don't use, use GEOM_BDE
+options GEOM_APPLE # Apple partitioning
+options GEOM_BDE # Disk encryption.
+options GEOM_BSD # BSD disklabels
+options GEOM_GPT # GPT partitioning
+options GEOM_MBR # DOS/MBR partitioning
+options GEOM_PC98 # NEC PC9800 partitioning
+options GEOM_SUNLABEL # Sun/Solaris partitioning
+options GEOM_VOL # Volume names from UFS superblock
#
# The root device and filesystem type can be compiled in;
==== //depot/projects/smpng/sys/conf/newvers.sh#4 (text+ko) ====
@@ -32,11 +32,11 @@
# SUCH DAMAGE.
#
# @(#)newvers.sh 8.1 (Berkeley) 4/20/94
-# $FreeBSD: src/sys/conf/newvers.sh,v 1.49 2002/12/13 08:47:15 murray Exp $
+# $FreeBSD: src/sys/conf/newvers.sh,v 1.50 2003/05/06 03:55:24 scottl Exp $
TYPE="FreeBSD"
-REVISION="5.0"
-BRANCH="CURRENT"
+REVISION="5.1"
+BRANCH="BETA"
RELEASE="${REVISION}-${BRANCH}"
VERSION="${TYPE} ${RELEASE}"
==== //depot/projects/smpng/sys/dev/ata/ata-chipset.c#11 (text+ko) ====
@@ -25,7 +25,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/dev/ata/ata-chipset.c,v 1.23 2003/05/03 18:26:00 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.24 2003/05/06 19:31:56 jhb Exp $
*/
#include "opt_ata.h"
#include <sys/param.h>
@@ -773,6 +773,7 @@
{ ATA_I82801CA, 0, 0, 0x00, ATA_UDMA5, "Intel ICH3" },
{ ATA_I82801CA_1, 0, 0, 0x00, ATA_UDMA5, "Intel ICH3" },
{ ATA_I82801DB, 0, 0, 0x00, ATA_UDMA5, "Intel ICH4" },
+ { ATA_I82801EB, 0, 0, 0x00, ATA_UDMA5, "Intel ICH5" },
{ 0, 0, 0, 0, 0, 0}};
char buffer[64];
==== //depot/projects/smpng/sys/dev/ata/ata-pci.h#7 (text+ko) ====
@@ -25,7 +25,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/dev/ata/ata-pci.h,v 1.8 2003/05/01 06:20:50 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.9 2003/05/06 19:31:56 jhb Exp $
*/
/* structure holding chipset config info */
@@ -111,6 +111,7 @@
#define ATA_I82801CA 0x248a8086
#define ATA_I82801CA_1 0x248b8086
#define ATA_I82801DB 0x24cb8086
+#define ATA_I82801EB 0x24db8086
#define ATA_NVIDIA_ID 0x10de
#define ATA_NFORCE1 0x01bc10de
==== //depot/projects/smpng/sys/dev/em/if_em.c#21 (text+ko) ====
@@ -31,7 +31,7 @@
***************************************************************************/
-/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.24 2003/05/03 07:35:47 pdeuskar Exp $*/
+/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.25 2003/05/06 03:55:12 des Exp $*/
#include <dev/em/if_em.h>
@@ -1777,7 +1777,8 @@
BUS_DMA_NOWAIT, &dma->dma_map);
if (r != 0) {
printf("em%d: em_dma_malloc: bus_dmammem_alloc failed; "
- "size %u, error %u\n", adapter->unit, size, r);
+ "size %ju, error %d\n", adapter->unit,
+ (uintmax_t)size, r);
goto fail_2;
}
==== //depot/projects/smpng/sys/dev/usb/uhci_pci.c#3 (text+ko) ====
@@ -34,7 +34,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/usb/uhci_pci.c,v 1.45 2003/02/28 13:21:17 imp Exp $
+ * $FreeBSD: src/sys/dev/usb/uhci_pci.c,v 1.46 2003/05/06 19:30:41 jhb Exp $
*/
/* Universal Host Controller Interface
@@ -114,6 +114,18 @@
#define PCI_UHCI_DEVICEID_ICH4_C 0x24c78086
static const char *uhci_device_ich4_c = "Intel 82801DB (ICH4) USB controller USB-C";
+#define PCI_UHCI_DEVICEID_ICH5_A 0x24d28086
+static const char *uhci_device_ich5_a = "Intel 82801EB (ICH5) USB controller USB-A";
+
+#define PCI_UHCI_DEVICEID_ICH5_B 0x24d48086
+static const char *uhci_device_ich5_b = "Intel 82801EB (ICH5) USB controller USB-B";
+
+#define PCI_UHCI_DEVICEID_ICH5_C 0x24d78086
+static const char *uhci_device_ich5_c = "Intel 82801EB (ICH5) USB controller USB-C";
+
+#define PCI_UHCI_DEVICEID_ICH5_D 0x24de8086
+static const char *uhci_device_ich5_d = "Intel 82801EB (ICH5) USB controller USB-D";
+
#define PCI_UHCI_DEVICEID_440MX 0x719a8086
static const char *uhci_device_440mx = "Intel 82443MX USB controller";
@@ -188,6 +200,14 @@
return (uhci_device_ich4_b);
} else if (device_id == PCI_UHCI_DEVICEID_ICH4_C) {
return (uhci_device_ich4_c);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH5_A) {
+ return (uhci_device_ich5_a);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH5_B) {
+ return (uhci_device_ich5_b);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH5_C) {
+ return (uhci_device_ich5_c);
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH5_D) {
+ return (uhci_device_ich5_d);
} else if (device_id == PCI_UHCI_DEVICEID_440MX) {
return (uhci_device_440mx);
} else if (device_id == PCI_UHCI_DEVICEID_460GX) {
==== //depot/projects/smpng/sys/geom/geom_bsd.c#30 (text+ko) ====
@@ -32,7 +32,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/geom/geom_bsd.c,v 1.59 2003/05/05 08:30:59 phk Exp $
+ * $FreeBSD: src/sys/geom/geom_bsd.c,v 1.60 2003/05/06 19:36:13 phk Exp $
*
* This is the method for dealing with BSD disklabels. It has been
* extensively (by my standards at least) commented, in the vain hope that
@@ -142,10 +142,10 @@
rawoffset = 0;
}
- if (rawoffset != 0 && (off_t)rawoffset * dl.d_secsize != ms->mbroffset)
+ if (rawoffset != 0 && (off_t)rawoffset != ms->mbroffset)
printf("WARNING: Expected rawoffset %jd, found %jd\n",
(intmax_t)ms->mbroffset/dl.d_secsize,
- (intmax_t)ms->rawoffset);
+ (intmax_t)rawoffset/dl.d_secsize);
/* Don't munge open partitions. */
for (i = 0; i < dl.d_npartitions; i++) {
==== //depot/projects/smpng/sys/geom/geom_io.c#20 (text+ko) ====
@@ -32,7 +32,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/geom/geom_io.c,v 1.41 2003/05/02 12:36:12 phk Exp $
+ * $FreeBSD: src/sys/geom/geom_io.c,v 1.42 2003/05/07 05:37:31 phk Exp $
*/
@@ -283,7 +283,8 @@
pp->nend++;
if (error == ENOMEM) {
- printf("ENOMEM %p on %p(%s)\n", bp, pp, pp->name);
+ if (bootverbose)
+ printf("ENOMEM %p on %p(%s)\n", bp, pp, pp->name);
g_io_request(bp, cp);
pace++;
return;
==== //depot/projects/smpng/sys/i386/isa/intr_machdep.c#19 (text+ko) ====
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)isa.c 7.2 (Berkeley) 5/13/91
- * $FreeBSD: src/sys/i386/isa/intr_machdep.c,v 1.74 2003/03/24 19:14:46 mdodd Exp $
+ * $FreeBSD: src/sys/i386/isa/intr_machdep.c,v 1.75 2003/05/07 17:21:38 jhb Exp $
*/
#include "opt_auto_eoi.h"
@@ -309,7 +309,8 @@
/*
* ICU reinitialize when ICU configuration has lost.
*/
-void icu_reinit()
+void
+icu_reinit()
{
int i;
register_t crit;
@@ -349,7 +350,8 @@
/*
*initialize 8259's
*/
-static void init_i8259()
+static void
+init_i8259()
{
#ifdef DEV_MCA
==== //depot/projects/smpng/sys/kern/kern_sig.c#65 (text+ko) ====
@@ -36,40 +36,40 @@
* SUCH DAMAGE.
*
* @(#)kern_sig.c 8.7 (Berkeley) 4/18/94
- * $FreeBSD: src/sys/kern/kern_sig.c,v 1.233 2003/04/30 19:45:13 jhb Exp $
+ * $FreeBSD: src/sys/kern/kern_sig.c,v 1.236 2003/05/05 21:26:25 jhb Exp $
*/
#include "opt_compat.h"
#include "opt_ktrace.h"
#include <sys/param.h>
-#include <sys/kernel.h>
-#include <sys/sysproto.h>
#include <sys/systm.h>
#include <sys/signalvar.h>
-#include <sys/namei.h>
#include <sys/vnode.h>
+#include <sys/acct.h>
+#include <sys/condvar.h>
#include <sys/event.h>
-#include <sys/proc.h>
-#include <sys/pioctl.h>
-#include <sys/acct.h>
#include <sys/fcntl.h>
-#include <sys/condvar.h>
+#include <sys/kernel.h>
+#include <sys/ktr.h>
+#include <sys/ktrace.h>
#include <sys/lock.h>
+#include <sys/malloc.h>
#include <sys/mutex.h>
-#include <sys/wait.h>
-#include <sys/ktr.h>
-#include <sys/ktrace.h>
+#include <sys/namei.h>
+#include <sys/proc.h>
+#include <sys/pioctl.h>
#include <sys/resourcevar.h>
#include <sys/smp.h>
#include <sys/stat.h>
#include <sys/sx.h>
#include <sys/syscallsubr.h>
+#include <sys/sysctl.h>
+#include <sys/sysent.h>
#include <sys/syslog.h>
-#include <sys/sysent.h>
-#include <sys/sysctl.h>
-#include <sys/malloc.h>
+#include <sys/sysproto.h>
#include <sys/unistd.h>
+#include <sys/wait.h>
#include <machine/cpu.h>
@@ -82,6 +82,7 @@
static int coredump(struct thread *);
static char *expand_name(const char *, uid_t, pid_t);
static int killpg1(struct thread *td, int sig, int pgid, int all);
+static int issignal(struct thread *p);
static int sigprop(int sig);
static void stop(struct proc *);
static void tdsigwakeup(struct thread *td, int sig, sig_t action);
@@ -731,9 +732,11 @@
error = copyout(&info.si_signo, uap->sig, sizeof(info.si_signo));
/* Repost if we got an error. */
- if (error && info.si_signo)
+ if (error && info.si_signo) {
+ PROC_LOCK(td->td_proc);
tdsignal(td, info.si_signo);
-
+ PROC_UNLOCK(td->td_proc);
+ }
return (error);
}
/*
@@ -767,9 +770,11 @@
error = copyout(&info, uap->info, sizeof(info));
/* Repost if we got an error. */
- if (error && info.si_signo)
+ if (error && info.si_signo) {
+ PROC_LOCK(td->td_proc);
tdsignal(td, info.si_signo);
-
+ PROC_UNLOCK(td->td_proc);
+ }
return (error);
}
@@ -793,9 +798,11 @@
error = copyout(&info, uap->info, sizeof(info));
/* Repost if we got an error. */
- if (error && info.si_signo)
+ if (error && info.si_signo) {
+ PROC_LOCK(td->td_proc);
tdsignal(td, info.si_signo);
-
+ PROC_UNLOCK(td->td_proc);
+ }
return (error);
}
@@ -1886,7 +1893,7 @@
* while (sig = cursig(curthread))
* postsig(sig);
*/
-int
+static int
issignal(td)
struct thread *td;
{
==== //depot/projects/smpng/sys/kern/kern_subr.c#23 (text+ko) ====
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)kern_subr.c 8.3 (Berkeley) 1/21/94
- * $FreeBSD: src/sys/kern/kern_subr.c,v 1.73 2003/03/25 20:13:24 jhb Exp $
+ * $FreeBSD: src/sys/kern/kern_subr.c,v 1.74 2003/05/05 21:27:29 jhb Exp $
*/
#include "opt_zero.h"
@@ -185,9 +185,9 @@
n -= cnt;
}
out:
- if (td) {
+ if (td && save == 0) {
mtx_lock_spin(&sched_lock);
- td->td_flags = (td->td_flags & ~TDF_DEADLKTREAT) | save;
+ td->td_flags &= ~TDF_DEADLKTREAT;
mtx_unlock_spin(&sched_lock);
}
return (error);
==== //depot/projects/smpng/sys/kern/kern_synch.c#48 (text+ko) ====
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)kern_synch.c 8.9 (Berkeley) 5/19/95
- * $FreeBSD: src/sys/kern/kern_synch.c,v 1.220 2003/05/01 17:05:24 jhb Exp $
+ * $FreeBSD: src/sys/kern/kern_synch.c,v 1.221 2003/05/05 21:12:36 jhb Exp $
*/
#include "opt_ddb.h"
@@ -467,9 +467,7 @@
p = td->td_proc; /* XXX */
KASSERT(!TD_ON_RUNQ(td), ("mi_switch: called by old code"));
#ifdef INVARIANTS
- if (!TD_ON_LOCK(td) &&
- !TD_ON_RUNQ(td) &&
- !TD_IS_RUNNING(td))
+ if (!TD_ON_LOCK(td) && !TD_IS_RUNNING(td))
mtx_assert(&Giant, MA_NOTOWNED);
#endif
KASSERT(td->td_critnest == 1,
==== //depot/projects/smpng/sys/kern/uipc_syscalls.c#33 (text+ko) ====
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)uipc_syscalls.c 8.4 (Berkeley) 2/21/94
- * $FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.145 2003/03/31 06:25:42 alc Exp $
+ * $FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.146 2003/05/05 20:33:37 dwmalone Exp $
*/
#include "opt_compat.h"
@@ -619,47 +619,18 @@
register struct msghdr *mp;
int flags;
{
- struct uio auio;
- register struct iovec *iov;
- register int i;
struct mbuf *control;
- struct sockaddr *to = NULL;
- int len, error;
- struct socket *so;
-#ifdef KTRACE
- struct iovec *ktriov = NULL;
- struct uio ktruio;
- int iovlen;
-#endif
+ struct sockaddr *to;
+ int error;
- if ((error = fgetsock(td, s, &so, NULL)) != 0)
- return (error);
-
-#ifdef MAC
- error = mac_check_socket_send(td->td_ucred, so);
- if (error)
- goto bad;
-#endif
-
- auio.uio_iov = mp->msg_iov;
- auio.uio_iovcnt = mp->msg_iovlen;
- auio.uio_segflg = UIO_USERSPACE;
- auio.uio_rw = UIO_WRITE;
- auio.uio_td = td;
- auio.uio_offset = 0; /* XXX */
- auio.uio_resid = 0;
- iov = mp->msg_iov;
- for (i = 0; i < mp->msg_iovlen; i++, iov++) {
- if ((auio.uio_resid += iov->iov_len) < 0) {
- error = EINVAL;
- goto bad;
- }
- }
- if (mp->msg_name) {
+ if (mp->msg_name != NULL) {
error = getsockaddr(&to, mp->msg_name, mp->msg_namelen);
if (error)
- goto bad;
- }
+ return error;
+ mp->msg_name = to;
+ } else
+ to = NULL;
+
if (mp->msg_control) {
if (mp->msg_controllen < sizeof(struct cmsghdr)
#ifdef COMPAT_OLDSOCK
@@ -690,7 +661,59 @@
}
#endif
} else {
- control = 0;
+ control = NULL;
+ }
+
+ error = kern_sendit(td, s, mp, flags, control);
+
+bad:
+ if (to)
+ FREE(to, M_SONAME);
+ return (error);
+}
+
+int
+kern_sendit(td, s, mp, flags, control)
+ struct thread *td;
+ int s;
+ struct msghdr *mp;
+ int flags;
+ struct mbuf *control;
+{
+ struct uio auio;
+ struct iovec *iov;
+ struct socket *so;
+ int i;
+ int len, error;
+#ifdef KTRACE
+ struct iovec *ktriov = NULL;
+ struct uio ktruio;
+ int iovlen;
+#endif
+
+ mtx_lock(&Giant);
+ if ((error = fgetsock(td, s, &so, NULL)) != 0)
+ goto bad2;
+
+#ifdef MAC
+ error = mac_check_socket_send(td->td_ucred, so);
+ if (error)
+ goto bad;
+#endif
+
+ auio.uio_iov = mp->msg_iov;
+ auio.uio_iovcnt = mp->msg_iovlen;
+ auio.uio_segflg = UIO_USERSPACE;
+ auio.uio_rw = UIO_WRITE;
+ auio.uio_td = td;
+ auio.uio_offset = 0; /* XXX */
+ auio.uio_resid = 0;
+ iov = mp->msg_iov;
+ for (i = 0; i < mp->msg_iovlen; i++, iov++) {
+ if ((auio.uio_resid += iov->iov_len) < 0) {
+ error = EINVAL;
+ goto bad;
+ }
}
#ifdef KTRACE
if (KTRPOINT(td, KTR_GENIO)) {
@@ -701,8 +724,8 @@
}
#endif
len = auio.uio_resid;
- error = so->so_proto->pr_usrreqs->pru_sosend(so, to, &auio, 0, control,
- flags, td);
+ error = so->so_proto->pr_usrreqs->pru_sosend(so, mp->msg_name, &auio,
+ 0, control, flags, td);
if (error) {
if (auio.uio_resid != len && (error == ERESTART ||
error == EINTR || error == EWOULDBLOCK))
@@ -728,8 +751,8 @@
#endif
bad:
fputsock(so);
- if (to)
- FREE(to, M_SONAME);
+bad2:
+ mtx_unlock(&Giant);
return (error);
}
@@ -762,9 +785,7 @@
#endif
aiov.iov_base = uap->buf;
aiov.iov_len = uap->len;
- mtx_lock(&Giant);
error = sendit(td, uap->s, &msg, uap->flags);
- mtx_unlock(&Giant);
return (error);
}
@@ -794,9 +815,7 @@
aiov.iov_len = uap->len;
msg.msg_control = 0;
msg.msg_flags = 0;
- mtx_lock(&Giant);
error = sendit(td, uap->s, &msg, uap->flags);
- mtx_unlock(&Giant);
return (error);
}
@@ -816,7 +835,6 @@
struct iovec aiov[UIO_SMALLIOV], *iov;
int error;
- mtx_lock(&Giant);
error = copyin(uap->msg, &msg, sizeof (struct omsghdr));
if (error)
goto done2;
@@ -842,7 +860,6 @@
if (iov != aiov)
FREE(iov, M_IOV);
done2:
- mtx_unlock(&Giant);
return (error);
}
#endif
@@ -863,7 +880,6 @@
struct iovec aiov[UIO_SMALLIOV], *iov;
int error;
- mtx_lock(&Giant);
error = copyin(uap->msg, &msg, sizeof (msg));
if (error)
goto done2;
@@ -891,7 +907,6 @@
if (iov != aiov)
FREE(iov, M_IOV);
done2:
- mtx_unlock(&Giant);
return (error);
}
==== //depot/projects/smpng/sys/kern/vfs_default.c#20 (text+ko) ====
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
*
- * $FreeBSD: src/sys/kern/vfs_default.c,v 1.83 2003/05/02 19:33:21 alc Exp $
+ * $FreeBSD: src/sys/kern/vfs_default.c,v 1.84 2003/05/06 02:45:28 alc Exp $
*/
#include <sys/param.h>
@@ -657,11 +657,11 @@
else
VM_OBJECT_UNLOCK(obj);
} else {
- VM_OBJECT_UNLOCK(obj);
/*
* Woe to the process that tries to page now :-).
*/
vm_pager_deallocate(obj);
+ VM_OBJECT_UNLOCK(obj);
}
return (0);
}
==== //depot/projects/smpng/sys/netinet/ip_input.c#34 (text+ko) ====
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)ip_input.c 8.2 (Berkeley) 1/4/94
- * $FreeBSD: src/sys/netinet/ip_input.c,v 1.236 2003/04/29 21:36:18 mdodd Exp $
+ * $FreeBSD: src/sys/netinet/ip_input.c,v 1.237 2003/05/06 20:34:04 rwatson Exp $
*/
#include "opt_bootp.h"
@@ -1797,13 +1797,10 @@
mcopy->m_len = imin((ip->ip_hl << 2) + 8,
(int)ip->ip_len);
m_copydata(m, 0, mcopy->m_len, mtod(mcopy, caddr_t));
-#ifdef MAC
/*
- * XXXMAC: This will eventually become an explicit
- * labeling point.
+ * XXXMAC: Eventually, we may have an explict labeling
+ * point here.
*/
- mac_create_mbuf_from_mbuf(m, mcopy);
-#endif
}
#ifdef IPSTEALTH
==== //depot/projects/smpng/sys/netinet/tcp_input.c#33 (text+ko) ====
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)tcp_input.c 8.12 (Berkeley) 5/24/95
- * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.204 2003/04/21 16:27:45 obrien Exp $
+ * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.205 2003/05/07 05:26:27 rwatson Exp $
*/
#include "opt_ipfw.h" /* for ipfw_fwd */
@@ -2950,7 +2950,7 @@
*/
if (thflags != TH_ACK || tlen != 0 ||
th->th_seq != tw->rcv_nxt || th->th_ack != tw->snd_nxt)
- tcp_twrespond(tw, TH_ACK);
+ tcp_twrespond(tw, NULL, m, TH_ACK);
goto drop;
reset:
==== //depot/projects/smpng/sys/netinet/tcp_subr.c#31 (text+ko) ====
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)tcp_subr.c 8.2 (Berkeley) 5/24/95
- * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.159 2003/04/10 20:33:10 rwatson Exp $
+ * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.160 2003/05/07 05:26:27 rwatson Exp $
*/
#include "opt_compat.h"
@@ -1661,13 +1661,13 @@
so->so_pcb = NULL;
tw->tw_cred = crhold(so->so_cred);
tw->tw_so_options = so->so_options;
+ if (acknow)
+ tcp_twrespond(tw, so, NULL, TH_ACK);
sotryfree(so);
inp->inp_socket = NULL;
inp->inp_ppcb = (caddr_t)tw;
inp->inp_vflag |= INP_TIMEWAIT;
tcp_timer_2msl_reset(tw, tw_time);
- if (acknow)
- tcp_twrespond(tw, TH_ACK);
INP_UNLOCK(inp);
}
@@ -1693,8 +1693,13 @@
return (NULL);
}
+/*
+ * One of so and msrc must be non-NULL for use by the MAC Framework to
+ * construct a label for ay resulting packet.
+ */
int
-tcp_twrespond(struct tcptw *tw, int flags)
+tcp_twrespond(struct tcptw *tw, struct socket *so, struct mbuf *msrc,
+ int flags)
{
struct inpcb *inp = tw->tw_inpcb;
struct tcphdr *th;
@@ -1708,11 +1713,21 @@
int isipv6 = inp->inp_inc.inc_isipv6;
#endif
+ KASSERT(so != NULL || msrc != NULL,
+ ("tcp_twrespond: so and msrc NULL"));
+
m = m_gethdr(M_DONTWAIT, MT_HEADER);
if (m == NULL)
return (ENOBUFS);
m->m_data += max_linkhdr;
+#ifdef MAC
+ if (so != NULL)
+ mac_create_mbuf_from_socket(so, m);
+ else
+ mac_create_mbuf_netlayer(msrc, m);
+#endif
+
#ifdef INET6
if (isipv6) {
hdrlen = sizeof(struct ip6_hdr) + sizeof(struct tcphdr);
==== //depot/projects/smpng/sys/netinet/tcp_var.h#14 (text+ko) ====
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)tcp_var.h 8.4 (Berkeley) 5/24/95
- * $FreeBSD: src/sys/netinet/tcp_var.h,v 1.88 2003/04/01 21:16:46 hsu Exp $
+ * $FreeBSD: src/sys/netinet/tcp_var.h,v 1.89 2003/05/07 05:26:27 rwatson Exp $
*/
#ifndef _NETINET_TCP_VAR_H_
@@ -491,7 +491,7 @@
tcp_quench(struct inpcb *, int);
void tcp_respond(struct tcpcb *, void *,
struct tcphdr *, struct mbuf *, tcp_seq, tcp_seq, int);
-int tcp_twrespond(struct tcptw *, int);
+int tcp_twrespond(struct tcptw *, struct socket *, struct mbuf *, int);
struct rtentry *
tcp_rtlookup(struct in_conninfo *);
void tcp_setpersist(struct tcpcb *);
==== //depot/projects/smpng/sys/pci/if_sis.c#25 (text+ko) ====
@@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/pci/if_sis.c,v 1.74 2003/04/21 18:34:04 imp Exp $
+ * $FreeBSD: src/sys/pci/if_sis.c,v 1.75 2003/05/06 02:00:01 cognet Exp $
*/
/*
@@ -58,7 +58,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/pci/if_sis.c,v 1.74 2003/04/21 18:34:04 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/pci/if_sis.c,v 1.75 2003/05/06 02:00:01 cognet Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -1374,8 +1374,6 @@
goto fail;
}
- callout_handle_init(&sc->sis_stat_ch);
-
/*
* Call MI attach routine.
*/
@@ -1748,8 +1746,6 @@
sis_start(ifp);
}
- sc->sis_stat_ch = timeout(sis_tick, sc, hz);
-
SIS_UNLOCK(sc);
return;
==== //depot/projects/smpng/sys/sys/dkstat.h#3 (text+ko) ====
@@ -36,12 +36,12 @@
* SUCH DAMAGE.
*
* @(#)dkstat.h 8.2 (Berkeley) 1/21/94
- * $FreeBSD: src/sys/sys/dkstat.h,v 1.16 2003/02/16 14:15:03 phk Exp $
+ * $FreeBSD: src/sys/sys/dkstat.h,v 1.17 2003/05/07 15:26:43 phk Exp $
*/
#ifndef _SYS_DKSTAT_H_
#define _SYS_DKSTAT_H_ 1
-#warning "<sys/dkstat.h> is deprecated and should not be #include'd"
+#include <sys/resource.h>
#endif /* _SYS_DKSTAT_H_ */
==== //depot/projects/smpng/sys/sys/signalvar.h#15 (text+ko) ====
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)signalvar.h 8.6 (Berkeley) 2/19/95
- * $FreeBSD: src/sys/sys/signalvar.h,v 1.59 2003/04/30 19:57:21 jhb Exp $
+ * $FreeBSD: src/sys/sys/signalvar.h,v 1.60 2003/05/05 21:16:28 jhb Exp $
*/
#ifndef _SYS_SIGNALVAR_H_
@@ -238,7 +238,6 @@
int cursig(struct thread *td);
void execsigs(struct proc *p);
void gsignal(int pgid, int sig);
-int issignal(struct thread *p);
void killproc(struct proc *p, char *why);
void pgsigio(struct sigio **, int signum, int checkctty);
void pgsignal(struct pgrp *pgrp, int sig, int checkctty);
==== //depot/projects/smpng/sys/sys/syscallsubr.h#7 (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/sys/syscallsubr.h,v 1.8 2003/05/05 09:22:58 mbr Exp $
+ * $FreeBSD: src/sys/sys/syscallsubr.h,v 1.9 2003/05/05 20:33:38 dwmalone Exp $
*/
#ifndef _SYS_SYSCALLSUBR_H_
@@ -32,6 +32,8 @@
#include <sys/uio.h>
struct sockaddr;
+struct msghdr;
+struct mbuf;
int kern___getcwd(struct thread *td, u_char *buf, enum uio_seg bufseg,
u_int buflen);
@@ -70,6 +72,8 @@
int kern_rmdir(struct thread *td, char *path, enum uio_seg pathseg);
int kern_select(struct thread *td, int nd, fd_set *fd_in, fd_set *fd_ou,
fd_set *fd_ex, struct timeval *tvp);
+int kern_sendit(struct thread *td, int s, struct msghdr *mp, int flags,
+ struct mbuf *control);
int kern_shmat(struct thread *td, int shmid, const void *shmaddr,
int shmflg, int wantrem);
int kern_shmctl(struct thread *td, int shmid, int cmd, void *buf,
==== //depot/projects/smpng/sys/vm/swap_pager.c#26 (text+ko) ====
@@ -64,7 +64,7 @@
*
* @(#)swap_pager.c 8.9 (Berkeley) 3/21/94
*
- * $FreeBSD: src/sys/vm/swap_pager.c,v 1.194 2003/04/28 17:13:53 alc Exp $
+ * $FreeBSD: src/sys/vm/swap_pager.c,v 1.195 2003/05/06 02:45:28 alc Exp $
*/
#include <sys/param.h>
@@ -428,9 +428,8 @@
}
mtx_unlock(&sw_alloc_mtx);
- VM_OBJECT_LOCK(object);
+ VM_OBJECT_LOCK_ASSERT(object, MA_OWNED);
vm_object_pip_wait(object, "swpdea");
- VM_OBJECT_UNLOCK(object);
/*
* Free all remaining metadata. We only bother to free it from
==== //depot/projects/smpng/sys/vm/vm_object.c#34 (text+ko) ====
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $FreeBSD: src/sys/vm/vm_object.c,v 1.285 2003/05/04 19:23:40 alc Exp $
+ * $FreeBSD: src/sys/vm/vm_object.c,v 1.286 2003/05/06 02:45:28 alc Exp $
*/
/*
@@ -600,12 +600,12 @@
}
vm_page_unlock_queues();
splx(s);
- VM_OBJECT_UNLOCK(object);
/*
* Let the pager know object is dead.
*/
vm_pager_deallocate(object);
+ VM_OBJECT_UNLOCK(object);
/*
* Remove the object from the global object list.
==== //depot/projects/smpng/sys/vm/vm_pager.c#12 (text+ko) ====
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $FreeBSD: src/sys/vm/vm_pager.c,v 1.85 2003/04/05 21:01:16 alc Exp $
+ * $FreeBSD: src/sys/vm/vm_pager.c,v 1.86 2003/05/06 02:45:28 alc Exp $
*/
/*
@@ -256,10 +256,15 @@
return (ret);
}
+/*
+ * The object must be locked.
+ */
void
vm_pager_deallocate(object)
vm_object_t object;
{
+
+ VM_OBJECT_LOCK_ASSERT(object, MA_OWNED);
(*pagertab[object->type]->pgo_dealloc) (object);
}
==== //depot/projects/smpng/sys/vm/vnode_pager.c#30 (text+ko) ====
@@ -38,7 +38,7 @@
* SUCH DAMAGE.
*
* from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91
- * $FreeBSD: src/sys/vm/vnode_pager.c,v 1.172 2003/04/26 18:33:18 alc Exp $
+ * $FreeBSD: src/sys/vm/vnode_pager.c,v 1.173 2003/05/06 02:45:28 alc Exp $
*/
/*
@@ -175,19 +175,20 @@
return (object);
}
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list