svn commit: r216703 - head/sys/i386/xen
Author: cperciva Date: Sun Dec 26 13:05:43 2010 New Revision: 216703 URL: http://svn.freebsd.org/changeset/base/216703 Log: Lock the vm page queue mutex in pmap_pte_release around the call to PMAP_SET_VA; this fixes a mutex-not-held panic when a process which called mlock(2) exits, and parallels a change made in pmap_pte 10 months ago (svn r204160). Note: The locking in this code is utterly broken. We should not be using the VM page queue mutex to protect the queue of pending Xen page mapping hypervisor calls. Even if it made sense to do so, this commit and r204160 introduce LORs between the vm page queue mutex and PMAP2mutex. (However, a possible deadlock is better than a guaranteed panic, and this change will hopefully make life easier for whoever fixes the Xen pmap locking in the future.) PR: kern/140313 MFC after:3 days Modified: head/sys/i386/xen/pmap.c Modified: head/sys/i386/xen/pmap.c == --- head/sys/i386/xen/pmap.cSun Dec 26 01:42:52 2010(r216702) +++ head/sys/i386/xen/pmap.cSun Dec 26 13:05:43 2010(r216703) @@ -1015,7 +1015,9 @@ pmap_pte_release(pt_entry_t *pte) if ((pt_entry_t *)((vm_offset_t)pte ~PAGE_MASK) == PADDR2) { CTR1(KTR_PMAP, pmap_pte_release: pte=0x%jx, *PMAP2); + vm_page_lock_queues(); PT_SET_VA(PMAP2, 0, TRUE); + vm_page_unlock_queues(); mtx_unlock(PMAP2mutex); } } ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216704 - stable/8/sys/nfsserver
Author: kib Date: Sun Dec 26 13:14:36 2010 New Revision: 216704 URL: http://svn.freebsd.org/changeset/base/216704 Log: MFC r216454: VOP_ISLOCKED() should not be used to determine if the vnode is locked. Explicitely track the locked status of the vnode. Approved by: re (bz) Modified: stable/8/sys/nfsserver/nfs_serv.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/nfsserver/nfs_serv.c == --- stable/8/sys/nfsserver/nfs_serv.c Sun Dec 26 13:05:43 2010 (r216703) +++ stable/8/sys/nfsserver/nfs_serv.c Sun Dec 26 13:14:36 2010 (r216704) @@ -3037,6 +3037,7 @@ nfsrv_readdirplus(struct nfsrv_descript struct vattr va, at, *vap = va; struct nfs_fattr *fp; int len, nlen, rem, xfer, tsiz, i, error = 0, error1, getret = 1; + int vp_locked; int siz, cnt, fullsiz, eofflag, rdonly, dirlen, ncookies; u_quad_t off, toff, verf; u_long *cookies = NULL, *cookiep; /* needs to be int64_t or off_t */ @@ -3067,10 +3068,12 @@ nfsrv_readdirplus(struct nfsrv_descript fullsiz = siz; error = nfsrv_fhtovp(fhp, 1, vp, vfslocked, nfsd, slp, nam, rdonly, TRUE); + vp_locked = 1; if (!error vp-v_type != VDIR) { error = ENOTDIR; vput(vp); vp = NULL; + vp_locked = 0; } if (error) { nfsm_reply(NFSX_UNSIGNED); @@ -3090,6 +3093,7 @@ nfsrv_readdirplus(struct nfsrv_descript error = nfsrv_access(vp, VEXEC, cred, rdonly, 0); if (error) { vput(vp); + vp_locked = 0; vp = NULL; nfsm_reply(NFSX_V3POSTOPATTR); nfsm_srvpostop_attr(getret, at); @@ -3097,6 +3101,7 @@ nfsrv_readdirplus(struct nfsrv_descript goto nfsmout; } VOP_UNLOCK(vp, 0); + vp_locked = 0; rbuf = malloc(siz, M_TEMP, M_WAITOK); again: iv.iov_base = rbuf; @@ -3110,6 +3115,7 @@ again: io.uio_td = NULL; eofflag = 0; vn_lock(vp, LK_SHARED | LK_RETRY); + vp_locked = 1; if (cookies) { free((caddr_t)cookies, M_TEMP); cookies = NULL; @@ -3118,6 +3124,7 @@ again: off = (u_quad_t)io.uio_offset; getret = VOP_GETATTR(vp, at, cred); VOP_UNLOCK(vp, 0); + vp_locked = 0; if (!cookies !error) error = NFSERR_PERM; if (!error) @@ -3238,8 +3245,10 @@ again: } else { cn.cn_flags = ~ISDOTDOT; } - if (!VOP_ISLOCKED(vp)) + if (!vp_locked) { vn_lock(vp, LK_SHARED | LK_RETRY); + vp_locked = 1; + } if ((vp-v_vflag VV_ROOT) != 0 (cn.cn_flags ISDOTDOT) != 0) { vref(vp); @@ -3342,7 +3351,7 @@ invalid: cookiep++; ncookies--; } - if (!usevget VOP_ISLOCKED(vp)) + if (!usevget vp_locked) vput(vp); else vrele(vp); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216705 - stable/8/sys/compat/freebsd32
Author: kib Date: Sun Dec 26 13:20:10 2010 New Revision: 216705 URL: http://svn.freebsd.org/changeset/base/216705 Log: MFC r216572: Restore the ABI of struct kinfo_proc32 after r213536. Approved by: re (bz) Modified: stable/8/sys/compat/freebsd32/freebsd32.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/compat/freebsd32/freebsd32.h == --- stable/8/sys/compat/freebsd32/freebsd32.h Sun Dec 26 13:14:36 2010 (r216704) +++ stable/8/sys/compat/freebsd32/freebsd32.h Sun Dec 26 13:20:10 2010 (r216705) @@ -323,6 +323,7 @@ struct kinfo_proc32 { uint32_t ki_pcb; uint32_t ki_kstack; uint32_t ki_udata; + uint32_t ki_tdaddr; uint32_t ki_spareptrs[KI_NSPARE_PTR]; /* spare room for growth */ int ki_sparelongs[KI_NSPARE_LONG]; int ki_sflag; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216706 - head/bin/sh
Author: jilles Date: Sun Dec 26 13:25:47 2010 New Revision: 216706 URL: http://svn.freebsd.org/changeset/base/216706 Log: sh: Allow arbitrary large numbers in CHECKSTRSPACE. Reduce stack string API somewhat and simplify code. Add a check for integer overflow of the stack string length (probably incomplete). Modified: head/bin/sh/exec.c head/bin/sh/expand.c head/bin/sh/memalloc.c head/bin/sh/memalloc.h head/bin/sh/parser.c Modified: head/bin/sh/exec.c == --- head/bin/sh/exec.c Sun Dec 26 13:20:10 2010(r216705) +++ head/bin/sh/exec.c Sun Dec 26 13:25:47 2010(r216706) @@ -190,9 +190,8 @@ padvance(const char **path, const char * for (p = start; *p *p != ':' *p != '%'; p++) ; /* nothing */ len = p - start + strlen(name) + 2; /* 2 is for '/' and '\0' */ - while (stackblocksize() len) - growstackblock(); - q = stackblock(); + STARTSTACKSTR(q); + CHECKSTRSPACE(len, q); if (p != start) { memcpy(q, start, p - start); q += p - start; Modified: head/bin/sh/expand.c == --- head/bin/sh/expand.cSun Dec 26 13:20:10 2010(r216705) +++ head/bin/sh/expand.cSun Dec 26 13:25:47 2010(r216706) @@ -502,13 +502,14 @@ expbackq(union node *cmd, int quoted, in if (lastc == '\n') { nnl++; } else { + CHECKSTRSPACE(nnl + 2, dest); while (nnl 0) { nnl--; - STPUTC('\n', dest); + USTPUTC('\n', dest); } if (quotes syntax[(int)lastc] == CCTL) - STPUTC(CTLESC, dest); - STPUTC(lastc, dest); + USTPUTC(CTLESC, dest); + USTPUTC(lastc, dest); } } } Modified: head/bin/sh/memalloc.c == --- head/bin/sh/memalloc.c Sun Dec 26 13:20:10 2010(r216705) +++ head/bin/sh/memalloc.c Sun Dec 26 13:25:47 2010(r216706) @@ -218,8 +218,8 @@ popstackmark(struct stackmark *mark) * part of the block that has been used. */ -void -growstackblock(void) +static void +growstackblock(int min) { char *p; int newlen; @@ -229,8 +229,15 @@ growstackblock(void) struct stack_block *oldstackp; struct stackmark *xmark; - newlen = (stacknleft == 0) ? MINSIZE : stacknleft * 2 + 100; - newlen = ALIGN(newlen); + if (min stacknleft) + min = stacknleft; + if (newlen = INT_MAX / 2 - ALIGN(sizeof(struct stack_block))) + error(Out of space); + min += stacknleft; + min += ALIGN(sizeof(struct stack_block)); + newlen = 512; + while (newlen min) + newlen = 1; oldspace = stacknxt; oldlen = stacknleft; @@ -257,6 +264,7 @@ growstackblock(void) } INTON; } else { + newlen -= ALIGN(sizeof(struct stack_block)); p = stalloc(newlen); if (oldlen != 0) memcpy(p, oldspace, oldlen); @@ -295,9 +303,9 @@ grabstackblock(int len) */ static char * -growstrstackblock(int n) +growstrstackblock(int n, int min) { - growstackblock(); + growstackblock(min); sstrnleft = stackblocksize() - n; return stackblock() + n; } @@ -308,7 +316,7 @@ growstackstr(void) int len; len = stackblocksize(); - return growstrstackblock(len); + return (growstrstackblock(len, 0)); } @@ -317,12 +325,12 @@ growstackstr(void) */ char * -makestrspace(void) +makestrspace(int min) { int len; len = stackblocksize() - sstrnleft; - return growstrstackblock(len); + return (growstrstackblock(len, min)); } @@ -339,11 +347,10 @@ ungrabstackstr(char *s, char *p) char * stputbin(const char *data, int len, char *p) { - int i; - - for (i = 0; i len; i++) - STPUTC(data[i], p); - return (p); + CHECKSTRSPACE(len, p); + memcpy(p, data, len); + sstrnleft -= len; + return (p + len); } char * Modified: head/bin/sh/memalloc.h == --- head/bin/sh/memalloc.h Sun Dec 26 13:20:10 2010(r216705) +++ head/bin/sh/memalloc.h Sun Dec 26 13:25:47 2010(r216706) @@ -55,10 +55,9 @@ pointer stalloc(int); void
svn commit: r216707 - head/bin/sh
Author: jilles Date: Sun Dec 26 13:41:53 2010 New Revision: 216707 URL: http://svn.freebsd.org/changeset/base/216707 Log: sh: Fix integer overflow check, it checked an uninitialized variable. Modified: head/bin/sh/memalloc.c Modified: head/bin/sh/memalloc.c == --- head/bin/sh/memalloc.c Sun Dec 26 13:25:47 2010(r216706) +++ head/bin/sh/memalloc.c Sun Dec 26 13:41:53 2010(r216707) @@ -231,7 +231,7 @@ growstackblock(int min) if (min stacknleft) min = stacknleft; - if (newlen = INT_MAX / 2 - ALIGN(sizeof(struct stack_block))) + if (min = INT_MAX / 2 - ALIGN(sizeof(struct stack_block))) error(Out of space); min += stacknleft; min += ALIGN(sizeof(struct stack_block)); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216708 - stable/8/sbin/newfs
Author: kib Date: Sun Dec 26 13:57:05 2010 New Revision: 216708 URL: http://svn.freebsd.org/changeset/base/216708 Log: MFC r216453: Add the missed 'p' flag to getopt() optstring argument. Approved by: re (bz) Modified: stable/8/sbin/newfs/newfs.c Directory Properties: stable/8/sbin/newfs/ (props changed) Modified: stable/8/sbin/newfs/newfs.c == --- stable/8/sbin/newfs/newfs.c Sun Dec 26 13:41:53 2010(r216707) +++ stable/8/sbin/newfs/newfs.c Sun Dec 26 13:57:05 2010(r216708) @@ -136,7 +136,7 @@ main(int argc, char *argv[]) part_name = 'c'; reserved = 0; while ((ch = getopt(argc, argv, - EJL:NO:RS:T:UXa:b:c:d:e:f:g:h:i:lm:no:r:s:)) != -1) + EJL:NO:RS:T:UXa:b:c:d:e:f:g:h:i:lm:no:p:r:s:)) != -1) switch (ch) { case 'E': Eflag = 1; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216709 - stable/8/sys/dev/wpi
Author: bschmidt Date: Sun Dec 26 14:09:06 2010 New Revision: 216709 URL: http://svn.freebsd.org/changeset/base/216709 Log: MFC r216557: Fix panic while trying to use monitor mode. The iwn_cmd() calls issued by iwn_config() want to msleep() on the mutex. PR: kern/138427 Submitted by: Henry Hu henry.hu.sh at gmail.com Approved by: re (kib) Modified: stable/8/sys/dev/wpi/if_wpi.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/dev/wpi/if_wpi.c == --- stable/8/sys/dev/wpi/if_wpi.c Sun Dec 26 13:57:05 2010 (r216708) +++ stable/8/sys/dev/wpi/if_wpi.c Sun Dec 26 14:09:06 2010 (r216709) @@ -3561,7 +3561,9 @@ wpi_set_channel(struct ieee80211com *ic) * are already taken care of by their respective firmware commands. */ if (ic-ic_opmode == IEEE80211_M_MONITOR) { + WPI_LOCK(sc); error = wpi_config(sc); + WPI_UNLOCK(sc); if (error != 0) device_printf(sc-sc_dev, error %d settting channel\n, error); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216711 - releng/8.2/sbin/newfs
Author: kib Date: Sun Dec 26 15:00:14 2010 New Revision: 216711 URL: http://svn.freebsd.org/changeset/base/216711 Log: MFC r216453: Add the missed 'p' flag to getopt() optstring argument. Approved by: re (bz) Modified: releng/8.2/sbin/newfs/newfs.c Directory Properties: releng/8.2/sbin/newfs/ (props changed) Modified: releng/8.2/sbin/newfs/newfs.c == --- releng/8.2/sbin/newfs/newfs.c Sun Dec 26 14:10:12 2010 (r216710) +++ releng/8.2/sbin/newfs/newfs.c Sun Dec 26 15:00:14 2010 (r216711) @@ -136,7 +136,7 @@ main(int argc, char *argv[]) part_name = 'c'; reserved = 0; while ((ch = getopt(argc, argv, - EJL:NO:RS:T:UXa:b:c:d:e:f:g:h:i:lm:no:r:s:)) != -1) + EJL:NO:RS:T:UXa:b:c:d:e:f:g:h:i:lm:no:p:r:s:)) != -1) switch (ch) { case 'E': Eflag = 1; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216712 - releng/8.2/sys/nfsserver
Author: kib Date: Sun Dec 26 15:13:28 2010 New Revision: 216712 URL: http://svn.freebsd.org/changeset/base/216712 Log: MFC r216454: VOP_ISLOCKED() should not be used to determine if the vnode is locked. Explicitely track the locked status of the vnode. Approved by: re (bz) Modified: releng/8.2/sys/nfsserver/nfs_serv.c Directory Properties: releng/8.2/sys/ (props changed) releng/8.2/sys/amd64/include/xen/ (props changed) releng/8.2/sys/cddl/contrib/opensolaris/ (props changed) releng/8.2/sys/contrib/dev/acpica/ (props changed) releng/8.2/sys/contrib/pf/ (props changed) Modified: releng/8.2/sys/nfsserver/nfs_serv.c == --- releng/8.2/sys/nfsserver/nfs_serv.c Sun Dec 26 15:00:14 2010 (r216711) +++ releng/8.2/sys/nfsserver/nfs_serv.c Sun Dec 26 15:13:28 2010 (r216712) @@ -3037,6 +3037,7 @@ nfsrv_readdirplus(struct nfsrv_descript struct vattr va, at, *vap = va; struct nfs_fattr *fp; int len, nlen, rem, xfer, tsiz, i, error = 0, error1, getret = 1; + int vp_locked; int siz, cnt, fullsiz, eofflag, rdonly, dirlen, ncookies; u_quad_t off, toff, verf; u_long *cookies = NULL, *cookiep; /* needs to be int64_t or off_t */ @@ -3067,10 +3068,12 @@ nfsrv_readdirplus(struct nfsrv_descript fullsiz = siz; error = nfsrv_fhtovp(fhp, 1, vp, vfslocked, nfsd, slp, nam, rdonly, TRUE); + vp_locked = 1; if (!error vp-v_type != VDIR) { error = ENOTDIR; vput(vp); vp = NULL; + vp_locked = 0; } if (error) { nfsm_reply(NFSX_UNSIGNED); @@ -3090,6 +3093,7 @@ nfsrv_readdirplus(struct nfsrv_descript error = nfsrv_access(vp, VEXEC, cred, rdonly, 0); if (error) { vput(vp); + vp_locked = 0; vp = NULL; nfsm_reply(NFSX_V3POSTOPATTR); nfsm_srvpostop_attr(getret, at); @@ -3097,6 +3101,7 @@ nfsrv_readdirplus(struct nfsrv_descript goto nfsmout; } VOP_UNLOCK(vp, 0); + vp_locked = 0; rbuf = malloc(siz, M_TEMP, M_WAITOK); again: iv.iov_base = rbuf; @@ -3110,6 +3115,7 @@ again: io.uio_td = NULL; eofflag = 0; vn_lock(vp, LK_SHARED | LK_RETRY); + vp_locked = 1; if (cookies) { free((caddr_t)cookies, M_TEMP); cookies = NULL; @@ -3118,6 +3124,7 @@ again: off = (u_quad_t)io.uio_offset; getret = VOP_GETATTR(vp, at, cred); VOP_UNLOCK(vp, 0); + vp_locked = 0; if (!cookies !error) error = NFSERR_PERM; if (!error) @@ -3238,8 +3245,10 @@ again: } else { cn.cn_flags = ~ISDOTDOT; } - if (!VOP_ISLOCKED(vp)) + if (!vp_locked) { vn_lock(vp, LK_SHARED | LK_RETRY); + vp_locked = 1; + } if ((vp-v_vflag VV_ROOT) != 0 (cn.cn_flags ISDOTDOT) != 0) { vref(vp); @@ -3342,7 +3351,7 @@ invalid: cookiep++; ncookies--; } - if (!usevget VOP_ISLOCKED(vp)) + if (!usevget vp_locked) vput(vp); else vrele(vp); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216713 - releng/8.2/sys/compat/freebsd32
Author: kib Date: Sun Dec 26 15:15:28 2010 New Revision: 216713 URL: http://svn.freebsd.org/changeset/base/216713 Log: MFC r216572: Restore the ABI of struct kinfo_proc32 after r213536. Approved by: re (bz) Modified: releng/8.2/sys/compat/freebsd32/freebsd32.h Directory Properties: releng/8.2/sys/ (props changed) releng/8.2/sys/amd64/include/xen/ (props changed) releng/8.2/sys/cddl/contrib/opensolaris/ (props changed) releng/8.2/sys/contrib/dev/acpica/ (props changed) releng/8.2/sys/contrib/pf/ (props changed) Modified: releng/8.2/sys/compat/freebsd32/freebsd32.h == --- releng/8.2/sys/compat/freebsd32/freebsd32.h Sun Dec 26 15:13:28 2010 (r216712) +++ releng/8.2/sys/compat/freebsd32/freebsd32.h Sun Dec 26 15:15:28 2010 (r216713) @@ -323,6 +323,7 @@ struct kinfo_proc32 { uint32_t ki_pcb; uint32_t ki_kstack; uint32_t ki_udata; + uint32_t ki_tdaddr; uint32_t ki_spareptrs[KI_NSPARE_PTR]; /* spare room for growth */ int ki_sparelongs[KI_NSPARE_LONG]; int ki_sflag; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216714 - stable/8/sys/netinet
Author: tuexen Date: Sun Dec 26 17:21:47 2010 New Revision: 216714 URL: http://svn.freebsd.org/changeset/base/216714 Log: MFC c216502: Fix a flightsize bug related to the processing of PKTDRP reports. Approved by: re Modified: stable/8/sys/netinet/sctp_input.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/netinet/sctp_input.c == --- stable/8/sys/netinet/sctp_input.c Sun Dec 26 15:15:28 2010 (r216713) +++ stable/8/sys/netinet/sctp_input.c Sun Dec 26 17:21:47 2010 (r216714) @@ -3156,7 +3156,6 @@ process_chunk_drop(struct sctp_tcb *stcb SCTP_STAT_INCR(sctps_pdrpmark); if (tp1-sent != SCTP_DATAGRAM_RESEND) sctp_ucount_incr(stcb-asoc.sent_queue_retran_cnt); - tp1-sent = SCTP_DATAGRAM_RESEND; /* * mark it as if we were doing a FR, since * we will be getting gap ack reports behind @@ -3191,6 +3190,7 @@ process_chunk_drop(struct sctp_tcb *stcb sctp_flight_size_decrease(tp1); sctp_total_flight_decrease(stcb, tp1); } + tp1-sent = SCTP_DATAGRAM_RESEND; } { /* audit code */ unsigned int audit; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216715 - releng/8.2/sys/netinet
Author: tuexen Date: Sun Dec 26 17:29:26 2010 New Revision: 216715 URL: http://svn.freebsd.org/changeset/base/216715 Log: MFC c216502: Fix a flightsize bug related to the processing of PKTDRP reports. Approved by: re Modified: releng/8.2/sys/netinet/sctp_input.c Directory Properties: releng/8.2/sys/ (props changed) releng/8.2/sys/amd64/include/xen/ (props changed) releng/8.2/sys/cddl/contrib/opensolaris/ (props changed) releng/8.2/sys/contrib/dev/acpica/ (props changed) releng/8.2/sys/contrib/pf/ (props changed) Modified: releng/8.2/sys/netinet/sctp_input.c == --- releng/8.2/sys/netinet/sctp_input.c Sun Dec 26 17:21:47 2010 (r216714) +++ releng/8.2/sys/netinet/sctp_input.c Sun Dec 26 17:29:26 2010 (r216715) @@ -3156,7 +3156,6 @@ process_chunk_drop(struct sctp_tcb *stcb SCTP_STAT_INCR(sctps_pdrpmark); if (tp1-sent != SCTP_DATAGRAM_RESEND) sctp_ucount_incr(stcb-asoc.sent_queue_retran_cnt); - tp1-sent = SCTP_DATAGRAM_RESEND; /* * mark it as if we were doing a FR, since * we will be getting gap ack reports behind @@ -3191,6 +3190,7 @@ process_chunk_drop(struct sctp_tcb *stcb sctp_flight_size_decrease(tp1); sctp_total_flight_decrease(stcb, tp1); } + tp1-sent = SCTP_DATAGRAM_RESEND; } { /* audit code */ unsigned int audit; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216716 - head/usr.bin/ar
Author: kaiw Date: Sun Dec 26 18:10:39 2010 New Revision: 216716 URL: http://svn.freebsd.org/changeset/base/216716 Log: * Add mention of the `-f`, `-q`, `-S`, and `-V` options in the synopsis section. * Document the `-l`, `-M` and `-S` options. * Improve the text describing the behavior of the `-r` option. * Start a section on standard compliance. * Indicate in the synopsis that the `-S` and `-s` options are mutually exclusive. Obtained from:elftoolchain Modified: head/usr.bin/ar/ar.1 Modified: head/usr.bin/ar/ar.1 == --- head/usr.bin/ar/ar.1Sun Dec 26 17:29:26 2010(r216715) +++ head/usr.bin/ar/ar.1Sun Dec 26 18:10:39 2010(r216716) @@ -34,28 +34,42 @@ .Nm .Fl d .Op Fl T +.Op Fl f .Op Fl j .Op Fl v .Op Fl z .Ar archive -.Ar files ... +.Ar .Nm .Fl m .Op Fl T .Op Fl a Ar position-after .Op Fl b Ar position-before +.Op Fl f .Op Fl i Ar position-before .Op Fl j -.Op Fl s +.Op Fl s | Fl S .Op Fl z .Ar archive -.Ar files ... +.Ar .Nm .Fl p .Op Fl T +.Op Fl f .Op Fl v .Ar archive -.Op Ar files ... +.Op Ar +.Nm +.Fl q +.Op Fl T +.Op Fl c +.Op Fl D +.Op Fl f +.Op Fl s | Fl S +.Op Fl v +.Op Fl z +.Ar archive +.Ar .Nm .Fl r .Op Fl T @@ -63,14 +77,15 @@ .Op Fl b Ar position-before .Op Fl c .Op Fl D +.Op Fl f .Op Fl i Ar position-before .Op Fl j -.Op Fl s +.Op Fl s | Fl S .Op Fl u .Op Fl v .Op Fl z .Ar archive -.Ar files ... +.Ar .Nm .Fl s .Op Fl j @@ -78,19 +93,23 @@ .Ar archive .Nm .Fl t +.Op Fl f .Op Fl T .Op Fl v .Ar archive -.Op Ar files ... +.Op Ar .Nm .Fl x .Op Fl C .Op Fl T +.Op Fl f .Op Fl o .Op Fl u .Op Fl v .Ar archive -.Op Ar files ... +.Op Ar +.Nm +.Fl M .Nm ranlib .Op Fl D .Ar archive ... @@ -141,13 +160,13 @@ When used with option .Fl m this option specifies that the archive members specified by arguments -.Ar files ... +.Ar are moved to after the archive member named by argument .Ar member-after . When used with option .Fl r this option specifies that the files specified by arguments -.Ar files ... +.Ar are added after the archive member named by argument .Ar member-after . .It Fl b Ar member-before @@ -155,13 +174,13 @@ When used with option .Fl m this option specifies that the archive members specified by arguments -.Ar files ... +.Ar are moved to before the archive member named by argument .Ar member-before . When used with option .Fl r this option specifies that the files specified by arguments -.Ar files ... +.Ar are added before the archive member named by argument .Ar member-before . .It Fl c @@ -176,7 +195,7 @@ Prevent extracted files from replacing l in the file system. .It Fl d Delete the members named by arguments -.Ar files ... +.Ar from the archive specified by argument .Ar archive . The archive's symbol table, if present, is updated to reflect @@ -188,7 +207,7 @@ or .Fl q option, insert 0's instead of the real mtime, uid and gid values and 0644 instead of file mode from the members named by arguments -.Ar files ... . +.Ar . This ensures that checksums on the resulting archives are reproducible when member contents are identical. .It Fl f @@ -199,9 +218,13 @@ Synonymous with option .Fl b . .It Fl j This option is accepted but ignored. +.It Fl l +This option is accepted for compatibility with GNU +.Xr ar 1 , +but is ignored. .It Fl m Move archive members specified by arguments -.Ar files ... +.Ar within the archive. If a position has been specified by one of the .Fl a , @@ -214,19 +237,21 @@ If no position has been specified, the s to the end of the archive. If the archive has a symbol table, it is updated to reflect the new contents of the archive. +.It Fl M +Read and execute MRI librarian commands from standard input. .It Fl o Preserve the original modification times of members when extracting them. .It Fl p Write the contents of the specified archive members named by arguments -.Ar files ... +.Ar to standard output. If no members were specified, the contents of all the files in the archive are written in the order they appear in the archive. .It Fl q Append the files specified by arguments -.Ar files ... +.Ar to the archive specified by argument .Ar archive without checking if the files already exist in the archive and @@ -241,14 +266,14 @@ option will update the archive's symbol table. .It Fl r Replace (add) the files specified by arguments -.Ar files ... +.Ar in the archive specified by argument .Ar archive , creating the archive if necessary. -Files that replace existing files do not change the order of files -within the archive. +Replacing existing members will not change the order of members within +the archive. If a file named in arguments -.Ar files ... +.Ar does not exist, existing members in the archive that match that name are not changed. New files are added to the end of the archive unless one of the @@ -271,9
svn commit: r216717 - head/usr.bin/ar
Author: kaiw Date: Sun Dec 26 18:12:13 2010 New Revision: 216717 URL: http://svn.freebsd.org/changeset/base/216717 Log: Improve the description of the `-q` option. Obtained from:elftoolchain Modified: head/usr.bin/ar/ar.1 Modified: head/usr.bin/ar/ar.1 == --- head/usr.bin/ar/ar.1Sun Dec 26 18:10:39 2010(r216716) +++ head/usr.bin/ar/ar.1Sun Dec 26 18:12:13 2010(r216717) @@ -141,10 +141,7 @@ utility can create and manage an archive .Xr ar 5 ) used to speed up link editing operations. If a symbol table is present in an archive, it will be -kept up-to-date by subsequent operations on the archive (excepting -the quick update specified by the -.Fl q -option). +kept up-to-date by subsequent operations on the archive. .Pp The .Nm ranlib @@ -254,16 +251,11 @@ Append the files specified by arguments .Ar to the archive specified by argument .Ar archive -without checking if the files already exist in the archive and -without updating the archive's symbol table. -If the archive file +without checking if the files already exist in the archive. +The archive symbol table will be updated as needed. +If the file specified by the argument .Ar archive -does not already exist, a new archive is created. -However, to be compatible with GNU -.Nm , -option -.Fl q -will update the archive's symbol table. +does not already exist, a new archive will be created. .It Fl r Replace (add) the files specified by arguments .Ar ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216718 - stable/8/sys/dev/usb
Author: thompsa Date: Sun Dec 26 18:15:18 2010 New Revision: 216718 URL: http://svn.freebsd.org/changeset/base/216718 Log: MFC r216249 Re-add a status check which sneaked out during r214804. This change can fix some USB error messages showing up during bootup. Approved by: re (kib) Modified: stable/8/sys/dev/usb/usb_request.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/dev/usb/usb_request.c == --- stable/8/sys/dev/usb/usb_request.c Sun Dec 26 18:12:13 2010 (r216717) +++ stable/8/sys/dev/usb/usb_request.c Sun Dec 26 18:15:18 2010 (r216718) @@ -793,6 +793,10 @@ usbd_req_reset_port(struct usb_device *u if (err) { goto done; } + /* if the device disappeared, just give up */ + if (!(UGETW(ps.wPortStatus) UPS_CURRENT_CONNECT_STATUS)) { + goto done; + } /* check if reset is complete */ if (UGETW(ps.wPortChange) UPS_C_PORT_RESET) { break; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216719 - head/usr.bin/ar
Author: kaiw Date: Sun Dec 26 18:15:32 2010 New Revision: 216719 URL: http://svn.freebsd.org/changeset/base/216719 Log: Document the syntax accepted by the `-M` option. Obtained from:elftoolchain Modified: head/usr.bin/ar/ar.1 Modified: head/usr.bin/ar/ar.1 == --- head/usr.bin/ar/ar.1Sun Dec 26 18:15:18 2010(r216718) +++ head/usr.bin/ar/ar.1Sun Dec 26 18:15:32 2010(r216719) @@ -236,6 +236,10 @@ If the archive has a symbol table, it is new contents of the archive. .It Fl M Read and execute MRI librarian commands from standard input. +The commands understood by the +.Nm +utility are described in the section +.Sx MRI Librarian Commands . .It Fl o Preserve the original modification times of members when extracting them. @@ -378,6 +382,117 @@ option was specified. .It Fl z This option is accepted but ignored. .El +.Ss MRI Librarian Commands +If the +.Fl M +option is specified, the +.Nm +utility will read and execute commands from its standard input. +If standard input is a terminal, the +.Nm +utility will display the prompt +.Dq Li AR +before reading a line, and will continue operation even if errors are +encountered. +If standard input is not a terminal, the +.Nm +utility will not display a prompt and will terminate execution on +encountering an error. +.Pp +Each input line contains a single command. +Words in an input line are separated by whitespace characters. +The first word of the line is the command, the remaining words are +the arguments to the command. +The command word may be specified in either case. +Arguments may be separated by commas or blanks. +.Pp +Empty lines are allowed and are ignored. +Long lines are continued by ending them with the +.Dq Li + +character. +.Pp +The +.Dq Li * +and +.Dq Li \; +characters start a comment. +Comments extend till the end of the line. +.Pp +When executing an MRI librarian script the +.Nm +utility works on a temporary copy of an archive. +Changes to the copy are made permanent using the +.Ic save +command. +.Pp +Commands understood by the +.Nm +utility are: +.Bl -tag -width indent +.It Ic addlib Ar archive | Ic addlib Ar archive Pq Ar member Oo Li , Ar member Oc Ns ... +Add the contents of the archive named by argument +.Ar archive +to the current archive. +If specific members are named using the arguments +.Ar member , +then those members are added to the current archive. +If no members are specified, the entire contents of the archive +are added to the current archive. +.It Ic addmod Ar member Oo Li , Ar member Oc Ns ... +Add the files named by arguments +.Ar member +to the current archive. +.It Ic clear +Discard all the contents of the current archive. +.It Ic create Ar archive +Create a new archive named by the argument +.Ar archive , +and makes it the current archive. +If the named archive already exists, it will be overwritten +when the +.Ic save +command is issued. +.It Ic delete Ar module Oo Li , Ar member Oc Ns ... +Delete the modules named by the arguments +.Ar member +from the current archive. +.It Ic directory Ar archive Po Ar member Oo Li , Ar member Oc Ns ... Pc Op Ar outputfile +List each named module in the archive. +The format of the output depends on the verbosity setting set using +the +.Ic verbose +command. +Output is sent to standard output, or to the file specified by +argument +.Ar outputfile . +.It Ic end +Exit successfully from the +.Nm +utility. +Any unsaved changes to the current archive will be discarded. +.It Ic extract Ar member Oo Li , Ar member Oc Ns ... +Extract the members named by the arguments +.Ar member +from the current archive. +.It Ic list +Display the contents of the current archive in verbose style. +.It Ic open Ar archive +Open the archive named by argument +.Ar archive +and make it the current archive. +.It Ic replace Ar member Oo Li , Ar member Oc Ns ... +Replace named members in the current archive with the files specified +by arguments +.Ar member . +The files must be present in the current directory and the named +modules must already exist in the current archive. +.It Ic save +Commit all changes to the current archive. +.It Ic verbose +Toggle the verbosity of the +.Ic directory +command. +.El .Sh EXAMPLES To create a new archive .Pa ex.a @@ -405,6 +520,20 @@ To verbosely list the contents of archiv .Pa ex.a , use: .D1 ar -tv ex.a +.Pp +To create a new archive +.Pa ex.a +containing the files +.Pa ex1.o , +and +.Pa ex2.o , +using MRI librarian commands, use the following script: +.Bd -literal -offset indent +create ex.a * specify the output archive +addmod ex1.o ex2.o * add modules +save* save pending changes +end * exit the utility +.Ed .Sh DIAGNOSTICS .Ex -std .Sh SEE ALSO ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To
svn commit: r216720 - releng/8.2/sys/dev/usb
Author: thompsa Date: Sun Dec 26 18:15:57 2010 New Revision: 216720 URL: http://svn.freebsd.org/changeset/base/216720 Log: MFC r216249 Re-add a status check which sneaked out during r214804. This change can fix some USB error messages showing up during bootup. Approved by: re (kib) Modified: releng/8.2/sys/dev/usb/usb_request.c Directory Properties: releng/8.2/sys/ (props changed) releng/8.2/sys/amd64/include/xen/ (props changed) releng/8.2/sys/cddl/contrib/opensolaris/ (props changed) releng/8.2/sys/contrib/dev/acpica/ (props changed) releng/8.2/sys/contrib/pf/ (props changed) Modified: releng/8.2/sys/dev/usb/usb_request.c == --- releng/8.2/sys/dev/usb/usb_request.cSun Dec 26 18:15:32 2010 (r216719) +++ releng/8.2/sys/dev/usb/usb_request.cSun Dec 26 18:15:57 2010 (r216720) @@ -793,6 +793,10 @@ usbd_req_reset_port(struct usb_device *u if (err) { goto done; } + /* if the device disappeared, just give up */ + if (!(UGETW(ps.wPortStatus) UPS_CURRENT_CONNECT_STATUS)) { + goto done; + } /* check if reset is complete */ if (UGETW(ps.wPortChange) UPS_C_PORT_RESET) { break; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216721 - head/sbin/hastd
Author: pjd Date: Sun Dec 26 19:07:58 2010 New Revision: 216721 URL: http://svn.freebsd.org/changeset/base/216721 Log: When node-specific configuration is missing in resource section, provide more useful information. Instead of: hastd: remote address not configured for resource foo Print the following: No resource foo configuration for this node (acceptable node names: freefall, freefall.freebsd.org, 4432-4c44-4e31-4a30-313920202020). MFC after:3 days Modified: head/sbin/hastd/parse.y Modified: head/sbin/hastd/parse.y == --- head/sbin/hastd/parse.y Sun Dec 26 18:15:57 2010(r216720) +++ head/sbin/hastd/parse.y Sun Dec 26 19:07:58 2010(r216721) @@ -55,7 +55,7 @@ extern char *yytext; static struct hastd_config *lconfig; static struct hast_resource *curres; -static bool mynode; +static bool mynode, hadmynode; static char depth0_control[HAST_ADDRSIZE]; static char depth0_listen[HAST_ADDRSIZE]; @@ -109,6 +109,44 @@ isitme(const char *name) return (0); } +static int +node_names(char **namesp) +{ + static char names[MAXHOSTNAMELEN * 3]; + char buf[MAXHOSTNAMELEN]; + char *pos; + size_t bufsize; + + if (gethostname(buf, sizeof(buf)) 0) { + pjdlog_errno(LOG_ERR, gethostname() failed); + return (-1); + } + + /* First component of the host name. */ + pos = strchr(buf, '.'); + if (pos != NULL pos != buf) { + (void)strlcpy(names, buf, MIN((size_t)(pos - buf + 1), + sizeof(names))); + (void)strlcat(names, , , sizeof(names)); + } + + /* Full host name. */ + (void)strlcat(names, buf, sizeof(names)); + (void)strlcat(names, , , sizeof(names)); + + /* Host UUID. */ + bufsize = sizeof(buf); + if (sysctlbyname(kern.hostuuid, buf, bufsize, NULL, 0) 0) { + pjdlog_errno(LOG_ERR, sysctlbyname(kern.hostuuid) failed); + return (-1); + } + (void)strlcat(names, buf, sizeof(names)); + + *namesp = names; + + return (0); +} + void yyerror(const char *str) { @@ -424,6 +462,20 @@ resource_statement:RESOURCE resource_st { if (curres != NULL) { /* +* There must be section for this node, at least with +* remote address configuration. +*/ + if (!hadmynode) { + char *names; + + if (node_names(names) != 0) + return (1); + pjdlog_error(No resource %s configuration for this node (acceptable node names: %s)., + curres-hr_name, names); + return (1); + } + + /* * Let's see there are some resource-level settings * that we can use for node-level settings. */ @@ -489,6 +541,7 @@ resource_start: STR */ depth1_provname[0] = '\0'; depth1_localpath[0] = '\0'; + hadmynode = false; curres = calloc(1, sizeof(*curres)); if (curres == NULL) { @@ -614,7 +667,7 @@ resource_node_start:STR case 0: break; case 1: - mynode = true; + mynode = hadmynode = true; break; default: assert(!invalid isitme() return value); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
Re: svn commit: r216685 - head
On Fri, 24 Dec 2010, Warner Losh wrote: Author: imp Date: Fri Dec 24 04:55:56 2010 New Revision: 216685 URL: http://svn.freebsd.org/changeset/base/216685 Log: Redirect stderr from config to /dev/null. config -m is printing lots of annoying warnings when dealing with arm. The arm config files need to be fixed, but this restricts the output to a more useful place. I'll assume these are the warning about duplicate devices and options. Would we get the same warnings again when actually running config on the kernel config files and will they then go to the logs? Modified: head/Makefile Modified: head/Makefile == --- head/Makefile Fri Dec 24 04:52:53 2010(r216684) +++ head/Makefile Fri Dec 24 04:55:56 2010(r216685) @@ -350,8 +350,8 @@ KERNCONFS!= cd ${.CURDIR}/sys/${TARGET}/ universe_kernconfs: .for kernel in ${KERNCONFS} TARGET_ARCH_${kernel}!= cd ${.CURDIR}/sys/${TARGET}/conf \ - config -m ${.CURDIR}/sys/${TARGET}/conf/${kernel} | \ - cut -f 2 + config -m ${.CURDIR}/sys/${TARGET}/conf/${kernel} 2 /dev/null | \ + cut -f 2 universe_kernconfs: universe_kernconf_${TARGET}_${kernel} universe_kernconf_${TARGET}_${kernel}: @(cd ${.CURDIR} env __MAKE_CONF=/dev/null \ -- Bjoern A. Zeeb Welcome a new stage of life. ks Going to jail sucks -- bz All my daemons like it! http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216724 - svnadmin/conf
Author: kensmith Date: Sun Dec 26 21:07:11 2010 New Revision: 216724 URL: http://svn.freebsd.org/changeset/base/216724 Log: End the Code Freeze on stable/7 and stable/8 - the release branches releng/7.4 and releng/8.2 now exist and will be used for the balance of the 7.4/8.2 release process. Approved by: core (implicit) Modified: svnadmin/conf/approvers Modified: svnadmin/conf/approvers == --- svnadmin/conf/approvers Sun Dec 26 20:18:50 2010(r216723) +++ svnadmin/conf/approvers Sun Dec 26 21:07:11 2010(r216724) @@ -17,8 +17,8 @@ # $FreeBSD$ # #^head/re -^stable/8/ re -^stable/7/ re +#^stable/8/re +#^stable/7/re ^releng/8.2/ re ^releng/7.4/ re ^releng/8.[0-1]/ (security-officer|so) ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216725 - head/sbin/mount_nfs
Author: simon Date: Sun Dec 26 22:29:44 2010 New Revision: 216725 URL: http://svn.freebsd.org/changeset/base/216725 Log: Fix deprecated warning about -L which said -i was deprecated. MFC after:3 days Modified: head/sbin/mount_nfs/mount_nfs.c Modified: head/sbin/mount_nfs/mount_nfs.c == --- head/sbin/mount_nfs/mount_nfs.c Sun Dec 26 21:07:11 2010 (r216724) +++ head/sbin/mount_nfs/mount_nfs.c Sun Dec 26 22:29:44 2010 (r216725) @@ -213,7 +213,7 @@ main(int argc, char *argv[]) build_iovec(iov, iovlen, intr, NULL, 0); break; case 'L': - printf(-i deprecated, use -o nolockd\n); + printf(-L deprecated, use -o nolockd\n); build_iovec(iov, iovlen, nolockd, NULL, 0); break; case 'l': ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216726 - head/tools/regression/bin/sh/expansion
Author: emaste Date: Sun Dec 26 23:19:16 2010 New Revision: 216726 URL: http://svn.freebsd.org/changeset/base/216726 Log: Remove commented-out test that's covered in plus-minus2.0 anyway. Discussed with: jilles Modified: head/tools/regression/bin/sh/expansion/plus-minus1.0 Modified: head/tools/regression/bin/sh/expansion/plus-minus1.0 == --- head/tools/regression/bin/sh/expansion/plus-minus1.0Sun Dec 26 22:29:44 2010(r216725) +++ head/tools/regression/bin/sh/expansion/plus-minus1.0Sun Dec 26 23:19:16 2010(r216726) @@ -49,8 +49,6 @@ testcase 'set -- ${w:+$w$w}''3|a|b| testcase 'set -- ${s+a b}' '1|a b' testcase 'set -- ${e:-a b}' '1|a b' testcase 'set -- ${e:-\}}' '1|}' -# Currently broken in FreeBSD /bin/sh -#testcase 'set -- ${e:-\}}' '1|}' testcase 'set -- ${e:+{}}' '1|}' testcase 'set -- ${e:+{}}' '1|}' ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216728 - head/libexec/rtld-elf
Author: kan Date: Mon Dec 27 00:30:29 2010 New Revision: 216728 URL: http://svn.freebsd.org/changeset/base/216728 Log: Fix an apparent cop-and-paste mistake in previous commit. This makes dlsym(RTLD_DEFAULT) work properly again. Modified: head/libexec/rtld-elf/rtld.c Modified: head/libexec/rtld-elf/rtld.c == --- head/libexec/rtld-elf/rtld.cMon Dec 27 00:12:57 2010 (r216727) +++ head/libexec/rtld-elf/rtld.cMon Dec 27 00:30:29 2010 (r216728) @@ -2278,7 +2278,7 @@ do_dlsym(void *handle, const char *name, } } else { assert(handle == RTLD_DEFAULT); - res = symlook_obj(req, obj); + res = symlook_default(req, obj); if (res == 0) { defobj = req.defobj_out; def = req.sym_out; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216730 - stable/8/sys/net
Author: oleg Date: Mon Dec 27 06:59:59 2010 New Revision: 216730 URL: http://svn.freebsd.org/changeset/base/216730 Log: MFC r203548: Propagate the vlan events to the underlying interfaces/members so they can do initialization of hw related features. PR: kern/141646 Modified: stable/8/sys/net/if_lagg.c stable/8/sys/net/if_lagg.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) Modified: stable/8/sys/net/if_lagg.c == --- stable/8/sys/net/if_lagg.c Mon Dec 27 05:47:24 2010(r216729) +++ stable/8/sys/net/if_lagg.c Mon Dec 27 06:59:59 2010(r216730) @@ -39,6 +39,7 @@ __FBSDID($FreeBSD$); #include sys/lock.h #include sys/rwlock.h #include sys/taskqueue.h +#include sys/eventhandler.h #include net/ethernet.h #include net/if.h @@ -204,6 +205,50 @@ static moduledata_t lagg_mod = { DECLARE_MODULE(if_lagg, lagg_mod, SI_SUB_PSEUDO, SI_ORDER_ANY); +#if __FreeBSD_version = 80 +/* + * This routine is run via an vlan + * config EVENT + */ +static void +lagg_register_vlan(void *arg, struct ifnet *ifp, u_int16_t vtag) +{ +struct lagg_softc *sc = ifp-if_softc; +struct lagg_port*lp; + +if (ifp-if_softc != arg) /* Not our event */ +return; + +LAGG_RLOCK(sc); +if (!SLIST_EMPTY(sc-sc_ports)) { +SLIST_FOREACH(lp, sc-sc_ports, lp_entries) +EVENTHANDLER_INVOKE(vlan_config, lp-lp_ifp, vtag); +} +LAGG_RUNLOCK(sc); +} + +/* + * This routine is run via an vlan + * unconfig EVENT + */ +static void +lagg_unregister_vlan(void *arg, struct ifnet *ifp, u_int16_t vtag) +{ +struct lagg_softc *sc = ifp-if_softc; +struct lagg_port*lp; + +if (ifp-if_softc != arg) /* Not our event */ +return; + +LAGG_RLOCK(sc); +if (!SLIST_EMPTY(sc-sc_ports)) { +SLIST_FOREACH(lp, sc-sc_ports, lp_entries) +EVENTHANDLER_INVOKE(vlan_unconfig, lp-lp_ifp, vtag); +} +LAGG_RUNLOCK(sc); +} +#endif + static int lagg_clone_create(struct if_clone *ifc, int unit, caddr_t params) { @@ -259,6 +304,13 @@ lagg_clone_create(struct if_clone *ifc, */ ether_ifattach(ifp, eaddr); +#if __FreeBSD_version = 80 + sc-vlan_attach = EVENTHANDLER_REGISTER(vlan_config, + lagg_register_vlan, sc, EVENTHANDLER_PRI_FIRST); + sc-vlan_detach = EVENTHANDLER_REGISTER(vlan_unconfig, + lagg_unregister_vlan, sc, EVENTHANDLER_PRI_FIRST); +#endif + /* Insert into the global list of laggs */ mtx_lock(lagg_list_mtx); SLIST_INSERT_HEAD(lagg_list, sc, sc_entries); @@ -278,6 +330,11 @@ lagg_clone_destroy(struct ifnet *ifp) lagg_stop(sc); ifp-if_flags = ~IFF_UP; +#if __FreeBSD_version = 80 + EVENTHANDLER_DEREGISTER(vlan_config, sc-vlan_attach); + EVENTHANDLER_DEREGISTER(vlan_unconfig, sc-vlan_detach); +#endif + /* Shutdown and remove lagg ports */ while ((lp = SLIST_FIRST(sc-sc_ports)) != NULL) lagg_port_destroy(lp, 1); Modified: stable/8/sys/net/if_lagg.h == --- stable/8/sys/net/if_lagg.h Mon Dec 27 05:47:24 2010(r216729) +++ stable/8/sys/net/if_lagg.h Mon Dec 27 06:59:59 2010(r216730) @@ -198,6 +198,10 @@ struct lagg_softc { void(*sc_lladdr)(struct lagg_softc *); void(*sc_req)(struct lagg_softc *, caddr_t); void(*sc_portreq)(struct lagg_port *, caddr_t); +#if __FreeBSD_version = 80 + eventhandler_tag vlan_attach; + eventhandler_tag vlan_detach; +#endif }; struct lagg_port { ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r216731 - head/sys/vm
Author: alc Date: Mon Dec 27 07:12:22 2010 New Revision: 216731 URL: http://svn.freebsd.org/changeset/base/216731 Log: Move vm_object_print()'s prototype to the expected place. Modified: head/sys/vm/vm_extern.h head/sys/vm/vm_object.h Modified: head/sys/vm/vm_extern.h == --- head/sys/vm/vm_extern.h Mon Dec 27 06:59:59 2010(r216730) +++ head/sys/vm/vm_extern.h Mon Dec 27 07:12:22 2010(r216731) @@ -83,8 +83,6 @@ void vmspace_exitfree(struct proc *); void vnode_pager_setsize(struct vnode *, vm_ooffset_t); int vslock(void *, size_t); void vsunlock(void *, size_t); -void vm_object_print(/* db_expr_t */ long, boolean_t, /* db_expr_t */ long, - char *); struct sf_buf *vm_imgact_map_page(vm_object_t object, vm_ooffset_t offset); void vm_imgact_unmap_page(struct sf_buf *sf); void vm_thread_dispose(struct thread *td); Modified: head/sys/vm/vm_object.h == --- head/sys/vm/vm_object.h Mon Dec 27 06:59:59 2010(r216730) +++ head/sys/vm/vm_object.h Mon Dec 27 07:12:22 2010(r216731) @@ -221,6 +221,7 @@ void vm_object_init (void); void vm_object_page_clean (vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t); void vm_object_page_remove (vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t); boolean_t vm_object_populate(vm_object_t, vm_pindex_t, vm_pindex_t); +void vm_object_print(long addr, boolean_t have_addr, long count, char *modif); void vm_object_reference (vm_object_t); void vm_object_reference_locked(vm_object_t); int vm_object_set_memattr(vm_object_t object, vm_memattr_t memattr); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org