From owner-p4-projects Fri May 3 11:19:17 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B38B737B417; Fri, 3 May 2002 11:15:58 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 70D4937B400 for ; Fri, 3 May 2002 11:15:55 -0700 (PDT) Received: (from perforce@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g43IFsE38744 for perforce@freebsd.org; Fri, 3 May 2002 11:15:54 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Fri, 3 May 2002 11:15:54 -0700 (PDT) Message-Id: <200205031815.g43IFsE38744@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer Subject: PERFORCE change 10747 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=10747 Change 10747 by julian@julian_jules1 on 2002/05/03 11:15:43 An MFC BUT! ALso includes a rewritten but probably bogus fork1() (diff reduction version) this is probably bogus because: 1/ I have not tried compile it. 2/ it tries calling the thread single threading stuff without having locked the proc. 3/ generally all the locking needs checking Affected files ... ... //depot/projects/kse/sys/dev/aac/aac.c#21 integrate ... //depot/projects/kse/sys/dev/aac/aac_cam.c#2 integrate ... //depot/projects/kse/sys/dev/drm/drm_fops.h#2 integrate ... //depot/projects/kse/sys/dev/em/if_em.c#6 integrate ... //depot/projects/kse/sys/dev/my/if_my.c#3 integrate ... //depot/projects/kse/sys/dev/usb/usbdi.c#8 integrate ... //depot/projects/kse/sys/fs/deadfs/dead_vnops.c#3 integrate ... //depot/projects/kse/sys/fs/devfs/devfs_vfsops.c#6 integrate ... //depot/projects/kse/sys/fs/fdescfs/fdesc_vfsops.c#7 integrate ... //depot/projects/kse/sys/fs/fifofs/fifo_vnops.c#11 integrate ... //depot/projects/kse/sys/fs/pseudofs/pseudofs.c#10 integrate ... //depot/projects/kse/sys/fs/pseudofs/pseudofs.h#11 integrate ... //depot/projects/kse/sys/fs/pseudofs/pseudofs_vnops.c#13 integrate ... //depot/projects/kse/sys/fs/udf/udf_vnops.c#2 integrate ... //depot/projects/kse/sys/i386/acpica/genwakecode.pl#2 delete ... //depot/projects/kse/sys/i386/conf/Makefile#3 integrate ... //depot/projects/kse/sys/i386/conf/NOTES#32 integrate ... //depot/projects/kse/sys/i386/conf/makeLINT.pl#2 delete ... //depot/projects/kse/sys/i386/conf/makeLINT.sed#1 branch ... //depot/projects/kse/sys/i386/conf/makeLINT.sh#1 branch ... //depot/projects/kse/sys/ia64/ia64/machdep.c#31 integrate ... //depot/projects/kse/sys/ia64/ia64/pmap.c#23 integrate ... //depot/projects/kse/sys/ia64/include/ansi.h#10 integrate ... //depot/projects/kse/sys/kern/init_main.c#39 integrate ... //depot/projects/kse/sys/kern/kern_descrip.c#28 integrate ... //depot/projects/kse/sys/kern/kern_exec.c#25 integrate ... //depot/projects/kse/sys/kern/kern_exit.c#42 integrate ... //depot/projects/kse/sys/kern/kern_fork.c#63 integrate ... //depot/projects/kse/sys/kern/kern_malloc.c#10 integrate ... //depot/projects/kse/sys/kern/kern_proc.c#58 integrate ... //depot/projects/kse/sys/kern/kern_prot.c#25 integrate ... //depot/projects/kse/sys/kern/kern_sig.c#46 integrate ... //depot/projects/kse/sys/kern/kern_tc.c#8 integrate ... //depot/projects/kse/sys/kern/makeobjops.pl#3 delete ... //depot/projects/kse/sys/kern/sys_generic.c#23 integrate ... //depot/projects/kse/sys/kern/vfs_aio.c#25 integrate ... //depot/projects/kse/sys/netatm/atm_cm.c#4 integrate ... //depot/projects/kse/sys/netatm/atm_cm.h#3 integrate ... //depot/projects/kse/sys/netatm/atm_subr.c#7 integrate ... //depot/projects/kse/sys/pci/if_dc.c#15 integrate ... //depot/projects/kse/sys/sys/malloc.h#7 integrate ... //depot/projects/kse/sys/sys/socketvar.h#17 integrate ... //depot/projects/kse/sys/sys/timetc.h#6 integrate ... //depot/projects/kse/sys/sys/user.h#17 integrate ... //depot/projects/kse/sys/ufs/ffs/ffs_vnops.c#5 integrate ... //depot/projects/kse/sys/ufs/ufs/extattr.h#5 integrate ... //depot/projects/kse/sys/ufs/ufs/ufs_extattr.c#11 integrate ... //depot/projects/kse/sys/ufs/ufs/ufs_vnops.c#12 integrate ... //depot/projects/kse/sys/vm/uma.h#4 integrate ... //depot/projects/kse/sys/vm/uma_core.c#4 integrate ... //depot/projects/kse/sys/vm/uma_dbg.c#2 integrate ... //depot/projects/kse/sys/vm/uma_dbg.h#2 integrate ... //depot/projects/kse/sys/vm/vm_map.c#15 integrate ... //depot/projects/kse/sys/vm/vm_map.h#9 integrate Differences ... ==== //depot/projects/kse/sys/dev/aac/aac.c#21 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aac/aac.c,v 1.38 2002/04/27 01:31:13 scottl Exp $ + * $FreeBSD: src/sys/dev/aac/aac.c,v 1.39 2002/05/03 00:07:50 scottl Exp $ */ /* @@ -355,17 +355,17 @@ mi = (struct aac_mntinfo *)&fib->data[0]; /* loop over possible containers */ - mi->Command = VM_NameServe; - mi->MntType = FT_FILESYS; do { /* request information on this container */ + bzero(mi, sizeof(struct aac_mntinfo)); + mi->Command = VM_NameServe; + mi->MntType = FT_FILESYS; mi->MntCount = i; if (aac_sync_fib(sc, ContainerCommand, 0, fib, sizeof(struct aac_mntinfo))) { debug(2, "error probing container %d", i); continue; } - /* check response size */ mir = (struct aac_mntinforesp *)&fib->data[0]; aac_add_container(sc, mir, 0); @@ -550,6 +550,7 @@ aac_alloc_sync_fib(sc, &fib, AAC_SYNC_LOCK_FORCE); cc = (struct aac_close_command *)&fib->data[0]; + bzero(cc, sizeof(struct aac_close_command)); cc->Command = VM_CloseAll; cc->ContainerId = 0xffffffff; if (aac_sync_fib(sc, ContainerCommand, 0, fib, @@ -2373,8 +2374,6 @@ */ aac_alloc_sync_fib(sc, &fib, 0); mi = (struct aac_mntinfo *)&fib->data[0]; - mi->Command = VM_NameServe; - mi->MntType = FT_FILESYS; do { /* * Ask the controller for its containers one at @@ -2383,6 +2382,9 @@ * midway through this enumaration? * XXX This should be done async. */ + bzero(mi, sizeof(struct aac_mntinfo)); + mi->Command = VM_NameServe; + mi->MntType = FT_FILESYS; mi->MntCount = i; rsize = sizeof(mir); if (aac_sync_fib(sc, ContainerCommand, 0, fib, @@ -2717,6 +2719,7 @@ aac_alloc_sync_fib(sc, &fib, 0); c_cmd = (struct aac_ctcfg *)&fib->data[0]; + bzero(c_cmd, sizeof(struct aac_ctcfg)); c_cmd->Command = VM_ContainerConfig; c_cmd->cmd = CT_GET_SCSI_METHOD; @@ -2742,6 +2745,8 @@ sc->scsi_method_id = c_resp->param; vmi = (struct aac_vmioctl *)&fib->data[0]; + bzero(vmi, sizeof(struct aac_vmioctl)); + vmi->Command = VM_Ioctl; vmi->ObjType = FT_DRIVE; vmi->MethId = sc->scsi_method_id; ==== //depot/projects/kse/sys/dev/aac/aac_cam.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/aac/aac_cam.c,v 1.2 2002/04/30 22:50:26 scottl Exp $ + * $FreeBSD: src/sys/dev/aac/aac_cam.c,v 1.3 2002/05/03 00:07:50 scottl Exp $ */ /* @@ -500,6 +500,8 @@ aac_alloc_sync_fib(sc, &fib, 0); vmi = (struct aac_vmioctl *)&fib->data[0]; + bzero(vmi, sizeof(struct aac_vmioctl)); + vmi->Command = VM_Ioctl; vmi->ObjType = FT_DRIVE; vmi->MethId = sc->scsi_method_id; @@ -544,6 +546,7 @@ aac_alloc_sync_fib(sc, &fib, 0); vmi = (struct aac_vmioctl *)&fib->data[0]; + bzero(vmi, sizeof(struct aac_vmioctl)); vmi->Command = VM_Ioctl; vmi->ObjType = FT_DRIVE; ==== //depot/projects/kse/sys/dev/drm/drm_fops.h#2 (text+ko) ==== @@ -29,7 +29,7 @@ * Daryll Strauss * Gareth Hughes * - * $FreeBSD: src/sys/dev/drm/drm_fops.h,v 1.3 2002/04/29 18:18:42 anholt Exp $ + * $FreeBSD: src/sys/dev/drm/drm_fops.h,v 1.4 2002/05/03 07:45:26 tanimura Exp $ */ #define __NO_VERSION__ @@ -315,7 +315,7 @@ DRM_DEBUG("dev->buf_sigio=%p\n", dev->buf_sigio); if (dev->buf_sigio) { DRM_DEBUG("dev->buf_sigio->sio_pgid=%d\n", dev->buf_sigio->sio_pgid); - pgsigio(dev->buf_sigio, SIGIO, 0); + pgsigio(&dev->buf_sigio, SIGIO, 0); } DRM_DEBUG("waking\n"); wakeup(&dev->buf_rp); ==== //depot/projects/kse/sys/dev/em/if_em.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.6 2002/04/28 20:34:19 phk Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.7 2002/05/02 22:21:01 pdeuskar Exp $*/ #include @@ -532,8 +532,8 @@ * Advance the Transmit Descriptor Tail (Tdt), this tells the E1000 * that this frame is available to transmit. */ - E1000_WRITE_REG(&adapter->shared, TDT, (((u_int32_t) adapter->next_avail_tx_desc - - (u_int32_t) adapter->first_tx_desc) >> 4)); + E1000_WRITE_REG(&adapter->shared, TDT, (((uintptr_t) adapter->next_avail_tx_desc - + (uintptr_t) adapter->first_tx_desc) >> 4)); } /* end of while loop */ splx(s); @@ -1716,8 +1716,8 @@ /* Setup the HW Rx Head and Tail Descriptor Pointers */ E1000_WRITE_REG(&adapter->shared, RDH, 0); E1000_WRITE_REG(&adapter->shared, RDT, - (((u_int32_t) adapter->last_rx_desc - - (u_int32_t) adapter->first_rx_desc) >> 4)); + (((uintptr_t) adapter->last_rx_desc - + (uintptr_t) adapter->first_rx_desc) >> 4)); /* Setup the Receive Control Register */ reg_rctl = E1000_RCTL_EN | E1000_RCTL_BAM | E1000_RCTL_LBM_NO | ==== //depot/projects/kse/sys/dev/my/if_my.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ * * Written by: yen_cw@myson.com.tw available at: http://www.myson.com.tw/ * - * $FreeBSD: src/sys/dev/my/if_my.c,v 1.7 2002/04/30 16:43:51 julian Exp $ + * $FreeBSD: src/sys/dev/my/if_my.c,v 1.8 2002/05/02 15:58:04 julian Exp $ * * Myson fast ethernet PCI NIC driver */ @@ -1181,6 +1181,7 @@ if (m_new == NULL) { printf("my%d: no memory for rx list -- packet dropped!\n", sc->my_unit); + MY_UNLOCK(sc); return (ENOBUFS); } MCLGET(m_new, M_DONTWAIT); @@ -1188,6 +1189,7 @@ printf("my%d: no memory for rx list -- packet dropped!\n", sc->my_unit); m_freem(m_new); + MY_UNLOCK(sc); return (ENOBUFS); } c->my_mbuf = m_new; @@ -1296,8 +1298,10 @@ ifp = &sc->arpcom.ac_if; /* Clear the timeout timer. */ ifp->if_timer = 0; - if (sc->my_cdata.my_tx_head == NULL) + if (sc->my_cdata.my_tx_head == NULL) { + MY_UNLOCK(sc); return; + } /* * Go through our tx list and free mbufs for those frames that have * been transmitted. @@ -1450,6 +1454,7 @@ MGETHDR(m_new, M_DONTWAIT, MT_DATA); if (m_new == NULL) { printf("my%d: no memory for tx list", sc->my_unit); + MY_UNLOCK(sc); return (1); } if (m_head->m_pkthdr.len > MHLEN) { @@ -1457,6 +1462,7 @@ if (!(m_new->m_flags & M_EXT)) { m_freem(m_new); printf("my%d: no memory for tx list", sc->my_unit); + MY_UNLOCK(sc); return (1); } } @@ -1871,3 +1877,5 @@ my_stop(sc); return; } + + ==== //depot/projects/kse/sys/dev/usb/usbdi.c#8 (text+ko) ==== @@ -1,5 +1,5 @@ -/* $NetBSD: usbdi.c,v 1.93 2001/12/24 21:36:15 augustss Exp $ */ -/* $FreeBSD: src/sys/dev/usb/usbdi.c,v 1.71 2002/04/07 13:16:18 joe Exp $ */ +/* $NetBSD: usbdi.c,v 1.94 2001/12/30 20:26:59 augustss Exp $ */ +/* $FreeBSD: src/sys/dev/usb/usbdi.c,v 1.72 2002/05/02 22:47:37 joe Exp $ */ /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -1086,6 +1086,9 @@ dev->bus->use_polling++; else dev->bus->use_polling--; + /* When polling we need to make sure there is nothing pending to do. */ + if (dev->bus->use_polling) + dev->bus->methods->soft_intr(dev->bus); } ==== //depot/projects/kse/sys/fs/deadfs/dead_vnops.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)dead_vnops.c 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/fs/deadfs/dead_vnops.c,v 1.32 2002/03/19 22:19:57 alfred Exp $ + * $FreeBSD: src/sys/fs/deadfs/dead_vnops.c,v 1.33 2002/05/02 19:13:44 phk Exp $ */ #include @@ -46,7 +46,6 @@ /* * Prototypes for dead operations on vnodes. */ -static int dead_badop(void); static int dead_bmap(struct vop_bmap_args *); static int dead_ioctl(struct vop_ioctl_args *); static int dead_lock(struct vop_lock_args *); @@ -63,15 +62,15 @@ { &vop_access_desc, (vop_t *) vop_ebadf }, { &vop_advlock_desc, (vop_t *) vop_ebadf }, { &vop_bmap_desc, (vop_t *) dead_bmap }, - { &vop_create_desc, (vop_t *) dead_badop }, + { &vop_create_desc, (vop_t *) vop_panic }, { &vop_getattr_desc, (vop_t *) vop_ebadf }, { &vop_inactive_desc, (vop_t *) vop_null }, { &vop_ioctl_desc, (vop_t *) dead_ioctl }, - { &vop_link_desc, (vop_t *) dead_badop }, + { &vop_link_desc, (vop_t *) vop_panic }, { &vop_lock_desc, (vop_t *) dead_lock }, { &vop_lookup_desc, (vop_t *) dead_lookup }, - { &vop_mkdir_desc, (vop_t *) dead_badop }, - { &vop_mknod_desc, (vop_t *) dead_badop }, + { &vop_mkdir_desc, (vop_t *) vop_panic }, + { &vop_mknod_desc, (vop_t *) vop_panic }, { &vop_open_desc, (vop_t *) dead_open }, { &vop_pathconf_desc, (vop_t *) vop_ebadf }, /* per pathconf(2) */ { &vop_poll_desc, (vop_t *) dead_poll }, @@ -80,11 +79,11 @@ { &vop_readdir_desc, (vop_t *) vop_ebadf }, { &vop_readlink_desc, (vop_t *) vop_ebadf }, { &vop_reclaim_desc, (vop_t *) vop_null }, - { &vop_remove_desc, (vop_t *) dead_badop }, - { &vop_rename_desc, (vop_t *) dead_badop }, - { &vop_rmdir_desc, (vop_t *) dead_badop }, + { &vop_remove_desc, (vop_t *) vop_panic }, + { &vop_rename_desc, (vop_t *) vop_panic }, + { &vop_rmdir_desc, (vop_t *) vop_panic }, { &vop_setattr_desc, (vop_t *) vop_ebadf }, - { &vop_symlink_desc, (vop_t *) dead_badop }, + { &vop_symlink_desc, (vop_t *) vop_panic }, { &vop_write_desc, (vop_t *) dead_write }, { NULL, NULL } }; @@ -254,17 +253,6 @@ } /* - * Empty vnode bad operation - */ -static int -dead_badop() -{ - - panic("dead_badop called"); - /* NOTREACHED */ -} - -/* * We have to wait during times when the vnode is * in a state of change. */ ==== //depot/projects/kse/sys/fs/devfs/devfs_vfsops.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ * @(#)kernfs_vfsops.c 8.10 (Berkeley) 5/14/95 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs_vfsops.c 1.36 * - * $FreeBSD: src/sys/fs/devfs/devfs_vfsops.c,v 1.19 2002/03/19 22:19:57 alfred Exp $ + * $FreeBSD: src/sys/fs/devfs/devfs_vfsops.c,v 1.20 2002/05/02 20:27:42 mux Exp $ */ #include "opt_devfs.h" @@ -50,8 +50,8 @@ MALLOC_DEFINE(M_DEVFS, "DEVFS", "DEVFS data"); -static int devfs_mount(struct mount *mp, char *path, caddr_t data, - struct nameidata *ndp, struct thread *td); +static int devfs_mount(struct mount *mp, struct nameidata *ndp, + struct thread *td); static int devfs_unmount(struct mount *mp, int mntflags, struct thread *td); static int devfs_root(struct mount *mp, struct vnode **vpp); @@ -62,10 +62,8 @@ * Mount the filesystem */ static int -devfs_mount(mp, path, data, ndp, td) +devfs_mount(mp, ndp, td) struct mount *mp; - char *path; - caddr_t data; struct nameidata *ndp; struct thread *td; { @@ -180,7 +178,7 @@ } static struct vfsops devfs_vfsops = { - devfs_mount, + NULL, vfs_stdstart, devfs_unmount, devfs_root, @@ -194,6 +192,7 @@ vfs_stdinit, vfs_stduninit, vfs_stdextattrctl, + devfs_mount, }; VFS_SET(devfs_vfsops, devfs, VFCF_SYNTHETIC); ==== //depot/projects/kse/sys/fs/fdescfs/fdesc_vfsops.c#7 (text+ko) ==== @@ -35,7 +35,7 @@ * * @(#)fdesc_vfsops.c 8.4 (Berkeley) 1/21/94 * - * $FreeBSD: src/sys/fs/fdescfs/fdesc_vfsops.c,v 1.34 2002/03/19 22:19:59 alfred Exp $ + * $FreeBSD: src/sys/fs/fdescfs/fdesc_vfsops.c,v 1.35 2002/05/02 20:24:50 mux Exp $ */ /* @@ -58,8 +58,8 @@ static MALLOC_DEFINE(M_FDESCMNT, "FDESC mount", "FDESC mount structure"); -static int fdesc_mount(struct mount *mp, char *path, caddr_t data, - struct nameidata *ndp, struct thread *td); +static int fdesc_mount(struct mount *mp, struct nameidata *ndp, + struct thread *td); static int fdesc_unmount(struct mount *mp, int mntflags, struct thread *td); static int fdesc_statfs(struct mount *mp, struct statfs *sbp, @@ -69,10 +69,8 @@ * Mount the per-process file descriptors (/dev/fd) */ static int -fdesc_mount(mp, path, data, ndp, td) +fdesc_mount(mp, ndp, td) struct mount *mp; - char *path; - caddr_t data; struct nameidata *ndp; struct thread *td; { @@ -209,7 +207,7 @@ } static struct vfsops fdesc_vfsops = { - fdesc_mount, + NULL, vfs_stdstart, fdesc_unmount, fdesc_root, @@ -223,6 +221,7 @@ fdesc_init, vfs_stduninit, vfs_stdextattrctl, + fdesc_mount, }; VFS_SET(fdesc_vfsops, fdescfs, VFCF_SYNTHETIC); ==== //depot/projects/kse/sys/fs/fifofs/fifo_vnops.c#11 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fifo_vnops.c 8.10 (Berkeley) 5/27/95 - * $FreeBSD: src/sys/fs/fifofs/fifo_vnops.c,v 1.66 2002/04/30 01:54:51 tanimura Exp $ + * $FreeBSD: src/sys/fs/fifofs/fifo_vnops.c,v 1.67 2002/05/02 19:13:19 phk Exp $ */ #include @@ -66,7 +66,6 @@ long fi_writers; }; -static int fifo_badop(void); static int fifo_print(struct vop_print_args *); static int fifo_lookup(struct vop_lookup_args *); static int fifo_open(struct vop_open_args *); @@ -95,30 +94,30 @@ { &vop_access_desc, (vop_t *) vop_ebadf }, { &vop_advlock_desc, (vop_t *) fifo_advlock }, { &vop_close_desc, (vop_t *) fifo_close }, - { &vop_create_desc, (vop_t *) fifo_badop }, + { &vop_create_desc, (vop_t *) vop_panic }, { &vop_getattr_desc, (vop_t *) vop_ebadf }, { &vop_getwritemount_desc, (vop_t *) vop_stdgetwritemount }, { &vop_ioctl_desc, (vop_t *) fifo_ioctl }, { &vop_kqfilter_desc, (vop_t *) fifo_kqfilter }, { &vop_lease_desc, (vop_t *) vop_null }, - { &vop_link_desc, (vop_t *) fifo_badop }, + { &vop_link_desc, (vop_t *) vop_panic }, { &vop_lookup_desc, (vop_t *) fifo_lookup }, - { &vop_mkdir_desc, (vop_t *) fifo_badop }, - { &vop_mknod_desc, (vop_t *) fifo_badop }, + { &vop_mkdir_desc, (vop_t *) vop_panic }, + { &vop_mknod_desc, (vop_t *) vop_panic }, { &vop_open_desc, (vop_t *) fifo_open }, { &vop_pathconf_desc, (vop_t *) fifo_pathconf }, { &vop_poll_desc, (vop_t *) fifo_poll }, { &vop_print_desc, (vop_t *) fifo_print }, { &vop_read_desc, (vop_t *) fifo_read }, - { &vop_readdir_desc, (vop_t *) fifo_badop }, - { &vop_readlink_desc, (vop_t *) fifo_badop }, - { &vop_reallocblks_desc, (vop_t *) fifo_badop }, + { &vop_readdir_desc, (vop_t *) vop_panic }, + { &vop_readlink_desc, (vop_t *) vop_panic }, + { &vop_reallocblks_desc, (vop_t *) vop_panic }, { &vop_reclaim_desc, (vop_t *) vop_null }, - { &vop_remove_desc, (vop_t *) fifo_badop }, - { &vop_rename_desc, (vop_t *) fifo_badop }, - { &vop_rmdir_desc, (vop_t *) fifo_badop }, + { &vop_remove_desc, (vop_t *) vop_panic }, + { &vop_rename_desc, (vop_t *) vop_panic }, + { &vop_rmdir_desc, (vop_t *) vop_panic }, { &vop_setattr_desc, (vop_t *) vop_ebadf }, - { &vop_symlink_desc, (vop_t *) fifo_badop }, + { &vop_symlink_desc, (vop_t *) vop_panic }, { &vop_write_desc, (vop_t *) fifo_write }, { NULL, NULL } }; @@ -610,14 +609,3 @@ return (ap->a_flags & F_FLOCK ? EOPNOTSUPP : EINVAL); } - -/* - * Fifo bad operation - */ -static int -fifo_badop() -{ - - panic("fifo_badop called"); - /* NOTREACHED */ -} ==== //depot/projects/kse/sys/fs/pseudofs/pseudofs.c#10 (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/fs/pseudofs/pseudofs.c,v 1.13 2002/04/04 21:03:19 jhb Exp $ + * $FreeBSD: src/sys/fs/pseudofs/pseudofs.c,v 1.14 2002/05/02 20:25:55 mux Exp $ */ #include @@ -240,8 +240,8 @@ * Mount a pseudofs instance */ int -pfs_mount(struct pfs_info *pi, struct mount *mp, char *path, caddr_t data, - struct nameidata *ndp, struct thread *td) +pfs_mount(struct pfs_info *pi, struct mount *mp, struct nameidata *ndp, + struct thread *td) { struct statfs *sbp; ==== //depot/projects/kse/sys/fs/pseudofs/pseudofs.h#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/fs/pseudofs/pseudofs.h,v 1.17 2002/02/10 04:43:21 rwatson Exp $ + * $FreeBSD: src/sys/fs/pseudofs/pseudofs.h,v 1.18 2002/05/02 20:25:55 mux Exp $ */ #ifndef _PSEUDOFS_H_INCLUDED @@ -197,8 +197,7 @@ /* * VFS interface */ -int pfs_mount (struct pfs_info *pi, - struct mount *mp, char *path, caddr_t data, +int pfs_mount (struct pfs_info *pi, struct mount *mp, struct nameidata *ndp, struct thread *td); int pfs_unmount (struct mount *mp, int mntflags, struct thread *td); @@ -235,9 +234,9 @@ }; \ \ static int \ -_##name##_mount(struct mount *mp, char *path, caddr_t data, \ - struct nameidata *ndp, struct thread *td) { \ - return pfs_mount(&name##_info, mp, path, data, ndp, td); \ +_##name##_mount(struct mount *mp, struct nameidata *ndp, \ + struct thread *td) { \ + return pfs_mount(&name##_info, mp, ndp, td); \ } \ \ static int \ @@ -251,7 +250,7 @@ } \ \ static struct vfsops name##_vfsops = { \ - _##name##_mount, \ + NULL, \ vfs_stdstart, \ pfs_unmount, \ pfs_root, \ @@ -265,6 +264,7 @@ _##name##_init, \ _##name##_uninit, \ vfs_stdextattrctl, \ + _##name##_mount, \ }; \ VFS_SET(name##_vfsops, name, VFCF_SYNTHETIC); \ MODULE_VERSION(name, version); \ ==== //depot/projects/kse/sys/fs/pseudofs/pseudofs_vnops.c#13 (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/fs/pseudofs/pseudofs_vnops.c,v 1.25 2002/04/14 04:12:44 jhb Exp $ + * $FreeBSD: src/sys/fs/pseudofs/pseudofs_vnops.c,v 1.26 2002/05/03 14:58:25 des Exp $ */ #include @@ -780,14 +780,6 @@ } /* - * Dummy operations */ -static int pfs_badop(void *va) { return (EOPNOTSUPP); } -#if 0 -static int pfs_erofs(void *va) { return (EROFS); } -static int pfs_null(void *va) { return (0); } -#endif - -/* * Vnode operations */ vop_t **pfs_vnodeop_p; @@ -795,26 +787,26 @@ { &vop_default_desc, (vop_t *)vop_defaultop }, { &vop_access_desc, (vop_t *)pfs_access }, { &vop_close_desc, (vop_t *)pfs_close }, - { &vop_create_desc, (vop_t *)pfs_badop }, + { &vop_create_desc, (vop_t *)vop_eopnotsupp }, { &vop_getattr_desc, (vop_t *)pfs_getattr }, { &vop_getextattr_desc, (vop_t *)pfs_getextattr }, { &vop_ioctl_desc, (vop_t *)pfs_ioctl }, - { &vop_link_desc, (vop_t *)pfs_badop }, + { &vop_link_desc, (vop_t *)vop_eopnotsupp }, { &vop_lookup_desc, (vop_t *)pfs_lookup }, - { &vop_mkdir_desc, (vop_t *)pfs_badop }, - { &vop_mknod_desc, (vop_t *)pfs_badop }, + { &vop_mkdir_desc, (vop_t *)vop_eopnotsupp }, + { &vop_mknod_desc, (vop_t *)vop_eopnotsupp }, { &vop_open_desc, (vop_t *)pfs_open }, { &vop_read_desc, (vop_t *)pfs_read }, { &vop_readdir_desc, (vop_t *)pfs_readdir }, { &vop_readlink_desc, (vop_t *)pfs_readlink }, { &vop_reclaim_desc, (vop_t *)pfs_reclaim }, - { &vop_remove_desc, (vop_t *)pfs_badop }, - { &vop_rename_desc, (vop_t *)pfs_badop }, - { &vop_rmdir_desc, (vop_t *)pfs_badop }, + { &vop_remove_desc, (vop_t *)vop_eopnotsupp }, + { &vop_rename_desc, (vop_t *)vop_eopnotsupp }, + { &vop_rmdir_desc, (vop_t *)vop_eopnotsupp }, { &vop_setattr_desc, (vop_t *)pfs_setattr }, - { &vop_symlink_desc, (vop_t *)pfs_badop }, + { &vop_symlink_desc, (vop_t *)vop_eopnotsupp }, { &vop_write_desc, (vop_t *)pfs_write }, - /* XXX I've probably forgotten a few that need pfs_badop */ + /* XXX I've probably forgotten a few that need vop_eopnotsupp */ { NULL, (vop_t *)NULL } }; ==== //depot/projects/kse/sys/fs/udf/udf_vnops.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/udf/udf_vnops.c,v 1.3 2002/04/30 05:05:05 scottl Exp $ + * $FreeBSD: src/sys/fs/udf/udf_vnops.c,v 1.5 2002/05/02 20:23:47 scottl Exp $ */ /* udf_vnops.c */ @@ -72,7 +72,6 @@ { &vop_bmap_desc, (vop_t *) udf_bmap }, { &vop_cachedlookup_desc, (vop_t *) udf_lookup }, { &vop_getattr_desc, (vop_t *) udf_getattr }, - { &vop_inactive_desc, (vop_t *) vop_stdinactive }, { &vop_ioctl_desc, (vop_t *) udf_ioctl }, { &vop_islocked_desc, (vop_t *) vop_stdislocked }, { &vop_lock_desc, (vop_t *) vop_stdlock }, @@ -85,8 +84,6 @@ { &vop_reclaim_desc, (vop_t *) udf_reclaim }, { &vop_strategy_desc, (vop_t *) udf_strategy }, { &vop_unlock_desc, (vop_t *) vop_stdunlock }, - { &vop_getpages_desc, (vop_t *) vop_stdgetpages }, - { &vop_putpages_desc, (vop_t *) vop_stdputpages }, { NULL, NULL } }; static struct vnodeopv_desc udf_vnodeop_opv_desc = @@ -802,6 +799,7 @@ { struct udf_node *node; uint32_t max_size; + daddr64_t lsector; int error; node = VTON(a->a_vp); @@ -813,11 +811,14 @@ if (a->a_runb) *a->a_runb = 0; - error = udf_bmap_internal(node, a->a_bn * node->udfmp->bsize, a->a_bnp, + error = udf_bmap_internal(node, a->a_bn * node->udfmp->bsize, &lsector, &max_size); if (error > 0) return (error); + /* Translate logical to physical sector number */ + *a->a_bnp = lsector << (node->udfmp->bshift - DEV_BSHIFT); + /* Punt on read-ahead for now */ if (a->a_runp) *a->a_runp = 0; ==== //depot/projects/kse/sys/i386/conf/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/i386/conf/Makefile,v 1.3 2002/04/03 18:09:17 jhb Exp $ +# $FreeBSD: src/sys/i386/conf/Makefile,v 1.5 2002/05/02 16:34:47 des Exp $ all: @echo "make LINT only" @@ -6,5 +6,5 @@ clean: rm LINT -LINT: ../../conf/NOTES NOTES makeLINT.pl - cat ../../conf/NOTES NOTES | perl5 makeLINT.pl > LINT +LINT: ../../conf/NOTES NOTES makeLINT.sed + cat ../../conf/NOTES NOTES | sed -E -n -f makeLINT.sed > LINT ==== //depot/projects/kse/sys/i386/conf/NOTES#32 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/i386/conf/NOTES,v 1.1017 2002/04/09 18:26:58 jhb Exp $ +# $FreeBSD: src/sys/i386/conf/NOTES,v 1.1019 2002/05/02 19:42:38 obrien Exp $ # # ==== //depot/projects/kse/sys/ia64/ia64/machdep.c#31 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.101 2002/05/01 06:52:08 peter Exp $ + * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.102 2002/05/02 05:30:42 marcel Exp $ */ #include "opt_compat.h" @@ -700,7 +700,6 @@ * Initialize the virtual memory system. */ pmap_bootstrap(); - pcpup->pc_current_pmap = kernel_pmap; /* * Initialize debuggers, and break into them if appropriate. ==== //depot/projects/kse/sys/ia64/ia64/pmap.c#23 (text+ko) ==== @@ -43,7 +43,7 @@ * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 * from: i386 Id: pmap.c,v 1.193 1998/04/19 15:22:48 bde Exp * with some ideas from NetBSD's alpha pmap - * $FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.58 2002/04/29 07:43:14 peter Exp $ + * $FreeBSD: src/sys/ia64/ia64/pmap.c,v 1.59 2002/05/02 05:35:02 marcel Exp $ */ /* @@ -810,19 +810,8 @@ void pmap_pinit0(struct pmap *pmap) { - int i; - - /* - * kernel_pmap is the same as any other pmap. - */ + /* kernel_pmap is the same as any other pmap. */ pmap_pinit(pmap); - pmap->pm_flags = 0; - for (i = 0; i < 5; i++) - pmap->pm_rid[i] = 0; - pmap->pm_ptphint = NULL; - pmap->pm_active = 0; - TAILQ_INIT(&pmap->pm_pvlist); - bzero(&pmap->pm_stats, sizeof pmap->pm_stats); } /* ==== //depot/projects/kse/sys/ia64/include/ansi.h#10 (text+ko) ==== @@ -32,7 +32,7 @@ * * @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: NetBSD: ansi.h,v 1.9 1997/11/23 20:20:53 kleink Exp - * $FreeBSD: src/sys/ia64/include/ansi.h,v 1.20 2002/04/10 15:58:12 mike Exp $ + * $FreeBSD: src/sys/ia64/include/ansi.h,v 1.21 2002/05/02 09:04:29 dfr Exp $ */ #ifndef _MACHINE_ANSI_H_ @@ -53,7 +53,7 @@ #define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */ #define _BSD_PTRDIFF_T_ long /* ptr1 - ptr2 */ #define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t (see below) */ -#define _BSD_SEGSZ_T_ __int32_t /* segment size (in pages) */ +#define _BSD_SEGSZ_T_ __int64_t /* segment size (in pages) */ #define _BSD_SIZE_T_ unsigned long /* sizeof() */ #define _BSD_SOCKLEN_T_ __uint32_t #define _BSD_SSIZE_T_ long /* byte count or error */ ==== //depot/projects/kse/sys/kern/init_main.c#39 (text+ko) ==== @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)init_main.c 8.9 (Berkeley) 1/21/94 - * $FreeBSD: src/sys/kern/init_main.c,v 1.193 2002/04/19 13:35:53 rwatson Exp $ + * $FreeBSD: src/sys/kern/init_main.c,v 1.194 2002/05/02 20:27:42 mux Exp $ */ #include "opt_init_path.h" @@ -519,7 +519,8 @@ if (error == EEXIST) error = 0; if (error == 0) - error = vfs_mount(td, "devfs", "/dev", 0, 0); + error = kernel_vmount(0, "fstype", "devfs", + "fspath", "/dev", NULL); if (error != 0) init_does_devfs = 1; } ==== //depot/projects/kse/sys/kern/kern_descrip.c#28 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_descrip.c 8.6 (Berkeley) 4/19/94 - * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.142 2002/05/01 20:44:44 alfred Exp $ + * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.144 2002/05/03 07:46:59 tanimura Exp $ */ #include "opt_compat.h" @@ -571,6 +571,8 @@ struct proc *p; struct pgrp *pg; + SIGIO_ASSERT(MA_OWNED); + sigio = SLIST_FIRST(sigiolst); if (sigio == NULL) return; @@ -591,28 +593,26 @@ } while ((sigio = SLIST_FIRST(sigiolst)) != NULL) { - SIGIO_LOCK(); *(sigio->sio_myref) = NULL; - SIGIO_UNLOCK(); if (pg != NULL) { KASSERT(sigio->sio_pgid < 0, ("Proc sigio in pgrp sigio list")); KASSERT(sigio->sio_pgrp == pg, ("Bogus pgrp in sigio list")); SLIST_REMOVE(&pg->pg_sigiolst, sigio, sigio, sio_pgsigio); PGRP_UNLOCK(pg); + SIGIO_UNLOCK(); crfree(sigio->sio_ucred); - mtx_lock(&Giant); FREE(sigio, M_SIGIO); - mtx_unlock(&Giant); + SIGIO_LOCK(); PGRP_LOCK(pg); } else /* if (p != NULL) */ { KASSERT(sigio->sio_pgid > 0, ("Pgrp sigio in proc sigio list")); KASSERT(sigio->sio_proc == p, ("Bogus proc in sigio list")); SLIST_REMOVE(&p->p_sigiolst, sigio, sigio, sio_pgsigio); PROC_UNLOCK(p); + SIGIO_UNLOCK(); crfree(sigio->sio_ucred); - mtx_lock(&Giant); FREE(sigio, M_SIGIO); - mtx_unlock(&Giant); + SIGIO_LOCK(); PROC_LOCK(p); } } ==== //depot/projects/kse/sys/kern/kern_exec.c#25 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/kern/kern_exec.c,v 1.162 2002/04/19 00:45:26 nectar Exp $ + * $FreeBSD: src/sys/kern/kern_exec.c,v 1.163 2002/05/02 15:00:14 jhb Exp $ */ #include @@ -127,13 +127,15 @@ { struct proc *p = td->td_proc; struct nameidata nd, *ndp; - struct ucred *newcred, *oldcred; + struct ucred *newcred = NULL, *oldcred; register_t *stack_base; int error, len, i; struct image_params image_params, *imgp; struct vattr attr; int (*img_first)(struct image_params *); - struct pargs *pa; + struct pargs *oldargs, *newargs = NULL; + struct procsig *oldprocsig, *newprocsig; + struct vnode *tracevp = NULL, *textvp = NULL; imgp = &image_params; @@ -297,20 +299,34 @@ FILEDESC_UNLOCK(p->p_fd); /* + * Malloc things before we need locks. + */ + newcred = crget(); + i = imgp->endargs - imgp->stringbase; + if (ps_arg_cache_limit >= i + sizeof(struct pargs)) + newargs = pargs_alloc(i); + + /* close files on exec */ + fdcloseexec(td); + + /* * For security and other reasons, signal handlers cannot * be shared after an exec. The new process gets a copy of the old * handlers. In execsigs(), the new process will have its signals * reset. */ + PROC_LOCK(p); + mp_fixme("procsig needs a lock"); if (p->p_procsig->ps_refcnt > 1) { - struct procsig *newprocsig; - + oldprocsig = p->p_procsig; + PROC_UNLOCK(p); MALLOC(newprocsig, struct procsig *, sizeof(struct procsig), - M_SUBPROC, M_WAITOK); - bcopy(p->p_procsig, newprocsig, sizeof(*newprocsig)); - p->p_procsig->ps_refcnt--; >>> TRUNCATED FOR MAIL (1000 lines) <<< To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message