From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 00:35:10 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B8BA2101; Sun, 6 Jan 2013 00:35:10 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9E649B62; Sun, 6 Jan 2013 00:35:10 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r060ZAdG025639; Sun, 6 Jan 2013 00:35:10 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r060ZAXP025638; Sun, 6 Jan 2013 00:35:10 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201301060035.r060ZAXP025638@svn.freebsd.org> From: Rick Macklem Date: Sun, 6 Jan 2013 00:35:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245081 - stable/9/usr.sbin/mountd X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 00:35:10 -0000 Author: rmacklem Date: Sun Jan 6 00:35:10 2013 New Revision: 245081 URL: http://svnweb.freebsd.org/changeset/base/245081 Log: MFC: r244689 Attempt to clarify that for ZFS, all file systems under the NFSv4 root must be exported. This is because ZFS checks exports itself. This is a content change. Modified: stable/9/usr.sbin/mountd/exports.5 Directory Properties: stable/9/usr.sbin/mountd/ (props changed) Modified: stable/9/usr.sbin/mountd/exports.5 ============================================================================== --- stable/9/usr.sbin/mountd/exports.5 Sat Jan 5 23:08:58 2013 (r245080) +++ stable/9/usr.sbin/mountd/exports.5 Sun Jan 6 00:35:10 2013 (r245081) @@ -28,7 +28,7 @@ .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 .\" $FreeBSD$ .\" -.Dd July 12, 2011 +.Dd December 23, 2012 .Dt EXPORTS 5 .Os .Sh NAME @@ -311,12 +311,15 @@ For the third form which specifies the N specifies the location within the server's file system tree which is the root of the NFSv4 tree. All entries of this form must specify the same directory path. -This location can be any directory and does not +For file systems other than ZFS, +this location can be any directory and does not need to be within an exported file system. If it is not in an exported file system, a very limited set of operations are permitted, so that an NFSv4 client can traverse the tree to an exported file system. Although parts of the NFSv4 tree can be non-exported, the entire NFSv4 tree must consist of local file systems capable of being exported via NFS. +All ZFS file systems in the subtree below the NFSv4 tree root must be +exported. NFSv4 does not use the mount protocol and does permit clients to cross server mount point boundaries, although not all clients are capable of crossing the mount points. From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 00:38:26 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 30271275; Sun, 6 Jan 2013 00:38:26 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1CE44B71; Sun, 6 Jan 2013 00:38:26 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r060cPos026103; Sun, 6 Jan 2013 00:38:25 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r060cP3V026102; Sun, 6 Jan 2013 00:38:25 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201301060038.r060cP3V026102@svn.freebsd.org> From: Rick Macklem Date: Sun, 6 Jan 2013 00:38:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245082 - stable/9/usr.sbin/nfsd X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 00:38:26 -0000 Author: rmacklem Date: Sun Jan 6 00:38:25 2013 New Revision: 245082 URL: http://svnweb.freebsd.org/changeset/base/245082 Log: MFC: r244690 Attempt to clarify that for ZFS, all file systems under the NFSv4 root must be exported. This is because ZFS checks exports itself. This is a content change. Modified: stable/9/usr.sbin/nfsd/nfsv4.4 Directory Properties: stable/9/usr.sbin/nfsd/ (props changed) Modified: stable/9/usr.sbin/nfsd/nfsv4.4 ============================================================================== --- stable/9/usr.sbin/nfsd/nfsv4.4 Sun Jan 6 00:35:10 2013 (r245081) +++ stable/9/usr.sbin/nfsd/nfsv4.4 Sun Jan 6 00:38:25 2013 (r245082) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 15, 2011 +.Dd December 23, 2012 .Dt NFSV4 4 .Os .Sh NAME @@ -98,6 +98,8 @@ allows a limited subset of operations to of the local file system, so that traversal of the tree to the exported subtrees is possible. As such, the ``'' can be in a non-exported file system. +The exception is ZFS, which checks exports and, as such, all ZFS file systems +below the ``'' must be exported. However, the entire tree that is rooted at that point must be in local file systems that are of types that can be NFS exported. From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 00:42:10 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 30C903F8; Sun, 6 Jan 2013 00:42:10 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 22E17BDB; Sun, 6 Jan 2013 00:42:10 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r060gA02028168; Sun, 6 Jan 2013 00:42:10 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r060g9QD028166; Sun, 6 Jan 2013 00:42:09 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201301060042.r060g9QD028166@svn.freebsd.org> From: Andrew Turner Date: Sun, 6 Jan 2013 00:42:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245083 - in head/sys/arm: arm include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 00:42:10 -0000 Author: andrew Date: Sun Jan 6 00:42:09 2013 New Revision: 245083 URL: http://svnweb.freebsd.org/changeset/base/245083 Log: Only work around errata when we are on a part where the erratum applies. Reviewed by: gonzo Modified: head/sys/arm/arm/pl310.c head/sys/arm/include/pl310.h Modified: head/sys/arm/arm/pl310.c ============================================================================== --- head/sys/arm/arm/pl310.c Sun Jan 6 00:38:25 2013 (r245082) +++ head/sys/arm/arm/pl310.c Sun Jan 6 00:42:09 2013 (r245083) @@ -135,11 +135,12 @@ pl310_cache_sync(void) return; #ifdef PL310_ERRATA_753970 - /* Write uncached PL310 register */ - pl310_write4(pl310_softc, 0x740, 0xffffffff); -#else - pl310_write4(pl310_softc, PL310_CACHE_SYNC, 0xffffffff); + if (sc->sc_rtl_release == CACHE_ID_RELEASE_r3p0) + /* Write uncached PL310 register */ + pl310_write4(pl310_softc, 0x740, 0xffffffff); + else #endif + pl310_write4(pl310_softc, PL310_CACHE_SYNC, 0xffffffff); } @@ -152,13 +153,17 @@ pl310_wbinv_all(void) PL310_LOCK(pl310_softc); #ifdef PL310_ERRATA_727915 - platform_pl310_write_debug(pl310_softc, 3); + if (sc->sc_rtl_release == CACHE_ID_RELEASE_r2p0 || + sc->sc_rtl_release == CACHE_ID_RELEASE_r3p0) + platform_pl310_write_debug(pl310_softc, 3); #endif pl310_write4(pl310_softc, PL310_CLEAN_INV_WAY, g_l2cache_way_mask); pl310_wait_background_op(PL310_CLEAN_INV_WAY, g_l2cache_way_mask); pl310_cache_sync(); #ifdef PL310_ERRATA_727915 - platform_pl310_write_debug(pl310_softc, 0); + if (sc->sc_rtl_release == CACHE_ID_RELEASE_r2p0 || + sc->sc_rtl_release == CACHE_ID_RELEASE_r3p0) + platform_pl310_write_debug(pl310_softc, 0); #endif PL310_UNLOCK(pl310_softc); } @@ -182,27 +187,32 @@ pl310_wbinv_range(vm_paddr_t start, vm_s #ifdef PL310_ERRATA_727915 - platform_pl310_write_debug(pl310_softc, 3); + if (sc->sc_rtl_release == CACHE_ID_RELEASE_r2p0 || + sc->sc_rtl_release == CACHE_ID_RELEASE_r3p0) + platform_pl310_write_debug(pl310_softc, 3); #endif while (size > 0) { #ifdef PL310_ERRATA_588369 - /* - * Errata 588369 says that clean + inv may keep the - * cache line if it was clean, the recommanded workaround - * is to clean then invalidate the cache line, with - * write-back and cache linefill disabled - */ - - pl310_write4(pl310_softc, PL310_CLEAN_LINE_PA, start); - pl310_write4(pl310_softc, PL310_INV_LINE_PA, start); -#else - pl310_write4(pl310_softc, PL310_CLEAN_INV_LINE_PA, start); + if (sc->sc_rtl_release <= CACHE_ID_RELEASE_r1p0) { + /* + * Errata 588369 says that clean + inv may keep the + * cache line if it was clean, the recommanded + * workaround is to clean then invalidate the cache + * line, with write-back and cache linefill disabled. + */ + pl310_write4(pl310_softc, PL310_CLEAN_LINE_PA, start); + pl310_write4(pl310_softc, PL310_INV_LINE_PA, start); + } else #endif + pl310_write4(pl310_softc, PL310_CLEAN_INV_LINE_PA, + start); start += g_l2cache_line_size; size -= g_l2cache_line_size; } #ifdef PL310_ERRATA_727915 - platform_pl310_write_debug(pl310_softc, 0); + if (sc->sc_rtl_release == CACHE_ID_RELEASE_r2p0 || + sc->sc_rtl_release == CACHE_ID_RELEASE_r3p0) + platform_pl310_write_debug(pl310_softc, 0); #endif pl310_cache_sync(); @@ -307,6 +317,8 @@ pl310_attach(device_t dev) pl310_filter, NULL, sc, &sc->sc_irq_h); cache_id = pl310_read4(sc, PL310_CACHE_ID); + sc->sc_rtl_release = (cache_id >> CACHE_ID_RELEASE_SHIFT) & + CACHE_ID_RELEASE_MASK; device_printf(dev, "Part number: 0x%x, release: 0x%x\n", (cache_id >> CACHE_ID_PARTNUM_SHIFT) & CACHE_ID_PARTNUM_MASK, (cache_id >> CACHE_ID_RELEASE_SHIFT) & CACHE_ID_RELEASE_MASK); Modified: head/sys/arm/include/pl310.h ============================================================================== --- head/sys/arm/include/pl310.h Sun Jan 6 00:38:25 2013 (r245082) +++ head/sys/arm/include/pl310.h Sun Jan 6 00:42:09 2013 (r245083) @@ -131,6 +131,7 @@ struct pl310_softc { void* sc_irq_h; int sc_enabled; struct mtx sc_mtx; + u_int sc_rtl_revision; }; /** From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 00:49:06 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CAFC664E; Sun, 6 Jan 2013 00:49:06 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B3359C22; Sun, 6 Jan 2013 00:49:06 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r060n6mP029131; Sun, 6 Jan 2013 00:49:06 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r060n6tk029130; Sun, 6 Jan 2013 00:49:06 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201301060049.r060n6tk029130@svn.freebsd.org> From: Andrew Turner Date: Sun, 6 Jan 2013 00:49:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245084 - head/lib/libc/arm/softfloat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 00:49:06 -0000 Author: andrew Date: Sun Jan 6 00:49:06 2013 New Revision: 245084 URL: http://svnweb.freebsd.org/changeset/base/245084 Log: Silence a clang warning by telling it we are only interested in left shifting the lower 32bits of the floating point value when we demangle it. Modified: head/lib/libc/arm/softfloat/arm-gcc.h Modified: head/lib/libc/arm/softfloat/arm-gcc.h ============================================================================== --- head/lib/libc/arm/softfloat/arm-gcc.h Sun Jan 6 00:42:09 2013 (r245083) +++ head/lib/libc/arm/softfloat/arm-gcc.h Sun Jan 6 00:49:06 2013 (r245084) @@ -95,7 +95,7 @@ what the endianness of the CPU. VFP is #define FLOAT64_DEMANGLE(a) (a) #define FLOAT64_MANGLE(a) (a) #else -#define FLOAT64_DEMANGLE(a) (((a) << 32) | ((a) >> 32)) +#define FLOAT64_DEMANGLE(a) ((((a) & 0xfffffffful) << 32) | ((a) >> 32)) #define FLOAT64_MANGLE(a) FLOAT64_DEMANGLE(a) #endif #endif From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 01:11:46 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B34D3B9B; Sun, 6 Jan 2013 01:11:46 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8E602D15; Sun, 6 Jan 2013 01:11:46 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r061Bk67037479; Sun, 6 Jan 2013 01:11:46 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r061BkJd037478; Sun, 6 Jan 2013 01:11:46 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201301060111.r061BkJd037478@svn.freebsd.org> From: Rick Macklem Date: Sun, 6 Jan 2013 01:11:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r245086 - stable/8/sys/kern X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 01:11:46 -0000 Author: rmacklem Date: Sun Jan 6 01:11:45 2013 New Revision: 245086 URL: http://svnweb.freebsd.org/changeset/base/245086 Log: MFC: r244226 The group list for a non-default export entry (a host/subnet one) was being copied from the wrong place. This patch fixes that. This could cause access failures for mapped users, when the group permissions were needed. Submitted by: Christopher Key Modified: stable/8/sys/kern/vfs_export.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/kern/ (props changed) Modified: stable/8/sys/kern/vfs_export.c ============================================================================== --- stable/8/sys/kern/vfs_export.c Sun Jan 6 01:01:57 2013 (r245085) +++ stable/8/sys/kern/vfs_export.c Sun Jan 6 01:11:45 2013 (r245086) @@ -208,7 +208,7 @@ vfs_hang_addrlist(struct mount *mp, stru np->netc_anon = crget(); np->netc_anon->cr_uid = argp->ex_anon.cr_uid; crsetgroups(np->netc_anon, argp->ex_anon.cr_ngroups, - np->netc_anon->cr_groups); + argp->ex_anon.cr_groups); np->netc_anon->cr_prison = &prison0; prison_hold(np->netc_anon->cr_prison); np->netc_numsecflavors = argp->ex_numsecflavors; From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 01:17:37 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A281DD1C; Sun, 6 Jan 2013 01:17:37 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 85B75D30; Sun, 6 Jan 2013 01:17:37 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r061HbfQ038271; Sun, 6 Jan 2013 01:17:37 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r061HbVK038270; Sun, 6 Jan 2013 01:17:37 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201301060117.r061HbVK038270@svn.freebsd.org> From: Andrew Turner Date: Sun, 6 Jan 2013 01:17:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245087 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 01:17:37 -0000 Author: andrew Date: Sun Jan 6 01:17:36 2013 New Revision: 245087 URL: http://svnweb.freebsd.org/changeset/base/245087 Log: Fix the build: * Use pl310_softc when the softc is otherwise unavailable. * Use the correct spelling of sc_rtl_revision. Modified: head/sys/arm/arm/pl310.c Modified: head/sys/arm/arm/pl310.c ============================================================================== --- head/sys/arm/arm/pl310.c Sun Jan 6 01:11:45 2013 (r245086) +++ head/sys/arm/arm/pl310.c Sun Jan 6 01:17:36 2013 (r245087) @@ -135,7 +135,7 @@ pl310_cache_sync(void) return; #ifdef PL310_ERRATA_753970 - if (sc->sc_rtl_release == CACHE_ID_RELEASE_r3p0) + if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0) /* Write uncached PL310 register */ pl310_write4(pl310_softc, 0x740, 0xffffffff); else @@ -153,16 +153,16 @@ pl310_wbinv_all(void) PL310_LOCK(pl310_softc); #ifdef PL310_ERRATA_727915 - if (sc->sc_rtl_release == CACHE_ID_RELEASE_r2p0 || - sc->sc_rtl_release == CACHE_ID_RELEASE_r3p0) + if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r2p0 || + pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0) platform_pl310_write_debug(pl310_softc, 3); #endif pl310_write4(pl310_softc, PL310_CLEAN_INV_WAY, g_l2cache_way_mask); pl310_wait_background_op(PL310_CLEAN_INV_WAY, g_l2cache_way_mask); pl310_cache_sync(); #ifdef PL310_ERRATA_727915 - if (sc->sc_rtl_release == CACHE_ID_RELEASE_r2p0 || - sc->sc_rtl_release == CACHE_ID_RELEASE_r3p0) + if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r2p0 || + pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0) platform_pl310_write_debug(pl310_softc, 0); #endif PL310_UNLOCK(pl310_softc); @@ -187,13 +187,13 @@ pl310_wbinv_range(vm_paddr_t start, vm_s #ifdef PL310_ERRATA_727915 - if (sc->sc_rtl_release == CACHE_ID_RELEASE_r2p0 || - sc->sc_rtl_release == CACHE_ID_RELEASE_r3p0) + if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r2p0 || + pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0) platform_pl310_write_debug(pl310_softc, 3); #endif while (size > 0) { #ifdef PL310_ERRATA_588369 - if (sc->sc_rtl_release <= CACHE_ID_RELEASE_r1p0) { + if (pl310_softc->sc_rtl_revision <= CACHE_ID_RELEASE_r1p0) { /* * Errata 588369 says that clean + inv may keep the * cache line if it was clean, the recommanded @@ -210,8 +210,8 @@ pl310_wbinv_range(vm_paddr_t start, vm_s size -= g_l2cache_line_size; } #ifdef PL310_ERRATA_727915 - if (sc->sc_rtl_release == CACHE_ID_RELEASE_r2p0 || - sc->sc_rtl_release == CACHE_ID_RELEASE_r3p0) + if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r2p0 || + pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0) platform_pl310_write_debug(pl310_softc, 0); #endif @@ -317,7 +317,7 @@ pl310_attach(device_t dev) pl310_filter, NULL, sc, &sc->sc_irq_h); cache_id = pl310_read4(sc, PL310_CACHE_ID); - sc->sc_rtl_release = (cache_id >> CACHE_ID_RELEASE_SHIFT) & + sc->sc_rtl_revision = (cache_id >> CACHE_ID_RELEASE_SHIFT) & CACHE_ID_RELEASE_MASK; device_printf(dev, "Part number: 0x%x, release: 0x%x\n", (cache_id >> CACHE_ID_PARTNUM_SHIFT) & CACHE_ID_PARTNUM_MASK, From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 01:17:59 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1D04BE83; Sun, 6 Jan 2013 01:17:59 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EAD2BD34; Sun, 6 Jan 2013 01:17:58 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r061HwpM038348; Sun, 6 Jan 2013 01:17:58 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r061HwmI038347; Sun, 6 Jan 2013 01:17:58 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201301060117.r061HwmI038347@svn.freebsd.org> From: Rick Macklem Date: Sun, 6 Jan 2013 01:17:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r245088 - stable/8/usr.sbin/gssd X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 01:17:59 -0000 Author: rmacklem Date: Sun Jan 6 01:17:58 2013 New Revision: 245088 URL: http://svnweb.freebsd.org/changeset/base/245088 Log: MFC: r244331 Fix the gssd daemon so that it uses syslog() to report an error instead of calling err() when it is daemonized, so that the error gets logged. Modified: stable/8/usr.sbin/gssd/gssd.c Directory Properties: stable/8/usr.sbin/gssd/ (props changed) Modified: stable/8/usr.sbin/gssd/gssd.c ============================================================================== --- stable/8/usr.sbin/gssd/gssd.c Sun Jan 6 01:17:36 2013 (r245087) +++ stable/8/usr.sbin/gssd/gssd.c Sun Jan 6 01:17:58 2013 (r245088) @@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -106,21 +107,43 @@ main(int argc, char **argv) sun.sun_len = SUN_LEN(&sun); fd = socket(AF_LOCAL, SOCK_STREAM, 0); if (!fd) { + if (debug_level == 0) { + syslog(LOG_ERR, "Can't create local gssd socket"); + exit(1); + } err(1, "Can't create local gssd socket"); } oldmask = umask(S_IXUSR|S_IRWXG|S_IRWXO); if (bind(fd, (struct sockaddr *) &sun, sun.sun_len) < 0) { + if (debug_level == 0) { + syslog(LOG_ERR, "Can't bind local gssd socket"); + exit(1); + } err(1, "Can't bind local gssd socket"); } umask(oldmask); if (listen(fd, SOMAXCONN) < 0) { + if (debug_level == 0) { + syslog(LOG_ERR, "Can't listen on local gssd socket"); + exit(1); + } err(1, "Can't listen on local gssd socket"); } xprt = svc_vc_create(fd, RPC_MAXDATASIZE, RPC_MAXDATASIZE); if (!xprt) { + if (debug_level == 0) { + syslog(LOG_ERR, + "Can't create transport for local gssd socket"); + exit(1); + } err(1, "Can't create transport for local gssd socket"); } if (!svc_reg(xprt, GSSD, GSSDVERS, gssd_1, NULL)) { + if (debug_level == 0) { + syslog(LOG_ERR, + "Can't register service for local gssd socket"); + exit(1); + } err(1, "Can't register service for local gssd socket"); } From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 01:41:15 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 903201B9; Sun, 6 Jan 2013 01:41:15 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 65C8CD9B; Sun, 6 Jan 2013 01:41:15 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r061fFbZ046039; Sun, 6 Jan 2013 01:41:15 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r061fFCB046037; Sun, 6 Jan 2013 01:41:15 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201301060141.r061fFCB046037@svn.freebsd.org> From: Rick Macklem Date: Sun, 6 Jan 2013 01:41:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245089 - stable/9/usr.sbin/gssd X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 01:41:15 -0000 Author: rmacklem Date: Sun Jan 6 01:41:14 2013 New Revision: 245089 URL: http://svnweb.freebsd.org/changeset/base/245089 Log: MFC: r244604, r244638, r245014 It was reported via email that some sshds create kerberos credential cache files with names other than /tmp/krb5cc_. The gssd daemon does not know how to find these credential caches. This patch implements a new option "-s" that does a search for credential cache files, using roughly the same algorithm as the gssd daemon for Linux uses. The gssd behaviour is only changed if the new "-s" option is specified. Modified: stable/9/usr.sbin/gssd/Makefile stable/9/usr.sbin/gssd/gssd.c Directory Properties: stable/9/usr.sbin/gssd/ (props changed) Modified: stable/9/usr.sbin/gssd/Makefile ============================================================================== --- stable/9/usr.sbin/gssd/Makefile Sun Jan 6 01:17:58 2013 (r245088) +++ stable/9/usr.sbin/gssd/Makefile Sun Jan 6 01:41:14 2013 (r245089) @@ -1,5 +1,7 @@ # $FreeBSD$ +.include + PROG= gssd MAN= gssd.8 SRCS= gssd.c gssd.h gssd_svc.c gssd_xdr.c gssd_prot.c @@ -9,6 +11,12 @@ WARNS?= 1 DPADD= ${LIBGSSAPI} LDADD= -lgssapi +.if ${MK_KERBEROS_SUPPORT} != "no" +DPADD+= ${LIBKRB5} ${LIBHX509} ${LIBASN1} ${LIBROKEN} ${LIBCOM_ERR} ${LIBCRYPT} ${LIBCRYPTO} +LDADD+= -lkrb5 -lhx509 -lasn1 -lroken -lcom_err -lcrypt -lcrypto +.else +CFLAGS+= -DWITHOUT_KERBEROS +.endif CLEANFILES= gssd_svc.c gssd.h Modified: stable/9/usr.sbin/gssd/gssd.c ============================================================================== --- stable/9/usr.sbin/gssd/gssd.c Sun Jan 6 01:17:58 2013 (r245088) +++ stable/9/usr.sbin/gssd/gssd.c Sun Jan 6 01:41:14 2013 (r245089) @@ -35,7 +35,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#ifndef WITHOUT_KERBEROS +#include +#endif #include #include #include @@ -64,8 +68,12 @@ int gss_resource_count; uint32_t gss_next_id; uint32_t gss_start_time; int debug_level; +static char ccfile_dirlist[PATH_MAX + 1], ccfile_substring[NAME_MAX + 1]; +static char pref_realm[1024]; static void gssd_load_mech(void); +static int find_ccache_file(const char *, uid_t, char *); +static int is_a_valid_tgt_cache(const char *, uid_t, int *, time_t *); extern void gssd_1(struct svc_req *rqstp, SVCXPRT *transp); extern int gssd_syscall(char *path); @@ -82,14 +90,50 @@ main(int argc, char **argv) int fd, oldmask, ch, debug; SVCXPRT *xprt; + /* + * Initialize the credential cache file name substring and the + * search directory list. + */ + strlcpy(ccfile_substring, "krb5cc_", sizeof(ccfile_substring)); + ccfile_dirlist[0] = '\0'; + pref_realm[0] = '\0'; debug = 0; - while ((ch = getopt(argc, argv, "d")) != -1) { + while ((ch = getopt(argc, argv, "ds:c:r:")) != -1) { switch (ch) { case 'd': debug_level++; break; + case 's': +#ifndef WITHOUT_KERBEROS + /* + * Set the directory search list. This enables use of + * find_ccache_file() to search the directories for a + * suitable credentials cache file. + */ + strlcpy(ccfile_dirlist, optarg, sizeof(ccfile_dirlist)); +#else + errx(1, "This option not available when built" + " without MK_KERBEROS\n"); +#endif + break; + case 'c': + /* + * Specify a non-default credential cache file + * substring. + */ + strlcpy(ccfile_substring, optarg, + sizeof(ccfile_substring)); + break; + case 'r': + /* + * Set the preferred realm for the credential cache tgt. + */ + strlcpy(pref_realm, optarg, sizeof(pref_realm)); + break; default: - fprintf(stderr, "usage: %s [-d]\n", argv[0]); + fprintf(stderr, + "usage: %s [-d] [-s dir-list] [-c file-substring]" + " [-r preferred-realm]\n", argv[0]); exit(1); break; } @@ -267,13 +311,52 @@ gssd_init_sec_context_1_svc(init_sec_con gss_cred_id_t cred = GSS_C_NO_CREDENTIAL; gss_ctx_id_t ctx = GSS_C_NO_CONTEXT; gss_name_t name = GSS_C_NO_NAME; - char ccname[strlen("FILE:/tmp/krb5cc_") + 6 + 1]; + char ccname[PATH_MAX + 5 + 1], *cp, *cp2; + int gotone; - snprintf(ccname, sizeof(ccname), "FILE:/tmp/krb5cc_%d", - (int) argp->uid); + memset(result, 0, sizeof(*result)); + if (ccfile_dirlist[0] != '\0' && argp->cred == 0) { + /* + * For the "-s" case and no credentials provided as an + * argument, search the directory list for an appropriate + * credential cache file. If the search fails, return failure. + */ + gotone = 0; + cp = ccfile_dirlist; + do { + cp2 = strchr(cp, ':'); + if (cp2 != NULL) + *cp2 = '\0'; + gotone = find_ccache_file(cp, argp->uid, ccname); + if (gotone != 0) + break; + if (cp2 != NULL) + *cp2++ = ':'; + cp = cp2; + } while (cp != NULL && *cp != '\0'); + if (gotone == 0) { + result->major_status = GSS_S_CREDENTIALS_EXPIRED; + return (TRUE); + } + } else { + /* + * If there wasn't a "-s" option or the credentials have + * been provided as an argument, do it the old way. + * When credentials are provided, the uid should be root. + */ + if (argp->cred != 0 && argp->uid != 0) { + if (debug_level == 0) + syslog(LOG_ERR, "gss_init_sec_context:" + " cred for non-root"); + else + fprintf(stderr, "gss_init_sec_context:" + " cred for non-root\n"); + } + snprintf(ccname, sizeof(ccname), "FILE:/tmp/krb5cc_%d", + (int) argp->uid); + } setenv("KRB5CCNAME", ccname, TRUE); - memset(result, 0, sizeof(*result)); if (argp->cred) { cred = gssd_find_resource(argp->cred); if (!cred) { @@ -296,7 +379,6 @@ gssd_init_sec_context_1_svc(init_sec_con } } - memset(result, 0, sizeof(*result)); result->major_status = gss_init_sec_context(&result->minor_status, cred, &ctx, name, argp->mech_type, argp->req_flags, argp->time_req, argp->input_chan_bindings, @@ -516,13 +598,53 @@ gssd_acquire_cred_1_svc(acquire_cred_arg { gss_name_t desired_name = GSS_C_NO_NAME; gss_cred_id_t cred; - char ccname[strlen("FILE:/tmp/krb5cc_") + 6 + 1]; + char ccname[PATH_MAX + 5 + 1], *cp, *cp2; + int gotone; - snprintf(ccname, sizeof(ccname), "FILE:/tmp/krb5cc_%d", - (int) argp->uid); + memset(result, 0, sizeof(*result)); + if (ccfile_dirlist[0] != '\0' && argp->desired_name == 0) { + /* + * For the "-s" case and no name provided as an + * argument, search the directory list for an appropriate + * credential cache file. If the search fails, return failure. + */ + gotone = 0; + cp = ccfile_dirlist; + do { + cp2 = strchr(cp, ':'); + if (cp2 != NULL) + *cp2 = '\0'; + gotone = find_ccache_file(cp, argp->uid, ccname); + if (gotone != 0) + break; + if (cp2 != NULL) + *cp2++ = ':'; + cp = cp2; + } while (cp != NULL && *cp != '\0'); + if (gotone == 0) { + result->major_status = GSS_S_CREDENTIALS_EXPIRED; + return (TRUE); + } + } else { + /* + * If there wasn't a "-s" option or the name has + * been provided as an argument, do it the old way. + * When a name is provided, it will normally exist in the + * default keytab file and the uid will be root. + */ + if (argp->desired_name != 0 && argp->uid != 0) { + if (debug_level == 0) + syslog(LOG_ERR, "gss_acquire_cred:" + " principal_name for non-root"); + else + fprintf(stderr, "gss_acquire_cred:" + " principal_name for non-root\n"); + } + snprintf(ccname, sizeof(ccname), "FILE:/tmp/krb5cc_%d", + (int) argp->uid); + } setenv("KRB5CCNAME", ccname, TRUE); - memset(result, 0, sizeof(*result)); if (argp->desired_name) { desired_name = gssd_find_resource(argp->desired_name); if (!desired_name) { @@ -631,3 +753,176 @@ gssd_1_freeresult(SVCXPRT *transp, xdrpr return (TRUE); } + +/* + * Search a directory for the most likely candidate to be used as the + * credential cache for a uid. If successful, return 1 and fill the + * file's path id into "rpath". Otherwise, return 0. + */ +static int +find_ccache_file(const char *dirpath, uid_t uid, char *rpath) +{ + DIR *dirp; + struct dirent *dp; + struct stat sb; + time_t exptime, oexptime; + int gotone, len, rating, orating; + char namepath[PATH_MAX + 5 + 1]; + char retpath[PATH_MAX + 5 + 1]; + + dirp = opendir(dirpath); + if (dirp == NULL) + return (0); + gotone = 0; + orating = 0; + oexptime = 0; + while ((dp = readdir(dirp)) != NULL) { + len = snprintf(namepath, sizeof(namepath), "%s/%s", dirpath, + dp->d_name); + if (len < sizeof(namepath) && + strstr(dp->d_name, ccfile_substring) != NULL && + lstat(namepath, &sb) >= 0 && + sb.st_uid == uid && + S_ISREG(sb.st_mode)) { + len = snprintf(namepath, sizeof(namepath), "FILE:%s/%s", + dirpath, dp->d_name); + if (len < sizeof(namepath) && + is_a_valid_tgt_cache(namepath, uid, &rating, + &exptime) != 0) { + if (gotone == 0 || rating > orating || + (rating == orating && exptime > oexptime)) { + orating = rating; + oexptime = exptime; + strcpy(retpath, namepath); + gotone = 1; + } + } + } + } + closedir(dirp); + if (gotone != 0) { + strcpy(rpath, retpath); + return (1); + } + return (0); +} + +/* + * Try to determine if the file is a valid tgt cache file. + * Check that the file has a valid tgt for a principal. + * If it does, return 1, otherwise return 0. + * It also returns a "rating" and the expiry time for the TGT, when found. + * This "rating" is higher based on heuristics that make it more + * likely to be the correct credential cache file to use. It can + * be used by the caller, along with expiry time, to select from + * multiple credential cache files. + */ +static int +is_a_valid_tgt_cache(const char *filepath, uid_t uid, int *retrating, + time_t *retexptime) +{ +#ifndef WITHOUT_KERBEROS + krb5_context context; + krb5_principal princ; + krb5_ccache ccache; + krb5_error_code retval; + krb5_cc_cursor curse; + krb5_creds krbcred; + int gotone, orating, rating, ret; + struct passwd *pw; + char *cp, *cp2, *pname; + time_t exptime; + + /* Find a likely name for the uid principal. */ + pw = getpwuid(uid); + + /* + * Do a bunch of krb5 library stuff to try and determine if + * this file is a credentials cache with an appropriate TGT + * in it. + */ + retval = krb5_init_context(&context); + if (retval != 0) + return (0); + retval = krb5_cc_resolve(context, filepath, &ccache); + if (retval != 0) { + krb5_free_context(context); + return (0); + } + ret = 0; + orating = 0; + exptime = 0; + retval = krb5_cc_start_seq_get(context, ccache, &curse); + if (retval == 0) { + while ((retval = krb5_cc_next_cred(context, ccache, &curse, + &krbcred)) == 0) { + gotone = 0; + rating = 0; + retval = krb5_unparse_name(context, krbcred.server, + &pname); + if (retval == 0) { + cp = strchr(pname, '/'); + if (cp != NULL) { + *cp++ = '\0'; + if (strcmp(pname, "krbtgt") == 0 && + krbcred.times.endtime > time(NULL) + ) { + gotone = 1; + /* + * Test to see if this is a + * tgt for cross-realm auth. + * Rate it higher, if it is not. + */ + cp2 = strchr(cp, '@'); + if (cp2 != NULL) { + *cp2++ = '\0'; + if (strcmp(cp, cp2) == + 0) + rating++; + } + } + } + free(pname); + } + if (gotone != 0) { + retval = krb5_unparse_name(context, + krbcred.client, &pname); + if (retval == 0) { + cp = strchr(pname, '@'); + if (cp != NULL) { + *cp++ = '\0'; + if (pw != NULL && strcmp(pname, + pw->pw_name) == 0) + rating++; + if (strchr(pname, '/') == NULL) + rating++; + if (pref_realm[0] != '\0' && + strcmp(cp, pref_realm) == 0) + rating++; + } + } + free(pname); + if (rating > orating) { + orating = rating; + exptime = krbcred.times.endtime; + } else if (rating == orating && + krbcred.times.endtime > exptime) + exptime = krbcred.times.endtime; + ret = 1; + } + krb5_free_cred_contents(context, &krbcred); + } + krb5_cc_end_seq_get(context, ccache, &curse); + } + krb5_cc_close(context, ccache); + krb5_free_context(context); + if (ret != 0) { + *retrating = orating; + *retexptime = exptime; + } + return (ret); +#else /* WITHOUT_KERBEROS */ + return (0); +#endif /* !WITHOUT_KERBEROS */ +} + From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 01:46:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 549583D5; Sun, 6 Jan 2013 01:46:02 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 46504DBD; Sun, 6 Jan 2013 01:46:02 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r061k2eW046719; Sun, 6 Jan 2013 01:46:02 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r061k2tO046718; Sun, 6 Jan 2013 01:46:02 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201301060146.r061k2tO046718@svn.freebsd.org> From: Rick Macklem Date: Sun, 6 Jan 2013 01:46:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245090 - stable/9/usr.sbin/gssd X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 01:46:02 -0000 Author: rmacklem Date: Sun Jan 6 01:46:01 2013 New Revision: 245090 URL: http://svnweb.freebsd.org/changeset/base/245090 Log: MFC: r244605 Document the new gssd daemon options added by r244604. This is a content change. Modified: stable/9/usr.sbin/gssd/gssd.8 Directory Properties: stable/9/usr.sbin/gssd/ (props changed) Modified: stable/9/usr.sbin/gssd/gssd.8 ============================================================================== --- stable/9/usr.sbin/gssd/gssd.8 Sun Jan 6 01:41:14 2013 (r245089) +++ stable/9/usr.sbin/gssd/gssd.8 Sun Jan 6 01:46:01 2013 (r245090) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 5, 2008 +.Dd December 22, 2012 .Dt GSSD 8 .Os .Sh NAME @@ -34,6 +34,9 @@ .Sh SYNOPSIS .Nm .Op Fl d +.Op Fl s Ar dir-list +.Op Fl c Ar file-substring +.Op Fl r Ar preferred-realm .Sh DESCRIPTION The .Nm @@ -46,6 +49,29 @@ Run in debug mode. In this mode, .Nm will not fork when it starts. +.It Fl s Ar dir-list +Look for an appropriate credential cache file in this list of directories. +The list should be full pathnames from root, separated by ':' characters. +Usually this list will simply be "/tmp". +Without this option, the +.Nm +daemon assumes that the credential cache file is called /tmp/krb5cc_, +where is the effective uid for the RPC caller. +.It Fl c Ar file-substring +Set a file-substring for the credential cache file names. +Only files with this substring embedded in their names will be +selected as candidates when the +.Fl s +has been specified. +If not specified, it defaults to "krb5cc_". +.It Fl r Ar preferred-realm +Set a preferred Kerberos realm for the search of the directory list for +a credentials cache file. +When set, files with TGT credentials for this realm will be selected over +other credential files. +This option is only meaningful when the +.Fl s +option has been specified. .El .Sh FILES .Bl -tag -width ".Pa /etc/krb5.keytab" -compact From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 02:50:39 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B5443B65; Sun, 6 Jan 2013 02:50:39 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9D951EE1; Sun, 6 Jan 2013 02:50:39 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r062odqh066552; Sun, 6 Jan 2013 02:50:39 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r062odnl066551; Sun, 6 Jan 2013 02:50:39 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201301060250.r062odnl066551@svn.freebsd.org> From: Andrew Turner Date: Sun, 6 Jan 2013 02:50:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245091 - head/bin/ls X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 02:50:39 -0000 Author: andrew Date: Sun Jan 6 02:50:38 2013 New Revision: 245091 URL: http://svnweb.freebsd.org/changeset/base/245091 Log: When WCHAR_MIN == 0 the check if a wchar_t value will always be true. In this case skip the test as gcc complains it is always true. Modified: head/bin/ls/util.c Modified: head/bin/ls/util.c ============================================================================== --- head/bin/ls/util.c Sun Jan 6 01:46:01 2013 (r245090) +++ head/bin/ls/util.c Sun Jan 6 02:50:38 2013 (r245091) @@ -184,7 +184,10 @@ prn_octal(const char *s) for (i = 0; i < (int)clen; i++) putchar((unsigned char)s[i]); len += wcwidth(wc); - } else if (goodchar && f_octal_escape && wc >= 0 && + } else if (goodchar && f_octal_escape && +#if WCHAR_MIN < 0 + wc >= 0 && +#endif wc <= (wchar_t)UCHAR_MAX && (p = strchr(esc, (char)wc)) != NULL) { putchar('\\'); From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 03:08:28 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7951B134; Sun, 6 Jan 2013 03:08:28 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 61B1CFB7; Sun, 6 Jan 2013 03:08:28 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0638SVQ071564; Sun, 6 Jan 2013 03:08:28 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0638SA3071563; Sun, 6 Jan 2013 03:08:28 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201301060308.r0638SA3071563@svn.freebsd.org> From: Andrew Turner Date: Sun, 6 Jan 2013 03:08:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245093 - head/usr.bin/ul X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 03:08:28 -0000 Author: andrew Date: Sun Jan 6 03:08:27 2013 New Revision: 245093 URL: http://svnweb.freebsd.org/changeset/base/245093 Log: Fix a signed/unsigned comparison when wchar_t is unsigned by casting the wchar_t to a wint_t. Modified: head/usr.bin/ul/ul.c Modified: head/usr.bin/ul/ul.c ============================================================================== --- head/usr.bin/ul/ul.c Sun Jan 6 02:52:23 2013 (r245092) +++ head/usr.bin/ul/ul.c Sun Jan 6 03:08:27 2013 (r245093) @@ -280,7 +280,7 @@ filter(FILE *f) obuf[col].c_width = w; for (i = 1; i < w; i++) obuf[col + i].c_width = -1; - } else if (obuf[col].c_char == c) { + } else if ((wint_t)obuf[col].c_char == c) { for (i = 0; i < w; i++) obuf[col + i].c_mode |= BOLD|mode; } else { From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 04:38:32 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7B3FDA6B; Sun, 6 Jan 2013 04:38:32 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5D3871C0; Sun, 6 Jan 2013 04:38:32 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r064cWZF098425; Sun, 6 Jan 2013 04:38:32 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r064cW9U098424; Sun, 6 Jan 2013 04:38:32 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201301060438.r064cW9U098424@svn.freebsd.org> From: Adrian Chadd Date: Sun, 6 Jan 2013 04:38:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245097 - head/sys/net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 04:38:32 -0000 Author: adrian Date: Sun Jan 6 04:38:31 2013 New Revision: 245097 URL: http://svnweb.freebsd.org/changeset/base/245097 Log: Handle HWMP if_transmit() failure gracefully. If if_transmit() fails, the node ref may need freeing. This is based on the same logic used by the ageq, which the mesh code (re) uses for frames which need to be staged before transmitting. It also does the same thing - if M_ENCAP is set on the mbuf, it treats the recvif pointer as a node reference and derefs it. Modified: head/sys/net80211/ieee80211_hwmp.c Modified: head/sys/net80211/ieee80211_hwmp.c ============================================================================== --- head/sys/net80211/ieee80211_hwmp.c Sun Jan 6 03:51:44 2013 (r245096) +++ head/sys/net80211/ieee80211_hwmp.c Sun Jan 6 04:38:31 2013 (r245097) @@ -1227,6 +1227,8 @@ hwmp_recv_prep(struct ieee80211vap *vap, struct mbuf *m, *next; uint32_t metric = 0; const uint8_t *addr; + int is_encap; + struct ieee80211_node *ni_encap; if (ni == vap->iv_bss || ni->ni_mlstate != IEEE80211_NODE_MESH_ESTABLISHED) @@ -1403,11 +1405,21 @@ hwmp_recv_prep(struct ieee80211vap *vap, (struct ieee80211_node *)(uintptr_t) ieee80211_mac_hash(ic, addr)); /* either dest or ext_dest */ for (; m != NULL; m = next) { + is_encap = !! (m->m_flags & M_ENCAP); + ni_encap = (struct ieee80211_node *) m->m_pkthdr.rcvif; next = m->m_nextpkt; m->m_nextpkt = NULL; IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, "flush queued frame %p len %d", m, m->m_pkthdr.len); - ifp->if_transmit(ifp, m); + + /* + * If the mbuf has M_ENCAP set, ensure we free it. + * Note that after if_transmit() is called, m is invalid. + */ + if (ifp->if_transmit(ifp, m) != 0) { + if (is_encap) + ieee80211_free_node(ni_encap); + } } #undef IS_PROXY #undef PROXIED_BY_US From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 04:40:08 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0CD91BEA; Sun, 6 Jan 2013 04:40:08 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F2B381D3; Sun, 6 Jan 2013 04:40:07 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r064e7D5098694; Sun, 6 Jan 2013 04:40:07 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r064e7vr098693; Sun, 6 Jan 2013 04:40:07 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201301060440.r064e7vr098693@svn.freebsd.org> From: Adrian Chadd Date: Sun, 6 Jan 2013 04:40:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245098 - head/sys/net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 04:40:08 -0000 Author: adrian Date: Sun Jan 6 04:40:07 2013 New Revision: 245098 URL: http://svnweb.freebsd.org/changeset/base/245098 Log: Handle ps-poll data frame if_transmit() failure. If the data frame transmission failures, it may have a node reference that needs cleaning up. If the frame is marked as M_ENCAP then it should treat recvif as a node reference and clear it. Now - since the mbuf has been freed by calling if_transmit() (even on failure), the mbuf has to be treated as invalid. Hence why the ifp is used. Modified: head/sys/net80211/ieee80211_hostap.c Modified: head/sys/net80211/ieee80211_hostap.c ============================================================================== --- head/sys/net80211/ieee80211_hostap.c Sun Jan 6 04:38:31 2013 (r245097) +++ head/sys/net80211/ieee80211_hostap.c Sun Jan 6 04:40:07 2013 (r245098) @@ -2324,5 +2324,19 @@ ieee80211_recv_pspoll(struct ieee80211_n ifp = vap->iv_ic->ic_ifp; else ifp = vap->iv_ifp; - (void) ifp->if_transmit(ifp, m); + + /* + * Free any node ref which this mbuf may have. + * + * Much like psq_mfree(), we assume that M_ENCAP nodes have + * node references. + */ + if (ifp->if_transmit(ifp, m) != 0) { + /* + * XXX m is invalid (freed) at this point, determine M_ENCAP + * an alternate way. + */ + if (ifp == vap->iv_ic->ic_ifp) + ieee80211_free_node(ni); + } } From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 07:14:05 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 165B58C2; Sun, 6 Jan 2013 07:14:05 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EB53A67F; Sun, 6 Jan 2013 07:14:04 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r067E4vY045438; Sun, 6 Jan 2013 07:14:04 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r067E4DB045436; Sun, 6 Jan 2013 07:14:04 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201301060714.r067E4DB045436@svn.freebsd.org> From: Andrew Turner Date: Sun, 6 Jan 2013 07:14:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245101 - head/gnu/usr.bin/binutils/ld X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 07:14:05 -0000 Author: andrew Date: Sun Jan 6 07:14:04 2013 New Revision: 245101 URL: http://svnweb.freebsd.org/changeset/base/245101 Log: Set the correct relocation type for R_ARM_TARGET2 to R_ARM_GOT_PREL. The TARGET2 relocation is unused in the current ABI but this change is required for EABI support. Modified: head/gnu/usr.bin/binutils/ld/armelf_fbsd.sh head/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh Modified: head/gnu/usr.bin/binutils/ld/armelf_fbsd.sh ============================================================================== --- head/gnu/usr.bin/binutils/ld/armelf_fbsd.sh Sun Jan 6 05:37:26 2013 (r245100) +++ head/gnu/usr.bin/binutils/ld/armelf_fbsd.sh Sun Jan 6 07:14:04 2013 (r245101) @@ -1,6 +1,7 @@ # $FreeBSD$ . ${srcdir}/emulparams/armelf.sh . ${srcdir}/emulparams/elf_fbsd.sh +TARGET2_TYPE=got-rel MAXPAGESIZE=0x8000 GENERATE_PIE_SCRIPT=yes Modified: head/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh ============================================================================== --- head/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh Sun Jan 6 05:37:26 2013 (r245100) +++ head/gnu/usr.bin/binutils/ld/armelfb_fbsd.sh Sun Jan 6 07:14:04 2013 (r245101) @@ -5,6 +5,7 @@ #OUTPUT_FORMAT="elf32-bigarm" . ${srcdir}/emulparams/armelf.sh . ${srcdir}/emulparams/elf_fbsd.sh +TARGET2_TYPE=got-rel MAXPAGESIZE=0x8000 GENERATE_PIE_SCRIPT=yes From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 15:00:00 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 2A7F872C; Sun, 6 Jan 2013 15:00:00 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1C8BA310; Sun, 6 Jan 2013 15:00:00 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06ExxaG082132; Sun, 6 Jan 2013 14:59:59 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06ExxGl082130; Sun, 6 Jan 2013 14:59:59 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201301061459.r06ExxGl082130@svn.freebsd.org> From: Peter Wemm Date: Sun, 6 Jan 2013 14:59:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245102 - head/sys/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 15:00:00 -0000 Author: peter Date: Sun Jan 6 14:59:59 2013 New Revision: 245102 URL: http://svnweb.freebsd.org/changeset/base/245102 Log: Juggle some internal symbols from our antique zlib (that originally came in from kernel-pppd which is long gone) so that ZFS and DTRACE play nice. This is a horrible hack to get freefall to compile, and is in dire need of reconciliation. This antique zlib-1.04 code needs to go away. Modified: head/sys/net/zlib.c head/sys/net/zlib.h Modified: head/sys/net/zlib.c ============================================================================== --- head/sys/net/zlib.c Sun Jan 6 07:14:04 2013 (r245101) +++ head/sys/net/zlib.c Sun Jan 6 14:59:59 2013 (r245102) @@ -25,7 +25,14 @@ #define MY_ZCALLOC #if defined(__FreeBSD__) && defined(_KERNEL) -#define inflate inflate_ppp /* FreeBSD already has an inflate :-( */ +#define _tr_init _zlib104_tr_init +#define _tr_align _zlib104_tr_align +#define _tr_tally _zlib104_tr_tally +#define _tr_flush_block _zlib104_tr_flush_block +#define _tr_stored_block _zlib104_tr_stored_block +#define inflate_fast _zlib104_inflate_fast +#define inflate _zlib104_inflate +#define zlibVersion _zlib104_Version #endif Modified: head/sys/net/zlib.h ============================================================================== --- head/sys/net/zlib.h Sun Jan 6 07:14:04 2013 (r245101) +++ head/sys/net/zlib.h Sun Jan 6 14:59:59 2013 (r245102) @@ -511,7 +511,7 @@ extern int EXPORT inflateInit OF((z_stre */ #if defined(__FreeBSD__) && defined(_KERNEL) -#define inflate inflate_ppp /* FreeBSD already has an inflate :-( */ +#define inflate _zlib104_inflate /* FreeBSD already has an inflate :-( */ #endif extern int EXPORT inflate OF((z_streamp strm, int flush)); From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 15:07:20 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B430DC95; Sun, 6 Jan 2013 15:07:20 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8D5E4372; Sun, 6 Jan 2013 15:07:20 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06F7KUk085116; Sun, 6 Jan 2013 15:07:20 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06F7KlT085111; Sun, 6 Jan 2013 15:07:20 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201301061507.r06F7KlT085111@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 6 Jan 2013 15:07:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245103 - in stable/9/sys: fs/devfs kern sys X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 15:07:20 -0000 Author: kib Date: Sun Jan 6 15:07:19 2013 New Revision: 245103 URL: http://svnweb.freebsd.org/changeset/base/245103 Log: MFC r244643: Do not force a writer to the devfs file to drain the buffer writes. Modified: stable/9/sys/fs/devfs/devfs_vnops.c stable/9/sys/kern/sys_generic.c stable/9/sys/sys/file.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/fs/ (props changed) Modified: stable/9/sys/fs/devfs/devfs_vnops.c ============================================================================== --- stable/9/sys/fs/devfs/devfs_vnops.c Sun Jan 6 14:59:59 2013 (r245102) +++ stable/9/sys/fs/devfs/devfs_vnops.c Sun Jan 6 15:07:19 2013 (r245103) @@ -1049,6 +1049,7 @@ devfs_open(struct vop_open_args *ap) int error, ref, vlocked; struct cdevsw *dsw; struct file *fpop; + struct mtx *mtxp; if (vp->v_type == VBLK) return (ENXIO); @@ -1099,6 +1100,16 @@ devfs_open(struct vop_open_args *ap) #endif if (fp->f_ops == &badfileops) finit(fp, fp->f_flag, DTYPE_VNODE, dev, &devfs_ops_f); + mtxp = mtx_pool_find(mtxpool_sleep, fp); + + /* + * Hint to the dofilewrite() to not force the buffer draining + * on the writer to the file. Most likely, the write would + * not need normal buffers. + */ + mtx_lock(mtxp); + fp->f_vnread_flags |= FDEVFS_VNODE; + mtx_unlock(mtxp); return (error); } Modified: stable/9/sys/kern/sys_generic.c ============================================================================== --- stable/9/sys/kern/sys_generic.c Sun Jan 6 14:59:59 2013 (r245102) +++ stable/9/sys/kern/sys_generic.c Sun Jan 6 15:07:19 2013 (r245103) @@ -536,7 +536,8 @@ dofilewrite(td, fd, fp, auio, offset, fl ktruio = cloneuio(auio); #endif cnt = auio->uio_resid; - if (fp->f_type == DTYPE_VNODE) + if (fp->f_type == DTYPE_VNODE && + (fp->f_vnread_flags & FDEVFS_VNODE) == 0) bwillwrite(); if ((error = fo_write(fp, auio, td->td_ucred, flags, td))) { if (auio->uio_resid != cnt && (error == ERESTART || Modified: stable/9/sys/sys/file.h ============================================================================== --- stable/9/sys/sys/file.h Sun Jan 6 14:59:59 2013 (r245102) +++ stable/9/sys/sys/file.h Sun Jan 6 15:07:19 2013 (r245103) @@ -178,7 +178,8 @@ struct file { #define f_advice f_vnun.fvn_advice #define FOFFSET_LOCKED 0x1 -#define FOFFSET_LOCK_WAITING 0x2 +#define FOFFSET_LOCK_WAITING 0x2 +#define FDEVFS_VNODE 0x4 #endif /* _KERNEL || _WANT_FILE */ From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 15:10:11 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 97807E06; Sun, 6 Jan 2013 15:10:11 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7207937E; Sun, 6 Jan 2013 15:10:11 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06FAB09085647; Sun, 6 Jan 2013 15:10:11 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06FABnq085646; Sun, 6 Jan 2013 15:10:11 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201301061510.r06FABnq085646@svn.freebsd.org> From: Konstantin Belousov Date: Sun, 6 Jan 2013 15:10:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245104 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 15:10:11 -0000 Author: kib Date: Sun Jan 6 15:10:10 2013 New Revision: 245104 URL: http://svnweb.freebsd.org/changeset/base/245104 Log: Protect the p->p_pgrp dereference with the process lock. MFC after: 3 days Modified: head/sys/kern/kern_exit.c Modified: head/sys/kern/kern_exit.c ============================================================================== --- head/sys/kern/kern_exit.c Sun Jan 6 15:07:19 2013 (r245103) +++ head/sys/kern/kern_exit.c Sun Jan 6 15:10:10 2013 (r245104) @@ -1074,7 +1074,9 @@ kern_wait6(struct thread *td, idtype_t i q = td->td_proc; if ((pid_t)id == WAIT_MYPGRP && (idtype == P_PID || idtype == P_PGID)) { + PROC_LOCK(q); id = (id_t)q->p_pgid; + PROC_UNLOCK(q); idtype = P_PGID; } From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 16:39:06 2013 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D9453A81; Sun, 6 Jan 2013 16:39:06 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) by mx1.freebsd.org (Postfix) with ESMTP id 49751892; Sun, 6 Jan 2013 16:39:05 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.5/8.14.5) with ESMTP id r06Gcv4S060614; Sun, 6 Jan 2013 20:38:57 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.5/8.14.5/Submit) id r06Gcvxt060613; Sun, 6 Jan 2013 20:38:57 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Sun, 6 Jan 2013 20:38:57 +0400 From: Gleb Smirnoff To: Peter Wemm Subject: Re: svn commit: r245102 - head/sys/net Message-ID: <20130106163857.GF51864@FreeBSD.org> References: <201301061459.r06ExxGl082130@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <201301061459.r06ExxGl082130@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 16:39:06 -0000 On Sun, Jan 06, 2013 at 02:59:59PM +0000, Peter Wemm wrote: P> Author: peter P> Date: Sun Jan 6 14:59:59 2013 P> New Revision: 245102 P> URL: http://svnweb.freebsd.org/changeset/base/245102 P> P> Log: P> Juggle some internal symbols from our antique zlib (that originally came P> in from kernel-pppd which is long gone) so that ZFS and DTRACE play nice. P> P> This is a horrible hack to get freefall to compile, and is in dire need P> of reconciliation. This antique zlib-1.04 code needs to go away. ... along with kernel-pppd. -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 18:18:10 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6337DCB7; Sun, 6 Jan 2013 18:18:10 +0000 (UTC) (envelope-from dteske@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 55C2B11B4; Sun, 6 Jan 2013 18:18:10 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06IIAsm027619; Sun, 6 Jan 2013 18:18:10 GMT (envelope-from dteske@svn.freebsd.org) Received: (from dteske@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06II9OI027615; Sun, 6 Jan 2013 18:18:09 GMT (envelope-from dteske@svn.freebsd.org) Message-Id: <201301061818.r06II9OI027615@svn.freebsd.org> From: Devin Teske Date: Sun, 6 Jan 2013 18:18:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245106 - head/usr.sbin/bsdconfig X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 18:18:10 -0000 Author: dteske Date: Sun Jan 6 18:18:09 2013 New Revision: 245106 URL: http://svnweb.freebsd.org/changeset/base/245106 Log: Update copyrights and dates following last commit. Modified: head/usr.sbin/bsdconfig/USAGE head/usr.sbin/bsdconfig/bsdconfig head/usr.sbin/bsdconfig/bsdconfig.8 Modified: head/usr.sbin/bsdconfig/USAGE ============================================================================== --- head/usr.sbin/bsdconfig/USAGE Sun Jan 6 17:50:57 2013 (r245105) +++ head/usr.sbin/bsdconfig/USAGE Sun Jan 6 18:18:09 2013 (r245106) @@ -1,5 +1,5 @@ # Copyright (c) 2012 Ron McDowell -# Copyright (c) 2012 Devin Teske +# Copyright (c) 2012-2013 Devin Teske # All Rights Reserved. # # Redistribution and use in source and binary forms, with or without Modified: head/usr.sbin/bsdconfig/bsdconfig ============================================================================== --- head/usr.sbin/bsdconfig/bsdconfig Sun Jan 6 17:50:57 2013 (r245105) +++ head/usr.sbin/bsdconfig/bsdconfig Sun Jan 6 18:18:09 2013 (r245106) @@ -1,7 +1,7 @@ #!/bin/sh #- # Copyright (c) 2012 Ron McDowell -# Copyright (c) 2012 Devin Teske +# Copyright (c) 2012-2013 Devin Teske # All rights reserved. # # Redistribution and use in source and binary forms, with or without Modified: head/usr.sbin/bsdconfig/bsdconfig.8 ============================================================================== --- head/usr.sbin/bsdconfig/bsdconfig.8 Sun Jan 6 17:50:57 2013 (r245105) +++ head/usr.sbin/bsdconfig/bsdconfig.8 Sun Jan 6 18:18:09 2013 (r245106) @@ -1,5 +1,5 @@ .\" Copyright (c) 2012 Ron McDowell -.\" Copyright (c) 2012 Devin Teske +.\" Copyright (c) 2012-2013 Devin Teske .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -59,7 +59,7 @@ .\" .\" $FreeBSD$ .\" -.Dd Mar 20, 2012 +.Dd Jan 5, 2013 .Dt BSDCONFIG 8 .Os .Sh NAME From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 19:25:43 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 4E6AB997; Sun, 6 Jan 2013 19:25:43 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3BE3414F2; Sun, 6 Jan 2013 19:25:43 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06JPh1w017112; Sun, 6 Jan 2013 19:25:43 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06JPhme017111; Sun, 6 Jan 2013 19:25:43 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201301061925.r06JPhme017111@svn.freebsd.org> From: Peter Wemm Date: Sun, 6 Jan 2013 19:25:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245107 - head/etc/sendmail X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 19:25:43 -0000 Author: peter Date: Sun Jan 6 19:25:42 2013 New Revision: 245107 URL: http://svnweb.freebsd.org/changeset/base/245107 Log: Not using the full domain was a really bad idea. Modified: head/etc/sendmail/freefall.mc Modified: head/etc/sendmail/freefall.mc ============================================================================== --- head/etc/sendmail/freefall.mc Sun Jan 6 18:18:09 2013 (r245106) +++ head/etc/sendmail/freefall.mc Sun Jan 6 19:25:42 2013 (r245107) @@ -43,5 +43,5 @@ divert(0)dnl VERSIONID(`$FreeBSD$') OSTYPE(freebsd6) -FEATURE(nullclient, smarthost.ysv.$m) +FEATURE(nullclient, smarthost.ysv.freebsd.org) MASQUERADE_AS(FreeBSD.org) From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 19:26:15 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6BB69AFE; Sun, 6 Jan 2013 19:26:15 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 52AB714F7; Sun, 6 Jan 2013 19:26:15 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06JQFbA017216; Sun, 6 Jan 2013 19:26:15 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06JQF0i017215; Sun, 6 Jan 2013 19:26:15 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201301061926.r06JQF0i017215@svn.freebsd.org> From: Peter Wemm Date: Sun, 6 Jan 2013 19:26:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245108 - stable/9/etc/sendmail X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 19:26:15 -0000 Author: peter Date: Sun Jan 6 19:26:14 2013 New Revision: 245108 URL: http://svnweb.freebsd.org/changeset/base/245108 Log: MFC 245107: Use full cluster domain name Modified: stable/9/etc/sendmail/freefall.mc Modified: stable/9/etc/sendmail/freefall.mc ============================================================================== --- stable/9/etc/sendmail/freefall.mc Sun Jan 6 19:25:42 2013 (r245107) +++ stable/9/etc/sendmail/freefall.mc Sun Jan 6 19:26:14 2013 (r245108) @@ -43,5 +43,5 @@ divert(0)dnl VERSIONID(`$FreeBSD$') OSTYPE(freebsd6) -FEATURE(nullclient, smarthost.ysv.$m) +FEATURE(nullclient, smarthost.ysv.freebsd.org) MASQUERADE_AS(FreeBSD.org) From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 19:26:39 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E98F5C62; Sun, 6 Jan 2013 19:26:39 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D944A14FD; Sun, 6 Jan 2013 19:26:39 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06JQd49017292; Sun, 6 Jan 2013 19:26:39 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06JQdAk017291; Sun, 6 Jan 2013 19:26:39 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201301061926.r06JQdAk017291@svn.freebsd.org> From: Peter Wemm Date: Sun, 6 Jan 2013 19:26:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r245109 - stable/8/etc/sendmail X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 19:26:40 -0000 Author: peter Date: Sun Jan 6 19:26:39 2013 New Revision: 245109 URL: http://svnweb.freebsd.org/changeset/base/245109 Log: MFC 245107: use full domain name Modified: stable/8/etc/sendmail/freefall.mc Modified: stable/8/etc/sendmail/freefall.mc ============================================================================== --- stable/8/etc/sendmail/freefall.mc Sun Jan 6 19:26:14 2013 (r245108) +++ stable/8/etc/sendmail/freefall.mc Sun Jan 6 19:26:39 2013 (r245109) @@ -43,5 +43,5 @@ divert(0)dnl VERSIONID(`$FreeBSD$') OSTYPE(freebsd6) -FEATURE(nullclient, smarthost.ysv.$m) +FEATURE(nullclient, smarthost.ysv.freebsd.org) MASQUERADE_AS(FreeBSD.org) From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 19:27:08 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0EA37DC7; Sun, 6 Jan 2013 19:27:08 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EE0831506; Sun, 6 Jan 2013 19:27:07 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06JR7bI017391; Sun, 6 Jan 2013 19:27:07 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06JR7v8017390; Sun, 6 Jan 2013 19:27:07 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201301061927.r06JR7v8017390@svn.freebsd.org> From: Peter Wemm Date: Sun, 6 Jan 2013 19:27:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r245110 - stable/7/etc/sendmail X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 19:27:08 -0000 Author: peter Date: Sun Jan 6 19:27:07 2013 New Revision: 245110 URL: http://svnweb.freebsd.org/changeset/base/245110 Log: MFC 245107: use full domain name Modified: stable/7/etc/sendmail/freefall.mc Modified: stable/7/etc/sendmail/freefall.mc ============================================================================== --- stable/7/etc/sendmail/freefall.mc Sun Jan 6 19:26:39 2013 (r245109) +++ stable/7/etc/sendmail/freefall.mc Sun Jan 6 19:27:07 2013 (r245110) @@ -43,5 +43,5 @@ divert(0)dnl VERSIONID(`$FreeBSD$') OSTYPE(freebsd6) -FEATURE(nullclient, smarthost.ysv.$m) +FEATURE(nullclient, smarthost.ysv.freebsd.org) MASQUERADE_AS(FreeBSD.org) From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 19:27:29 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 4D082F2E; Sun, 6 Jan 2013 19:27:29 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3E766150C; Sun, 6 Jan 2013 19:27:29 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06JRTOQ017467; Sun, 6 Jan 2013 19:27:29 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06JRTTY017466; Sun, 6 Jan 2013 19:27:29 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201301061927.r06JRTTY017466@svn.freebsd.org> From: Peter Wemm Date: Sun, 6 Jan 2013 19:27:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-6@freebsd.org Subject: svn commit: r245111 - stable/6/etc/sendmail X-SVN-Group: stable-6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 19:27:29 -0000 Author: peter Date: Sun Jan 6 19:27:28 2013 New Revision: 245111 URL: http://svnweb.freebsd.org/changeset/base/245111 Log: MFC 245107: use full domain name Modified: stable/6/etc/sendmail/freefall.mc Modified: stable/6/etc/sendmail/freefall.mc ============================================================================== --- stable/6/etc/sendmail/freefall.mc Sun Jan 6 19:27:07 2013 (r245110) +++ stable/6/etc/sendmail/freefall.mc Sun Jan 6 19:27:28 2013 (r245111) @@ -43,5 +43,5 @@ divert(0)dnl VERSIONID(`$FreeBSD$') OSTYPE(freebsd6) -FEATURE(nullclient, smarthost.ysv.$m) +FEATURE(nullclient, smarthost.ysv.freebsd.org) MASQUERADE_AS(FreeBSD.org) From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 20:50:32 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1A67F7B0; Sun, 6 Jan 2013 20:50:32 +0000 (UTC) (envelope-from monthadar@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CEB8C17D1; Sun, 6 Jan 2013 20:50:31 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06KoVo9043025; Sun, 6 Jan 2013 20:50:31 GMT (envelope-from monthadar@svn.freebsd.org) Received: (from monthadar@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06KoVQV043024; Sun, 6 Jan 2013 20:50:31 GMT (envelope-from monthadar@svn.freebsd.org) Message-Id: <201301062050.r06KoVQV043024@svn.freebsd.org> From: Monthadar Al Jaberi Date: Sun, 6 Jan 2013 20:50:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245112 - head/sys/mips/atheros X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 20:50:32 -0000 Author: monthadar Date: Sun Jan 6 20:50:31 2013 New Revision: 245112 URL: http://svnweb.freebsd.org/changeset/base/245112 Log: Mips Atheros AR71XX: make PCI base slot configurable through hints. * Mikrotik RouterBoard 433AH have PCI slot 18 wired to INT0 on the PCI Bus. This is different from e.g. Atheros PB42 and Ubiquiti boards. * Check for hint hint.pcib.0.baseslot=X, where X is number of base slot; * If hint not supplied print a warning and use default AR71XX_PCI_BASE_SLOT; PR: kern/174978 Approved by: adrian (mentor) Modified: head/sys/mips/atheros/ar71xx_pci.c Modified: head/sys/mips/atheros/ar71xx_pci.c ============================================================================== --- head/sys/mips/atheros/ar71xx_pci.c Sun Jan 6 19:27:28 2013 (r245111) +++ head/sys/mips/atheros/ar71xx_pci.c Sun Jan 6 20:50:31 2013 (r245112) @@ -81,6 +81,7 @@ struct ar71xx_pci_softc { device_t sc_dev; int sc_busno; + int sc_baseslot; struct rman sc_mem_rman; struct rman sc_irq_rman; @@ -395,6 +396,16 @@ ar71xx_pci_attach(device_t dev) AR71XX_PCI_IRQ_END) != 0) panic("ar71xx_pci_attach: failed to set up IRQ rman"); + /* + * Check if there is a base slot hint. Otherwise use default value. + */ + if (resource_int_value(device_get_name(dev), + device_get_unit(dev), "baseslot", &sc->sc_baseslot) != 0) { + device_printf(dev, + "%s: missing hint '%s', default to AR71XX_PCI_BASE_SLOT\n", + __func__, "baseslot"); + sc->sc_baseslot = AR71XX_PCI_BASE_SLOT; + } ATH_WRITE_REG(AR71XX_PCI_INTR_STATUS, 0); ATH_WRITE_REG(AR71XX_PCI_INTR_MASK, 0); @@ -648,11 +659,13 @@ ar71xx_pci_maxslots(device_t dev) static int ar71xx_pci_route_interrupt(device_t pcib, device_t device, int pin) { - if (pci_get_slot(device) < AR71XX_PCI_BASE_SLOT) + struct ar71xx_pci_softc *sc = device_get_softc(pcib); + + if (pci_get_slot(device) < sc->sc_baseslot) panic("%s: PCI slot %d is less then AR71XX_PCI_BASE_SLOT", __func__, pci_get_slot(device)); - return (pci_get_slot(device) - AR71XX_PCI_BASE_SLOT); + return (pci_get_slot(device) - sc->sc_baseslot); } static device_method_t ar71xx_pci_methods[] = { From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 21:48:00 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7EC66669; Sun, 6 Jan 2013 21:48:00 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 55D8B196B; Sun, 6 Jan 2013 21:48:00 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06Lm0xv065287; Sun, 6 Jan 2013 21:48:00 GMT (envelope-from mjg@svn.freebsd.org) Received: (from mjg@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06Lm0EI065286; Sun, 6 Jan 2013 21:48:00 GMT (envelope-from mjg@svn.freebsd.org) Message-Id: <201301062148.r06Lm0EI065286@svn.freebsd.org> From: Mateusz Guzik Date: Sun, 6 Jan 2013 21:48:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245113 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 21:48:00 -0000 Author: mjg Date: Sun Jan 6 21:47:59 2013 New Revision: 245113 URL: http://svnweb.freebsd.org/changeset/base/245113 Log: lockmgr: unlock interlock (if requested) when dealing with upgrade/downgrade requests for LK_NOSHARE locks, just like for shared locks. PR: kern/174969 Reviewed by: attilio MFC after: 1 week Modified: head/sys/kern/kern_lock.c Modified: head/sys/kern/kern_lock.c ============================================================================== --- head/sys/kern/kern_lock.c Sun Jan 6 20:50:31 2013 (r245112) +++ head/sys/kern/kern_lock.c Sun Jan 6 21:47:59 2013 (r245113) @@ -498,6 +498,8 @@ __lockmgr_args(struct lock *lk, u_int fl case LK_DOWNGRADE: _lockmgr_assert(lk, KA_XLOCKED | KA_NOTRECURSED, file, line); + if (flags & LK_INTERLOCK) + class->lc_unlock(ilk); return (0); } } From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 21:56:59 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A328DAA1; Sun, 6 Jan 2013 21:56:59 +0000 (UTC) (envelope-from mjg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6CE0C19D2; Sun, 6 Jan 2013 21:56:59 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06Lux8t068086; Sun, 6 Jan 2013 21:56:59 GMT (envelope-from mjg@svn.freebsd.org) Received: (from mjg@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06LuxVD068085; Sun, 6 Jan 2013 21:56:59 GMT (envelope-from mjg@svn.freebsd.org) Message-Id: <201301062156.r06LuxVD068085@svn.freebsd.org> From: Mateusz Guzik Date: Sun, 6 Jan 2013 21:56:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245114 - head/usr.sbin/pw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 21:56:59 -0000 Author: mjg Date: Sun Jan 6 21:56:58 2013 New Revision: 245114 URL: http://svnweb.freebsd.org/changeset/base/245114 Log: pw: free group returned by gr_add Modified: head/usr.sbin/pw/pw_user.c Modified: head/usr.sbin/pw/pw_user.c ============================================================================== --- head/usr.sbin/pw/pw_user.c Sun Jan 6 21:47:59 2013 (r245113) +++ head/usr.sbin/pw/pw_user.c Sun Jan 6 21:56:58 2013 (r245114) @@ -758,6 +758,7 @@ pw_user(struct userconf * cnf, int mode, if (grp == NULL) continue; chggrent(cnf->groups[i], grp); + free(grp); } } From owner-svn-src-all@FreeBSD.ORG Sun Jan 6 22:15:45 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 64CA4E7C; Sun, 6 Jan 2013 22:15:45 +0000 (UTC) (envelope-from gleb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3B5231AA8; Sun, 6 Jan 2013 22:15:45 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r06MFjmu074190; Sun, 6 Jan 2013 22:15:45 GMT (envelope-from gleb@svn.freebsd.org) Received: (from gleb@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r06MFjHM074186; Sun, 6 Jan 2013 22:15:45 GMT (envelope-from gleb@svn.freebsd.org) Message-Id: <201301062215.r06MFjHM074186@svn.freebsd.org> From: Gleb Kurtsou Date: Sun, 6 Jan 2013 22:15:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245115 - head/sys/fs/tmpfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2013 22:15:45 -0000 Author: gleb Date: Sun Jan 6 22:15:44 2013 New Revision: 245115 URL: http://svnweb.freebsd.org/changeset/base/245115 Log: tmpfs: Replace directory entry linked list with RB-Tree. Use file name hash as a tree key, handle duplicate keys. Both VOP_LOOKUP and VOP_READDIR operations utilize same tree for search. Directory entry offset (cookie) is either file name hash or incremental id in case of hash collisions (duplicate-cookies). Keep sorted per directory list of duplicate-cookie entries to facilitate cookie number allocation. Don't fail if previous VOP_READDIR() offset is no longer valid, start with next dirent instead. Other file system handle it similarly. Workaround race prone tn_readdir_last[pn] fields update. Add tmpfs_dir_destroy() to free all dirents. Set NFS cookies in tmpfs_dir_getdents(). Return EJUSTRETURN from tmpfs_dir_getdents() instead of hard coded -1. Mark directory traversal routines static as they are no longer used outside of tmpfs_subr.c Modified: head/sys/fs/tmpfs/tmpfs.h head/sys/fs/tmpfs/tmpfs_subr.c head/sys/fs/tmpfs/tmpfs_vfsops.c head/sys/fs/tmpfs/tmpfs_vnops.c Modified: head/sys/fs/tmpfs/tmpfs.h ============================================================================== --- head/sys/fs/tmpfs/tmpfs.h Sun Jan 6 21:56:58 2013 (r245114) +++ head/sys/fs/tmpfs/tmpfs.h Sun Jan 6 22:15:44 2013 (r245115) @@ -49,6 +49,7 @@ /* --------------------------------------------------------------------- */ #include #include +#include #include #include @@ -60,104 +61,81 @@ MALLOC_DECLARE(M_TMPFSNAME); /* * Internal representation of a tmpfs directory entry. */ + +LIST_HEAD(tmpfs_dir_duphead, tmpfs_dirent); + struct tmpfs_dirent { - TAILQ_ENTRY(tmpfs_dirent) td_entries; + /* + * Depending on td_cookie flag entry can be of 3 types: + * - regular -- no hash collisions, stored in RB-Tree + * - duphead -- synthetic linked list head for dup entries + * - dup -- stored in linked list instead of RB-Tree + */ + union { + /* regular and duphead entry types */ + RB_ENTRY(tmpfs_dirent) td_entries; - /* Length of the name stored in this directory entry. This avoids - * the need to recalculate it every time the name is used. */ - uint16_t td_namelen; - - /* The name of the entry, allocated from a string pool. This - * string is not required to be zero-terminated; therefore, the - * td_namelen field must always be used when accessing its value. */ - char * td_name; + /* dup entry type */ + struct { + LIST_ENTRY(tmpfs_dirent) entries; + LIST_ENTRY(tmpfs_dirent) index_entries; + } td_dup; + } uh; + + uint32_t td_cookie; + uint32_t td_hash; + u_int td_namelen; /* Pointer to the node this entry refers to. In case this field * is NULL, the node is a whiteout. */ struct tmpfs_node * td_node; + + union { + /* + * The name of the entry, allocated from a string pool. This + * string is not required to be zero-terminated. + */ + char * td_name; /* regular, dup */ + struct tmpfs_dir_duphead td_duphead; /* duphead */ + } ud; }; -/* A directory in tmpfs holds a sorted list of directory entries, which in +/* A directory in tmpfs holds a list of directory entries, which in * turn point to other files (which can be directories themselves). * - * In tmpfs, this list is managed by a tail queue, whose head is defined by + * In tmpfs, this list is managed by a RB-Tree, whose head is defined by * the struct tmpfs_dir type. * - * It is imporant to notice that directories do not have entries for . and + * It is important to notice that directories do not have entries for . and * .. as other file systems do. These can be generated when requested * based on information available by other means, such as the pointer to * the node itself in the former case or the pointer to the parent directory * in the latter case. This is done to simplify tmpfs's code and, more * importantly, to remove redundancy. */ -TAILQ_HEAD(tmpfs_dir, tmpfs_dirent); +RB_HEAD(tmpfs_dir, tmpfs_dirent); /* Each entry in a directory has a cookie that identifies it. Cookies * supersede offsets within directories because, given how tmpfs stores - * directories in memory, there is no such thing as an offset. (Emulating - * a real offset could be very difficult.) - * + * directories in memory, there is no such thing as an offset. + * * The '.', '..' and the end of directory markers have fixed cookies which * cannot collide with the cookies generated by other entries. The cookies - * fot the other entries are generated based on the memory address on which - * stores their information is stored. - * - * Ideally, using the entry's memory pointer as the cookie would be enough - * to represent it and it wouldn't cause collisions in any system. - * Unfortunately, this results in "offsets" with very large values which - * later raise problems in the Linux compatibility layer (and maybe in other - * places) as described in PR kern/32034. Hence we need to workaround this - * with a rather ugly hack. - * - * Linux 32-bit binaries, unless built with _FILE_OFFSET_BITS=64, have off_t - * set to 'long', which is a 32-bit *signed* long integer. Regardless of - * the macro value, GLIBC (2.3 at least) always uses the getdents64 - * system call (when calling readdir) which internally returns off64_t - * offsets. In order to make 32-bit binaries work, *GLIBC* converts the - * 64-bit values returned by the kernel to 32-bit ones and aborts with - * EOVERFLOW if the conversion results in values that won't fit in 32-bit - * integers (which it assumes is because the directory is extremely large). - * This wouldn't cause problems if we were dealing with unsigned integers, - * but as we have signed integers, this check fails due to sign expansion. + * for the other entries are generated based on the file name hash value or + * unique number in case of name hash collision. * - * For example, consider that the kernel returns the 0xc1234567 cookie to - * userspace in a off64_t integer. Later on, GLIBC casts this value to - * off_t (remember, signed) with code similar to: - * system call returns the offset in kernel_value; - * off_t casted_value = kernel_value; - * if (sizeof(off_t) != sizeof(off64_t) && - * kernel_value != casted_value) - * error! - * In this case, casted_value still has 0xc1234567, but when it is compared - * for equality against kernel_value, it is promoted to a 64-bit integer and - * becomes 0xffffffffc1234567, which is different than 0x00000000c1234567. - * Then, GLIBC assumes this is because the directory is very large. - * - * Given that all the above happens in user-space, we have no control over - * it; therefore we must workaround the issue here. We do this by - * truncating the pointer value to a 32-bit integer and hope that there - * won't be collisions. In fact, this will not cause any problems in - * 32-bit platforms but some might arise in 64-bit machines (I'm not sure - * if they can happen at all in practice). - * - * XXX A nicer solution shall be attempted. */ -#ifdef _KERNEL -#define TMPFS_DIRCOOKIE_DOT 0 -#define TMPFS_DIRCOOKIE_DOTDOT 1 -#define TMPFS_DIRCOOKIE_EOF 2 -static __inline -off_t -tmpfs_dircookie(struct tmpfs_dirent *de) -{ - off_t cookie; - - cookie = ((off_t)(uintptr_t)de >> 1) & 0x7FFFFFFF; - MPASS(cookie != TMPFS_DIRCOOKIE_DOT); - MPASS(cookie != TMPFS_DIRCOOKIE_DOTDOT); - MPASS(cookie != TMPFS_DIRCOOKIE_EOF); + * To preserve compatibility cookies are limited to 31 bits. + */ - return cookie; -} -#endif +#define TMPFS_DIRCOOKIE_DOT 0 +#define TMPFS_DIRCOOKIE_DOTDOT 1 +#define TMPFS_DIRCOOKIE_EOF 2 +#define TMPFS_DIRCOOKIE_MASK ((off_t)0x3fffffffU) +#define TMPFS_DIRCOOKIE_MIN ((off_t)0x00000004U) +#define TMPFS_DIRCOOKIE_DUP ((off_t)0x40000000U) +#define TMPFS_DIRCOOKIE_DUPHEAD ((off_t)0x80000000U) +#define TMPFS_DIRCOOKIE_DUP_MIN TMPFS_DIRCOOKIE_DUP +#define TMPFS_DIRCOOKIE_DUP_MAX \ + (TMPFS_DIRCOOKIE_DUP | TMPFS_DIRCOOKIE_MASK) /* --------------------------------------------------------------------- */ @@ -243,29 +221,31 @@ struct tmpfs_node { dev_t tn_rdev; /* Valid when tn_type == VDIR. */ - struct tn_dir{ + struct tn_dir { /* Pointer to the parent directory. The root * directory has a pointer to itself in this field; * this property identifies the root node. */ struct tmpfs_node * tn_parent; - /* Head of a tail-queue that links the contents of - * the directory together. See above for a - * description of its contents. */ + /* Head of a tree that links the contents of + * the directory together. */ struct tmpfs_dir tn_dirhead; + /* Head of a list the contains fake directory entries + * heads, i.e. entries with TMPFS_DIRCOOKIE_DUPHEAD + * flag. */ + struct tmpfs_dir_duphead tn_dupindex; + /* Number and pointer of the first directory entry * returned by the readdir operation if it were * called again to continue reading data from the * same directory as before. This is used to speed * up reads of long directories, assuming that no * more than one read is in progress at a given time. - * Otherwise, these values are discarded and a linear - * scan is performed from the beginning up to the - * point where readdir starts returning values. */ + * Otherwise, these values are discarded. */ off_t tn_readdir_lastn; struct tmpfs_dirent * tn_readdir_lastp; - }tn_dir; + } tn_dir; /* Valid when tn_type == VLNK. */ /* The link's target, allocated from a string pool. */ @@ -419,9 +399,9 @@ int tmpfs_alloc_node(struct tmpfs_mount char *, dev_t, struct tmpfs_node **); void tmpfs_free_node(struct tmpfs_mount *, struct tmpfs_node *); int tmpfs_alloc_dirent(struct tmpfs_mount *, struct tmpfs_node *, - const char *, uint16_t, struct tmpfs_dirent **); -void tmpfs_free_dirent(struct tmpfs_mount *, struct tmpfs_dirent *, - boolean_t); + const char *, u_int, struct tmpfs_dirent **); +void tmpfs_free_dirent(struct tmpfs_mount *, struct tmpfs_dirent *); +void tmpfs_dirent_init(struct tmpfs_dirent *, const char *, u_int); int tmpfs_alloc_vp(struct mount *, struct tmpfs_node *, int, struct vnode **); void tmpfs_free_vp(struct vnode *); @@ -429,13 +409,12 @@ int tmpfs_alloc_file(struct vnode *, str struct componentname *, char *); void tmpfs_dir_attach(struct vnode *, struct tmpfs_dirent *); void tmpfs_dir_detach(struct vnode *, struct tmpfs_dirent *); +void tmpfs_dir_destroy(struct tmpfs_mount *, struct tmpfs_node *); struct tmpfs_dirent * tmpfs_dir_lookup(struct tmpfs_node *node, struct tmpfs_node *f, struct componentname *cnp); -int tmpfs_dir_getdotdent(struct tmpfs_node *, struct uio *); -int tmpfs_dir_getdotdotdent(struct tmpfs_node *, struct uio *); -struct tmpfs_dirent * tmpfs_dir_lookupbycookie(struct tmpfs_node *, off_t); -int tmpfs_dir_getdents(struct tmpfs_node *, struct uio *, off_t *); +int tmpfs_dir_getdents(struct tmpfs_node *, struct uio *, int, + u_long *, int *); int tmpfs_dir_whiteout_add(struct vnode *, struct componentname *); void tmpfs_dir_whiteout_remove(struct vnode *, struct componentname *); int tmpfs_reg_resize(struct vnode *, off_t, boolean_t); @@ -467,8 +446,8 @@ int tmpfs_truncate(struct vnode *, off_t * with a length of 'len'. */ #define TMPFS_DIRENT_MATCHES(de, name, len) \ - (de->td_namelen == (uint16_t)len && \ - bcmp((de)->td_name, (name), (de)->td_namelen) == 0) + (de->td_namelen == len && \ + bcmp((de)->ud.td_name, (name), (de)->td_namelen) == 0) /* --------------------------------------------------------------------- */ @@ -476,11 +455,10 @@ int tmpfs_truncate(struct vnode *, off_t * Ensures that the node pointed by 'node' is a directory and that its * contents are consistent with respect to directories. */ -#define TMPFS_VALIDATE_DIR(node) \ - MPASS((node)->tn_type == VDIR); \ - MPASS((node)->tn_size % sizeof(struct tmpfs_dirent) == 0); \ - MPASS((node)->tn_dir.tn_readdir_lastp == NULL || \ - tmpfs_dircookie((node)->tn_dir.tn_readdir_lastp) == (node)->tn_dir.tn_readdir_lastn); +#define TMPFS_VALIDATE_DIR(node) do { \ + MPASS((node)->tn_type == VDIR); \ + MPASS((node)->tn_size % sizeof(struct tmpfs_dirent) == 0); \ +} while (0) /* --------------------------------------------------------------------- */ Modified: head/sys/fs/tmpfs/tmpfs_subr.c ============================================================================== --- head/sys/fs/tmpfs/tmpfs_subr.c Sun Jan 6 21:56:58 2013 (r245114) +++ head/sys/fs/tmpfs/tmpfs_subr.c Sun Jan 6 22:15:44 2013 (r245115) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -58,6 +59,11 @@ __FBSDID("$FreeBSD$"); #include #include +struct tmpfs_dir_cursor { + struct tmpfs_dirent *tdc_current; + struct tmpfs_dirent *tdc_tree; +}; + SYSCTL_NODE(_vfs, OID_AUTO, tmpfs, CTLFLAG_RW, 0, "tmpfs file system"); static long tmpfs_pages_reserved = TMPFS_PAGES_MINRESERVED; @@ -87,6 +93,10 @@ SYSCTL_PROC(_vfs_tmpfs, OID_AUTO, memory &tmpfs_pages_reserved, 0, sysctl_mem_reserved, "L", "Amount of available memory and swap below which tmpfs growth stops"); +static __inline int tmpfs_dirtree_cmp(struct tmpfs_dirent *a, + struct tmpfs_dirent *b); +RB_PROTOTYPE_STATIC(tmpfs_dir, tmpfs_dirent, uh.td_entries, tmpfs_dirtree_cmp); + size_t tmpfs_mem_avail(void) { @@ -188,7 +198,8 @@ tmpfs_alloc_node(struct tmpfs_mount *tmp break; case VDIR: - TAILQ_INIT(&nnode->tn_dir.tn_dirhead); + RB_INIT(&nnode->tn_dir.tn_dirhead); + LIST_INIT(&nnode->tn_dir.tn_dupindex); MPASS(parent != nnode); MPASS(IMPLIES(parent == NULL, tmp->tm_root == NULL)); nnode->tn_dir.tn_parent = (parent == NULL) ? nnode : parent; @@ -309,6 +320,49 @@ tmpfs_free_node(struct tmpfs_mount *tmp, /* --------------------------------------------------------------------- */ +static __inline uint32_t +tmpfs_dirent_hash(const char *name, u_int len) +{ + uint32_t hash; + + hash = fnv_32_buf(name, len, FNV1_32_INIT + len) & TMPFS_DIRCOOKIE_MASK; +#ifdef TMPFS_DEBUG_DIRCOOKIE_DUP + hash &= 0xf; +#endif + if (hash < TMPFS_DIRCOOKIE_MIN) + hash += TMPFS_DIRCOOKIE_MIN; + + return (hash); +} + +static __inline off_t +tmpfs_dirent_cookie(struct tmpfs_dirent *de) +{ + MPASS(de->td_cookie >= TMPFS_DIRCOOKIE_MIN); + + return (de->td_cookie); +} + +static __inline boolean_t +tmpfs_dirent_dup(struct tmpfs_dirent *de) +{ + return ((de->td_cookie & TMPFS_DIRCOOKIE_DUP) != 0); +} + +static __inline boolean_t +tmpfs_dirent_duphead(struct tmpfs_dirent *de) +{ + return ((de->td_cookie & TMPFS_DIRCOOKIE_DUPHEAD) != 0); +} + +void +tmpfs_dirent_init(struct tmpfs_dirent *de, const char *name, u_int namelen) +{ + de->td_hash = de->td_cookie = tmpfs_dirent_hash(name, namelen); + memcpy(de->ud.td_name, name, namelen); + de->td_namelen = namelen; +} + /* * Allocates a new directory entry for the node node with a name of name. * The new directory entry is returned in *de. @@ -320,17 +374,17 @@ tmpfs_free_node(struct tmpfs_mount *tmp, */ int tmpfs_alloc_dirent(struct tmpfs_mount *tmp, struct tmpfs_node *node, - const char *name, uint16_t len, struct tmpfs_dirent **de) + const char *name, u_int len, struct tmpfs_dirent **de) { struct tmpfs_dirent *nde; - nde = (struct tmpfs_dirent *)uma_zalloc( - tmp->tm_dirent_pool, M_WAITOK); - nde->td_name = malloc(len, M_TMPFSNAME, M_WAITOK); - nde->td_namelen = len; - memcpy(nde->td_name, name, len); - + nde = uma_zalloc(tmp->tm_dirent_pool, M_WAITOK); nde->td_node = node; + if (name != NULL) { + nde->ud.td_name = malloc(len, M_TMPFSNAME, M_WAITOK); + tmpfs_dirent_init(nde, name, len); + } else + nde->td_namelen = 0; if (node != NULL) node->tn_links++; @@ -351,20 +405,17 @@ tmpfs_alloc_dirent(struct tmpfs_mount *t * directory entry, as it may already have been released from the outside. */ void -tmpfs_free_dirent(struct tmpfs_mount *tmp, struct tmpfs_dirent *de, - boolean_t node_exists) +tmpfs_free_dirent(struct tmpfs_mount *tmp, struct tmpfs_dirent *de) { - if (node_exists) { - struct tmpfs_node *node; + struct tmpfs_node *node; - node = de->td_node; - if (node != NULL) { - MPASS(node->tn_links > 0); - node->tn_links--; - } + node = de->td_node; + if (node != NULL) { + MPASS(node->tn_links > 0); + node->tn_links--; } - - free(de->td_name, M_TMPFSNAME); + if (!tmpfs_dirent_duphead(de) && de->ud.td_name != NULL) + free(de->ud.td_name, M_TMPFSNAME); uma_zfree(tmp->tm_dirent_pool, de); } @@ -586,7 +637,7 @@ tmpfs_alloc_file(struct vnode *dvp, stru /* Allocate a vnode for the new file. */ error = tmpfs_alloc_vp(dvp->v_mount, node, LK_EXCLUSIVE, vpp); if (error != 0) { - tmpfs_free_dirent(tmp, de, TRUE); + tmpfs_free_dirent(tmp, de); tmpfs_free_node(tmp, node); goto out; } @@ -605,6 +656,215 @@ out: /* --------------------------------------------------------------------- */ +static struct tmpfs_dirent * +tmpfs_dir_first(struct tmpfs_node *dnode, struct tmpfs_dir_cursor *dc) +{ + struct tmpfs_dirent *de; + + de = RB_MIN(tmpfs_dir, &dnode->tn_dir.tn_dirhead); + dc->tdc_tree = de; + if (de != NULL && tmpfs_dirent_duphead(de)) + de = LIST_FIRST(&de->ud.td_duphead); + dc->tdc_current = de; + + return (dc->tdc_current); +} + +static struct tmpfs_dirent * +tmpfs_dir_next(struct tmpfs_node *dnode, struct tmpfs_dir_cursor *dc) +{ + struct tmpfs_dirent *de; + + MPASS(dc->tdc_tree != NULL); + if (tmpfs_dirent_dup(dc->tdc_current)) { + dc->tdc_current = LIST_NEXT(dc->tdc_current, uh.td_dup.entries); + if (dc->tdc_current != NULL) + return (dc->tdc_current); + } + dc->tdc_tree = dc->tdc_current = RB_NEXT(tmpfs_dir, + &dnode->tn_dir.tn_dirhead, dc->tdc_tree); + if ((de = dc->tdc_current) != NULL && tmpfs_dirent_duphead(de)) { + dc->tdc_current = LIST_FIRST(&de->ud.td_duphead); + MPASS(dc->tdc_current != NULL); + } + + return (dc->tdc_current); +} + +/* Lookup directory entry in RB-Tree. Function may return duphead entry. */ +static struct tmpfs_dirent * +tmpfs_dir_xlookup_hash(struct tmpfs_node *dnode, uint32_t hash) +{ + struct tmpfs_dirent *de, dekey; + + dekey.td_hash = hash; + de = RB_FIND(tmpfs_dir, &dnode->tn_dir.tn_dirhead, &dekey); + return (de); +} + +/* Lookup directory entry by cookie, initialize directory cursor accordingly. */ +static struct tmpfs_dirent * +tmpfs_dir_lookup_cookie(struct tmpfs_node *node, off_t cookie, + struct tmpfs_dir_cursor *dc) +{ + struct tmpfs_dir *dirhead = &node->tn_dir.tn_dirhead; + struct tmpfs_dirent *de, dekey; + + MPASS(cookie >= TMPFS_DIRCOOKIE_MIN); + + if (cookie == node->tn_dir.tn_readdir_lastn && + (de = node->tn_dir.tn_readdir_lastp) != NULL) { + /* Protect against possible race, tn_readdir_last[pn] + * may be updated with only shared vnode lock held. */ + if (cookie == tmpfs_dirent_cookie(de)) + goto out; + } + + if ((cookie & TMPFS_DIRCOOKIE_DUP) != 0) { + LIST_FOREACH(de, &node->tn_dir.tn_dupindex, + uh.td_dup.index_entries) { + MPASS(tmpfs_dirent_dup(de)); + if (de->td_cookie == cookie) + goto out; + /* dupindex list is sorted. */ + if (de->td_cookie < cookie) { + de = NULL; + goto out; + } + } + MPASS(de == NULL); + goto out; + } + + MPASS((cookie & TMPFS_DIRCOOKIE_MASK) == cookie); + dekey.td_hash = cookie; + /* Recover if direntry for cookie was removed */ + de = RB_NFIND(tmpfs_dir, dirhead, &dekey); + dc->tdc_tree = de; + dc->tdc_current = de; + if (de != NULL && tmpfs_dirent_duphead(de)) { + dc->tdc_current = LIST_FIRST(&de->ud.td_duphead); + MPASS(dc->tdc_current != NULL); + } + return (dc->tdc_current); + +out: + dc->tdc_tree = de; + dc->tdc_current = de; + if (de != NULL && tmpfs_dirent_dup(de)) + dc->tdc_tree = tmpfs_dir_xlookup_hash(node, + de->td_hash); + return (dc->tdc_current); +} + +/* + * Looks for a directory entry in the directory represented by node. + * 'cnp' describes the name of the entry to look for. Note that the . + * and .. components are not allowed as they do not physically exist + * within directories. + * + * Returns a pointer to the entry when found, otherwise NULL. + */ +struct tmpfs_dirent * +tmpfs_dir_lookup(struct tmpfs_node *node, struct tmpfs_node *f, + struct componentname *cnp) +{ + struct tmpfs_dir_duphead *duphead; + struct tmpfs_dirent *de; + uint32_t hash; + + MPASS(IMPLIES(cnp->cn_namelen == 1, cnp->cn_nameptr[0] != '.')); + MPASS(IMPLIES(cnp->cn_namelen == 2, !(cnp->cn_nameptr[0] == '.' && + cnp->cn_nameptr[1] == '.'))); + TMPFS_VALIDATE_DIR(node); + + hash = tmpfs_dirent_hash(cnp->cn_nameptr, cnp->cn_namelen); + de = tmpfs_dir_xlookup_hash(node, hash); + if (de != NULL && tmpfs_dirent_duphead(de)) { + duphead = &de->ud.td_duphead; + LIST_FOREACH(de, duphead, uh.td_dup.entries) { + if (TMPFS_DIRENT_MATCHES(de, cnp->cn_nameptr, + cnp->cn_namelen)) + break; + } + } else if (de != NULL) { + if (!TMPFS_DIRENT_MATCHES(de, cnp->cn_nameptr, + cnp->cn_namelen)) + de = NULL; + } + if (de != NULL && f != NULL && de->td_node != f) + de = NULL; + + return (de); +} + +/* + * Attach duplicate-cookie directory entry nde to dnode and insert to dupindex + * list, allocate new cookie value. + */ +static void +tmpfs_dir_attach_dup(struct tmpfs_node *dnode, + struct tmpfs_dir_duphead *duphead, struct tmpfs_dirent *nde) +{ + struct tmpfs_dir_duphead *dupindex; + struct tmpfs_dirent *de, *pde; + + dupindex = &dnode->tn_dir.tn_dupindex; + de = LIST_FIRST(dupindex); + if (de == NULL || de->td_cookie < TMPFS_DIRCOOKIE_DUP_MAX) { + if (de == NULL) + nde->td_cookie = TMPFS_DIRCOOKIE_DUP_MIN; + else + nde->td_cookie = de->td_cookie + 1; + MPASS(tmpfs_dirent_dup(nde)); + LIST_INSERT_HEAD(dupindex, nde, uh.td_dup.index_entries); + LIST_INSERT_HEAD(duphead, nde, uh.td_dup.entries); + return; + } + + /* + * Cookie numbers are near exhaustion. Scan dupindex list for unused + * numbers. dupindex list is sorted in descending order. Keep it so + * after inserting nde. + */ + while (1) { + pde = de; + de = LIST_NEXT(de, uh.td_dup.index_entries); + if (de == NULL && pde->td_cookie != TMPFS_DIRCOOKIE_DUP_MIN) { + /* + * Last element of the index doesn't have minimal cookie + * value, use it. + */ + nde->td_cookie = TMPFS_DIRCOOKIE_DUP_MIN; + LIST_INSERT_AFTER(pde, nde, uh.td_dup.index_entries); + LIST_INSERT_HEAD(duphead, nde, uh.td_dup.entries); + return; + } else if (de == NULL) { + /* + * We are so lucky have 2^30 hash duplicates in single + * directory :) Return largest possible cookie value. + * It should be fine except possible issues with + * VOP_READDIR restart. + */ + nde->td_cookie = TMPFS_DIRCOOKIE_DUP_MAX; + LIST_INSERT_HEAD(dupindex, nde, + uh.td_dup.index_entries); + LIST_INSERT_HEAD(duphead, nde, uh.td_dup.entries); + return; + } + if (de->td_cookie + 1 == pde->td_cookie || + de->td_cookie >= TMPFS_DIRCOOKIE_DUP_MAX) + continue; /* No hole or invalid cookie. */ + nde->td_cookie = de->td_cookie + 1; + MPASS(tmpfs_dirent_dup(nde)); + MPASS(pde->td_cookie > nde->td_cookie); + MPASS(nde->td_cookie > de->td_cookie); + LIST_INSERT_BEFORE(de, nde, uh.td_dup.index_entries); + LIST_INSERT_HEAD(duphead, nde, uh.td_dup.entries); + return; + }; +} + /* * Attaches the directory entry de to the directory represented by vp. * Note that this does not change the link count of the node pointed by @@ -614,10 +874,38 @@ void tmpfs_dir_attach(struct vnode *vp, struct tmpfs_dirent *de) { struct tmpfs_node *dnode; + struct tmpfs_dirent *xde, *nde; ASSERT_VOP_ELOCKED(vp, __func__); + MPASS(de->td_namelen > 0); + MPASS(de->td_hash >= TMPFS_DIRCOOKIE_MIN); + MPASS(de->td_cookie == de->td_hash); + dnode = VP_TO_TMPFS_DIR(vp); - TAILQ_INSERT_TAIL(&dnode->tn_dir.tn_dirhead, de, td_entries); + dnode->tn_dir.tn_readdir_lastn = 0; + dnode->tn_dir.tn_readdir_lastp = NULL; + + MPASS(!tmpfs_dirent_dup(de)); + xde = RB_INSERT(tmpfs_dir, &dnode->tn_dir.tn_dirhead, de); + if (xde != NULL && tmpfs_dirent_duphead(xde)) + tmpfs_dir_attach_dup(dnode, &xde->ud.td_duphead, de); + else if (xde != NULL) { + /* + * Allocate new duphead. Swap xde with duphead to avoid + * adding/removing elements with the same hash. + */ + MPASS(!tmpfs_dirent_dup(xde)); + tmpfs_alloc_dirent(VFS_TO_TMPFS(vp->v_mount), NULL, NULL, 0, + &nde); + /* *nde = *xde; XXX gcc 4.2.1 may generate invalid code. */ + memcpy(nde, xde, sizeof(*xde)); + xde->td_cookie |= TMPFS_DIRCOOKIE_DUPHEAD; + LIST_INIT(&xde->ud.td_duphead); + xde->td_namelen = 0; + xde->td_node = NULL; + tmpfs_dir_attach_dup(dnode, &xde->ud.td_duphead, nde); + tmpfs_dir_attach_dup(dnode, &xde->ud.td_duphead, de); + } dnode->tn_size += sizeof(struct tmpfs_dirent); dnode->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED | \ TMPFS_NODE_MODIFIED; @@ -633,58 +921,61 @@ tmpfs_dir_attach(struct vnode *vp, struc void tmpfs_dir_detach(struct vnode *vp, struct tmpfs_dirent *de) { + struct tmpfs_mount *tmp; + struct tmpfs_dir *head; struct tmpfs_node *dnode; + struct tmpfs_dirent *xde; ASSERT_VOP_ELOCKED(vp, __func__); - dnode = VP_TO_TMPFS_DIR(vp); - if (dnode->tn_dir.tn_readdir_lastp == de) { - dnode->tn_dir.tn_readdir_lastn = 0; - dnode->tn_dir.tn_readdir_lastp = NULL; - } + dnode = VP_TO_TMPFS_DIR(vp); + head = &dnode->tn_dir.tn_dirhead; + dnode->tn_dir.tn_readdir_lastn = 0; + dnode->tn_dir.tn_readdir_lastp = NULL; + + if (tmpfs_dirent_dup(de)) { + /* Remove duphead if de was last entry. */ + if (LIST_NEXT(de, uh.td_dup.entries) == NULL) { + xde = tmpfs_dir_xlookup_hash(dnode, de->td_hash); + MPASS(tmpfs_dirent_duphead(xde)); + } else + xde = NULL; + LIST_REMOVE(de, uh.td_dup.entries); + LIST_REMOVE(de, uh.td_dup.index_entries); + if (xde != NULL) { + if (LIST_EMPTY(&xde->ud.td_duphead)) { + RB_REMOVE(tmpfs_dir, head, xde); + tmp = VFS_TO_TMPFS(vp->v_mount); + MPASS(xde->td_node == NULL); + tmpfs_free_dirent(tmp, xde); + } + } + } else + RB_REMOVE(tmpfs_dir, head, de); - TAILQ_REMOVE(&dnode->tn_dir.tn_dirhead, de, td_entries); dnode->tn_size -= sizeof(struct tmpfs_dirent); dnode->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED | \ TMPFS_NODE_MODIFIED; } -/* --------------------------------------------------------------------- */ - -/* - * Looks for a directory entry in the directory represented by node. - * 'cnp' describes the name of the entry to look for. Note that the . - * and .. components are not allowed as they do not physically exist - * within directories. - * - * Returns a pointer to the entry when found, otherwise NULL. - */ -struct tmpfs_dirent * -tmpfs_dir_lookup(struct tmpfs_node *node, struct tmpfs_node *f, - struct componentname *cnp) +void +tmpfs_dir_destroy(struct tmpfs_mount *tmp, struct tmpfs_node *dnode) { - boolean_t found; - struct tmpfs_dirent *de; - - MPASS(IMPLIES(cnp->cn_namelen == 1, cnp->cn_nameptr[0] != '.')); - MPASS(IMPLIES(cnp->cn_namelen == 2, !(cnp->cn_nameptr[0] == '.' && - cnp->cn_nameptr[1] == '.'))); - TMPFS_VALIDATE_DIR(node); + struct tmpfs_dirent *de, *dde, *nde; - found = 0; - TAILQ_FOREACH(de, &node->tn_dir.tn_dirhead, td_entries) { - if (f != NULL && de->td_node != f) - continue; - MPASS(cnp->cn_namelen < 0xffff); - if (de->td_namelen == (uint16_t)cnp->cn_namelen && - bcmp(de->td_name, cnp->cn_nameptr, de->td_namelen) == 0) { - found = 1; - break; + RB_FOREACH_SAFE(de, tmpfs_dir, &dnode->tn_dir.tn_dirhead, nde) { + RB_REMOVE(tmpfs_dir, &dnode->tn_dir.tn_dirhead, de); + /* Node may already be destroyed. */ + de->td_node = NULL; + if (tmpfs_dirent_duphead(de)) { + while ((dde = LIST_FIRST(&de->ud.td_duphead)) != NULL) { + LIST_REMOVE(dde, uh.td_dup.entries); + dde->td_node = NULL; + tmpfs_free_dirent(tmp, dde); + } } + tmpfs_free_dirent(tmp, de); } - node->tn_status |= TMPFS_NODE_ACCESSED; - - return found ? de : NULL; } /* --------------------------------------------------------------------- */ @@ -696,7 +987,7 @@ tmpfs_dir_lookup(struct tmpfs_node *node * hold the directory entry or an appropriate error code if another * error happens. */ -int +static int tmpfs_dir_getdotdent(struct tmpfs_node *node, struct uio *uio) { int error; @@ -713,12 +1004,9 @@ tmpfs_dir_getdotdent(struct tmpfs_node * dent.d_reclen = GENERIC_DIRSIZ(&dent); if (dent.d_reclen > uio->uio_resid) - error = -1; - else { + error = EJUSTRETURN; + else error = uiomove(&dent, dent.d_reclen, uio); - if (error == 0) - uio->uio_offset = TMPFS_DIRCOOKIE_DOTDOT; - } node->tn_status |= TMPFS_NODE_ACCESSED; @@ -734,7 +1022,7 @@ tmpfs_dir_getdotdent(struct tmpfs_node * * hold the directory entry or an appropriate error code if another * error happens. */ -int +static int tmpfs_dir_getdotdotdent(struct tmpfs_node *node, struct uio *uio) { int error; @@ -763,19 +1051,9 @@ tmpfs_dir_getdotdotdent(struct tmpfs_nod dent.d_reclen = GENERIC_DIRSIZ(&dent); if (dent.d_reclen > uio->uio_resid) - error = -1; - else { + error = EJUSTRETURN; + else error = uiomove(&dent, dent.d_reclen, uio); - if (error == 0) { - struct tmpfs_dirent *de; - - de = TAILQ_FIRST(&node->tn_dir.tn_dirhead); - if (de == NULL) - uio->uio_offset = TMPFS_DIRCOOKIE_EOF; - else - uio->uio_offset = tmpfs_dircookie(de); - } - } node->tn_status |= TMPFS_NODE_ACCESSED; @@ -785,30 +1063,6 @@ tmpfs_dir_getdotdotdent(struct tmpfs_nod /* --------------------------------------------------------------------- */ /* - * Lookup a directory entry by its associated cookie. - */ -struct tmpfs_dirent * -tmpfs_dir_lookupbycookie(struct tmpfs_node *node, off_t cookie) -{ - struct tmpfs_dirent *de; - - if (cookie == node->tn_dir.tn_readdir_lastn && - node->tn_dir.tn_readdir_lastp != NULL) { - return node->tn_dir.tn_readdir_lastp; - } - - TAILQ_FOREACH(de, &node->tn_dir.tn_dirhead, td_entries) { - if (tmpfs_dircookie(de) == cookie) { - break; - } - } - - return de; -} - -/* --------------------------------------------------------------------- */ - -/* * Helper function for tmpfs_readdir. Returns as much directory entries * as can fit in the uio space. The read starts at uio->uio_offset. * The function returns 0 on success, -1 if there was not enough space @@ -816,27 +1070,47 @@ tmpfs_dir_lookupbycookie(struct tmpfs_no * error code if another error happens. */ int -tmpfs_dir_getdents(struct tmpfs_node *node, struct uio *uio, off_t *cntp) +tmpfs_dir_getdents(struct tmpfs_node *node, struct uio *uio, int cnt, + u_long *cookies, int *ncookies) { - int error; - off_t startcookie; + struct tmpfs_dir_cursor dc; struct tmpfs_dirent *de; + off_t off; + int error; TMPFS_VALIDATE_DIR(node); - /* Locate the first directory entry we have to return. We have cached - * the last readdir in the node, so use those values if appropriate. - * Otherwise do a linear scan to find the requested entry. */ - startcookie = uio->uio_offset; - MPASS(startcookie != TMPFS_DIRCOOKIE_DOT); - MPASS(startcookie != TMPFS_DIRCOOKIE_DOTDOT); - if (startcookie == TMPFS_DIRCOOKIE_EOF) { - return 0; - } else { - de = tmpfs_dir_lookupbycookie(node, startcookie); - } - if (de == NULL) { - return EINVAL; + off = 0; + switch (uio->uio_offset) { + case TMPFS_DIRCOOKIE_DOT: + error = tmpfs_dir_getdotdent(node, uio); + if (error != 0) + return (error); + uio->uio_offset = TMPFS_DIRCOOKIE_DOTDOT; + if (cnt != 0) + cookies[(*ncookies)++] = off = uio->uio_offset; + case TMPFS_DIRCOOKIE_DOTDOT: + error = tmpfs_dir_getdotdotdent(node, uio); + if (error != 0) + return (error); + de = tmpfs_dir_first(node, &dc); + if (de == NULL) + uio->uio_offset = TMPFS_DIRCOOKIE_EOF; + else + uio->uio_offset = tmpfs_dirent_cookie(de); + if (cnt != 0) + cookies[(*ncookies)++] = off = uio->uio_offset; + if (de == NULL) + return (0); + break; + case TMPFS_DIRCOOKIE_EOF: + return (0); + default: + de = tmpfs_dir_lookup_cookie(node, uio->uio_offset, &dc); + if (de == NULL) + return (EINVAL); + if (cnt != 0) + off = tmpfs_dirent_cookie(de); } /* Read as much entries as possible; i.e., until we reach the end of @@ -887,14 +1161,14 @@ tmpfs_dir_getdents(struct tmpfs_node *no } d.d_namlen = de->td_namelen; MPASS(de->td_namelen < sizeof(d.d_name)); - (void)memcpy(d.d_name, de->td_name, de->td_namelen); + (void)memcpy(d.d_name, de->ud.td_name, de->td_namelen); d.d_name[de->td_namelen] = '\0'; d.d_reclen = GENERIC_DIRSIZ(&d); /* Stop reading if the directory entry we are treating is * bigger than the amount of data that can be returned. */ if (d.d_reclen > uio->uio_resid) { - error = -1; + error = EJUSTRETURN; break; } @@ -902,21 +1176,30 @@ tmpfs_dir_getdents(struct tmpfs_node *no * advance pointers. */ error = uiomove(&d, d.d_reclen, uio); if (error == 0) { - (*cntp)++; - de = TAILQ_NEXT(de, td_entries); + de = tmpfs_dir_next(node, &dc); + if (cnt != 0) { + if (de == NULL) + off = TMPFS_DIRCOOKIE_EOF; + else + off = tmpfs_dirent_cookie(de); + MPASS(*ncookies < cnt); + cookies[(*ncookies)++] = off; + } } } while (error == 0 && uio->uio_resid > 0 && de != NULL); /* Update the offset and cache. */ - if (de == NULL) { - uio->uio_offset = TMPFS_DIRCOOKIE_EOF; - node->tn_dir.tn_readdir_lastn = 0; - node->tn_dir.tn_readdir_lastp = NULL; - } else { - node->tn_dir.tn_readdir_lastn = uio->uio_offset = tmpfs_dircookie(de); - node->tn_dir.tn_readdir_lastp = de; + if (cnt == 0) { + if (de == NULL) + off = TMPFS_DIRCOOKIE_EOF; + else + off = tmpfs_dirent_cookie(de); } + uio->uio_offset = off; + node->tn_dir.tn_readdir_lastn = off; + node->tn_dir.tn_readdir_lastp = de; + node->tn_status |= TMPFS_NODE_ACCESSED; return error; } @@ -943,7 +1226,7 @@ tmpfs_dir_whiteout_remove(struct vnode * de = tmpfs_dir_lookup(VP_TO_TMPFS_DIR(dvp), NULL, cnp); MPASS(de != NULL && de->td_node == NULL); tmpfs_dir_detach(dvp, de); - tmpfs_free_dirent(VFS_TO_TMPFS(dvp->v_mount), de, TRUE); + tmpfs_free_dirent(VFS_TO_TMPFS(dvp->v_mount), de); } /* --------------------------------------------------------------------- */ @@ -1436,3 +1719,15 @@ out: return error; } + +static __inline int +tmpfs_dirtree_cmp(struct tmpfs_dirent *a, struct tmpfs_dirent *b) +{ + if (a->td_hash > b->td_hash) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 00:15:52 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CF460E5B for ; Mon, 7 Jan 2013 00:15:52 +0000 (UTC) (envelope-from dteske@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BB9011D9B for ; Mon, 7 Jan 2013 00:15:52 +0000 (UTC) Received: from dteske (uid 1288) (envelope-from dteske@svn.freebsd.org) id 1d1b by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 00:15:52 +0000 From: Devin Teske Date: Mon, 7 Jan 2013 00:15:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245116 - head/usr.sbin/bsdconfig/share X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea13b8.1d1b.4bd5285d@svn.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 00:15:52 -0000 Author: dteske Date: Mon Jan 7 00:15:52 2013 New Revision: 245116 URL: http://svnweb.freebsd.org/changeset/base/245116 Log: Add nonInteractive support to f_dialog_yesno/noyes(). Modified: head/usr.sbin/bsdconfig/share/dialog.subr Modified: head/usr.sbin/bsdconfig/share/dialog.subr ============================================================================== --- head/usr.sbin/bsdconfig/share/dialog.subr Sun Jan 6 22:15:44 2013 (r245115) +++ head/usr.sbin/bsdconfig/share/dialog.subr Mon Jan 7 00:15:52 2013 (r245116) @@ -32,6 +32,7 @@ BSDCFG_SHARE="/usr/share/bsdconfig" . $BSDCFG_SHARE/common.subr || exit 1 f_dprintf "%s: loading includes..." dialog.subr f_include $BSDCFG_SHARE/strings.subr +f_include $BSDCFG_SHARE/variable.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" f_include_lang $BSDCFG_LIBE/include/messages.subr @@ -1058,6 +1059,9 @@ f_dialog_yesno() { local msg_text="$*" local hline="$hline_arrows_tab_enter" + + f_interactive || return 0 # If non-interactive, return YES all the time + local size="$( f_dialog_buttonbox_size \ "$DIALOG_TITLE" \ "$DIALOG_BACKTITLE" \ @@ -1098,6 +1102,9 @@ f_dialog_noyes() { local msg_text="$*" local hline="$hline_arrows_tab_enter" + + f_interactive || return 1 # If non-interactive, return NO all the time + local size="$( f_dialog_buttonbox_size \ "$DIALOG_TITLE" \ "$DIALOG_BACKTITLE" \ From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 00:18:03 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C98111000 for ; Mon, 7 Jan 2013 00:18:03 +0000 (UTC) (envelope-from dteske@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A4F811DAA for ; Mon, 7 Jan 2013 00:18:03 +0000 (UTC) Received: from dteske (uid 1288) (envelope-from dteske@svn.freebsd.org) id 1d36 by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 00:18:03 +0000 From: Devin Teske Date: Mon, 7 Jan 2013 00:18:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245117 - head/usr.sbin/bsdconfig/share X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea143b.1d36.29279999@svn.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 00:18:03 -0000 Author: dteske Date: Mon Jan 7 00:18:03 2013 New Revision: 245117 URL: http://svnweb.freebsd.org/changeset/base/245117 Log: Update copyright following last commit. Modified: head/usr.sbin/bsdconfig/share/dialog.subr Modified: head/usr.sbin/bsdconfig/share/dialog.subr ============================================================================== --- head/usr.sbin/bsdconfig/share/dialog.subr Mon Jan 7 00:15:52 2013 (r245116) +++ head/usr.sbin/bsdconfig/share/dialog.subr Mon Jan 7 00:18:03 2013 (r245117) @@ -1,6 +1,6 @@ if [ ! "$_DIALOG_SUBR" ]; then _DIALOG_SUBR=1 # -# Copyright (c) 2006-2012 Devin Teske +# Copyright (c) 2006-2013 Devin Teske # All Rights Reserved. # # Redistribution and use in source and binary forms, with or without From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 00:35:06 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C255B49A for ; Mon, 7 Jan 2013 00:35:06 +0000 (UTC) (envelope-from gjb@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9E72D1E04 for ; Mon, 7 Jan 2013 00:35:06 +0000 (UTC) Received: from gjb (uid 1237) (envelope-from gjb@svn.freebsd.org) id 145a by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 00:35:06 +0000 From: Glen Barber Date: Mon, 7 Jan 2013 00:35:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245118 - stable/9/sys/conf X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea183a.145a.4cc89e4f@svn.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 00:35:06 -0000 Author: gjb (doc,ports committer) Date: Mon Jan 7 00:35:06 2013 New Revision: 245118 URL: http://svnweb.freebsd.org/changeset/base/245118 Log: 9.2-STABLE shall be called 9.2-STABLE. Modified: stable/9/sys/conf/newvers.sh Modified: stable/9/sys/conf/newvers.sh ============================================================================== --- stable/9/sys/conf/newvers.sh Mon Jan 7 00:18:03 2013 (r245117) +++ stable/9/sys/conf/newvers.sh Mon Jan 7 00:35:06 2013 (r245118) @@ -31,7 +31,7 @@ # $FreeBSD$ TYPE="FreeBSD" -REVISION="9.1" +REVISION="9.2" BRANCH="STABLE" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 00:41:46 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [IPv6:2001:1900:2254:206a::19:2]) by hub.freebsd.org (Postfix) with ESMTP id 505DA74E; Mon, 7 Jan 2013 00:41:46 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from [127.0.0.1] (hub.freebsd.org [IPv6:2001:1900:2254:206c::16:88]) by mx2.freebsd.org (Postfix) with ESMTP id E295DA4D6; Mon, 7 Jan 2013 00:41:44 +0000 (UTC) Message-ID: <50EA19C6.6070609@FreeBSD.org> Date: Mon, 07 Jan 2013 04:41:42 +0400 From: "Andrey V. Elsukov" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:10.0.3) Gecko/20120406 Thunderbird/10.0.3 MIME-Version: 1.0 To: Glen Barber Subject: Re: svn commit: r245118 - stable/9/sys/conf References: <50ea183a.145a.4cc89e4f@svn.freebsd.org> In-Reply-To: <50ea183a.145a.4cc89e4f@svn.freebsd.org> X-Enigmail-Version: 1.4 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 7bit Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 00:41:46 -0000 On 07.01.2013 04:35, Glen Barber wrote: > Author: gjb (doc,ports committer) > Date: Mon Jan 7 00:35:06 2013 > New Revision: 245118 > URL: http://svnweb.freebsd.org/changeset/base/245118 > > Log: > 9.2-STABLE shall be called 9.2-STABLE. Hi, it seems you are wrong. It will be called 9.2-STABLE only when releng/9.2 will be created. -- WBR, Andrey V. Elsukov From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 00:49:30 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 09058BD2 for ; Mon, 7 Jan 2013 00:49:30 +0000 (UTC) (envelope-from gjb@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D0CC49D for ; Mon, 7 Jan 2013 00:49:29 +0000 (UTC) Received: from gjb (uid 1237) (envelope-from gjb@svn.freebsd.org) id 17b0 by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 00:49:29 +0000 From: Glen Barber Date: Mon, 7 Jan 2013 00:49:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245119 - stable/9/sys/conf X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea1b99.17b0.4d910953@svn.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 00:49:30 -0000 Author: gjb (doc,ports committer) Date: Mon Jan 7 00:49:29 2013 New Revision: 245119 URL: http://svnweb.freebsd.org/changeset/base/245119 Log: I jumped the gun; bumping revision is wrong. Submitted by: ae Modified: stable/9/sys/conf/newvers.sh Modified: stable/9/sys/conf/newvers.sh ============================================================================== --- stable/9/sys/conf/newvers.sh Mon Jan 7 00:35:06 2013 (r245118) +++ stable/9/sys/conf/newvers.sh Mon Jan 7 00:49:29 2013 (r245119) @@ -31,7 +31,7 @@ # $FreeBSD$ TYPE="FreeBSD" -REVISION="9.2" +REVISION="9.1" BRANCH="STABLE" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 00:52:24 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id F1FC5D66; Mon, 7 Jan 2013 00:52:23 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from onyx.glenbarber.us (onyx.glenbarber.us [IPv6:2607:fc50:1000:c200::face]) by mx1.freebsd.org (Postfix) with ESMTP id AF59EC3; Mon, 7 Jan 2013 00:52:23 +0000 (UTC) Received: from glenbarber.us (kaos.glenbarber.us [71.224.221.174]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: gjb) by onyx.glenbarber.us (Postfix) with ESMTPSA id A2CC123F763; Sun, 6 Jan 2013 19:52:21 -0500 (EST) DKIM-Filter: OpenDKIM Filter v2.7.1 onyx.glenbarber.us A2CC123F763 Authentication-Results: onyx.glenbarber.us; dkim=none reason="no signature"; dkim-adsp=none (insecure policy) Date: Sun, 6 Jan 2013 19:52:19 -0500 From: Glen Barber To: "Andrey V. Elsukov" Subject: Re: svn commit: r245118 - stable/9/sys/conf Message-ID: <20130107005148.GH36679@glenbarber.us> References: <50ea183a.145a.4cc89e4f@svn.freebsd.org> <50EA19C6.6070609@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="TA4f0niHM6tHt3xR" Content-Disposition: inline In-Reply-To: <50EA19C6.6070609@FreeBSD.org> X-Operating-System: FreeBSD 10.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 00:52:24 -0000 --TA4f0niHM6tHt3xR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jan 07, 2013 at 04:41:42AM +0400, Andrey V. Elsukov wrote: > it seems you are wrong. It will be called 9.2-STABLE only when > releng/9.2 will be created. >=20 Hi, It seems I lost "point in time" track between -STABLE and -PRERELEASE. Reverted. Thanks. Glen --TA4f0niHM6tHt3xR Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQEcBAEBCAAGBQJQ6hxDAAoJEFJPDDeguUajNYcIAJPZzDou1zUKJFBU5gmK4VD3 7wrY7ltUA1NmnqBmFcdIDztOGOxj25iaQ8urjit47owEeNMFwzkohXfK9YYu5vbv FrzM56DbE8mPFRSBLE6JWs/L6fsO1F4YhKkdywFPMYoy3TpCIUAUlNM2mCqJKru0 6Zx1Woc7wC0JEoZ3YtdGtAfXrNmKi9IhbIRRj4Ns6jLdRmcRQEM35eyX7kjsAk7p iuaimTuOXHkUMKN7tcqFAufpqq5DjJb/XTKZcQFh4Nj4U3nb2/GzyUSwmm/M8ifp X6YZkm1E3aDWW6wAleCRDMLLLWyBICWbCir5J+VF/1+caxjQluT/T//pW6pzK0U= =3wgk -----END PGP SIGNATURE----- --TA4f0niHM6tHt3xR-- From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 02:38:37 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 07BB37C4 for ; Mon, 7 Jan 2013 02:38:37 +0000 (UTC) (envelope-from gonzo@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DFDAE2BC for ; Mon, 7 Jan 2013 02:38:36 +0000 (UTC) Received: from gonzo (uid 1151) (envelope-from gonzo@svn.freebsd.org) id 145b by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 02:38:36 +0000 From: Oleksandr Tymoshenko Date: Mon, 7 Jan 2013 02:38:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245120 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea352c.145b.2ae7fa05@svn.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 02:38:37 -0000 Author: gonzo Date: Mon Jan 7 02:38:36 2013 New Revision: 245120 URL: http://svnweb.freebsd.org/changeset/base/245120 Log: Release version check for erratum 727915 workaround in l2_wbinv_range function implementation causes function fail to flush caches for chip with RTL number 0x7. I failed to find official PL310 revision with this RTL number so further research on this matter required. Modified: head/sys/arm/arm/pl310.c Modified: head/sys/arm/arm/pl310.c ============================================================================== --- head/sys/arm/arm/pl310.c Mon Jan 7 00:49:29 2013 (r245119) +++ head/sys/arm/arm/pl310.c Mon Jan 7 02:38:36 2013 (r245120) @@ -187,9 +187,7 @@ pl310_wbinv_range(vm_paddr_t start, vm_s #ifdef PL310_ERRATA_727915 - if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r2p0 || - pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0) - platform_pl310_write_debug(pl310_softc, 3); + platform_pl310_write_debug(pl310_softc, 3); #endif while (size > 0) { #ifdef PL310_ERRATA_588369 @@ -210,9 +208,7 @@ pl310_wbinv_range(vm_paddr_t start, vm_s size -= g_l2cache_line_size; } #ifdef PL310_ERRATA_727915 - if (pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r2p0 || - pl310_softc->sc_rtl_revision == CACHE_ID_RELEASE_r3p0) - platform_pl310_write_debug(pl310_softc, 0); + platform_pl310_write_debug(pl310_softc, 0); #endif pl310_cache_sync(); From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 03:22:28 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D7B6BBD0; Mon, 7 Jan 2013 03:22:28 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-da0-f46.google.com (mail-da0-f46.google.com [209.85.210.46]) by mx1.freebsd.org (Postfix) with ESMTP id 8141E653; Mon, 7 Jan 2013 03:22:28 +0000 (UTC) Received: by mail-da0-f46.google.com with SMTP id p5so8399066dak.5 for ; Sun, 06 Jan 2013 19:22:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:references:mime-version:in-reply-to:content-type :content-transfer-encoding:message-id:cc:x-mailer:from:subject:date :to; bh=ewsOYwLpxABv7sjeXgrv4nsL9YMcEZvC+L0Ee8CR2+k=; b=vbgmkQYX4HIB2anf/yGlTUDSw0LC8IlNjGiLl9zbS643zX27AV+TBS4fICRysmLHQC apkFyK5QxzebEdC48aVv9xBCzLd/GjyjxscQwi5Ynse/m2zevCSbMUkWhUNtekttnFZe xqwoTBmkezjDYmUYryUKTlolnWLnCMcpNitaQBscDqO2p/dKA0q8youSs0vxQyTCSp3I 3heHzLLshlCh0EfnJ+qg6dY4CxoBiAI2V5nE2h9Ej7efOIPN3Nl/72i+3p9jj23Ad9vV vuHY3UdNC8K9sv94sB8tvY+wwxsnCKWU5SR99tmk/uZOI7leaKU+G5jAqhIG5blIY27+ fNpw== X-Received: by 10.68.223.230 with SMTP id qx6mr185588045pbc.159.1357528942010; Sun, 06 Jan 2013 19:22:22 -0800 (PST) Received: from [10.64.84.34] (mobile-166-147-093-031.mycingular.net. [166.147.93.31]) by mx.google.com with ESMTPS id a4sm37835880pax.25.2013.01.06.19.22.19 (version=SSLv3 cipher=OTHER); Sun, 06 Jan 2013 19:22:21 -0800 (PST) References: <201301051918.r05JIptx030509@svn.freebsd.org> Mime-Version: 1.0 (1.0) In-Reply-To: <201301051918.r05JIptx030509@svn.freebsd.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Message-Id: <999FD346-D6A2-473C-91F6-BDCE8363A62E@gmail.com> X-Mailer: iPhone Mail (10A523) From: Garrett Cooper Subject: Re: svn commit: r245066 - head/sys/kern Date: Sun, 6 Jan 2013 19:22:14 -0800 To: Neel Natu Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 03:22:28 -0000 On Jan 5, 2013, at 11:18 AM, Neel Natu wrote: > Author: neel > Date: Sat Jan 5 19:18:50 2013 > New Revision: 245066 > URL: http://svnweb.freebsd.org/changeset/base/245066 >=20 > Log: > Teach the kernel to recognize that it is executing inside a bhyve virtual= > machine. >=20 > Obtained from: NetApp >=20 > Modified: > head/sys/kern/subr_param.c >=20 > Modified: head/sys/kern/subr_param.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > --- head/sys/kern/subr_param.c Sat Jan 5 18:48:23 2013 (r245065) > +++ head/sys/kern/subr_param.c Sat Jan 5 19:18:50 2013 (r245066) > @@ -160,6 +160,7 @@ static const char *const vm_bnames[] =3D { > "Plex86", /* Plex86 */ > "Bochs", /* Bochs */ > "Xen", /* Xen */ > + "BHYVE", /* bhyve */ > NULL > }; Interesting. This needs to be abstracted out a bit in order to work more pro= perly with VMware and other platforms that use the VT calls properly (and ge= t rid of some duplicated effort in tsc.c), but this is definitely a good bre= adcrumb for cleaning up our vm detection and handling layer. Thanks for the commit :). -Garrett= From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 03:36:33 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 82B81E53 for ; Mon, 7 Jan 2013 03:36:33 +0000 (UTC) (envelope-from pfg@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 640416BD for ; Mon, 7 Jan 2013 03:36:33 +0000 (UTC) Received: from pfg (uid 1275) (envelope-from pfg@svn.freebsd.org) id 1c22 by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 03:36:33 +0000 From: Pedro F. Giffuni Date: Mon, 7 Jan 2013 03:36:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245121 - head/sys/fs/ext2fs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50ea42c1.1c22.6605f106@svn.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 03:36:33 -0000 Author: pfg Date: Mon Jan 7 03:36:32 2013 New Revision: 245121 URL: http://svnweb.freebsd.org/changeset/base/245121 Log: ext2fs: cleanup de dinode structure. It was plagued with style errors and the offsets had been lost. While here took the time to update the fields according to the latest ext4 documentation. Reviewed by: bde MFC after: 3 days Modified: head/sys/fs/ext2fs/ext2_dinode.h Modified: head/sys/fs/ext2fs/ext2_dinode.h ============================================================================== --- head/sys/fs/ext2fs/ext2_dinode.h Mon Jan 7 02:38:36 2013 (r245120) +++ head/sys/fs/ext2fs/ext2_dinode.h Mon Jan 7 03:36:32 2013 (r245121) @@ -29,8 +29,6 @@ #ifndef _FS_EXT2FS_EXT2_DINODE_H_ #define _FS_EXT2FS_EXT2_DINODE_H_ -#define e2di_size_high e2di_dacl - /* * Special inode numbers * The root inode is the root of the file system. Inode 0 can't be used for @@ -87,11 +85,11 @@ struct ext2fs_dinode { uint16_t e2di_mode; /* 0: IFMT, permissions; see below. */ uint16_t e2di_uid; /* 2: Owner UID */ - uint32_t e2di_size; /* 4: Size (in bytes) */ - uint32_t e2di_atime; /* 8: Access time */ - uint32_t e2di_ctime; /* 12: Change time */ - uint32_t e2di_mtime; /* 16: Modification time */ - uint32_t e2di_dtime; /* 20: Deletion time */ + uint32_t e2di_size; /* 4: Size (in bytes) */ + uint32_t e2di_atime; /* 8: Access time */ + uint32_t e2di_ctime; /* 12: Change time */ + uint32_t e2di_mtime; /* 16: Modification time */ + uint32_t e2di_dtime; /* 20: Deletion time */ uint16_t e2di_gid; /* 24: Owner GID */ uint16_t e2di_nlink; /* 26: File link count */ uint32_t e2di_nblock; /* 28: Blocks count */ @@ -99,22 +97,23 @@ struct ext2fs_dinode { uint32_t e2di_version; /* 36: Low 32 bits inode version */ uint32_t e2di_blocks[EXT2_N_BLOCKS]; /* 40: disk blocks */ uint32_t e2di_gen; /* 100: generation number */ - uint32_t e2di_facl; /* 104: file ACL (not implemented) */ - uint32_t e2di_dacl; /* 108: dir ACL (not implemented) */ - uint32_t e2di_faddr; /* 112: fragment address */ + uint32_t e2di_facl; /* 104: Low EA block */ + uint32_t e2di_size_high; /* 108: Upper bits of file size */ + uint32_t e2di_faddr; /* 112: Fragment address (obsolete) */ uint16_t e2di_nblock_high; /* 116: Blocks count bits 47:32 */ - uint16_t e2di_facl_high; /* 118: file ACL bits 47:32 */ + uint16_t e2di_facl_high; /* 118: File EA bits 47:32 */ uint16_t e2di_uid_high; /* 120: Owner UID top 16 bits */ uint16_t e2di_gid_high; /* 122: Owner GID top 16 bits */ - uint32_t e2di_linux_reserved3; /* 124 */ - uint16_t e2di_extra_isize; - uint16_t e2di_pad1; - uint32_t e2di_ctime_extra; /* Extra change time */ - uint32_t e2di_mtime_extra; /* Extra modification time */ - uint32_t e2di_atime_extra; /* Extra access time */ - uint32_t e2di_crtime; /* Creation (birth)time */ - uint32_t e2di_crtime_extra; /* Extra creation (birth)time */ - uint32_t e2di_version_hi; /* High 30 bits of inode version */ + uint16_t e2di_chksum_lo; /* 124: Lower inode checksum */ + uint16_t e2di_lx_reserved; /* 126: Unused */ + uint16_t e2di_extra_isize; /* 128: Size of this inode */ + uint16_t e2di_chksum_hi; /* 130: High inode checksum */ + uint32_t e2di_ctime_extra; /* 132: Extra change time */ + uint32_t e2di_mtime_extra; /* 136: Extra modification time */ + uint32_t e2di_atime_extra; /* 140: Extra access time */ + uint32_t e2di_crtime; /* 144: Creation (birth)time */ + uint32_t e2di_crtime_extra; /* 148: Extra creation (birth)time */ + uint32_t e2di_version_hi; /* 152: High bits of inode version */ }; #endif /* !_FS_EXT2FS_EXT2_DINODE_H_ */ From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 07:06:47 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1BFD4116; Mon, 7 Jan 2013 07:06:47 +0000 (UTC) (envelope-from neelnatu@gmail.com) Received: from mail-ie0-f177.google.com (mail-ie0-f177.google.com [209.85.223.177]) by mx1.freebsd.org (Postfix) with ESMTP id C81EAE7E; Mon, 7 Jan 2013 07:06:46 +0000 (UTC) Received: by mail-ie0-f177.google.com with SMTP id k13so22176261iea.8 for ; Sun, 06 Jan 2013 23:06:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type:content-transfer-encoding; bh=pRnsdJGv15krHj6q3x0MlpMRXnD+87YlQjcsOFaw6n0=; b=rFIEOAYZWKUa/wvUTRfmxPTencBrFuaXFvCEj6+mLc0wTpOVm+P2PAYMXUJxLKs80L qvE06cZyhb08/Sodi8AdnC7w6+n+RYBracubUvhYH19ydOXZRrwV4WyAU5HfSe7ZTcHH bPIHvhWtmC5REu/THd8Pneu2HjT+LlpiIZkx/8fFfeKGYBVq2jKMFg2D1f7zyUnSgca3 TNPhsIQu7obQNBAQAwRuGfvCnxwBzNWy55B6dQrXNsXMlzr6+t4bOIcJB1fO5ibhw8jv A5CuWWcyGzU46qu0njegBjj5rcG0tfVz4cKAP74jcqyP1aRFHzOBpStvMvtJ8XXx0xbm QVVg== MIME-Version: 1.0 X-Received: by 10.50.158.165 with SMTP id wv5mr4904258igb.3.1357542400080; Sun, 06 Jan 2013 23:06:40 -0800 (PST) Received: by 10.43.112.194 with HTTP; Sun, 6 Jan 2013 23:06:39 -0800 (PST) In-Reply-To: <999FD346-D6A2-473C-91F6-BDCE8363A62E@gmail.com> References: <201301051918.r05JIptx030509@svn.freebsd.org> <999FD346-D6A2-473C-91F6-BDCE8363A62E@gmail.com> Date: Sun, 6 Jan 2013 23:06:39 -0800 Message-ID: Subject: Re: svn commit: r245066 - head/sys/kern From: Neel Natu To: Garrett Cooper Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Neel Natu X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 07:06:47 -0000 Hi Garrett, On Sun, Jan 6, 2013 at 7:22 PM, Garrett Cooper wrote: > On Jan 5, 2013, at 11:18 AM, Neel Natu wrote: > >> Author: neel >> Date: Sat Jan 5 19:18:50 2013 >> New Revision: 245066 >> URL: http://svnweb.freebsd.org/changeset/base/245066 >> >> Log: >> Teach the kernel to recognize that it is executing inside a bhyve virtu= al >> machine. >> >> Obtained from: NetApp >> >> Modified: >> head/sys/kern/subr_param.c >> >> Modified: head/sys/kern/subr_param.c >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> --- head/sys/kern/subr_param.c Sat Jan 5 18:48:23 2013 (r245065) >> +++ head/sys/kern/subr_param.c Sat Jan 5 19:18:50 2013 (r245066) >> @@ -160,6 +160,7 @@ static const char *const vm_bnames[] =3D { >> "Plex86", /* Plex86 */ >> "Bochs", /* Bochs */ >> "Xen", /* Xen */ >> + "BHYVE", /* bhyve */ >> NULL >> }; > > Interesting. This needs to be abstracted out a bit in order to work more = properly with VMware and other platforms that use the VT calls properly (an= d get rid of some duplicated effort in tsc.c), but this is definitely a goo= d breadcrumb for cleaning up our vm detection and handling layer. > Agreed. One possible approach would be to have an arch-dependent call which could check for presence of the CPUID2_HV. It would have the added bonus of getting rid of x86-specific code from subr_param.c. Also, I am not sure what you mean by "platforms that use the VT calls properly" ... best Neel > Thanks for the commit :). > > -Garrett From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 11:11:06 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1349C95B for ; Mon, 7 Jan 2013 11:11:06 +0000 (UTC) (envelope-from mm@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F3A9D1AF for ; Mon, 7 Jan 2013 11:11:05 +0000 (UTC) Received: from mm (uid 1130) (envelope-from mm@svn.freebsd.org) id 76db by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 11:11:05 +0000 From: Martin Matuska Date: Mon, 7 Jan 2013 11:11:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245128 - in stable/9/contrib/xz: . po src/common src/liblzma/api/lzma src/liblzma/simple src/xz X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50eaad49.76db.1a574ca2@svn.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 11:11:06 -0000 Author: mm Date: Mon Jan 7 11:11:04 2013 New Revision: 245128 URL: http://svnweb.freebsd.org/changeset/base/245128 Log: MFC r244601: Update contrib/xz to version 5.0.4 Modified: stable/9/contrib/xz/AUTHORS stable/9/contrib/xz/ChangeLog stable/9/contrib/xz/README stable/9/contrib/xz/THANKS stable/9/contrib/xz/po/de.po stable/9/contrib/xz/po/fr.po stable/9/contrib/xz/po/it.po stable/9/contrib/xz/po/pl.po stable/9/contrib/xz/src/common/sysdefs.h stable/9/contrib/xz/src/liblzma/api/lzma/version.h stable/9/contrib/xz/src/liblzma/simple/simple_coder.c stable/9/contrib/xz/src/liblzma/simple/simple_private.h stable/9/contrib/xz/src/xz/args.c stable/9/contrib/xz/src/xz/coder.c stable/9/contrib/xz/src/xz/message.c stable/9/contrib/xz/src/xz/xz.1 Directory Properties: stable/9/contrib/xz/ (props changed) Modified: stable/9/contrib/xz/AUTHORS ============================================================================== --- stable/9/contrib/xz/AUTHORS Mon Jan 7 07:33:48 2013 (r245127) +++ stable/9/contrib/xz/AUTHORS Mon Jan 7 11:11:04 2013 (r245128) @@ -16,11 +16,11 @@ Authors of XZ Utils Some scripts have been adapted from gzip. The original versions were written by Jean-loup Gailly, Charles Levert, and Paul Eggert. - Andrew Dudman helped adapting the script and their man pages for + Andrew Dudman helped adapting the scripts and their man pages for XZ Utils. - The GNU Autotools based build system contains files from many authors, - which I'm not trying list here. + The GNU Autotools-based build system contains files from many authors, + which I'm not trying to list here. Several people have contributed fixes or reported bugs. Most of them are mentioned in the file THANKS. Modified: stable/9/contrib/xz/ChangeLog ============================================================================== --- stable/9/contrib/xz/ChangeLog Mon Jan 7 07:33:48 2013 (r245127) +++ stable/9/contrib/xz/ChangeLog Mon Jan 7 11:11:04 2013 (r245128) @@ -1,3 +1,335 @@ +commit 20778053a07eb90c159c1377ca8dc05a90fd530b +Author: Lasse Collin +Date: Fri Jun 22 14:36:16 2012 +0300 + + xz: Update man page date to match the latest update. + +commit 2cefa84af676da37d7e9c466d55d46c67ab00c22 +Author: Lasse Collin +Date: Fri Jun 22 10:25:43 2012 +0300 + + Bump version and soname for 5.0.4. + +commit 433fec191a17e45690809e54146ea7a773f54cff +Author: Lasse Collin +Date: Fri Jun 22 10:25:09 2012 +0300 + + Update NEWS for 5.0.4. + +commit 711fa680f552a4003df73b37e6dc4d6e00b47bcd +Author: Lasse Collin +Date: Mon Jun 18 21:27:47 2012 +0300 + + Docs: Language fix to 01_compress_easy.c. + + Thanks to Jonathan Nieder. + +commit 3d7ab1dc61a75c560828be5df96598388b771456 +Author: Lasse Collin +Date: Thu Jun 14 20:15:30 2012 +0300 + + Fix the top-level Makefile.am for the new example programs. + +commit ef8b8e5f111469b5bc005975f7abb9abbd372b25 +Author: Lasse Collin +Date: Thu Jun 14 10:52:33 2012 +0300 + + Docs: Add new example programs. + + These have more comments than the old examples and + human-readable error messages. More tutorial-like examples + are needed but these are a start. + +commit 75c149bc8045a26f8bc719cb8ed20668dab79091 +Author: Lasse Collin +Date: Thu Jun 14 10:33:27 2012 +0300 + + Docs: Move xz_pipe_comp.c and xz_pipe_decomp.c to doc/examples_old. + + It is good to keep these around to so that if someone has + copied the decompressor bug from xz_pipe_decomp.c he has + an example how to easily fix it. + +commit 456307ebf947a5f50bd995d617b99c1215572308 +Author: Lasse Collin +Date: Thu Jun 14 10:33:01 2012 +0300 + + Docs: Fix a bug in xz_pipe_decomp.c example program. + +commit 4c310b8a29bc257e6ccbd2310f12f258678f3fef +Author: Lasse Collin +Date: Thu May 31 15:53:25 2012 +0300 + + Translations: Update the Italian translation. + + Thanks to Milo Casagrande. + +commit ec32b79366dc47a55ea877589df9e8509ba113a7 +Author: Lasse Collin +Date: Wed May 30 23:15:07 2012 +0300 + + Translations: Update the French translation. + + Thanks to Adrien Nader. + +commit dd06f40e4dd7649525e4f28d890dc238a3aa37e5 +Author: Lasse Collin +Date: Tue May 29 22:26:27 2012 +0300 + + Translations: Update the German translation. + +commit c66808d1f55d0149ed57c536cc9b52e9c8b583bc +Author: Lasse Collin +Date: Tue May 29 22:12:57 2012 +0300 + + Translations: Update Polish translation. + +commit 556c22dfed195c1466b298183b850d6c28544900 +Author: Lasse Collin +Date: Tue May 29 13:10:36 2012 +0300 + + Preliminary NEWS for 5.0.4. + +commit dd13b66bf582f49d3aec36e3410ff8541b7506da +Author: Lasse Collin +Date: Mon May 28 20:42:11 2012 +0300 + + liblzma: Fix possibility of incorrect LZMA_BUF_ERROR. + + lzma_code() could incorrectly return LZMA_BUF_ERROR if + all of the following was true: + + - The caller knows how many bytes of output to expect + and only provides that much output space. + + - When the last output bytes are decoded, the + caller-provided input buffer ends right before + the LZMA2 end of payload marker. So LZMA2 won't + provide more output anymore, but it won't know it + yet and thus won't return LZMA_STREAM_END yet. + + - A BCJ filter is in use and it hasn't left any + unfiltered bytes in the temp buffer. This can happen + with any BCJ filter, but in practice it's more likely + with filters other than the x86 BCJ. + + Another situation where the bug can be triggered happens + if the uncompressed size is zero bytes and no output space + is provided. In this case the decompression can fail even + if the whole input file is given to lzma_code(). + + A similar bug was fixed in XZ Embedded on 2011-09-19. + +commit a0223bf796fdaad51a11ad02c4195c694849cc78 +Author: Lasse Collin +Date: Mon May 28 15:38:32 2012 +0300 + + Update THANKS. + +commit 86e57e4bfefe3fd8e13615c41604165bb2359501 +Author: Lasse Collin +Date: Mon May 28 15:37:43 2012 +0300 + + xz: Don't show a huge number in -vv when memory limit is disabled. + +commit 13e44a94da19d1ef14832ff12d3877a6fd2c54c0 +Author: Lasse Collin +Date: Sun May 27 22:30:17 2012 +0300 + + xz: Document the "summary" lines of --robot -lvv. + + This documents only the columns that are in v5.0. + The new columns added in the master branch aren't + necessarily stable yet. + +commit 2f90345e13ab8fea4de45a4f1caa73ebc63a62e7 +Author: Lasse Collin +Date: Sun May 27 21:53:20 2012 +0300 + + xz: Fix output of verbose --robot --list modes. + + It printed the filename in "filename (x/y)" format + which it obviously shouldn't do in robot mode. + +commit 8d4864f53ffae5d862c691a0b334a6b69bc5366e +Author: Lasse Collin +Date: Thu May 10 21:15:17 2012 +0300 + + Update THANKS. + +commit 35e9c58abb0ce3993da844aaeaa3e7231cd2be8f +Author: Lasse Collin +Date: Thu May 10 21:14:16 2012 +0300 + + Docs: Cleanup line wrapping a bit. + +commit 532b3e4c568a228309b56f95c13435fd078dbe02 +Author: Benno Schulenberg +Date: Tue Mar 13 22:04:04 2012 +0100 + + Fix a few typos and add some missing articles in some documents. + + Also hyphenate several compound adjectives. + + Signed-off-by: Benno Schulenberg + +commit afb6ce8c82ffef8f2505a3759da72a733c7b0b8f +Author: Lasse Collin +Date: Sun Apr 29 11:51:25 2012 +0300 + + Windows: Update notes about static linking with MSVC. + +commit 7c3ba2ed5c3c878d4a14ca549b46dbff60c6d565 +Author: Lasse Collin +Date: Thu Apr 19 15:25:26 2012 +0300 + + liblzma: Remove outdated comments. + +commit f55db9c187651094f43881c49db2b2d9ffee6b80 +Author: Lasse Collin +Date: Thu Apr 19 14:17:52 2012 +0300 + + DOS: Link against DJGPP's libemu to support FPU emulation. + + This way xz should work on 386SX and 486SX. Floating point + only is needed for verbose output in xz. + +commit 203edff4c761dbd7cac76ea66e4eed501c23e7a3 +Author: Lasse Collin +Date: Thu Apr 19 13:58:55 2012 +0300 + + Docs: Update MINIX 3 information in INSTALL. + +commit f0a8f95c215628967b7cf9bd9b0a9e4172f50bb4 +Author: Lasse Collin +Date: Wed Feb 22 14:23:13 2012 +0200 + + Update THANKS. + +commit b7ad23fa78646036c0290cd91eada939c9a31526 +Author: Lasse Collin +Date: Wed Feb 22 14:02:34 2012 +0200 + + Fix exit status of xzgrep when grepping binary files. + + When grepping binary files, grep may exit before it has + read all the input. In this case, gzip -q returns 2 (eating + SIGPIPE), but xz and bzip2 show SIGPIPE as the exit status + (e.g. 141). This causes wrong exit status when grepping + xz- or bzip2-compressed binary files. + + The fix checks for the special exit status that indicates SIGPIPE. + It uses kill -l which should be supported everywhere since it + is in both SUSv2 (1997) and POSIX.1-2008. + + Thanks to James Buren for the bug report. + +commit 4e19fbb04a0035030406482319e264426459eb24 +Author: Lasse Collin +Date: Wed Feb 22 12:08:43 2012 +0200 + + Update THANKS. + +commit c6fa03a427e3d1320794102cee3ff4f5ae00eb36 +Author: Lasse Collin +Date: Thu May 24 18:47:52 2012 +0300 + + Fix compiling with IBM XL C on AIX. + +commit 7b6ffc98645e1b3b302b6680be0a901d1ebf7358 +Author: Lasse Collin +Date: Thu May 24 18:37:08 2012 +0300 + + Build: Upgrade m4/acx_pthread.m4 to the latest version. + + It was renamed to ax_pthread.m4 in Autoconf Archive. + +commit bfac2be5023994fcc53de2844e7dd3af61910dc2 +Author: Lasse Collin +Date: Tue Jan 10 17:13:03 2012 +0200 + + Tests: Fix a compiler warning with _FORTIFY_SOURCE. + + Reported here: + http://sourceforge.net/projects/lzmautils/forums/forum/708858/topic/4927385 + +commit df85e156716a4eecb7e2978691f03f729444d998 +Author: Lasse Collin +Date: Mon Dec 19 21:21:29 2011 +0200 + + Docs: Explain the stable releases better in README. + +commit d06d32f108c8278c25c24b2e8666bda7b2ec23b5 +Author: Lasse Collin +Date: Fri Nov 4 17:57:16 2011 +0200 + + xz: Fix a typo in a comment. + + Thanks to Bela Lubkin. + +commit 636fdcfbf542f1e84db2c4736004d84be4b12c84 +Author: Lasse Collin +Date: Thu Nov 3 17:08:02 2011 +0200 + + Update THANKS. + +commit 55fd02f83ecd6cbd6925a3e8a3d43b8d4ef2a17c +Author: Lasse Collin +Date: Thu Nov 3 17:07:22 2011 +0200 + + xz: Fix xz on EBCDIC systems. + + Thanks to Chris Donawa. + +commit 4052f36053b931bad847a36aabf1a07d0034e297 +Author: Lasse Collin +Date: Tue Sep 6 12:03:41 2011 +0300 + + Build: Fix "make check" on Windows. + +commit 0f25758459c74c366a73f35d47ee12b75890bb79 +Author: Lasse Collin +Date: Tue Aug 9 21:19:13 2011 +0300 + + Update THANKS. + +commit 70f03b51ffcb783646b20de8d97b6986c4280eec +Author: Lasse Collin +Date: Tue Aug 9 21:16:44 2011 +0300 + + Workaround unusual SIZE_MAX on SCO OpenServer. + +commit f138bdf76a70029e8360062a0b227936b83b24c9 +Author: Lasse Collin +Date: Sat Aug 6 20:37:28 2011 +0300 + + Run the scripts with the correct shell in test_scripts.sh. + + The scripts are now made executable in the build tree. + This way the scripts can be run like programs in + test_scripts.sh. Previously test_scripts.sh always + used sh but it's not correct if @POSIX_SHELL@ is set + to something else by configure. + + Thanks to Jonathan Nieder for the patch. + +commit 2c144a0365c84dbf1b6722466746d42f2563a319 +Author: Lasse Collin +Date: Sun Jul 31 11:01:47 2011 +0300 + + Fix exit status of "xzdiff foo.xz bar.xz". + + xzdiff was clobbering the exit status from diff in a case + statement used to analyze the exit statuses from "xz" when + its operands were two compressed files. Save and restore + diff's exit status to fix this. + + The bug is inherited from zdiff in GNU gzip and was fixed + there on 2009-10-09. + + Thanks to Jonathan Nieder for the patch and + to Peter Pallinger for reporting the bug. + commit edf339227a966f24aebe1845fcca9429b8f6e318 Author: Anders F Bjorklund Date: Fri Nov 5 12:56:11 2010 +0100 Modified: stable/9/contrib/xz/README ============================================================================== --- stable/9/contrib/xz/README Mon Jan 7 07:33:48 2013 (r245127) +++ stable/9/contrib/xz/README Mon Jan 7 11:11:04 2013 (r245128) @@ -5,7 +5,7 @@ XZ Utils 0. Overview 1. Documentation 1.1. Overall documentation - 1.2. Documentation for command line tools + 1.2. Documentation for command-line tools 1.3. Documentation for liblzma 2. Version numbering 3. Reporting bugs @@ -17,21 +17,21 @@ XZ Utils 0. Overview ----------- - XZ Utils provide a general-purpose data compression library and - command line tools. The native file format is the .xz format, but + XZ Utils provide a general-purpose data-compression library plus + command-line tools. The native file format is the .xz format, but also the legacy .lzma format is supported. The .xz format supports - multiple compression algorithms, which are called "filters" in + multiple compression algorithms, which are called "filters" in the context of XZ Utils. The primary filter is currently LZMA2. With typical files, XZ Utils create about 30 % smaller files than gzip. To ease adapting support for the .xz format into existing applications and scripts, the API of liblzma is somewhat similar to the API of the - popular zlib library. For the same reason, the command line tool xz - has similar command line syntax than that of gzip. + popular zlib library. For the same reason, the command-line tool xz + has a command-line syntax similar to that of gzip. - When aiming for the highest compression ratio, LZMA2 encoder uses + When aiming for the highest compression ratio, the LZMA2 encoder uses a lot of CPU time and may use, depending on the settings, even - hundreds of megabytes of RAM. However, in fast modes, LZMA2 encoder + hundreds of megabytes of RAM. However, in fast modes, the LZMA2 encoder competes with bzip2 in compression speed, RAM usage, and compression ratio. @@ -44,8 +44,8 @@ XZ Utils since that needs to be done only once to benefit many people. With some file types, combining (or "chaining") LZMA2 with an - additional filter can improve compression ratio. A filter chain may - contain up to four filters, although usually only one two is used. + additional filter can improve the compression ratio. A filter chain may + contain up to four filters, although usually only one or two are used. For example, putting a BCJ (Branch/Call/Jump) filter before LZMA2 in the filter chain can improve compression ratio of executable files. @@ -88,9 +88,9 @@ XZ Utils packages. -1.2. Documentation for command line tools +1.2. Documentation for command-line tools - The command line tools are documented as man pages. In source code + The command-line tools are documented as man pages. In source code releases (and possibly also in some binary packages), the man pages are also provided in plain text (ASCII only) and PDF formats in the directory "doc/man" to make the man pages more accessible to those @@ -109,8 +109,8 @@ XZ Utils written yet. For now, if you have never used liblzma, libbzip2, or zlib, I - recommend learning *basics* of zlib API. Once you know that, it - should be easier to learn liblzma. + recommend learning the *basics* of the zlib API. Once you know that, + it should be easier to learn liblzma. http://zlib.net/manual.html http://zlib.net/zlib_how.html @@ -124,23 +124,27 @@ XZ Utils - X is the major version. When this is incremented, the library API and ABI break. - - Y is the minor version. It is incremented when new features are - added without breaking existing API or ABI. Even Y indicates - stable release and odd Y indicates unstable (alpha or beta - version). + - Y is the minor version. It is incremented when new features + are added without breaking the existing API or ABI. An even Y + indicates a stable release and an odd Y indicates unstable + (alpha or beta version). - - Z is the revision. This has different meaning for stable and + - Z is the revision. This has a different meaning for stable and unstable releases: + * Stable: Z is incremented when bugs get fixed without adding - any new features. + any new features. This is intended to be convenient for + downstream distributors that want bug fixes but don't want + any new features to minimize the risk of introducing new bugs. + * Unstable: Z is just a counter. API or ABI of features added in earlier unstable releases having the same X.Y may break. - S indicates stability of the release. It is missing from the - stable releases where Y is an even number. When Y is odd, S + stable releases, where Y is an even number. When Y is odd, S is either "alpha" or "beta" to make it very clear that such versions are not stable releases. The same X.Y.Z combination is - not used for more than one stability level i.e. after X.Y.Zalpha, + not used for more than one stability level, i.e. after X.Y.Zalpha, the next version can be X.Y.(Z+1)beta but not X.Y.Zbeta. @@ -176,7 +180,7 @@ XZ Utils Don't send core dump files or any executables. If you have a small example file(s) (total size less than 256 KiB), please include it/them as an attachment. If you have bigger test files, put them - online somewhere and include an URL to the file(s) in the bug report. + online somewhere and include a URL to the file(s) in the bug report. Always include the exact version number of XZ Utils in the bug report. If you are using a snapshot from the git repository, use "git describe" @@ -193,7 +197,7 @@ XZ Utils The messages from the xz tool have been translated into a few languages. Before starting to translate into a new language, ask - the author that someone else hasn't already started working on it. + the author whether someone else hasn't already started working on it. Test your translation. Testing includes comparing the translated output to the original English version by running the same commands @@ -214,7 +218,7 @@ XZ Utils Note especially the following: - The output of --help and --long-help must look nice on - a 80-column terminal. It's OK to add extra lines if needed. + an 80-column terminal. It's OK to add extra lines if needed. - In contrast, don't add extra lines to error messages and such. They are often preceded with e.g. a filename on the same line, Modified: stable/9/contrib/xz/THANKS ============================================================================== --- stable/9/contrib/xz/THANKS Mon Jan 7 07:33:48 2013 (r245127) +++ stable/9/contrib/xz/THANKS Mon Jan 7 11:11:04 2013 (r245128) @@ -14,16 +14,19 @@ has been important. :-) In alphabetical - Jakub Bogusz - Maarten Bosmans - Trent W. Buck + - James Buren - David Burklund - Daniel Mealha Cabrita - Milo Casagrande - Marek Černocký + - Chris Donawa - Andrew Dudman - Markus Duft - İsmail Dönmez - Robert Elz - Gilles Espinasse - Denis Excoffier + - Michael Felt - Mike Frysinger - Jason Gorski - Juan Manuel Guerrero @@ -38,8 +41,10 @@ has been important. :-) In alphabetical - Peter Lawler - Hin-Tak Leung - Andraž 'ruskie' Levstik + - Cary Lewis - Wim Lewis - Lorenzo De Liso + - Bela Lubkin - Gregory Margo - Jim Meyering - Rafał Mużyło @@ -48,6 +53,7 @@ has been important. :-) In alphabetical - Jonathan Nieder - Andre Noll - Peter O'Gorman + - Peter Pallinger - Igor Pavlov - Diego Elio Pettenò - Elbert Pol @@ -58,6 +64,7 @@ has been important. :-) In alphabetical - Christian von Roques - Jukka Salmi - Alexandre Sauvé + - Benno Schulenberg - Andreas Schwab - Dan Shechter - Stuart Shelton Modified: stable/9/contrib/xz/po/de.po ============================================================================== --- stable/9/contrib/xz/po/de.po Mon Jan 7 07:33:48 2013 (r245127) +++ stable/9/contrib/xz/po/de.po Mon Jan 7 11:11:04 2013 (r245128) @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: XZ Utils 4.999.9beta\n" "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2010-09-11 17:07+0200\n" +"POT-Creation-Date: 2012-05-29 17:20+0200\n" "PO-Revision-Date: 2010-09-07 20:27+0200\n" "Last-Translator: \n" "Language-Team: German\n" @@ -96,7 +96,7 @@ msgid "%s: File seems to have been moved msgstr "" "%s: Datei scheint umbenannt worden zu sein, daher wird sie nicht gelöscht" -#: src/xz/file_io.c:144 src/xz/file_io.c:590 +#: src/xz/file_io.c:144 src/xz/file_io.c:589 #, c-format msgid "%s: Cannot remove: %s" msgstr "%s: Kann nicht löschen: %s" @@ -126,59 +126,59 @@ msgstr "%s: Überspringe symbolischen Ve msgid "%s: Is a directory, skipping" msgstr "%s: Überspringe Verzeichnis" -#: src/xz/file_io.c:462 +#: src/xz/file_io.c:461 #, c-format msgid "%s: Not a regular file, skipping" msgstr "%s: Keine reguläre Datei, überspringe" -#: src/xz/file_io.c:479 +#: src/xz/file_io.c:478 #, c-format msgid "%s: File has setuid or setgid bit set, skipping" msgstr "%s: Datei hat das setuid oder setgid Bit gesetzt, überspringe" -#: src/xz/file_io.c:486 +#: src/xz/file_io.c:485 #, c-format msgid "%s: File has sticky bit set, skipping" msgstr "%s: Datei hat sticky Bit gesetzt, überspringe" -#: src/xz/file_io.c:493 +#: src/xz/file_io.c:492 #, c-format msgid "%s: Input file has more than one hard link, skipping" msgstr "%s: Eingabedatei hat mehr als einen hard link, überspringe" -#: src/xz/file_io.c:714 +#: src/xz/file_io.c:713 #, c-format msgid "Error restoring the O_APPEND flag to standard output: %s" msgstr "" "Fehler beim Wiederherstellen des O_APPEND flags bei Standard Output: %s" -#: src/xz/file_io.c:726 +#: src/xz/file_io.c:725 #, c-format msgid "%s: Closing the file failed: %s" msgstr "%s: Fehler beim Schießen der Datei: %s" -#: src/xz/file_io.c:762 src/xz/file_io.c:946 +#: src/xz/file_io.c:761 src/xz/file_io.c:945 #, c-format msgid "%s: Seeking failed when trying to create a sparse file: %s" msgstr "" "%s: Positionierungsfehler beim Versuch eine sparse Datei zu erzeugen: %s" -#: src/xz/file_io.c:821 +#: src/xz/file_io.c:820 #, c-format msgid "%s: Read error: %s" msgstr "%s: Lesefehler: %s" -#: src/xz/file_io.c:844 +#: src/xz/file_io.c:843 #, c-format msgid "%s: Error seeking the file: %s" msgstr "%s: Fehler beim Lesen der Dateinamen: %s" -#: src/xz/file_io.c:854 +#: src/xz/file_io.c:853 #, c-format msgid "%s: Unexpected end of file" msgstr "%s: Unerwartetes Ende der Datei" -#: src/xz/file_io.c:904 +#: src/xz/file_io.c:903 #, c-format msgid "%s: Write error: %s" msgstr "%s: Schreibfehler: %s" @@ -212,7 +212,7 @@ msgstr "Kein" #. but the Check ID is known (here 2). This and other "Unknown-N" #. strings are used in tables, so the width must not exceed ten #. columns with a fixed-width font. It's OK to omit the dash if -#. you need space for one extra letter. +#. you need space for one extra letter, but don't use spaces. #: src/xz/list.c:69 msgid "Unknown-2" msgstr "Unbek.2" @@ -275,41 +275,41 @@ msgstr "%s: Zu klein um ein gültiges .x #. to Ratio, the columns are right aligned. Check and Filename #. are left aligned. If you need longer words, it's OK to #. use two lines here. Test with "xz -l foo.xz". -#: src/xz/list.c:612 +#: src/xz/list.c:603 msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" msgstr " Str. Blöcke Kompr. Unkompr. Verh. Check Dateiname" -#: src/xz/list.c:652 +#: src/xz/list.c:643 #, c-format msgid " Streams: %s\n" msgstr " Ströme: %s\n" -#: src/xz/list.c:654 +#: src/xz/list.c:645 #, c-format msgid " Blocks: %s\n" msgstr " Blöcke: %s\n" -#: src/xz/list.c:656 +#: src/xz/list.c:647 #, c-format msgid " Compressed size: %s\n" msgstr " Größe komprimiert: %s\n" -#: src/xz/list.c:659 +#: src/xz/list.c:650 #, c-format msgid " Uncompressed size: %s\n" msgstr " Größe unkomprimiert: %s\n" -#: src/xz/list.c:662 +#: src/xz/list.c:653 #, c-format msgid " Ratio: %s\n" msgstr " Verhältnis: %s\n" -#: src/xz/list.c:664 +#: src/xz/list.c:655 #, c-format msgid " Check: %s\n" msgstr " Check: %s\n" -#: src/xz/list.c:665 +#: src/xz/list.c:656 #, c-format msgid " Stream padding: %s\n" msgstr " Strom Auffüllung: %s\n" @@ -317,7 +317,7 @@ msgstr " Strom Auffüllung: %s\n" #. TRANSLATORS: The second line is column headings. All except #. Check are right aligned; Check is left aligned. Test with #. "xz -lv foo.xz". -#: src/xz/list.c:693 +#: src/xz/list.c:684 msgid "" " Streams:\n" " Stream Blocks CompOffset UncompOffset CompSize " @@ -329,7 +329,7 @@ msgstr "" #. TRANSLATORS: The second line is column headings. All #. except Check are right aligned; Check is left aligned. -#: src/xz/list.c:748 +#: src/xz/list.c:739 #, c-format msgid "" " Blocks:\n" @@ -347,53 +347,53 @@ msgstr "" #. are right aligned. %*s is replaced with 0-120 #. spaces to make the CheckVal column wide enough. #. Test with "xz -lvv foo.xz". -#: src/xz/list.c:760 +#: src/xz/list.c:751 #, c-format msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" msgstr " CheckWert %*s Kopf Schalter KompGröße Speicher Filter" -#: src/xz/list.c:838 src/xz/list.c:1007 +#: src/xz/list.c:829 src/xz/list.c:998 #, c-format msgid " Memory needed: %s MiB\n" msgstr " Benötigter Speicher: %s MiB\n" -#: src/xz/list.c:840 src/xz/list.c:1009 +#: src/xz/list.c:831 src/xz/list.c:1000 #, c-format msgid " Sizes in headers: %s\n" msgstr " Größe in Köpfen: %s\n" -#: src/xz/list.c:841 src/xz/list.c:1010 +#: src/xz/list.c:832 src/xz/list.c:1001 msgid "Yes" msgstr "Ja" -#: src/xz/list.c:841 src/xz/list.c:1010 +#: src/xz/list.c:832 src/xz/list.c:1001 msgid "No" msgstr "Nein" #. TRANSLATORS: %s is an integer. Only the plural form of this #. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". -#: src/xz/list.c:986 +#: src/xz/list.c:977 #, c-format msgid "%s file\n" msgid_plural "%s files\n" msgstr[0] "%s Datei\n" msgstr[1] "%s Dateien\n" -#: src/xz/list.c:999 +#: src/xz/list.c:990 msgid "Totals:" msgstr "Gesamt:" -#: src/xz/list.c:1000 +#: src/xz/list.c:991 #, c-format msgid " Number of files: %s\n" msgstr " Anzahl Dateien: %s\n" -#: src/xz/list.c:1072 +#: src/xz/list.c:1063 msgid "--list works only on .xz files (--format=xz or --format=auto)" msgstr "" "--list funktioniert nur mit .xz Dateien (--format=xz oder --format=auto)" -#: src/xz/list.c:1078 +#: src/xz/list.c:1069 msgid "--list does not support reading from standard input" msgstr "--list unterstützt kein Lesen der Standardeingabe" @@ -428,60 +428,73 @@ msgstr "" "Lesen der Standardeingabe ist nicht möglich, wenn die Dateinamen auch von " "der Standardeingabe gelesen werden" -#: src/xz/message.c:800 src/xz/message.c:844 +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c:733 +#, c-format +msgid "%s: " +msgstr "" + +#: src/xz/message.c:796 src/xz/message.c:846 msgid "Internal error (bug)" msgstr "Interner Fehler (Bug)" -#: src/xz/message.c:807 +#: src/xz/message.c:803 msgid "Cannot establish signal handlers" msgstr "Kann Signal Routine nicht setzen" -#: src/xz/message.c:816 +#: src/xz/message.c:812 msgid "No integrity check; not verifying file integrity" msgstr "Kein Integritäts-Check; werde Datei-Integrität nicht überprüfen" -#: src/xz/message.c:819 +#: src/xz/message.c:815 msgid "Unsupported type of integrity check; not verifying file integrity" msgstr "" "Typ des Integritäts-Checks nicht unterstützt; werde Datei-Integrität nicht " "überprüfen" -#: src/xz/message.c:826 +#: src/xz/message.c:822 msgid "Memory usage limit reached" msgstr "Speicher-Limit erreicht" -#: src/xz/message.c:829 +#: src/xz/message.c:825 msgid "File format not recognized" msgstr "Datei Format nicht erkannt" -#: src/xz/message.c:832 +#: src/xz/message.c:828 msgid "Unsupported options" msgstr "Optionen nicht unterstützt" -#: src/xz/message.c:835 +#: src/xz/message.c:831 msgid "Compressed data is corrupt" msgstr "Komprimierte Daten sind korrupt" -#: src/xz/message.c:838 +#: src/xz/message.c:834 msgid "Unexpected end of input" msgstr "Unerwartetes Eingabe Ende" -#: src/xz/message.c:886 +#: src/xz/message.c:867 +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB Speicher wird benötigt. Der Begrenzer ist deaktiviert." + +#: src/xz/message.c:895 #, c-format msgid "%s MiB of memory is required. The limit is %s." msgstr "%s MiB Speicher wird benötigt. Limit ist %s." -#: src/xz/message.c:1053 +#: src/xz/message.c:1062 #, c-format msgid "%s: Filter chain: %s\n" msgstr "%s: Filter Kette: %s\n" -#: src/xz/message.c:1063 +#: src/xz/message.c:1072 #, c-format msgid "Try `%s --help' for more information." msgstr "Versuchen Sie `%s --help' für mehr Informationen." -#: src/xz/message.c:1089 +#: src/xz/message.c:1098 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -492,18 +505,18 @@ msgstr "" "Komprimiert oder dekomprimiert .xz DATEI(EN).\n" "\n" -#: src/xz/message.c:1096 +#: src/xz/message.c:1105 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Obligatorische Argumente für lange Optionen sind auch für kurze Optionen\n" "zwingend.\n" -#: src/xz/message.c:1100 +#: src/xz/message.c:1109 msgid " Operation mode:\n" msgstr " Operationsmodus:\n" -#: src/xz/message.c:1103 +#: src/xz/message.c:1112 msgid "" " -z, --compress force compression\n" " -d, --decompress force decompression\n" @@ -515,7 +528,7 @@ msgstr "" " -t, --test überprüfe Datei Integrität\n" " -l, --list liste Datei Informationen" -#: src/xz/message.c:1109 +#: src/xz/message.c:1118 msgid "" "\n" " Operation modifiers:\n" @@ -523,7 +536,7 @@ msgstr "" "\n" " Operationsmodifikatoren:\n" -#: src/xz/message.c:1112 +#: src/xz/message.c:1121 msgid "" " -k, --keep keep (don't delete) input files\n" " -f, --force force overwrite of output file and (de)compress links\n" @@ -535,7 +548,7 @@ msgstr "" " -c, --stdout schreibe nach Standard Output und lösche nicht die\n" " Eingabedateien" -#: src/xz/message.c:1118 +#: src/xz/message.c:1127 msgid "" " --no-sparse do not create sparse files when decompressing\n" " -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" @@ -554,7 +567,7 @@ msgstr "" " --files0=[DATEI] wie --files, aber benutze den Null Charakter als " "Trenner" -#: src/xz/message.c:1126 +#: src/xz/message.c:1135 msgid "" "\n" " Basic file format and compression options:\n" @@ -562,7 +575,7 @@ msgstr "" "\n" " Grundlegende Optionen für Dateiformat und Kompression:\n" -#: src/xz/message.c:1128 +#: src/xz/message.c:1137 msgid "" " -F, --format=FMT file format to encode or decode; possible values are\n" " `auto' (default), `xz', `lzma', and `raw'\n" @@ -578,7 +591,7 @@ msgstr "" "`crc32',\n" " `crc64' (Voreinstellung), oder `sha256'" -#: src/xz/message.c:1135 +#: src/xz/message.c:1144 msgid "" " -0 ... -9 compression preset; default is 6; take compressor " "*and*\n" @@ -591,7 +604,7 @@ msgstr "" "des\n" " Dekomprimierers, wenn Sie 7-9 benutzen!" -#: src/xz/message.c:1139 +#: src/xz/message.c:1148 msgid "" " -e, --extreme try to improve compression ratio by using more CPU " "time;\n" @@ -602,7 +615,7 @@ msgstr "" " verhältnis zu verbessern. Das beeinflusst nicht den\n" " Speicherbedarf des Dekomprimierers." -#: src/xz/message.c:1144 +#: src/xz/message.c:1153 #, no-c-format msgid "" " --memlimit-compress=LIMIT\n" @@ -619,7 +632,7 @@ msgstr "" "RAM,\n" " oder 0 für Grundeinstellungen." -#: src/xz/message.c:1151 +#: src/xz/message.c:1160 msgid "" " --no-adjust if compression settings exceed the memory usage " "limit,\n" @@ -631,7 +644,7 @@ msgstr "" "statt\n" " die Einstellungen nach unten anzupassen." -#: src/xz/message.c:1157 +#: src/xz/message.c:1166 msgid "" "\n" " Custom filter chain for compression (alternative for using presets):" @@ -639,7 +652,7 @@ msgstr "" "\n" " User-definierte Filter Kette für Kompression (alternativ zu Voreinstellung):" -#: src/xz/message.c:1166 +#: src/xz/message.c:1175 msgid "" "\n" " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero " @@ -683,7 +696,7 @@ msgstr "" " depth=NUM Maximale Suchtiefe; 0=automatisch\n" " (Voreinstellung)" -#: src/xz/message.c:1181 +#: src/xz/message.c:1190 msgid "" "\n" " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" @@ -706,7 +719,7 @@ msgstr "" " start=NUM Start-Offset für Konversion\n" " (Voreinstellung=0)" -#: src/xz/message.c:1193 +#: src/xz/message.c:1202 msgid "" "\n" " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" @@ -720,7 +733,7 @@ msgstr "" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 11:12:10 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 7CD59AEC for ; Mon, 7 Jan 2013 11:12:10 +0000 (UTC) (envelope-from mm@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6F69A1C5 for ; Mon, 7 Jan 2013 11:12:10 +0000 (UTC) Received: from mm (uid 1130) (envelope-from mm@svn.freebsd.org) id 771e by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 11:12:09 +0000 From: Martin Matuska Date: Mon, 7 Jan 2013 11:12:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r245129 - in stable/8/contrib/xz: . po src/common src/liblzma/api/lzma src/liblzma/simple src/xz X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50eaad89.771e.1feeb58a@svn.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 11:12:10 -0000 Author: mm Date: Mon Jan 7 11:12:09 2013 New Revision: 245129 URL: http://svnweb.freebsd.org/changeset/base/245129 Log: MFC r244601: Update contrib/xz to version 5.0.4 Fix mergeinfo. Modified: stable/8/contrib/xz/AUTHORS (contents, props changed) stable/8/contrib/xz/ChangeLog (contents, props changed) stable/8/contrib/xz/README (contents, props changed) stable/8/contrib/xz/THANKS (contents, props changed) stable/8/contrib/xz/po/de.po stable/8/contrib/xz/po/fr.po stable/8/contrib/xz/po/it.po stable/8/contrib/xz/po/pl.po stable/8/contrib/xz/src/common/sysdefs.h stable/8/contrib/xz/src/liblzma/api/lzma/version.h stable/8/contrib/xz/src/liblzma/simple/simple_coder.c stable/8/contrib/xz/src/liblzma/simple/simple_private.h stable/8/contrib/xz/src/xz/args.c stable/8/contrib/xz/src/xz/coder.c stable/8/contrib/xz/src/xz/message.c stable/8/contrib/xz/src/xz/xz.1 Directory Properties: stable/8/contrib/xz/ (props changed) stable/8/contrib/xz/po/ (props changed) stable/8/contrib/xz/src/ (props changed) Modified: stable/8/contrib/xz/AUTHORS ============================================================================== --- stable/8/contrib/xz/AUTHORS Mon Jan 7 11:11:04 2013 (r245128) +++ stable/8/contrib/xz/AUTHORS Mon Jan 7 11:12:09 2013 (r245129) @@ -16,11 +16,11 @@ Authors of XZ Utils Some scripts have been adapted from gzip. The original versions were written by Jean-loup Gailly, Charles Levert, and Paul Eggert. - Andrew Dudman helped adapting the script and their man pages for + Andrew Dudman helped adapting the scripts and their man pages for XZ Utils. - The GNU Autotools based build system contains files from many authors, - which I'm not trying list here. + The GNU Autotools-based build system contains files from many authors, + which I'm not trying to list here. Several people have contributed fixes or reported bugs. Most of them are mentioned in the file THANKS. Modified: stable/8/contrib/xz/ChangeLog ============================================================================== --- stable/8/contrib/xz/ChangeLog Mon Jan 7 11:11:04 2013 (r245128) +++ stable/8/contrib/xz/ChangeLog Mon Jan 7 11:12:09 2013 (r245129) @@ -1,3 +1,335 @@ +commit 20778053a07eb90c159c1377ca8dc05a90fd530b +Author: Lasse Collin +Date: Fri Jun 22 14:36:16 2012 +0300 + + xz: Update man page date to match the latest update. + +commit 2cefa84af676da37d7e9c466d55d46c67ab00c22 +Author: Lasse Collin +Date: Fri Jun 22 10:25:43 2012 +0300 + + Bump version and soname for 5.0.4. + +commit 433fec191a17e45690809e54146ea7a773f54cff +Author: Lasse Collin +Date: Fri Jun 22 10:25:09 2012 +0300 + + Update NEWS for 5.0.4. + +commit 711fa680f552a4003df73b37e6dc4d6e00b47bcd +Author: Lasse Collin +Date: Mon Jun 18 21:27:47 2012 +0300 + + Docs: Language fix to 01_compress_easy.c. + + Thanks to Jonathan Nieder. + +commit 3d7ab1dc61a75c560828be5df96598388b771456 +Author: Lasse Collin +Date: Thu Jun 14 20:15:30 2012 +0300 + + Fix the top-level Makefile.am for the new example programs. + +commit ef8b8e5f111469b5bc005975f7abb9abbd372b25 +Author: Lasse Collin +Date: Thu Jun 14 10:52:33 2012 +0300 + + Docs: Add new example programs. + + These have more comments than the old examples and + human-readable error messages. More tutorial-like examples + are needed but these are a start. + +commit 75c149bc8045a26f8bc719cb8ed20668dab79091 +Author: Lasse Collin +Date: Thu Jun 14 10:33:27 2012 +0300 + + Docs: Move xz_pipe_comp.c and xz_pipe_decomp.c to doc/examples_old. + + It is good to keep these around to so that if someone has + copied the decompressor bug from xz_pipe_decomp.c he has + an example how to easily fix it. + +commit 456307ebf947a5f50bd995d617b99c1215572308 +Author: Lasse Collin +Date: Thu Jun 14 10:33:01 2012 +0300 + + Docs: Fix a bug in xz_pipe_decomp.c example program. + +commit 4c310b8a29bc257e6ccbd2310f12f258678f3fef +Author: Lasse Collin +Date: Thu May 31 15:53:25 2012 +0300 + + Translations: Update the Italian translation. + + Thanks to Milo Casagrande. + +commit ec32b79366dc47a55ea877589df9e8509ba113a7 +Author: Lasse Collin +Date: Wed May 30 23:15:07 2012 +0300 + + Translations: Update the French translation. + + Thanks to Adrien Nader. + +commit dd06f40e4dd7649525e4f28d890dc238a3aa37e5 +Author: Lasse Collin +Date: Tue May 29 22:26:27 2012 +0300 + + Translations: Update the German translation. + +commit c66808d1f55d0149ed57c536cc9b52e9c8b583bc +Author: Lasse Collin +Date: Tue May 29 22:12:57 2012 +0300 + + Translations: Update Polish translation. + +commit 556c22dfed195c1466b298183b850d6c28544900 +Author: Lasse Collin +Date: Tue May 29 13:10:36 2012 +0300 + + Preliminary NEWS for 5.0.4. + +commit dd13b66bf582f49d3aec36e3410ff8541b7506da +Author: Lasse Collin +Date: Mon May 28 20:42:11 2012 +0300 + + liblzma: Fix possibility of incorrect LZMA_BUF_ERROR. + + lzma_code() could incorrectly return LZMA_BUF_ERROR if + all of the following was true: + + - The caller knows how many bytes of output to expect + and only provides that much output space. + + - When the last output bytes are decoded, the + caller-provided input buffer ends right before + the LZMA2 end of payload marker. So LZMA2 won't + provide more output anymore, but it won't know it + yet and thus won't return LZMA_STREAM_END yet. + + - A BCJ filter is in use and it hasn't left any + unfiltered bytes in the temp buffer. This can happen + with any BCJ filter, but in practice it's more likely + with filters other than the x86 BCJ. + + Another situation where the bug can be triggered happens + if the uncompressed size is zero bytes and no output space + is provided. In this case the decompression can fail even + if the whole input file is given to lzma_code(). + + A similar bug was fixed in XZ Embedded on 2011-09-19. + +commit a0223bf796fdaad51a11ad02c4195c694849cc78 +Author: Lasse Collin +Date: Mon May 28 15:38:32 2012 +0300 + + Update THANKS. + +commit 86e57e4bfefe3fd8e13615c41604165bb2359501 +Author: Lasse Collin +Date: Mon May 28 15:37:43 2012 +0300 + + xz: Don't show a huge number in -vv when memory limit is disabled. + +commit 13e44a94da19d1ef14832ff12d3877a6fd2c54c0 +Author: Lasse Collin +Date: Sun May 27 22:30:17 2012 +0300 + + xz: Document the "summary" lines of --robot -lvv. + + This documents only the columns that are in v5.0. + The new columns added in the master branch aren't + necessarily stable yet. + +commit 2f90345e13ab8fea4de45a4f1caa73ebc63a62e7 +Author: Lasse Collin +Date: Sun May 27 21:53:20 2012 +0300 + + xz: Fix output of verbose --robot --list modes. + + It printed the filename in "filename (x/y)" format + which it obviously shouldn't do in robot mode. + +commit 8d4864f53ffae5d862c691a0b334a6b69bc5366e +Author: Lasse Collin +Date: Thu May 10 21:15:17 2012 +0300 + + Update THANKS. + +commit 35e9c58abb0ce3993da844aaeaa3e7231cd2be8f +Author: Lasse Collin +Date: Thu May 10 21:14:16 2012 +0300 + + Docs: Cleanup line wrapping a bit. + +commit 532b3e4c568a228309b56f95c13435fd078dbe02 +Author: Benno Schulenberg +Date: Tue Mar 13 22:04:04 2012 +0100 + + Fix a few typos and add some missing articles in some documents. + + Also hyphenate several compound adjectives. + + Signed-off-by: Benno Schulenberg + +commit afb6ce8c82ffef8f2505a3759da72a733c7b0b8f +Author: Lasse Collin +Date: Sun Apr 29 11:51:25 2012 +0300 + + Windows: Update notes about static linking with MSVC. + +commit 7c3ba2ed5c3c878d4a14ca549b46dbff60c6d565 +Author: Lasse Collin +Date: Thu Apr 19 15:25:26 2012 +0300 + + liblzma: Remove outdated comments. + +commit f55db9c187651094f43881c49db2b2d9ffee6b80 +Author: Lasse Collin +Date: Thu Apr 19 14:17:52 2012 +0300 + + DOS: Link against DJGPP's libemu to support FPU emulation. + + This way xz should work on 386SX and 486SX. Floating point + only is needed for verbose output in xz. + +commit 203edff4c761dbd7cac76ea66e4eed501c23e7a3 +Author: Lasse Collin +Date: Thu Apr 19 13:58:55 2012 +0300 + + Docs: Update MINIX 3 information in INSTALL. + +commit f0a8f95c215628967b7cf9bd9b0a9e4172f50bb4 +Author: Lasse Collin +Date: Wed Feb 22 14:23:13 2012 +0200 + + Update THANKS. + +commit b7ad23fa78646036c0290cd91eada939c9a31526 +Author: Lasse Collin +Date: Wed Feb 22 14:02:34 2012 +0200 + + Fix exit status of xzgrep when grepping binary files. + + When grepping binary files, grep may exit before it has + read all the input. In this case, gzip -q returns 2 (eating + SIGPIPE), but xz and bzip2 show SIGPIPE as the exit status + (e.g. 141). This causes wrong exit status when grepping + xz- or bzip2-compressed binary files. + + The fix checks for the special exit status that indicates SIGPIPE. + It uses kill -l which should be supported everywhere since it + is in both SUSv2 (1997) and POSIX.1-2008. + + Thanks to James Buren for the bug report. + +commit 4e19fbb04a0035030406482319e264426459eb24 +Author: Lasse Collin +Date: Wed Feb 22 12:08:43 2012 +0200 + + Update THANKS. + +commit c6fa03a427e3d1320794102cee3ff4f5ae00eb36 +Author: Lasse Collin +Date: Thu May 24 18:47:52 2012 +0300 + + Fix compiling with IBM XL C on AIX. + +commit 7b6ffc98645e1b3b302b6680be0a901d1ebf7358 +Author: Lasse Collin +Date: Thu May 24 18:37:08 2012 +0300 + + Build: Upgrade m4/acx_pthread.m4 to the latest version. + + It was renamed to ax_pthread.m4 in Autoconf Archive. + +commit bfac2be5023994fcc53de2844e7dd3af61910dc2 +Author: Lasse Collin +Date: Tue Jan 10 17:13:03 2012 +0200 + + Tests: Fix a compiler warning with _FORTIFY_SOURCE. + + Reported here: + http://sourceforge.net/projects/lzmautils/forums/forum/708858/topic/4927385 + +commit df85e156716a4eecb7e2978691f03f729444d998 +Author: Lasse Collin +Date: Mon Dec 19 21:21:29 2011 +0200 + + Docs: Explain the stable releases better in README. + +commit d06d32f108c8278c25c24b2e8666bda7b2ec23b5 +Author: Lasse Collin +Date: Fri Nov 4 17:57:16 2011 +0200 + + xz: Fix a typo in a comment. + + Thanks to Bela Lubkin. + +commit 636fdcfbf542f1e84db2c4736004d84be4b12c84 +Author: Lasse Collin +Date: Thu Nov 3 17:08:02 2011 +0200 + + Update THANKS. + +commit 55fd02f83ecd6cbd6925a3e8a3d43b8d4ef2a17c +Author: Lasse Collin +Date: Thu Nov 3 17:07:22 2011 +0200 + + xz: Fix xz on EBCDIC systems. + + Thanks to Chris Donawa. + +commit 4052f36053b931bad847a36aabf1a07d0034e297 +Author: Lasse Collin +Date: Tue Sep 6 12:03:41 2011 +0300 + + Build: Fix "make check" on Windows. + +commit 0f25758459c74c366a73f35d47ee12b75890bb79 +Author: Lasse Collin +Date: Tue Aug 9 21:19:13 2011 +0300 + + Update THANKS. + +commit 70f03b51ffcb783646b20de8d97b6986c4280eec +Author: Lasse Collin +Date: Tue Aug 9 21:16:44 2011 +0300 + + Workaround unusual SIZE_MAX on SCO OpenServer. + +commit f138bdf76a70029e8360062a0b227936b83b24c9 +Author: Lasse Collin +Date: Sat Aug 6 20:37:28 2011 +0300 + + Run the scripts with the correct shell in test_scripts.sh. + + The scripts are now made executable in the build tree. + This way the scripts can be run like programs in + test_scripts.sh. Previously test_scripts.sh always + used sh but it's not correct if @POSIX_SHELL@ is set + to something else by configure. + + Thanks to Jonathan Nieder for the patch. + +commit 2c144a0365c84dbf1b6722466746d42f2563a319 +Author: Lasse Collin +Date: Sun Jul 31 11:01:47 2011 +0300 + + Fix exit status of "xzdiff foo.xz bar.xz". + + xzdiff was clobbering the exit status from diff in a case + statement used to analyze the exit statuses from "xz" when + its operands were two compressed files. Save and restore + diff's exit status to fix this. + + The bug is inherited from zdiff in GNU gzip and was fixed + there on 2009-10-09. + + Thanks to Jonathan Nieder for the patch and + to Peter Pallinger for reporting the bug. + commit edf339227a966f24aebe1845fcca9429b8f6e318 Author: Anders F Bjorklund Date: Fri Nov 5 12:56:11 2010 +0100 Modified: stable/8/contrib/xz/README ============================================================================== --- stable/8/contrib/xz/README Mon Jan 7 11:11:04 2013 (r245128) +++ stable/8/contrib/xz/README Mon Jan 7 11:12:09 2013 (r245129) @@ -5,7 +5,7 @@ XZ Utils 0. Overview 1. Documentation 1.1. Overall documentation - 1.2. Documentation for command line tools + 1.2. Documentation for command-line tools 1.3. Documentation for liblzma 2. Version numbering 3. Reporting bugs @@ -17,21 +17,21 @@ XZ Utils 0. Overview ----------- - XZ Utils provide a general-purpose data compression library and - command line tools. The native file format is the .xz format, but + XZ Utils provide a general-purpose data-compression library plus + command-line tools. The native file format is the .xz format, but also the legacy .lzma format is supported. The .xz format supports - multiple compression algorithms, which are called "filters" in + multiple compression algorithms, which are called "filters" in the context of XZ Utils. The primary filter is currently LZMA2. With typical files, XZ Utils create about 30 % smaller files than gzip. To ease adapting support for the .xz format into existing applications and scripts, the API of liblzma is somewhat similar to the API of the - popular zlib library. For the same reason, the command line tool xz - has similar command line syntax than that of gzip. + popular zlib library. For the same reason, the command-line tool xz + has a command-line syntax similar to that of gzip. - When aiming for the highest compression ratio, LZMA2 encoder uses + When aiming for the highest compression ratio, the LZMA2 encoder uses a lot of CPU time and may use, depending on the settings, even - hundreds of megabytes of RAM. However, in fast modes, LZMA2 encoder + hundreds of megabytes of RAM. However, in fast modes, the LZMA2 encoder competes with bzip2 in compression speed, RAM usage, and compression ratio. @@ -44,8 +44,8 @@ XZ Utils since that needs to be done only once to benefit many people. With some file types, combining (or "chaining") LZMA2 with an - additional filter can improve compression ratio. A filter chain may - contain up to four filters, although usually only one two is used. + additional filter can improve the compression ratio. A filter chain may + contain up to four filters, although usually only one or two are used. For example, putting a BCJ (Branch/Call/Jump) filter before LZMA2 in the filter chain can improve compression ratio of executable files. @@ -88,9 +88,9 @@ XZ Utils packages. -1.2. Documentation for command line tools +1.2. Documentation for command-line tools - The command line tools are documented as man pages. In source code + The command-line tools are documented as man pages. In source code releases (and possibly also in some binary packages), the man pages are also provided in plain text (ASCII only) and PDF formats in the directory "doc/man" to make the man pages more accessible to those @@ -109,8 +109,8 @@ XZ Utils written yet. For now, if you have never used liblzma, libbzip2, or zlib, I - recommend learning *basics* of zlib API. Once you know that, it - should be easier to learn liblzma. + recommend learning the *basics* of the zlib API. Once you know that, + it should be easier to learn liblzma. http://zlib.net/manual.html http://zlib.net/zlib_how.html @@ -124,23 +124,27 @@ XZ Utils - X is the major version. When this is incremented, the library API and ABI break. - - Y is the minor version. It is incremented when new features are - added without breaking existing API or ABI. Even Y indicates - stable release and odd Y indicates unstable (alpha or beta - version). + - Y is the minor version. It is incremented when new features + are added without breaking the existing API or ABI. An even Y + indicates a stable release and an odd Y indicates unstable + (alpha or beta version). - - Z is the revision. This has different meaning for stable and + - Z is the revision. This has a different meaning for stable and unstable releases: + * Stable: Z is incremented when bugs get fixed without adding - any new features. + any new features. This is intended to be convenient for + downstream distributors that want bug fixes but don't want + any new features to minimize the risk of introducing new bugs. + * Unstable: Z is just a counter. API or ABI of features added in earlier unstable releases having the same X.Y may break. - S indicates stability of the release. It is missing from the - stable releases where Y is an even number. When Y is odd, S + stable releases, where Y is an even number. When Y is odd, S is either "alpha" or "beta" to make it very clear that such versions are not stable releases. The same X.Y.Z combination is - not used for more than one stability level i.e. after X.Y.Zalpha, + not used for more than one stability level, i.e. after X.Y.Zalpha, the next version can be X.Y.(Z+1)beta but not X.Y.Zbeta. @@ -176,7 +180,7 @@ XZ Utils Don't send core dump files or any executables. If you have a small example file(s) (total size less than 256 KiB), please include it/them as an attachment. If you have bigger test files, put them - online somewhere and include an URL to the file(s) in the bug report. + online somewhere and include a URL to the file(s) in the bug report. Always include the exact version number of XZ Utils in the bug report. If you are using a snapshot from the git repository, use "git describe" @@ -193,7 +197,7 @@ XZ Utils The messages from the xz tool have been translated into a few languages. Before starting to translate into a new language, ask - the author that someone else hasn't already started working on it. + the author whether someone else hasn't already started working on it. Test your translation. Testing includes comparing the translated output to the original English version by running the same commands @@ -214,7 +218,7 @@ XZ Utils Note especially the following: - The output of --help and --long-help must look nice on - a 80-column terminal. It's OK to add extra lines if needed. + an 80-column terminal. It's OK to add extra lines if needed. - In contrast, don't add extra lines to error messages and such. They are often preceded with e.g. a filename on the same line, Modified: stable/8/contrib/xz/THANKS ============================================================================== --- stable/8/contrib/xz/THANKS Mon Jan 7 11:11:04 2013 (r245128) +++ stable/8/contrib/xz/THANKS Mon Jan 7 11:12:09 2013 (r245129) @@ -14,16 +14,19 @@ has been important. :-) In alphabetical - Jakub Bogusz - Maarten Bosmans - Trent W. Buck + - James Buren - David Burklund - Daniel Mealha Cabrita - Milo Casagrande - Marek Černocký + - Chris Donawa - Andrew Dudman - Markus Duft - İsmail Dönmez - Robert Elz - Gilles Espinasse - Denis Excoffier + - Michael Felt - Mike Frysinger - Jason Gorski - Juan Manuel Guerrero @@ -38,8 +41,10 @@ has been important. :-) In alphabetical - Peter Lawler - Hin-Tak Leung - Andraž 'ruskie' Levstik + - Cary Lewis - Wim Lewis - Lorenzo De Liso + - Bela Lubkin - Gregory Margo - Jim Meyering - Rafał Mużyło @@ -48,6 +53,7 @@ has been important. :-) In alphabetical - Jonathan Nieder - Andre Noll - Peter O'Gorman + - Peter Pallinger - Igor Pavlov - Diego Elio Pettenò - Elbert Pol @@ -58,6 +64,7 @@ has been important. :-) In alphabetical - Christian von Roques - Jukka Salmi - Alexandre Sauvé + - Benno Schulenberg - Andreas Schwab - Dan Shechter - Stuart Shelton Modified: stable/8/contrib/xz/po/de.po ============================================================================== --- stable/8/contrib/xz/po/de.po Mon Jan 7 11:11:04 2013 (r245128) +++ stable/8/contrib/xz/po/de.po Mon Jan 7 11:12:09 2013 (r245129) @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: XZ Utils 4.999.9beta\n" "Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2010-09-11 17:07+0200\n" +"POT-Creation-Date: 2012-05-29 17:20+0200\n" "PO-Revision-Date: 2010-09-07 20:27+0200\n" "Last-Translator: \n" "Language-Team: German\n" @@ -96,7 +96,7 @@ msgid "%s: File seems to have been moved msgstr "" "%s: Datei scheint umbenannt worden zu sein, daher wird sie nicht gelöscht" -#: src/xz/file_io.c:144 src/xz/file_io.c:590 +#: src/xz/file_io.c:144 src/xz/file_io.c:589 #, c-format msgid "%s: Cannot remove: %s" msgstr "%s: Kann nicht löschen: %s" @@ -126,59 +126,59 @@ msgstr "%s: Überspringe symbolischen Ve msgid "%s: Is a directory, skipping" msgstr "%s: Überspringe Verzeichnis" -#: src/xz/file_io.c:462 +#: src/xz/file_io.c:461 #, c-format msgid "%s: Not a regular file, skipping" msgstr "%s: Keine reguläre Datei, überspringe" -#: src/xz/file_io.c:479 +#: src/xz/file_io.c:478 #, c-format msgid "%s: File has setuid or setgid bit set, skipping" msgstr "%s: Datei hat das setuid oder setgid Bit gesetzt, überspringe" -#: src/xz/file_io.c:486 +#: src/xz/file_io.c:485 #, c-format msgid "%s: File has sticky bit set, skipping" msgstr "%s: Datei hat sticky Bit gesetzt, überspringe" -#: src/xz/file_io.c:493 +#: src/xz/file_io.c:492 #, c-format msgid "%s: Input file has more than one hard link, skipping" msgstr "%s: Eingabedatei hat mehr als einen hard link, überspringe" -#: src/xz/file_io.c:714 +#: src/xz/file_io.c:713 #, c-format msgid "Error restoring the O_APPEND flag to standard output: %s" msgstr "" "Fehler beim Wiederherstellen des O_APPEND flags bei Standard Output: %s" -#: src/xz/file_io.c:726 +#: src/xz/file_io.c:725 #, c-format msgid "%s: Closing the file failed: %s" msgstr "%s: Fehler beim Schießen der Datei: %s" -#: src/xz/file_io.c:762 src/xz/file_io.c:946 +#: src/xz/file_io.c:761 src/xz/file_io.c:945 #, c-format msgid "%s: Seeking failed when trying to create a sparse file: %s" msgstr "" "%s: Positionierungsfehler beim Versuch eine sparse Datei zu erzeugen: %s" -#: src/xz/file_io.c:821 +#: src/xz/file_io.c:820 #, c-format msgid "%s: Read error: %s" msgstr "%s: Lesefehler: %s" -#: src/xz/file_io.c:844 +#: src/xz/file_io.c:843 #, c-format msgid "%s: Error seeking the file: %s" msgstr "%s: Fehler beim Lesen der Dateinamen: %s" -#: src/xz/file_io.c:854 +#: src/xz/file_io.c:853 #, c-format msgid "%s: Unexpected end of file" msgstr "%s: Unerwartetes Ende der Datei" -#: src/xz/file_io.c:904 +#: src/xz/file_io.c:903 #, c-format msgid "%s: Write error: %s" msgstr "%s: Schreibfehler: %s" @@ -212,7 +212,7 @@ msgstr "Kein" #. but the Check ID is known (here 2). This and other "Unknown-N" #. strings are used in tables, so the width must not exceed ten #. columns with a fixed-width font. It's OK to omit the dash if -#. you need space for one extra letter. +#. you need space for one extra letter, but don't use spaces. #: src/xz/list.c:69 msgid "Unknown-2" msgstr "Unbek.2" @@ -275,41 +275,41 @@ msgstr "%s: Zu klein um ein gültiges .x #. to Ratio, the columns are right aligned. Check and Filename #. are left aligned. If you need longer words, it's OK to #. use two lines here. Test with "xz -l foo.xz". -#: src/xz/list.c:612 +#: src/xz/list.c:603 msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" msgstr " Str. Blöcke Kompr. Unkompr. Verh. Check Dateiname" -#: src/xz/list.c:652 +#: src/xz/list.c:643 #, c-format msgid " Streams: %s\n" msgstr " Ströme: %s\n" -#: src/xz/list.c:654 +#: src/xz/list.c:645 #, c-format msgid " Blocks: %s\n" msgstr " Blöcke: %s\n" -#: src/xz/list.c:656 +#: src/xz/list.c:647 #, c-format msgid " Compressed size: %s\n" msgstr " Größe komprimiert: %s\n" -#: src/xz/list.c:659 +#: src/xz/list.c:650 #, c-format msgid " Uncompressed size: %s\n" msgstr " Größe unkomprimiert: %s\n" -#: src/xz/list.c:662 +#: src/xz/list.c:653 #, c-format msgid " Ratio: %s\n" msgstr " Verhältnis: %s\n" -#: src/xz/list.c:664 +#: src/xz/list.c:655 #, c-format msgid " Check: %s\n" msgstr " Check: %s\n" -#: src/xz/list.c:665 +#: src/xz/list.c:656 #, c-format msgid " Stream padding: %s\n" msgstr " Strom Auffüllung: %s\n" @@ -317,7 +317,7 @@ msgstr " Strom Auffüllung: %s\n" #. TRANSLATORS: The second line is column headings. All except #. Check are right aligned; Check is left aligned. Test with #. "xz -lv foo.xz". -#: src/xz/list.c:693 +#: src/xz/list.c:684 msgid "" " Streams:\n" " Stream Blocks CompOffset UncompOffset CompSize " @@ -329,7 +329,7 @@ msgstr "" #. TRANSLATORS: The second line is column headings. All #. except Check are right aligned; Check is left aligned. -#: src/xz/list.c:748 +#: src/xz/list.c:739 #, c-format msgid "" " Blocks:\n" @@ -347,53 +347,53 @@ msgstr "" #. are right aligned. %*s is replaced with 0-120 #. spaces to make the CheckVal column wide enough. #. Test with "xz -lvv foo.xz". -#: src/xz/list.c:760 +#: src/xz/list.c:751 #, c-format msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" msgstr " CheckWert %*s Kopf Schalter KompGröße Speicher Filter" -#: src/xz/list.c:838 src/xz/list.c:1007 +#: src/xz/list.c:829 src/xz/list.c:998 #, c-format msgid " Memory needed: %s MiB\n" msgstr " Benötigter Speicher: %s MiB\n" -#: src/xz/list.c:840 src/xz/list.c:1009 +#: src/xz/list.c:831 src/xz/list.c:1000 #, c-format msgid " Sizes in headers: %s\n" msgstr " Größe in Köpfen: %s\n" -#: src/xz/list.c:841 src/xz/list.c:1010 +#: src/xz/list.c:832 src/xz/list.c:1001 msgid "Yes" msgstr "Ja" -#: src/xz/list.c:841 src/xz/list.c:1010 +#: src/xz/list.c:832 src/xz/list.c:1001 msgid "No" msgstr "Nein" #. TRANSLATORS: %s is an integer. Only the plural form of this #. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". -#: src/xz/list.c:986 +#: src/xz/list.c:977 #, c-format msgid "%s file\n" msgid_plural "%s files\n" msgstr[0] "%s Datei\n" msgstr[1] "%s Dateien\n" -#: src/xz/list.c:999 +#: src/xz/list.c:990 msgid "Totals:" msgstr "Gesamt:" -#: src/xz/list.c:1000 +#: src/xz/list.c:991 #, c-format msgid " Number of files: %s\n" msgstr " Anzahl Dateien: %s\n" -#: src/xz/list.c:1072 +#: src/xz/list.c:1063 msgid "--list works only on .xz files (--format=xz or --format=auto)" msgstr "" "--list funktioniert nur mit .xz Dateien (--format=xz oder --format=auto)" -#: src/xz/list.c:1078 +#: src/xz/list.c:1069 msgid "--list does not support reading from standard input" msgstr "--list unterstützt kein Lesen der Standardeingabe" @@ -428,60 +428,73 @@ msgstr "" "Lesen der Standardeingabe ist nicht möglich, wenn die Dateinamen auch von " "der Standardeingabe gelesen werden" -#: src/xz/message.c:800 src/xz/message.c:844 +#. TRANSLATORS: This is the program name in the beginning +#. of the line in messages. Usually it becomes "xz: ". +#. This is a translatable string because French needs +#. a space before a colon. +#: src/xz/message.c:733 +#, c-format +msgid "%s: " +msgstr "" + +#: src/xz/message.c:796 src/xz/message.c:846 msgid "Internal error (bug)" msgstr "Interner Fehler (Bug)" -#: src/xz/message.c:807 +#: src/xz/message.c:803 msgid "Cannot establish signal handlers" msgstr "Kann Signal Routine nicht setzen" -#: src/xz/message.c:816 +#: src/xz/message.c:812 msgid "No integrity check; not verifying file integrity" msgstr "Kein Integritäts-Check; werde Datei-Integrität nicht überprüfen" -#: src/xz/message.c:819 +#: src/xz/message.c:815 msgid "Unsupported type of integrity check; not verifying file integrity" msgstr "" "Typ des Integritäts-Checks nicht unterstützt; werde Datei-Integrität nicht " "überprüfen" -#: src/xz/message.c:826 +#: src/xz/message.c:822 msgid "Memory usage limit reached" msgstr "Speicher-Limit erreicht" -#: src/xz/message.c:829 +#: src/xz/message.c:825 msgid "File format not recognized" msgstr "Datei Format nicht erkannt" -#: src/xz/message.c:832 +#: src/xz/message.c:828 msgid "Unsupported options" msgstr "Optionen nicht unterstützt" -#: src/xz/message.c:835 +#: src/xz/message.c:831 msgid "Compressed data is corrupt" msgstr "Komprimierte Daten sind korrupt" -#: src/xz/message.c:838 +#: src/xz/message.c:834 msgid "Unexpected end of input" msgstr "Unerwartetes Eingabe Ende" -#: src/xz/message.c:886 +#: src/xz/message.c:867 +msgid "%s MiB of memory is required. The limiter is disabled." +msgstr "%s MiB Speicher wird benötigt. Der Begrenzer ist deaktiviert." + +#: src/xz/message.c:895 #, c-format msgid "%s MiB of memory is required. The limit is %s." msgstr "%s MiB Speicher wird benötigt. Limit ist %s." -#: src/xz/message.c:1053 +#: src/xz/message.c:1062 #, c-format msgid "%s: Filter chain: %s\n" msgstr "%s: Filter Kette: %s\n" -#: src/xz/message.c:1063 +#: src/xz/message.c:1072 #, c-format msgid "Try `%s --help' for more information." msgstr "Versuchen Sie `%s --help' für mehr Informationen." -#: src/xz/message.c:1089 +#: src/xz/message.c:1098 #, c-format msgid "" "Usage: %s [OPTION]... [FILE]...\n" @@ -492,18 +505,18 @@ msgstr "" "Komprimiert oder dekomprimiert .xz DATEI(EN).\n" "\n" -#: src/xz/message.c:1096 +#: src/xz/message.c:1105 msgid "" "Mandatory arguments to long options are mandatory for short options too.\n" msgstr "" "Obligatorische Argumente für lange Optionen sind auch für kurze Optionen\n" "zwingend.\n" -#: src/xz/message.c:1100 +#: src/xz/message.c:1109 msgid " Operation mode:\n" msgstr " Operationsmodus:\n" -#: src/xz/message.c:1103 +#: src/xz/message.c:1112 msgid "" " -z, --compress force compression\n" " -d, --decompress force decompression\n" @@ -515,7 +528,7 @@ msgstr "" " -t, --test überprüfe Datei Integrität\n" " -l, --list liste Datei Informationen" -#: src/xz/message.c:1109 +#: src/xz/message.c:1118 msgid "" "\n" " Operation modifiers:\n" @@ -523,7 +536,7 @@ msgstr "" "\n" " Operationsmodifikatoren:\n" -#: src/xz/message.c:1112 +#: src/xz/message.c:1121 msgid "" " -k, --keep keep (don't delete) input files\n" " -f, --force force overwrite of output file and (de)compress links\n" @@ -535,7 +548,7 @@ msgstr "" " -c, --stdout schreibe nach Standard Output und lösche nicht die\n" " Eingabedateien" -#: src/xz/message.c:1118 +#: src/xz/message.c:1127 msgid "" " --no-sparse do not create sparse files when decompressing\n" " -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" @@ -554,7 +567,7 @@ msgstr "" " --files0=[DATEI] wie --files, aber benutze den Null Charakter als " "Trenner" -#: src/xz/message.c:1126 +#: src/xz/message.c:1135 msgid "" "\n" " Basic file format and compression options:\n" @@ -562,7 +575,7 @@ msgstr "" "\n" " Grundlegende Optionen für Dateiformat und Kompression:\n" -#: src/xz/message.c:1128 +#: src/xz/message.c:1137 msgid "" " -F, --format=FMT file format to encode or decode; possible values are\n" " `auto' (default), `xz', `lzma', and `raw'\n" @@ -578,7 +591,7 @@ msgstr "" "`crc32',\n" " `crc64' (Voreinstellung), oder `sha256'" -#: src/xz/message.c:1135 +#: src/xz/message.c:1144 msgid "" " -0 ... -9 compression preset; default is 6; take compressor " "*and*\n" @@ -591,7 +604,7 @@ msgstr "" "des\n" " Dekomprimierers, wenn Sie 7-9 benutzen!" -#: src/xz/message.c:1139 +#: src/xz/message.c:1148 msgid "" " -e, --extreme try to improve compression ratio by using more CPU " "time;\n" @@ -602,7 +615,7 @@ msgstr "" " verhältnis zu verbessern. Das beeinflusst nicht den\n" " Speicherbedarf des Dekomprimierers." -#: src/xz/message.c:1144 +#: src/xz/message.c:1153 #, no-c-format msgid "" " --memlimit-compress=LIMIT\n" @@ -619,7 +632,7 @@ msgstr "" "RAM,\n" " oder 0 für Grundeinstellungen." -#: src/xz/message.c:1151 +#: src/xz/message.c:1160 msgid "" " --no-adjust if compression settings exceed the memory usage " "limit,\n" @@ -631,7 +644,7 @@ msgstr "" "statt\n" " die Einstellungen nach unten anzupassen." -#: src/xz/message.c:1157 +#: src/xz/message.c:1166 msgid "" "\n" " Custom filter chain for compression (alternative for using presets):" @@ -639,7 +652,7 @@ msgstr "" "\n" " User-definierte Filter Kette für Kompression (alternativ zu Voreinstellung):" -#: src/xz/message.c:1166 +#: src/xz/message.c:1175 msgid "" "\n" " --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero " @@ -683,7 +696,7 @@ msgstr "" " depth=NUM Maximale Suchtiefe; 0=automatisch\n" " (Voreinstellung)" -#: src/xz/message.c:1181 +#: src/xz/message.c:1190 msgid "" "\n" " --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" @@ -706,7 +719,7 @@ msgstr "" " start=NUM Start-Offset für Konversion\n" " (Voreinstellung=0)" -#: src/xz/message.c:1193 +#: src/xz/message.c:1202 msgid "" "\n" " --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" @@ -720,7 +733,7 @@ msgstr "" *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 15:14:57 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 5602C502; Mon, 7 Jan 2013 15:14:57 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 318AFFB3; Mon, 7 Jan 2013 15:14:57 +0000 (UTC) Received: from ralph.baldwin.cx (c-68-39-198-164.hsd1.de.comcast.net [68.39.198.164]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 4A14BB91A; Mon, 7 Jan 2013 10:14:56 -0500 (EST) From: John Baldwin To: Jaakko Heinonen Subject: Re: svn commit: r244585 - in head: . sys/geom/label Date: Mon, 7 Jan 2013 09:27:06 -0500 User-Agent: KMail/1.13.7 (FreeBSD/9.1-PRERELEASE; KDE/4.8.4; amd64; ; ) References: <201212221343.qBMDhCHa086834@svn.freebsd.org> <201301041218.07804.john@baldwin.cx> <20130105092252.GA1832@a91-153-116-96.elisa-laajakaista.fi> In-Reply-To: <20130105092252.GA1832@a91-153-116-96.elisa-laajakaista.fi> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201301070927.07157.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 07 Jan 2013 10:14:56 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 15:14:57 -0000 On Saturday, January 05, 2013 04:22:52 AM Jaakko Heinonen wrote: > On 2013-01-04, John Baldwin wrote: > > > New Revision: 244585 > > > > > > Log: > > > Mangle label names containing spaces, non-printable characters '%' or > > > '"'. Mangling is only done for label names read from file system > > > metadata. Encoding resembles URL encoding. For example, the space > > > character becomes %20. > > > > Ouch, mangling spaces seems unfortunate. I guess fixing the devctl > > protocol is too hard, and/or we can't just encode it at the protocol > > layer but leave the actual device names untouched? > > I initially proposed changing the devctl protocol but in a private > discussion people preferred to not change the protocol. However, I think > that allowing the space character only might be possible without > changing the protocol as devd(8) can already handle strings enclosed in > double quotes. usb(4) already uses such devctl variables. > > > OS X preserves spaces in volume names and those can be quite common on > > ISO images, so mangling them really does seem to be a shame if we can > > avoid it. > > How important do you think this is? I understand that it's annoyance for > people upgrading their systems but labels with spaces can still be used. I think if it isn't hard to do so, we should aim to preserve labels as they are generally intended to be human readable as-is. Just preserving spaces is probably sufficient for this as they are probably the most commonly used character in labels affected by this change. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 15:14:59 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 6F021509; Mon, 7 Jan 2013 15:14:59 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 4E103FB8; Mon, 7 Jan 2013 15:14:59 +0000 (UTC) Received: from ralph.baldwin.cx (c-68-39-198-164.hsd1.de.comcast.net [68.39.198.164]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id A6FB6B9AC; Mon, 7 Jan 2013 10:14:58 -0500 (EST) From: John Baldwin To: Neel Natu Subject: Re: svn commit: r245066 - head/sys/kern Date: Mon, 7 Jan 2013 09:49:32 -0500 User-Agent: KMail/1.13.7 (FreeBSD/9.1-PRERELEASE; KDE/4.8.4; amd64; ; ) References: <201301051918.r05JIptx030509@svn.freebsd.org> In-Reply-To: <201301051918.r05JIptx030509@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201301070949.33173.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 07 Jan 2013 10:14:58 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 15:14:59 -0000 On Saturday, January 05, 2013 02:18:51 PM Neel Natu wrote: > Author: neel > Date: Sat Jan 5 19:18:50 2013 > New Revision: 245066 > URL: http://svnweb.freebsd.org/changeset/base/245066 > > Log: > Teach the kernel to recognize that it is executing inside a bhyve virtual > machine. > > Obtained from: NetApp > > Modified: > head/sys/kern/subr_param.c > > Modified: head/sys/kern/subr_param.c > =========================================================================== > === --- head/sys/kern/subr_param.c Sat Jan 5 18:48:23 2013 (r245065) > +++ head/sys/kern/subr_param.c Sat Jan 5 19:18:50 2013 (r245066) > @@ -160,6 +160,7 @@ static const char *const vm_bnames[] = { > "Plex86", /* Plex86 */ > "Bochs", /* Bochs */ > "Xen", /* Xen */ > + "BHYVE", /* bhyve */ > NULL > }; It would be nice to start using the CPUID leaf for VM's in preference to the SMBIOS strings at some point. (I think it's level 0x40000000?) -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 15:46:11 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B8E4BEF2 for ; Mon, 7 Jan 2013 15:46:11 +0000 (UTC) (envelope-from cognet@svn.freebsd.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id AAF2B1E8 for ; Mon, 7 Jan 2013 15:46:11 +0000 (UTC) Received: from cognet (uid 639) (envelope-from cognet@svn.freebsd.org) id 7ade by svn.freebsd.org (DragonFly Mail Agent v0.7); Mon, 07 Jan 2013 15:46:11 +0000 From: Olivier Houchard Date: Mon, 7 Jan 2013 15:46:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r245131 - svnadmin/conf X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <50eaedc3.7ade.5203c545@svn.freebsd.org> X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 15:46:11 -0000 Author: cognet Date: Mon Jan 7 15:46:10 2013 New Revision: 245131 URL: http://svnweb.freebsd.org/changeset/base/245131 Log: Please welcome Ian Lepore (ian@) as a new committer. Ian has a long history of sending good patches, mainly for the arm port, and it's about time he's able to commit them himself. Approved by: core Modified: svnadmin/conf/access svnadmin/conf/mentors Modified: svnadmin/conf/access ============================================================================== --- svnadmin/conf/access Mon Jan 7 14:11:10 2013 (r245130) +++ svnadmin/conf/access Mon Jan 7 15:46:10 2013 (r245131) @@ -109,6 +109,7 @@ harti hmp hrs hselasky +ian iedowse imp ivoras Modified: svnadmin/conf/mentors ============================================================================== --- svnadmin/conf/mentors Mon Jan 7 14:11:10 2013 (r245130) +++ svnadmin/conf/mentors Mon Jan 7 15:46:10 2013 (r245131) @@ -19,6 +19,7 @@ davidcs gnn eadler cperciva eri mlaier Co-mentor: thompsa erwin delphij +ian cognet jceel wkoszek Co-mentor: cognet jinmei gnn jlh kib From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 16:38:13 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E2B0D92A; Mon, 7 Jan 2013 16:38:13 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D50C8683; Mon, 7 Jan 2013 16:38:13 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r07GcD0F020353; Mon, 7 Jan 2013 16:38:13 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r07GcDga020351; Mon, 7 Jan 2013 16:38:13 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201301071638.r07GcDga020351@svn.freebsd.org> From: Hans Petter Selasky Date: Mon, 7 Jan 2013 16:38:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245132 - head/sys/dev/usb/controller X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 16:38:14 -0000 Author: hselasky Date: Mon Jan 7 16:38:13 2013 New Revision: 245132 URL: http://svnweb.freebsd.org/changeset/base/245132 Log: Optimise the XHCI interrupt handling. This patch will save CPU time when the XHCI interrupt is shared with other devices. Only check event rings when interrupt bits are set. Otherwise would indicate hiding possible hardware fault(s). Tested by: sos @ Submitted by: sos @ MFC after: 1 week Modified: head/sys/dev/usb/controller/xhci.c Modified: head/sys/dev/usb/controller/xhci.c ============================================================================== --- head/sys/dev/usb/controller/xhci.c Mon Jan 7 15:46:10 2013 (r245131) +++ head/sys/dev/usb/controller/xhci.c Mon Jan 7 16:38:13 2013 (r245132) @@ -1459,7 +1459,9 @@ xhci_interrupt(struct xhci_softc *sc) DPRINTFN(16, "real interrupt (sts=0x%08x, " "iman=0x%08x)\n", status, temp); - if (status != 0) { + if (status & (XHCI_STS_PCD | XHCI_STS_HCH | + XHCI_STS_HSE | XHCI_STS_HCE)) { + if (status & XHCI_STS_PCD) { xhci_root_intr(sc); } @@ -1480,7 +1482,9 @@ xhci_interrupt(struct xhci_softc *sc) } } - xhci_interrupt_poll(sc); + /* check if we need to check the event rings */ + if ((status != 0) || (temp & XHCI_IMAN_INTR_PEND)) + xhci_interrupt_poll(sc); USB_BUS_UNLOCK(&sc->sc_bus); } From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 17:58:29 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id E7EF1491; Mon, 7 Jan 2013 17:58:29 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CBAEBA45; Mon, 7 Jan 2013 17:58:29 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r07HwTH9039994; Mon, 7 Jan 2013 17:58:29 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r07HwS5v039985; Mon, 7 Jan 2013 17:58:28 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201301071758.r07HwS5v039985@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 7 Jan 2013 17:58:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245133 - in head/lib/csu: amd64 arm common i386-elf mips powerpc powerpc64 sparc64 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 17:58:30 -0000 Author: kib Date: Mon Jan 7 17:58:27 2013 New Revision: 245133 URL: http://svnweb.freebsd.org/changeset/base/245133 Log: Only assign the environ in the startup code when environ is NULL. Preloaded library could have changed the environment, and unconditional assingment to the environ undoes the customization. The binaries needs to be recompiled to get the fix. Move the common code to set up environ and __progname into the helper. Note that ia64 possibly not fixed, due to it still using old csu. Reported and tested by: John Hein Reviewed by: kan, scf Approved by: secteam (simon) MFC after: 2 weeks Modified: head/lib/csu/amd64/crt1.c head/lib/csu/arm/crt1.c head/lib/csu/common/ignore_init.c head/lib/csu/i386-elf/crt1_c.c head/lib/csu/mips/crt1.c head/lib/csu/powerpc/crt1.c head/lib/csu/powerpc64/crt1.c head/lib/csu/sparc64/crt1.c Modified: head/lib/csu/amd64/crt1.c ============================================================================== --- head/lib/csu/amd64/crt1.c Mon Jan 7 16:38:13 2013 (r245132) +++ head/lib/csu/amd64/crt1.c Mon Jan 7 17:58:27 2013 (r245133) @@ -61,9 +61,7 @@ _start(char **ap, void (*cleanup)(void)) argc = *(long *)(void *)ap; argv = ap + 1; env = ap + 2 + argc; - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (&_DYNAMIC != NULL) atexit(cleanup); Modified: head/lib/csu/arm/crt1.c ============================================================================== --- head/lib/csu/arm/crt1.c Mon Jan 7 16:38:13 2013 (r245132) +++ head/lib/csu/arm/crt1.c Mon Jan 7 17:58:27 2013 (r245133) @@ -98,10 +98,7 @@ __start(int argc, char **argv, char **en const struct Struct_Obj_Entry *obj __unused, void (*cleanup)(void)) { - environ = env; - - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (ps_strings != (struct ps_strings *)0) __ps_strings = ps_strings; Modified: head/lib/csu/common/ignore_init.c ============================================================================== --- head/lib/csu/common/ignore_init.c Mon Jan 7 16:38:13 2013 (r245132) +++ head/lib/csu/common/ignore_init.c Mon Jan 7 17:58:27 2013 (r245133) @@ -87,14 +87,18 @@ handle_static_init(int argc, char **argv } static inline void -handle_progname(const char *v) +handle_argv(int argc, char *argv[], char **env) { const char *s; - __progname = v; - for (s = __progname; *s != '\0'; s++) { - if (*s == '/') - __progname = s + 1; + if (environ == NULL) + environ = env; + if (argc > 0 && argv[0] != NULL) { + __progname = argv[0]; + for (s = __progname; *s != '\0'; s++) { + if (*s == '/') + __progname = s + 1; + } } } Modified: head/lib/csu/i386-elf/crt1_c.c ============================================================================== --- head/lib/csu/i386-elf/crt1_c.c Mon Jan 7 16:38:13 2013 (r245132) +++ head/lib/csu/i386-elf/crt1_c.c Mon Jan 7 17:58:27 2013 (r245133) @@ -61,10 +61,7 @@ _start1(fptr cleanup, int argc, char *ar char **env; env = argv + argc + 1; - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); - + handle_argv(argc, argv, env); if (&_DYNAMIC != NULL) atexit(cleanup); else Modified: head/lib/csu/mips/crt1.c ============================================================================== --- head/lib/csu/mips/crt1.c Mon Jan 7 16:38:13 2013 (r245132) +++ head/lib/csu/mips/crt1.c Mon Jan 7 17:58:27 2013 (r245133) @@ -71,9 +71,7 @@ __start(char **ap, argc = * (long *) ap; argv = ap + 1; env = ap + 2 + argc; - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (&_DYNAMIC != NULL) atexit(cleanup); Modified: head/lib/csu/powerpc/crt1.c ============================================================================== --- head/lib/csu/powerpc/crt1.c Mon Jan 7 16:38:13 2013 (r245132) +++ head/lib/csu/powerpc/crt1.c Mon Jan 7 17:58:27 2013 (r245133) @@ -81,10 +81,8 @@ _start(int argc, char **argv, char **env struct ps_strings *ps_strings) { - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (ps_strings != (struct ps_strings *)0) __ps_strings = ps_strings; Modified: head/lib/csu/powerpc64/crt1.c ============================================================================== --- head/lib/csu/powerpc64/crt1.c Mon Jan 7 16:38:13 2013 (r245132) +++ head/lib/csu/powerpc64/crt1.c Mon Jan 7 17:58:27 2013 (r245133) @@ -81,10 +81,7 @@ _start(int argc, char **argv, char **env struct ps_strings *ps_strings) { - environ = env; - - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (ps_strings != (struct ps_strings *)0) __ps_strings = ps_strings; Modified: head/lib/csu/sparc64/crt1.c ============================================================================== --- head/lib/csu/sparc64/crt1.c Mon Jan 7 16:38:13 2013 (r245132) +++ head/lib/csu/sparc64/crt1.c Mon Jan 7 17:58:27 2013 (r245133) @@ -85,9 +85,7 @@ _start(char **ap, void (*cleanup)(void), argc = *(long *)(void *)ap; argv = ap + 1; env = ap + 2 + argc; - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); if (&_DYNAMIC != NULL) atexit(cleanup); From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 18:47:38 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id BA784CD6; Mon, 7 Jan 2013 18:47:38 +0000 (UTC) (envelope-from gonzo@id.bluezbox.com) Received: from id.bluezbox.com (id.bluezbox.com [88.198.91.248]) by mx1.freebsd.org (Postfix) with ESMTP id 40C02CF1; Mon, 7 Jan 2013 18:47:37 +0000 (UTC) Received: from [88.198.91.248] (helo=[IPv6:::1]) by id.bluezbox.com with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.77 (FreeBSD)) (envelope-from ) id 1TsHjS-000Ozc-3X; Mon, 07 Jan 2013 10:47:36 -0800 Message-ID: <50EB1841.5030006@bluezbox.com> Date: Mon, 07 Jan 2013 10:47:29 -0800 From: Oleksandr Tymoshenko User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Alan Cox Subject: Re: svn commit: r243631 - in head/sys: kern sys References: <201211272119.qARLJxXV061083@svn.freebsd.org> <50C1BC90.90106@freebsd.org> <50C25A27.4060007@bluezbox.com> <50C26331.6030504@freebsd.org> <50C26AE9.4020600@bluezbox.com> <50C3A3D3.9000804@freebsd.org> <50C3AF72.4010902@rice.edu> <330405A1-312A-45A5-BB86-4969478D8BBD@bluezbox.com> <50D03E83.8060908@rice.edu> <50DD081E.8000409@bluezbox.com> In-Reply-To: <50DD081E.8000409@bluezbox.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: gonzo@id.bluezbox.com X-Spam-Level: -- X-Spam-Report: Spam detection software, running on the system "id.bluezbox.com", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see The administrator of that system for details. Content preview: On 12/27/2012 6:46 PM, Oleksandr Tymoshenko wrote: > On 12/18/2012 1:59 AM, Alan Cox wrote: >> On 12/17/2012 23:40, Oleksandr Tymoshenko wrote: >>> On 2012-12-08, at 1:21 PM, Alan Cox wrote: >>> >>>> On 12/08/2012 14:32, Andre Oppermann wrote: >>> .. skipped .. >>> >>>>> The trouble seems to come from NSFBUFS which is (512 + maxusers * 16) >>>>> resulting in a kernel map of (512 + 400 * 16) * PAGE_SIZE = 27MB. >>>>> This >>>>> seem to be pushing it with the smaller ARM kmap layout. >>>>> >>>>> Does it boot and run when you set the tunable kern.ipc.nsfbufs=3500? >>>>> >>>>> ARM does have a direct map mode as well which doesn't require the >>>>> allocation >>>>> of sfbufs. I'm not sure which other problems that approach has. >>>>> >>>> Only a few (3?) platforms use it. It reduces the size of the user >>>> address space, and translation between physical addresses and >>>> direct map >>>> addresses is not computationally trivial as it is on other >>>> architectures, e.g., amd64, ia64. However, it does try to use large >>>> page mappings. >>>> >>>> >>>>> Hopefully alc@ (added to cc) can answer that and also why the kmap of >>>>> 27MB >>>>> manages to wrench the ARM kernel. >>>>> >>>> Arm does not define caps on either the buffer map size (param.h) or >>>> the >>>> kmem map size (vmparam.h). It would probably make sense to copy these >>>> definitions from i386. >>> Adding caps didn't help. I did some digging and found out that >>> although address range >>> 0xc0000000 .. 0xffffffff is indeed valid for ARM in general actual >>> KVA space varies for >>> each specific hardware platform. This "real" KVA is defined by >>> >>> pair and ifI use them instead of >> VM_MAX_KERNEL_ADDRESS> >>> in init_param2 function my pandaboard successfully boots. Since >>> former pair is used for defining >>> kernel_map boundaries I believe it should be used for auto tuning as >>> well. >> >> That makes sense. However, "virtual_avail" isn't the start of the >> kernel address [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Andre Oppermann X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 18:47:38 -0000 On 12/27/2012 6:46 PM, Oleksandr Tymoshenko wrote: > On 12/18/2012 1:59 AM, Alan Cox wrote: >> On 12/17/2012 23:40, Oleksandr Tymoshenko wrote: >>> On 2012-12-08, at 1:21 PM, Alan Cox wrote: >>> >>>> On 12/08/2012 14:32, Andre Oppermann wrote: >>> .. skipped .. >>> >>>>> The trouble seems to come from NSFBUFS which is (512 + maxusers * 16) >>>>> resulting in a kernel map of (512 + 400 * 16) * PAGE_SIZE = 27MB. >>>>> This >>>>> seem to be pushing it with the smaller ARM kmap layout. >>>>> >>>>> Does it boot and run when you set the tunable kern.ipc.nsfbufs=3500? >>>>> >>>>> ARM does have a direct map mode as well which doesn't require the >>>>> allocation >>>>> of sfbufs. I'm not sure which other problems that approach has. >>>>> >>>> Only a few (3?) platforms use it. It reduces the size of the user >>>> address space, and translation between physical addresses and >>>> direct map >>>> addresses is not computationally trivial as it is on other >>>> architectures, e.g., amd64, ia64. However, it does try to use large >>>> page mappings. >>>> >>>> >>>>> Hopefully alc@ (added to cc) can answer that and also why the kmap of >>>>> 27MB >>>>> manages to wrench the ARM kernel. >>>>> >>>> Arm does not define caps on either the buffer map size (param.h) or >>>> the >>>> kmem map size (vmparam.h). It would probably make sense to copy these >>>> definitions from i386. >>> Adding caps didn't help. I did some digging and found out that >>> although address range >>> 0xc0000000 .. 0xffffffff is indeed valid for ARM in general actual >>> KVA space varies for >>> each specific hardware platform. This "real" KVA is defined by >>> >>> pair and ifI use them instead of >> VM_MAX_KERNEL_ADDRESS> >>> in init_param2 function my pandaboard successfully boots. Since >>> former pair is used for defining >>> kernel_map boundaries I believe it should be used for auto tuning as >>> well. >> >> That makes sense. However, "virtual_avail" isn't the start of the >> kernel address space. The kernel map always starts at >> VM_MIN_KERNEL_ADDRESS. (See kmem_init().) "virtual_avail" represents >> the next unallocated virtual address in the kernel address space at an >> early point in initialization. "virtual_avail" and "virtual_end" aren't >> used after that, or outside the VM system. Please use >> vm_map_min(kernel_map) and vm_map_max(kernel_map) instead. > > I checked: kernel_map is not available (NULL) at this point. So we > can't use it to > determine real KVA size. Closest thing we can get is > virtual_avail/virtual_end pair. > > Andre, could you approve attached patch for commit or suggest better > solution? Any update on this one? Can I proceed with commit? From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 19:37:02 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 209F2C0F; Mon, 7 Jan 2013 19:37:02 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 12F9D19B; Mon, 7 Jan 2013 19:37:02 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r07JadAS060410; Mon, 7 Jan 2013 19:36:45 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r07JaI2V060397; Mon, 7 Jan 2013 19:36:18 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201301071936.r07JaI2V060397@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 7 Jan 2013 19:36:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245134 - head/sys/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 19:37:02 -0000 Author: glebius Date: Mon Jan 7 19:36:11 2013 New Revision: 245134 URL: http://svnweb.freebsd.org/changeset/base/245134 Log: - Add dashes before copyright notices. - Add $FreeBSD$. - Remove unused define. Modified: head/sys/net/if_pfsync.h Modified: head/sys/net/if_pfsync.h ============================================================================== --- head/sys/net/if_pfsync.h Mon Jan 7 17:58:27 2013 (r245133) +++ head/sys/net/if_pfsync.h Mon Jan 7 19:36:11 2013 (r245134) @@ -1,6 +1,4 @@ -/* $OpenBSD: if_pfsync.h,v 1.35 2008/06/29 08:42:15 mcbride Exp $ */ - -/* +/*- * Copyright (c) 2001 Michael Shalayeff * All rights reserved. * @@ -26,7 +24,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -/* +/*- * Copyright (c) 2008 David Gwynne * * Permission to use, copy, modify, and distribute this software for any @@ -42,6 +40,12 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +/* + * $OpenBSD: if_pfsync.h,v 1.35 2008/06/29 08:42:15 mcbride Exp $ + * $FreeBSD$ + */ + + #ifndef _NET_IF_PFSYNC_H_ #define _NET_IF_PFSYNC_H_ @@ -63,20 +67,6 @@ #define PFSYNC_ACT_EOF 12 /* end of frame */ #define PFSYNC_ACT_MAX 13 -#define PFSYNC_ACTIONS "CLR ST", \ - "INS ST", \ - "INS ST ACK", \ - "UPD ST", \ - "UPD ST COMP", \ - "UPD ST REQ", \ - "DEL ST", \ - "DEL ST COMP", \ - "INS FR", \ - "DEL FR", \ - "BULK UPD STAT", \ - "TDB UPD", \ - "EOF" - #define PFSYNC_HMAC_LEN 20 /* From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 19:42:41 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E7DD5F41; Mon, 7 Jan 2013 19:42:41 +0000 (UTC) (envelope-from alc@rice.edu) Received: from mh10.mail.rice.edu (mh10.mail.rice.edu [128.42.201.30]) by mx1.freebsd.org (Postfix) with ESMTP id AF9251D6; Mon, 7 Jan 2013 19:42:41 +0000 (UTC) Received: from mh10.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh10.mail.rice.edu (Postfix) with ESMTP id 1D0C1604C9; Mon, 7 Jan 2013 13:32:36 -0600 (CST) Received: from mh10.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh10.mail.rice.edu (Postfix) with ESMTP id 1B563603DA; Mon, 7 Jan 2013 13:32:36 -0600 (CST) X-Virus-Scanned: by amavis-2.7.0 at mh10.mail.rice.edu, auth channel Received: from mh10.mail.rice.edu ([127.0.0.1]) by mh10.mail.rice.edu (mh10.mail.rice.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id rdXnTEeZlyAu; Mon, 7 Jan 2013 13:32:36 -0600 (CST) Received: from adsl-216-63-78-18.dsl.hstntx.swbell.net (adsl-216-63-78-18.dsl.hstntx.swbell.net [216.63.78.18]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) (Authenticated sender: alc) by mh10.mail.rice.edu (Postfix) with ESMTPSA id 1E3D5604C6; Mon, 7 Jan 2013 13:32:35 -0600 (CST) Message-ID: <50EB22D2.6090103@rice.edu> Date: Mon, 07 Jan 2013 13:32:34 -0600 From: Alan Cox User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Oleksandr Tymoshenko Subject: Re: svn commit: r243631 - in head/sys: kern sys References: <201211272119.qARLJxXV061083@svn.freebsd.org> <50C1BC90.90106@freebsd.org> <50C25A27.4060007@bluezbox.com> <50C26331.6030504@freebsd.org> <50C26AE9.4020600@bluezbox.com> <50C3A3D3.9000804@freebsd.org> <50C3AF72.4010902@rice.edu> <330405A1-312A-45A5-BB86-4969478D8BBD@bluezbox.com> <50D03E83.8060908@rice.edu> <50DD081E.8000409@bluezbox.com> <50EB1841.5030006@bluezbox.com> In-Reply-To: <50EB1841.5030006@bluezbox.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Andre Oppermann X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 19:42:42 -0000 On 01/07/2013 12:47, Oleksandr Tymoshenko wrote: > On 12/27/2012 6:46 PM, Oleksandr Tymoshenko wrote: >> On 12/18/2012 1:59 AM, Alan Cox wrote: >>> On 12/17/2012 23:40, Oleksandr Tymoshenko wrote: >>>> On 2012-12-08, at 1:21 PM, Alan Cox wrote: >>>> >>>>> On 12/08/2012 14:32, Andre Oppermann wrote: >>>> .. skipped .. >>>> >>>>>> The trouble seems to come from NSFBUFS which is (512 + maxusers * >>>>>> 16) >>>>>> resulting in a kernel map of (512 + 400 * 16) * PAGE_SIZE = >>>>>> 27MB. This >>>>>> seem to be pushing it with the smaller ARM kmap layout. >>>>>> >>>>>> Does it boot and run when you set the tunable kern.ipc.nsfbufs=3500? >>>>>> >>>>>> ARM does have a direct map mode as well which doesn't require the >>>>>> allocation >>>>>> of sfbufs. I'm not sure which other problems that approach has. >>>>>> >>>>> Only a few (3?) platforms use it. It reduces the size of the user >>>>> address space, and translation between physical addresses and >>>>> direct map >>>>> addresses is not computationally trivial as it is on other >>>>> architectures, e.g., amd64, ia64. However, it does try to use large >>>>> page mappings. >>>>> >>>>> >>>>>> Hopefully alc@ (added to cc) can answer that and also why the >>>>>> kmap of >>>>>> 27MB >>>>>> manages to wrench the ARM kernel. >>>>>> >>>>> Arm does not define caps on either the buffer map size (param.h) >>>>> or the >>>>> kmem map size (vmparam.h). It would probably make sense to copy >>>>> these >>>>> definitions from i386. >>>> Adding caps didn't help. I did some digging and found out that >>>> although address range >>>> 0xc0000000 .. 0xffffffff is indeed valid for ARM in general actual >>>> KVA space varies for >>>> each specific hardware platform. This "real" KVA is defined by >>>> >>>> pair and ifI use them instead of >>> VM_MAX_KERNEL_ADDRESS> >>>> in init_param2 function my pandaboard successfully boots. Since >>>> former pair is used for defining >>>> kernel_map boundaries I believe it should be used for auto tuning >>>> as well. >>> >>> That makes sense. However, "virtual_avail" isn't the start of the >>> kernel address space. The kernel map always starts at >>> VM_MIN_KERNEL_ADDRESS. (See kmem_init().) "virtual_avail" represents >>> the next unallocated virtual address in the kernel address space at an >>> early point in initialization. "virtual_avail" and "virtual_end" >>> aren't >>> used after that, or outside the VM system. Please use >>> vm_map_min(kernel_map) and vm_map_max(kernel_map) instead. >> >> I checked: kernel_map is not available (NULL) at this point. So we >> can't use it to >> determine real KVA size. Closest thing we can get is >> virtual_avail/virtual_end pair. >> >> Andre, could you approve attached patch for commit or suggest better >> solution? > > Any update on this one? Can I proceed with commit? > Sorry, I've been away from my e-mail since the 30th, and I'm now in the process of getting caught up. Give me a day or so to look at this. Alan From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 20:36:52 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 63270BAD; Mon, 7 Jan 2013 20:36:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 54085662; Mon, 7 Jan 2013 20:36:52 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r07Kaqon075477; Mon, 7 Jan 2013 20:36:52 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r07Kaqwd075476; Mon, 7 Jan 2013 20:36:52 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <201301072036.r07Kaqwd075476@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Mon, 7 Jan 2013 20:36:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245135 - head/sys/arm/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 20:36:52 -0000 Author: gonzo Date: Mon Jan 7 20:36:51 2013 New Revision: 245135 URL: http://svnweb.freebsd.org/changeset/base/245135 Log: Implement barriers for AMRv6 and ARMv7 Submitted by: Daisuke Aoyama Reviewed by: ian, cognet Modified: head/sys/arm/include/atomic.h Modified: head/sys/arm/include/atomic.h ============================================================================== --- head/sys/arm/include/atomic.h Mon Jan 7 19:36:11 2013 (r245134) +++ head/sys/arm/include/atomic.h Mon Jan 7 20:36:51 2013 (r245135) @@ -47,9 +47,25 @@ #include #endif -#define mb() -#define wmb() -#define rmb() +#if defined (__ARM_ARCH_7__) || defined (__ARM_ARCH_7A__) +#define isb() __asm __volatile("isb" : : : "memory") +#define dsb() __asm __volatile("dsb" : : : "memory") +#define dmb() __asm __volatile("dmb" : : : "memory") +#elif defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__) || \ + defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6Z__) || \ + defined (__ARM_ARCH_6ZK__) +#define isb() __asm __volatile("mcr p15, 0, %0, c7, c5, 4" : : "r" (0) : "memory") +#define dsb() __asm __volatile("mcr p15, 0, %0, c7, c10, 4" : : "r" (0) : "memory") +#define dmb() __asm __volatile("mcr p15, 0, %0, c7, c10, 5" : : "r" (0) : "memory") +#else +#define isb() +#define dsb() +#define dmb() +#endif + +#define mb() dmb() +#define wmb() dmb() +#define rmb() dmb() #ifndef I32_bit #define I32_bit (1 << 7) /* IRQ disable */ From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 21:35:26 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 989FC646; Mon, 7 Jan 2013 21:35:26 +0000 (UTC) (envelope-from jimharris@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8950A843; Mon, 7 Jan 2013 21:35:26 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r07LZQNt092662; Mon, 7 Jan 2013 21:35:26 GMT (envelope-from jimharris@svn.freebsd.org) Received: (from jimharris@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r07LZQbc092661; Mon, 7 Jan 2013 21:35:26 GMT (envelope-from jimharris@svn.freebsd.org) Message-Id: <201301072135.r07LZQbc092661@svn.freebsd.org> From: Jim Harris Date: Mon, 7 Jan 2013 21:35:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245136 - head/sys/dev/nvme X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 21:35:26 -0000 Author: jimharris Date: Mon Jan 7 21:35:25 2013 New Revision: 245136 URL: http://svnweb.freebsd.org/changeset/base/245136 Log: Revert r244549. This change was originally intended to account for test kthreads under the nvmecontrol process, but jhb indicated it may not be safe to associate kthreads with userland processes and this could have unintended consequences. I did not observe any problems with this change, but my testing didn't exhaust the kinds of corner cases that could cause problems. It is not that important to account for these test threads under nvmecontrol, so I am just reverting this change for now. On a related note, the part of this patch for <= 7.x fails compilation so reverting this fixes that too. Suggested by: jhb Modified: head/sys/dev/nvme/nvme_test.c Modified: head/sys/dev/nvme/nvme_test.c ============================================================================== --- head/sys/dev/nvme/nvme_test.c Mon Jan 7 20:36:51 2013 (r245135) +++ head/sys/dev/nvme/nvme_test.c Mon Jan 7 21:35:25 2013 (r245136) @@ -287,10 +287,10 @@ nvme_ns_test(struct nvme_namespace *ns, for (i = 0; i < io_test->num_threads; i++) #if __FreeBSD_version >= 800004 kthread_add(fn, io_test_internal, - curproc, NULL, 0, 0, "nvme_io_test[%d]", i); + NULL, NULL, 0, 0, "nvme_io_test[%d]", i); #else kthread_create(fn, io_test_internal, - curproc, 0, 0, "nvme_io_test[%d]", i); + NULL, 0, 0, "nvme_io_test[%d]", i); #endif tsleep(io_test_internal, 0, "nvme_test", io_test->time * 2 * hz); From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 21:49:41 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8E083C56 for ; Mon, 7 Jan 2013 21:49:41 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.freebsd.org (Postfix) with ESMTP id 116CF8D6 for ; Mon, 7 Jan 2013 21:49:40 +0000 (UTC) Received: (qmail 82183 invoked from network); 7 Jan 2013 23:07:06 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 7 Jan 2013 23:07:06 -0000 Message-ID: <50EB415F.8020405@freebsd.org> Date: Mon, 07 Jan 2013 22:42:55 +0100 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Alan Cox Subject: Re: svn commit: r243631 - in head/sys: kern sys References: <201211272119.qARLJxXV061083@svn.freebsd.org> <50C1BC90.90106@freebsd.org> <50C25A27.4060007@bluezbox.com> <50C26331.6030504@freebsd.org> <50C26AE9.4020600@bluezbox.com> <50C3A3D3.9000804@freebsd.org> <50C3AF72.4010902@rice.edu> <330405A1-312A-45A5-BB86-4969478D8BBD@bluezbox.com> <50D03E83.8060908@rice.edu> <50DD081E.8000409@bluezbox.com> <50EB1841.5030006@bluezbox.com> <50EB22D2.6090103@rice.edu> In-Reply-To: <50EB22D2.6090103@rice.edu> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Oleksandr Tymoshenko X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 21:49:41 -0000 On 07.01.2013 20:32, Alan Cox wrote: > On 01/07/2013 12:47, Oleksandr Tymoshenko wrote: >> On 12/27/2012 6:46 PM, Oleksandr Tymoshenko wrote: >>> On 12/18/2012 1:59 AM, Alan Cox wrote: >>>> On 12/17/2012 23:40, Oleksandr Tymoshenko wrote: >>>>> On 2012-12-08, at 1:21 PM, Alan Cox wrote: >>>>> >>>>>> On 12/08/2012 14:32, Andre Oppermann wrote: >>>>> .. skipped .. >>>>> >>>>>>> The trouble seems to come from NSFBUFS which is (512 + maxusers * >>>>>>> 16) >>>>>>> resulting in a kernel map of (512 + 400 * 16) * PAGE_SIZE = >>>>>>> 27MB. This >>>>>>> seem to be pushing it with the smaller ARM kmap layout. >>>>>>> >>>>>>> Does it boot and run when you set the tunable kern.ipc.nsfbufs=3500? >>>>>>> >>>>>>> ARM does have a direct map mode as well which doesn't require the >>>>>>> allocation >>>>>>> of sfbufs. I'm not sure which other problems that approach has. >>>>>>> >>>>>> Only a few (3?) platforms use it. It reduces the size of the user >>>>>> address space, and translation between physical addresses and >>>>>> direct map >>>>>> addresses is not computationally trivial as it is on other >>>>>> architectures, e.g., amd64, ia64. However, it does try to use large >>>>>> page mappings. >>>>>> >>>>>> >>>>>>> Hopefully alc@ (added to cc) can answer that and also why the >>>>>>> kmap of >>>>>>> 27MB >>>>>>> manages to wrench the ARM kernel. >>>>>>> >>>>>> Arm does not define caps on either the buffer map size (param.h) >>>>>> or the >>>>>> kmem map size (vmparam.h). It would probably make sense to copy >>>>>> these >>>>>> definitions from i386. >>>>> Adding caps didn't help. I did some digging and found out that >>>>> although address range >>>>> 0xc0000000 .. 0xffffffff is indeed valid for ARM in general actual >>>>> KVA space varies for >>>>> each specific hardware platform. This "real" KVA is defined by >>>>> >>>>> pair and ifI use them instead of >>>> VM_MAX_KERNEL_ADDRESS> >>>>> in init_param2 function my pandaboard successfully boots. Since >>>>> former pair is used for defining >>>>> kernel_map boundaries I believe it should be used for auto tuning >>>>> as well. >>>> >>>> That makes sense. However, "virtual_avail" isn't the start of the >>>> kernel address space. The kernel map always starts at >>>> VM_MIN_KERNEL_ADDRESS. (See kmem_init().) "virtual_avail" represents >>>> the next unallocated virtual address in the kernel address space at an >>>> early point in initialization. "virtual_avail" and "virtual_end" >>>> aren't >>>> used after that, or outside the VM system. Please use >>>> vm_map_min(kernel_map) and vm_map_max(kernel_map) instead. >>> >>> I checked: kernel_map is not available (NULL) at this point. So we >>> can't use it to >>> determine real KVA size. Closest thing we can get is >>> virtual_avail/virtual_end pair. >>> >>> Andre, could you approve attached patch for commit or suggest better >>> solution? >> >> Any update on this one? Can I proceed with commit? >> > > Sorry, I've been away from my e-mail since the 30th, and I'm now in the > process of getting caught up. Give me a day or so to look at this. Ditto. -- Andre From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 23:30:54 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6799CBE3; Mon, 7 Jan 2013 23:30:54 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 4BE95D12; Mon, 7 Jan 2013 23:30:54 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r07NUsr0025570; Mon, 7 Jan 2013 23:30:54 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r07NUrpq025568; Mon, 7 Jan 2013 23:30:53 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <201301072330.r07NUrpq025568@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Mon, 7 Jan 2013 23:30:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245137 - head/sys/arm/ti X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 23:30:54 -0000 Author: gonzo Date: Mon Jan 7 23:30:53 2013 New Revision: 245137 URL: http://svnweb.freebsd.org/changeset/base/245137 Log: - Identify more devices for OMAP4 SoC (up to OMAP4470) - Whitespace fixes Modified: head/sys/arm/ti/ti_cpuid.c head/sys/arm/ti/ti_cpuid.h Modified: head/sys/arm/ti/ti_cpuid.c ============================================================================== --- head/sys/arm/ti/ti_cpuid.c Mon Jan 7 21:35:25 2013 (r245136) +++ head/sys/arm/ti/ti_cpuid.c Mon Jan 7 23:30:53 2013 (r245137) @@ -129,27 +129,75 @@ omap4_get_revision(void) switch (hawkeye) { case 0xB852: - if (revision == 0) + switch (revision) { + case 0: chip_revision = OMAP4430_REV_ES1_0; - else - chip_revision = OMAP4430_REV_ES2_0; + break; + case 1: + chip_revision = OMAP4430_REV_ES2_1; + break; + default: + chip_revision = OMAP4430_REV_UNKNOWN; + break; + } break; + case 0xB95C: - if (revision == 3) + switch (revision) { + case 3: chip_revision = OMAP4430_REV_ES2_1; - else if (revision == 4) + break; + case 4: chip_revision = OMAP4430_REV_ES2_2; - else + break; + case 6: chip_revision = OMAP4430_REV_ES2_3; + break; + default: + chip_revision = OMAP4430_REV_UNKNOWN; + break; + } break; + + case 0xB94E: + switch (revision) { + case 0: + chip_revision = OMAP4460_REV_ES1_0; + break; + case 2: + chip_revision = OMAP4460_REV_ES1_1; + break; + default: + chip_revision = OMAP4460_REV_UNKNOWN; + break; + } + break; + + case 0xB975: + switch (revision) { + case 0: + chip_revision = OMAP4470_REV_ES1_0; + break; + default: + chip_revision = OMAP4470_REV_UNKNOWN; + break; + } + break; + default: /* Default to the latest revision if we can't determine type */ - chip_revision = OMAP4430_REV_ES2_3; + chip_revision = OMAP_UNKNOWN_DEV; break; } - printf("Texas Instruments OMAP%04x Processor, Revision ES%u.%u\n", - OMAP_REV_DEVICE(chip_revision), OMAP_REV_MAJOR(chip_revision), - OMAP_REV_MINOR(chip_revision)); + if (chip_revision != OMAP_UNKNOWN_DEV) { + printf("Texas Instruments OMAP%04x Processor, Revision ES%u.%u\n", + OMAP_REV_DEVICE(chip_revision), OMAP_REV_MAJOR(chip_revision), + OMAP_REV_MINOR(chip_revision)); + } + else { + printf("Texas Instruments unknown OMAP chip: %04x, rev %d\n", + hawkeye, revision); + } } /** Modified: head/sys/arm/ti/ti_cpuid.h ============================================================================== --- head/sys/arm/ti/ti_cpuid.h Mon Jan 7 21:35:25 2013 (r245136) +++ head/sys/arm/ti/ti_cpuid.h Mon Jan 7 23:30:53 2013 (r245137) @@ -30,34 +30,46 @@ #ifndef _TI_CPUID_H_ #define _TI_CPUID_H_ -#define OMAP_MAKEREV(d, a, b, c) \ +#define OMAP_MAKEREV(d, a, b, c) \ (uint32_t)(((d) << 16) | (((a) & 0xf) << 8) | (((b) & 0xf) << 4) | ((c) & 0xf)) -#define OMAP_REV_DEVICE(x) (((x) >> 16) & 0xffff) -#define OMAP_REV_MAJOR(x) (((x) >> 8) & 0xf) -#define OMAP_REV_MINOR(x) (((x) >> 4) & 0xf) -#define OMAP_REV_MINOR_MINOR(x) (((x) >> 0) & 0xf) +#define OMAP_REV_DEVICE(x) (((x) >> 16) & 0xffff) +#define OMAP_REV_MAJOR(x) (((x) >> 8) & 0xf) +#define OMAP_REV_MINOR(x) (((x) >> 4) & 0xf) +#define OMAP_REV_MINOR_MINOR(x) (((x) >> 0) & 0xf) #define OMAP3350_DEV 0x3530 -#define OMAP3350_REV_ES1_0 OMAP_MAKEREV(OMAP3350_DEV, 1, 0, 0) -#define OMAP3530_REV_ES2_0 OMAP_MAKEREV(OMAP3350_DEV, 2, 0, 0) -#define OMAP3530_REV_ES2_1 OMAP_MAKEREV(OMAP3350_DEV, 2, 1, 0) -#define OMAP3530_REV_ES3_0 OMAP_MAKEREV(OMAP3350_DEV, 3, 0, 0) -#define OMAP3530_REV_ES3_1 OMAP_MAKEREV(OMAP3350_DEV, 3, 1, 0) -#define OMAP3530_REV_ES3_1_2 OMAP_MAKEREV(OMAP3350_DEV, 3, 1, 2) +#define OMAP3350_REV_ES1_0 OMAP_MAKEREV(OMAP3350_DEV, 1, 0, 0) +#define OMAP3530_REV_ES2_0 OMAP_MAKEREV(OMAP3350_DEV, 2, 0, 0) +#define OMAP3530_REV_ES2_1 OMAP_MAKEREV(OMAP3350_DEV, 2, 1, 0) +#define OMAP3530_REV_ES3_0 OMAP_MAKEREV(OMAP3350_DEV, 3, 0, 0) +#define OMAP3530_REV_ES3_1 OMAP_MAKEREV(OMAP3350_DEV, 3, 1, 0) +#define OMAP3530_REV_ES3_1_2 OMAP_MAKEREV(OMAP3350_DEV, 3, 1, 2) #define OMAP4430_DEV 0x4430 -#define OMAP4430_REV_ES1_0 OMAP_MAKEREV(OMAP4430_DEV, 1, 0, 0) -#define OMAP4430_REV_ES2_0 OMAP_MAKEREV(OMAP4430_DEV, 2, 0, 0) -#define OMAP4430_REV_ES2_1 OMAP_MAKEREV(OMAP4430_DEV, 2, 1, 0) -#define OMAP4430_REV_ES2_2 OMAP_MAKEREV(OMAP4430_DEV, 2, 2, 0) -#define OMAP4430_REV_ES2_3 OMAP_MAKEREV(OMAP4430_DEV, 2, 3, 0) - -#define AM335X_DEVREV(x) ((x) >> 28) - -#define CHIP_OMAP_3 0 -#define CHIP_OMAP_4 1 -#define CHIP_AM335X 2 +#define OMAP4430_REV_ES1_0 OMAP_MAKEREV(OMAP4430_DEV, 1, 0, 0) +#define OMAP4430_REV_ES2_0 OMAP_MAKEREV(OMAP4430_DEV, 2, 0, 0) +#define OMAP4430_REV_ES2_1 OMAP_MAKEREV(OMAP4430_DEV, 2, 1, 0) +#define OMAP4430_REV_ES2_2 OMAP_MAKEREV(OMAP4430_DEV, 2, 2, 0) +#define OMAP4430_REV_ES2_3 OMAP_MAKEREV(OMAP4430_DEV, 2, 3, 0) +#define OMAP4430_REV_UNKNOWN OMAP_MAKEREV(OMAP4430_DEV, 9, 9, 9) + +#define OMAP4460_DEV 0x4460 +#define OMAP4460_REV_ES1_0 OMAP_MAKEREV(OMAP4460_DEV, 1, 0, 0) +#define OMAP4460_REV_ES1_1 OMAP_MAKEREV(OMAP4460_DEV, 1, 1, 0) +#define OMAP4460_REV_UNKNOWN OMAP_MAKEREV(OMAP4460_DEV, 9, 9, 9) + +#define OMAP4470_DEV 0x4470 +#define OMAP4470_REV_ES1_0 OMAP_MAKEREV(OMAP4470_DEV, 1, 0, 0) +#define OMAP4470_REV_UNKNOWN OMAP_MAKEREV(OMAP4470_DEV, 9, 9, 9) + +#define OMAP_UNKNOWN_DEV OMAP_MAKEREV(0x9999, 9, 9, 9) + +#define AM335X_DEVREV(x) ((x) >> 28) + +#define CHIP_OMAP_3 0 +#define CHIP_OMAP_4 1 +#define CHIP_AM335X 2 static __inline int ti_chip(void) { From owner-svn-src-all@FreeBSD.ORG Mon Jan 7 23:41:15 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id ADFC9F01; Mon, 7 Jan 2013 23:41:15 +0000 (UTC) (envelope-from cognet@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9FA1ED66; Mon, 7 Jan 2013 23:41:15 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r07NfFFd029896; Mon, 7 Jan 2013 23:41:15 GMT (envelope-from cognet@svn.freebsd.org) Received: (from cognet@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r07NfFx9029895; Mon, 7 Jan 2013 23:41:15 GMT (envelope-from cognet@svn.freebsd.org) Message-Id: <201301072341.r07NfFx9029895@svn.freebsd.org> From: Olivier Houchard Date: Mon, 7 Jan 2013 23:41:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245139 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jan 2013 23:41:15 -0000 Author: cognet Date: Mon Jan 7 23:41:14 2013 New Revision: 245139 URL: http://svnweb.freebsd.org/changeset/base/245139 Log: Nuke ARM_WANT_TP_ADDRESS, it's not used anymore. Don't force -march=armv6 for Cortex A, as we want at least armv6k. The compiler default is good enough. Modified: head/share/mk/bsd.cpu.mk Modified: head/share/mk/bsd.cpu.mk ============================================================================== --- head/share/mk/bsd.cpu.mk Mon Jan 7 23:35:40 2013 (r245138) +++ head/share/mk/bsd.cpu.mk Mon Jan 7 23:41:14 2013 (r245139) @@ -97,13 +97,13 @@ _CPUCFLAGS = -march=${CPUTYPE} . if ${CPUTYPE} == "xscale" #XXX: gcc doesn't seem to like -mcpu=xscale, and dies while rebuilding itself #_CPUCFLAGS = -mcpu=xscale -_CPUCFLAGS = -march=armv5te -D__XSCALE__ -DARM_WANT_TP_ADDRESS +_CPUCFLAGS = -march=armv5te -D__XSCALE__ . elif ${CPUTYPE} == "armv6" _CPUCFLAGS = -march=${CPUTYPE} -DARM_ARCH_6=1 . elif ${CPUTYPE} == "cortexa" -_CPUCFLAGS = -march=armv6 -DARM_ARCH_6=1 -mfpu=vfp +_CPUCFLAGS = -DARM_ARCH_6=1 -mfpu=vfp . else -_CPUCFLAGS = -mcpu=${CPUTYPE} -DARM_WANT_TP_ADDRESS +_CPUCFLAGS = -mcpu=${CPUTYPE} . endif . elif ${MACHINE_ARCH} == "powerpc" . if ${CPUTYPE} == "e500" From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 02:02:20 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C2327CF; Tue, 8 Jan 2013 02:02:20 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9AF7725A; Tue, 8 Jan 2013 02:02:20 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0822KnA070518; Tue, 8 Jan 2013 02:02:20 GMT (envelope-from np@svn.freebsd.org) Received: (from np@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0822KKK070516; Tue, 8 Jan 2013 02:02:20 GMT (envelope-from np@svn.freebsd.org) Message-Id: <201301080202.r0822KKK070516@svn.freebsd.org> From: Navdeep Parhar Date: Tue, 8 Jan 2013 02:02:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245145 - stable/9/sys/dev/cxgbe X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 02:02:20 -0000 Author: np Date: Tue Jan 8 02:02:19 2013 New Revision: 245145 URL: http://svnweb.freebsd.org/changeset/base/245145 Log: MFC r244551, r244580. r244551: cxgbe(4): must hold a write-lock on the table while allocating an L2 entry for switching. r244580: cxgbe(4): Add support for the T440-LP-CR card. This is the 4x10G low profile card with a QSFP+ transceiver. Modified: stable/9/sys/dev/cxgbe/t4_l2t.c stable/9/sys/dev/cxgbe/t4_main.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/cxgbe/t4_l2t.c ============================================================================== --- stable/9/sys/dev/cxgbe/t4_l2t.c Tue Jan 8 01:56:05 2013 (r245144) +++ stable/9/sys/dev/cxgbe/t4_l2t.c Tue Jan 8 02:02:19 2013 (r245145) @@ -149,7 +149,7 @@ t4_l2t_alloc_switching(struct l2t_data * { struct l2t_entry *e; - rw_rlock(&d->lock); + rw_wlock(&d->lock); e = t4_alloc_l2e(d); if (e) { mtx_lock(&e->lock); /* avoid race with t4_l2t_free */ @@ -157,7 +157,7 @@ t4_l2t_alloc_switching(struct l2t_data * atomic_store_rel_int(&e->refcnt, 1); mtx_unlock(&e->lock); } - rw_runlock(&d->lock); + rw_wunlock(&d->lock); return e; } Modified: stable/9/sys/dev/cxgbe/t4_main.c ============================================================================== --- stable/9/sys/dev/cxgbe/t4_main.c Tue Jan 8 01:56:05 2013 (r245144) +++ stable/9/sys/dev/cxgbe/t4_main.c Tue Jan 8 02:02:19 2013 (r245145) @@ -371,6 +371,7 @@ struct t4_pciids { {0x4408, "Chelsio T420-CX"}, {0x4409, "Chelsio T420-BT"}, {0x440a, "Chelsio T404-BT"}, + {0x440e, "Chelsio T440-LP-CR"}, }; #ifdef TCP_OFFLOAD From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 02:38:39 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id ABF20771; Tue, 8 Jan 2013 02:38:39 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 89BCC3E2; Tue, 8 Jan 2013 02:38:39 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r082cde3080047; Tue, 8 Jan 2013 02:38:39 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r082cdIr080046; Tue, 8 Jan 2013 02:38:39 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <201301080238.r082cdIr080046@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Tue, 8 Jan 2013 02:38:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245146 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 02:38:39 -0000 Author: gonzo Date: Tue Jan 8 02:38:38 2013 New Revision: 245146 URL: http://svnweb.freebsd.org/changeset/base/245146 Log: Fix cache-related issue with pmap for ARMv6/ARMv7: - Missing PTE_SYNC in pmap_kremove caused memory corruption in userland applications - Fix lack of cache flushes when using special PTEs for zeroing or copying pages. If there are dirty lines for destination memory and page later remapped as a non-cached region actual content might be overwritten by these dirty lines when cache eviction happens as a result of applying cache eviction policy or because of wbinv_all call. - icache sync for new mapping for userland applications. Tested by: gber Modified: head/sys/arm/arm/pmap-v6.c Modified: head/sys/arm/arm/pmap-v6.c ============================================================================== --- head/sys/arm/arm/pmap-v6.c Tue Jan 8 02:02:19 2013 (r245145) +++ head/sys/arm/arm/pmap-v6.c Tue Jan 8 02:38:38 2013 (r245146) @@ -193,6 +193,14 @@ int pmap_debug_level = 0; #define PMAP_INLINE __inline #endif /* PMAP_DEBUG */ +#ifdef ARM_L2_PIPT +#define pmap_l2cache_wbinv_range(va, pa, size) cpu_l2cache_wbinv_range((pa), (size)) +#define pmap_l2cache_inv_range(va, pa, size) cpu_l2cache_inv_range((pa), (size)) +#else +#define pmap_l2cache_wbinv_range(va, pa, size) cpu_l2cache_wbinv_range((va), (size)) +#define pmap_l2cache_inv_range(va, pa, size) cpu_l2cache_inv_range((va), (size)) +#endif + extern struct pv_addr systempage; /* @@ -786,11 +794,7 @@ pmap_l2ptp_ctor(void *mem, int size, voi pte = *ptep; cpu_idcache_wbinv_range(va, PAGE_SIZE); -#ifdef ARM_L2_PIPT - cpu_l2cache_wbinv_range(pte & L2_S_FRAME, PAGE_SIZE); -#else - cpu_l2cache_wbinv_range(va, PAGE_SIZE); -#endif + pmap_l2cache_wbinv_range(va, pte & L2_S_FRAME, PAGE_SIZE); if ((pte & L2_S_CACHE_MASK) != pte_l2_s_cache_mode_pt) { /* * Page tables must have the cache-mode set to @@ -2121,6 +2125,7 @@ pmap_kremove(vm_offset_t va) cpu_tlb_flushD_SE(va); cpu_cpwait(); *pte = 0; + PTE_SYNC(pte); } } @@ -2387,11 +2392,7 @@ pmap_change_attr(vm_offset_t sva, vm_siz pte = *ptep &~ L2_S_CACHE_MASK; cpu_idcache_wbinv_range(tmpva, PAGE_SIZE); -#ifdef ARM_L2_PIPT - cpu_l2cache_wbinv_range(pte & L2_S_FRAME, PAGE_SIZE); -#else - cpu_l2cache_wbinv_range(tmpva, PAGE_SIZE); -#endif + pmap_l2cache_wbinv_range(tmpva, pte & L2_S_FRAME, PAGE_SIZE); *ptep = pte; cpu_tlb_flushID_SE(tmpva); @@ -2754,6 +2755,9 @@ do_l2b_alloc: else if (PV_BEEN_REFD(oflags)) cpu_tlb_flushD_SE(va); } + + if ((pmap != pmap_kernel()) && (pmap == &curproc->p_vmspace->vm_pmap)) + cpu_icache_sync_range(va, PAGE_SIZE); } /* @@ -3197,6 +3201,16 @@ pmap_zero_page_gen(vm_page_t pg, int off else bzero_page(cdstp); + /* + * Although aliasing is not possible if we use + * cdstp temporary mappings with memory that + * will be mapped later as non-cached or with write-through + * caches we might end up overwriting it when calling wbinv_all + * So make sure caches are clean after copy operation + */ + cpu_idcache_wbinv_range(cdstp, size); + pmap_l2cache_wbinv_range(cdstp, phys, size); + mtx_unlock(&cmtx); } @@ -3276,12 +3290,23 @@ pmap_copy_page_generic(vm_paddr_t src, v *cdst_pte = L2_S_PROTO | dst | pte_l2_s_cache_mode; pmap_set_prot(cdst_pte, VM_PROT_READ | VM_PROT_WRITE, 0); PTE_SYNC(cdst_pte); + cpu_tlb_flushD_SE(csrcp); cpu_tlb_flushD_SE(cdstp); cpu_cpwait(); + /* + * Although aliasing is not possible if we use + * cdstp temporary mappings with memory that + * will be mapped later as non-cached or with write-through + * caches we might end up overwriting it when calling wbinv_all + * So make sure caches are clean after copy operation + */ bcopy_page(csrcp, cdstp); + cpu_idcache_wbinv_range(cdstp, PAGE_SIZE); + pmap_l2cache_wbinv_range(cdstp, dst, PAGE_SIZE); + mtx_unlock(&cmtx); } From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 02:40:21 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 11CB6A73; Tue, 8 Jan 2013 02:40:21 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 046143FB; Tue, 8 Jan 2013 02:40:21 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r082eKqg080303; Tue, 8 Jan 2013 02:40:20 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r082eKVq080302; Tue, 8 Jan 2013 02:40:20 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <201301080240.r082eKVq080302@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Tue, 8 Jan 2013 02:40:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245147 - head/sys/arm/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 02:40:21 -0000 Author: gonzo Date: Tue Jan 8 02:40:20 2013 New Revision: 245147 URL: http://svnweb.freebsd.org/changeset/base/245147 Log: Switch default cache type for ARMv6/ARMv7 from write-through to writeback-writeallocate Modified: head/sys/arm/include/pmap.h Modified: head/sys/arm/include/pmap.h ============================================================================== --- head/sys/arm/include/pmap.h Tue Jan 8 02:38:38 2013 (r245146) +++ head/sys/arm/include/pmap.h Tue Jan 8 02:40:20 2013 (r245147) @@ -61,7 +61,7 @@ #else #define PTE_NOCACHE 1 #endif -#define PTE_CACHE 4 +#define PTE_CACHE 6 #define PTE_DEVICE 2 #define PTE_PAGETABLE 4 #else From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 03:00:33 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CFEC2EDC; Tue, 8 Jan 2013 03:00:33 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) by mx1.freebsd.org (Postfix) with ESMTP id 45C156EE; Tue, 8 Jan 2013 03:00:33 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.5/8.14.5) with ESMTP id r0830M6G028151; Tue, 8 Jan 2013 05:00:22 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.7.4 kib.kiev.ua r0830M6G028151 Received: (from kostik@localhost) by tom.home (8.14.5/8.14.5/Submit) id r0830Mpt028150; Tue, 8 Jan 2013 05:00:22 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Tue, 8 Jan 2013 05:00:22 +0200 From: Konstantin Belousov To: Oleksandr Tymoshenko Subject: Re: svn commit: r245147 - head/sys/arm/include Message-ID: <20130108030022.GC82219@kib.kiev.ua> References: <201301080240.r082eKVq080302@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="+plSmdOTvOCX/8Oy" Content-Disposition: inline In-Reply-To: <201301080240.r082eKVq080302@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on tom.home Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 03:00:33 -0000 --+plSmdOTvOCX/8Oy Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jan 08, 2013 at 02:40:20AM +0000, Oleksandr Tymoshenko wrote: > Author: gonzo > Date: Tue Jan 8 02:40:20 2013 > New Revision: 245147 > URL: http://svnweb.freebsd.org/changeset/base/245147 >=20 > Log: > Switch default cache type for ARMv6/ARMv7 from write-through to > writeback-writeallocate Could you, please, describe how this is supposed to work. Assume that a process mapped the same file page at two different addresses, both read-write, and writes to both mappings. Usermode code does not consider the need to flush caches or synchronize writes into non-overlapping regions, usually. Would it break, i.e. could the values appear in the page which were never written to it ? Another similar question, sf buffers on ARM flush the cache on sf_buf_free() (sometimes). If the page, for which the sf buffer is created, mapped into the userspace read-write, could it be that a value appears that was never written ? Note that sf buffers are used e.g. by uiomove_fromphys(). --+plSmdOTvOCX/8Oy Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQIcBAEBAgAGBQJQ64vFAAoJEJDCuSvBvK1BfEwP/A4xXCfW82HgQHNeT5mxlRp6 /Gw2UD7T7c6+3/1cQUDN10hrlv52hVI8et30Q0S5/2rjB3YeQ/SROHwzXRNCtOgI JM/sAw3LS6ksXvMGzqsUK53676G/Oso4C+bYLUJELkIihhXxDvpscbI7O2s1VLBZ fMjSuiMpMhHypV2+Y48RP5EdsDXbVNkloMvifHEcBaN+HePK4qkQHZgnAyDoz3+E YC+FOdORExzSYUyuBYXEWLEMtNBkHKJhMaGIXaqzCnuyO2bvY5uW91MQu+rk/iCy DpC3cnIcFlnRX6WdZQoOHoVJDXl9jYaQynMZTDfbM9s1qTbUd5H+wjb+LXcw8C4Y j6ovmaL8CnEU/i7VcWlodwib/ZoCiBv5hjFILi3A08kfUKtiM8iijEyVe8YUALR2 AbkRRpM6Ce8Obu+T+/BXO9VX7UQC5ayyqmHSBE8NI4HlBjKAWguR+53WjmxDhbf7 R+Mquegi8zVEZ7/gnwdv1sleukheb3QfJAXE6WGWEfxEtSj7sqCC8UozBupIKRe7 zVUzkKpdcNCcvUi6hiYYGH2XUMzfa9cyY2yFIRAF9HCiHn2/zQC2wLQ1ZqcPwqur LHQwf02mbRz87k+P0V61FxkJhUrUFe6s36GlyeoPO4V6t5ImTzFOsGpI9p/VWKXL 4n+lb/EuD0RfkpdKnKyk =f1Yd -----END PGP SIGNATURE----- --+plSmdOTvOCX/8Oy-- From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 03:27:38 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 22470508; Tue, 8 Jan 2013 03:27:38 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 04379837; Tue, 8 Jan 2013 03:27:38 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r083RbP9095054; Tue, 8 Jan 2013 03:27:37 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r083Rb3N095050; Tue, 8 Jan 2013 03:27:37 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201301080327.r083Rb3N095050@svn.freebsd.org> From: Peter Grehan Date: Tue, 8 Jan 2013 03:27:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245148 - in head/sys/boot: common userboot/userboot X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 03:27:38 -0000 Author: grehan Date: Tue Jan 8 03:27:37 2013 New Revision: 245148 URL: http://svnweb.freebsd.org/changeset/base/245148 Log: Bring in some userboot changes from the bhyve branch to reduce diffs. r238966 Bump up the heap size to 1MB. With a few kernel modules, libstand zalloc and userboot seem to want to use ~600KB of heap space, which results in a segfault when malloc fails in bhyveload. r241180 Clarify comment about default number of FICL dictionary cells. r241153 Allow the number of FICL dictionary cells to be overridden. Loading a 7.3 ISO with userboot/amd64 takes up 10035 cells, overflowing the long-standing default of 10000. Bump userboot's value up to 15000 cells. Reviewed by: dteske (r238966,241180) Obtained from: NetApp Modified: head/sys/boot/common/interp_forth.c head/sys/boot/userboot/userboot/Makefile head/sys/boot/userboot/userboot/main.c Modified: head/sys/boot/common/interp_forth.c ============================================================================== --- head/sys/boot/common/interp_forth.c Tue Jan 8 02:40:20 2013 (r245147) +++ head/sys/boot/common/interp_forth.c Tue Jan 8 03:27:37 2013 (r245148) @@ -51,6 +51,13 @@ extern char bootprog_rev[]; #define BF_PARSE 100 /* + * FreeBSD loader default dictionary cells + */ +#ifndef BF_DICTSIZE +#define BF_DICTSIZE 10000 +#endif + +/* * BootForth Interface to Ficl Forth interpreter. */ @@ -239,8 +246,8 @@ bf_init(void) struct bootblk_command **cmdp; char create_buf[41]; /* 31 characters-long builtins */ int fd; - - bf_sys = ficlInitSystem(10000); /* Default dictionary ~4000 cells */ + + bf_sys = ficlInitSystem(BF_DICTSIZE); bf_vm = ficlNewVM(bf_sys); /* Put all private definitions in a "builtins" vocabulary */ Modified: head/sys/boot/userboot/userboot/Makefile ============================================================================== --- head/sys/boot/userboot/userboot/Makefile Tue Jan 8 02:40:20 2013 (r245147) +++ head/sys/boot/userboot/userboot/Makefile Tue Jan 8 03:27:37 2013 (r245148) @@ -45,6 +45,7 @@ CLEANFILES= vers.c .if ${MK_FORTH} != "no" BOOT_FORTH= yes CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386 +CFLAGS+= -DBF_DICTSIZE=15000 LIBFICL= ${.OBJDIR}/../ficl/libficl.a LIBSTAND= ${.OBJDIR}/../libstand/libstand.a .endif Modified: head/sys/boot/userboot/userboot/main.c ============================================================================== --- head/sys/boot/userboot/userboot/main.c Tue Jan 8 02:40:20 2013 (r245147) +++ head/sys/boot/userboot/userboot/main.c Tue Jan 8 03:27:37 2013 (r245148) @@ -69,7 +69,7 @@ exit(int v) void loader_main(struct loader_callbacks *cb, void *arg, int version, int ndisks) { - static char malloc[512*1024]; + static char malloc[1024*1024]; const char *var; int i; @@ -85,7 +85,7 @@ loader_main(struct loader_callbacks *cb, * alloc() is usable. The stack is buried inside us, so this is * safe. */ - setheap((void *)malloc, (void *)(malloc + 512*1024)); + setheap((void *)malloc, (void *)(malloc + 1024*1024)); /* * Hook up the console From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 04:43:20 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DC3E1C5E; Tue, 8 Jan 2013 04:43:20 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CD33A9E7; Tue, 8 Jan 2013 04:43:20 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r084hKrx017953; Tue, 8 Jan 2013 04:43:20 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r084hKsp017952; Tue, 8 Jan 2013 04:43:20 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201301080443.r084hKsp017952@svn.freebsd.org> From: Kevin Lo Date: Tue, 8 Jan 2013 04:43:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245149 - stable/9/sys/libkern X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 04:43:20 -0000 Author: kevlo Date: Tue Jan 8 04:43:20 2013 New Revision: 245149 URL: http://svnweb.freebsd.org/changeset/base/245149 Log: MFC r236899: Fix unloading of libiconv module. Previously it would either loop infinitely or exit with error leaking a lock. Modified: stable/9/sys/libkern/iconv.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/libkern/iconv.c ============================================================================== --- stable/9/sys/libkern/iconv.c Tue Jan 8 03:27:37 2013 (r245148) +++ stable/9/sys/libkern/iconv.c Tue Jan 8 04:43:20 2013 (r245149) @@ -84,9 +84,11 @@ iconv_mod_unload(void) struct iconv_cspair *csp; sx_xlock(&iconv_lock); - while ((csp = TAILQ_FIRST(&iconv_cslist)) != NULL) { - if (csp->cp_refcount) + TAILQ_FOREACH(csp, &iconv_cslist, cp_link) { + if (csp->cp_refcount) { + sx_xunlock(&iconv_lock); return EBUSY; + } } while ((csp = TAILQ_FIRST(&iconv_cslist)) != NULL) From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 05:06:27 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 899B1DC; Tue, 8 Jan 2013 05:06:27 +0000 (UTC) (envelope-from gonzo@id.bluezbox.com) Received: from id.bluezbox.com (id.bluezbox.com [88.198.91.248]) by mx1.freebsd.org (Postfix) with ESMTP id 25EAAA66; Tue, 8 Jan 2013 05:06:26 +0000 (UTC) Received: from [88.198.91.248] (helo=[IPv6:::1]) by id.bluezbox.com with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.77 (FreeBSD)) (envelope-from ) id 1TsROC-0004oB-Ry; Mon, 07 Jan 2013 21:06:18 -0800 Message-ID: <50EBA947.1030902@freebsd.org> Date: Mon, 07 Jan 2013 21:06:15 -0800 From: Oleksandr Tymoshenko User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: svn commit: r245147 - head/sys/arm/include References: <201301080240.r082eKVq080302@svn.freebsd.org> <20130108030022.GC82219@kib.kiev.ua> In-Reply-To: <20130108030022.GC82219@kib.kiev.ua> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: gonzo@id.bluezbox.com X-Spam-Level: -- X-Spam-Report: Spam detection software, running on the system "id.bluezbox.com", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see The administrator of that system for details. Content preview: On 1/7/2013 7:00 PM, Konstantin Belousov wrote: > On Tue, Jan 08, 2013 at 02:40:20AM +0000, Oleksandr Tymoshenko wrote: >> Author: gonzo >> Date: Tue Jan 8 02:40:20 2013 >> New Revision: 245147 >> URL: http://svnweb.freebsd.org/changeset/base/245147 >> >> Log: >> Switch default cache type for ARMv6/ARMv7 from write-through to >> writeback-writeallocate > Could you, please, describe how this is supposed to work. > > Assume that a process mapped the same file page at two different > addresses, both read-write, and writes to both mappings. Usermode code > does not consider the need to flush caches or synchronize writes into > non-overlapping regions, usually. Would it break, i.e. could the values > appear in the page which were never written to it ? [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 05:06:27 -0000 On 1/7/2013 7:00 PM, Konstantin Belousov wrote: > On Tue, Jan 08, 2013 at 02:40:20AM +0000, Oleksandr Tymoshenko wrote: >> Author: gonzo >> Date: Tue Jan 8 02:40:20 2013 >> New Revision: 245147 >> URL: http://svnweb.freebsd.org/changeset/base/245147 >> >> Log: >> Switch default cache type for ARMv6/ARMv7 from write-through to >> writeback-writeallocate > Could you, please, describe how this is supposed to work. > > Assume that a process mapped the same file page at two different > addresses, both read-write, and writes to both mappings. Usermode code > does not consider the need to flush caches or synchronize writes into > non-overlapping regions, usually. Would it break, i.e. could the values > appear in the page which were never written to it ? I might misunderstood question so let me rephrase it: One physical page P, virtual addresses A and B both mapped to it. Two conditions should be true: - if I write word to A+0x200 same value should appear at B+0x200 next time it is read - If there are no writes to P either through A or B each next read should yield same result. These conditions are met for ARMv7 devices for both WT and WBWA caches. They're PIPT so no aliasing in this case. Up until now I believed that "no aliasing" is true for all ARM CPUs we target but quick check proved me wrong: ARM1176 on which Raspberry Pi is based is prone to cache aliasing problem. Which might explain memory corruption easily reproducible under load. Again the problem is not related to cache type itself but to the lack of handling of this situation in pmap module. Some info on subject: http://blogs.arm.com/software-enablement/716-page-colouring-on-armv6-and-a-bit-on-armv7/ Thank you for raising this topic. I hope people more ARM-savvy then me can confirm or refute my point of view. > > Another similar question, sf buffers on ARM flush the cache on sf_buf_free() > (sometimes). If the page, for which the sf buffer is created, mapped into > the userspace read-write, could it be that a value appears that was never > written ? Note that sf buffers are used e.g. by uiomove_fromphys(). I believe the stuff above is applicable to this question too. From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 05:29:54 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id EBAEFBC4; Tue, 8 Jan 2013 05:29:54 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CF1D9B15; Tue, 8 Jan 2013 05:29:54 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r085TsXm031301; Tue, 8 Jan 2013 05:29:54 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r085TsVt031299; Tue, 8 Jan 2013 05:29:54 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201301080529.r085TsVt031299@svn.freebsd.org> From: Pyun YongHyeon Date: Tue, 8 Jan 2013 05:29:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245151 - stable/9/sys/dev/bge X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 05:29:55 -0000 Author: yongari Date: Tue Jan 8 05:29:54 2013 New Revision: 245151 URL: http://svnweb.freebsd.org/changeset/base/245151 Log: MFC r243686: Add preliminary support for BCM57766 ASIC. While I'm here add BCM57762 device id which is found on Apple Thunderbolt ethernet. Modified: stable/9/sys/dev/bge/if_bge.c stable/9/sys/dev/bge/if_bgereg.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/bge/if_bge.c ============================================================================== --- stable/9/sys/dev/bge/if_bge.c Tue Jan 8 05:28:55 2013 (r245150) +++ stable/9/sys/dev/bge/if_bge.c Tue Jan 8 05:29:54 2013 (r245151) @@ -216,7 +216,9 @@ static const struct bge_type { { BCOM_VENDORID, BCOM_DEVICEID_BCM5906M }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57760 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57761 }, + { BCOM_VENDORID, BCOM_DEVICEID_BCM57762 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57765 }, + { BCOM_VENDORID, BCOM_DEVICEID_BCM57766 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57780 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57781 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57785 }, @@ -347,6 +349,7 @@ static const struct bge_revision bge_maj { BGE_ASICREV_BCM5787, "unknown BCM5754/5787" }, { BGE_ASICREV_BCM5906, "unknown BCM5906" }, { BGE_ASICREV_BCM57765, "unknown BCM57765" }, + { BGE_ASICREV_BCM57766, "unknown BCM57766" }, { BGE_ASICREV_BCM57780, "unknown BCM57780" }, { BGE_ASICREV_BCM5717, "unknown BCM5717" }, { BGE_ASICREV_BCM5719, "unknown BCM5719" }, @@ -362,6 +365,7 @@ static const struct bge_revision bge_maj #define BGE_IS_575X_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_575X_PLUS) #define BGE_IS_5755_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_5755_PLUS) #define BGE_IS_5717_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_5717_PLUS) +#define BGE_IS_57765_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_57765_PLUS) const struct bge_revision * bge_lookup_rev(uint32_t); const struct bge_vendor * bge_lookup_vendor(uint16_t); @@ -2243,7 +2247,7 @@ bge_blockinit(struct bge_softc *sc) } else if (!BGE_IS_5705_PLUS(sc)) limit = BGE_RX_RINGS_MAX; else if (sc->bge_asicrev == BGE_ASICREV_BCM5755 || - sc->bge_asicrev == BGE_ASICREV_BCM57765) + BGE_IS_57765_PLUS(sc)) limit = 4; else limit = 1; @@ -2657,7 +2661,9 @@ bge_probe(device_t dev) BGE_PCI_GEN2_PRODID_ASICREV, 4); break; case BCOM_DEVICEID_BCM57761: + case BCOM_DEVICEID_BCM57762: case BCOM_DEVICEID_BCM57765: + case BCOM_DEVICEID_BCM57766: case BCOM_DEVICEID_BCM57781: case BCOM_DEVICEID_BCM57785: case BCOM_DEVICEID_BCM57791: @@ -3283,7 +3289,9 @@ bge_attach(device_t dev) BGE_PCI_GEN2_PRODID_ASICREV, 4); break; case BCOM_DEVICEID_BCM57761: + case BCOM_DEVICEID_BCM57762: case BCOM_DEVICEID_BCM57765: + case BCOM_DEVICEID_BCM57766: case BCOM_DEVICEID_BCM57781: case BCOM_DEVICEID_BCM57785: case BCOM_DEVICEID_BCM57791: @@ -3346,10 +3354,13 @@ bge_attach(device_t dev) /* Save chipset family. */ switch (sc->bge_asicrev) { + case BGE_ASICREV_BCM57765: + case BGE_ASICREV_BCM57766: + sc->bge_flags |= BGE_FLAG_57765_PLUS; + /* FALLTHROUGH */ case BGE_ASICREV_BCM5717: case BGE_ASICREV_BCM5719: case BGE_ASICREV_BCM5720: - case BGE_ASICREV_BCM57765: sc->bge_flags |= BGE_FLAG_5717_PLUS | BGE_FLAG_5755_PLUS | BGE_FLAG_575X_PLUS | BGE_FLAG_5705_PLUS | BGE_FLAG_JUMBO | BGE_FLAG_JUMBO_FRAME; @@ -3763,12 +3774,9 @@ bge_attach(device_t dev) sc->bge_phy_flags |= BGE_PHY_NO_3LED; if ((BGE_IS_5705_PLUS(sc)) && sc->bge_asicrev != BGE_ASICREV_BCM5906 && - sc->bge_asicrev != BGE_ASICREV_BCM5717 && - sc->bge_asicrev != BGE_ASICREV_BCM5719 && - sc->bge_asicrev != BGE_ASICREV_BCM5720 && sc->bge_asicrev != BGE_ASICREV_BCM5785 && - sc->bge_asicrev != BGE_ASICREV_BCM57765 && - sc->bge_asicrev != BGE_ASICREV_BCM57780) { + sc->bge_asicrev != BGE_ASICREV_BCM57780 && + !BGE_IS_5717_PLUS(sc)) { if (sc->bge_asicrev == BGE_ASICREV_BCM5755 || sc->bge_asicrev == BGE_ASICREV_BCM5761 || sc->bge_asicrev == BGE_ASICREV_BCM5784 || Modified: stable/9/sys/dev/bge/if_bgereg.h ============================================================================== --- stable/9/sys/dev/bge/if_bgereg.h Tue Jan 8 05:28:55 2013 (r245150) +++ stable/9/sys/dev/bge/if_bgereg.h Tue Jan 8 05:29:54 2013 (r245151) @@ -360,6 +360,7 @@ #define BGE_ASICREV_BCM5784 0x5784 #define BGE_ASICREV_BCM5785 0x5785 #define BGE_ASICREV_BCM57765 0x57785 +#define BGE_ASICREV_BCM57766 0x57766 #define BGE_ASICREV_BCM57780 0x57780 /* chip revisions */ @@ -2483,7 +2484,9 @@ struct bge_status_block { #define BCOM_DEVICEID_BCM5906M 0x1713 #define BCOM_DEVICEID_BCM57760 0x1690 #define BCOM_DEVICEID_BCM57761 0x16B0 +#define BCOM_DEVICEID_BCM57762 0x1682 #define BCOM_DEVICEID_BCM57765 0x16B4 +#define BCOM_DEVICEID_BCM57766 0x1686 #define BCOM_DEVICEID_BCM57780 0x1692 #define BCOM_DEVICEID_BCM57781 0x16B1 #define BCOM_DEVICEID_BCM57785 0x16B5 @@ -2971,6 +2974,7 @@ struct bge_softc { #define BGE_FLAG_5755_PLUS 0x00100000 #define BGE_FLAG_5788 0x00200000 #define BGE_FLAG_5717_PLUS 0x00400000 +#define BGE_FLAG_57765_PLUS 0x00800000 #define BGE_FLAG_40BIT_BUG 0x01000000 #define BGE_FLAG_4G_BNDRY_BUG 0x02000000 #define BGE_FLAG_RX_ALIGNBUG 0x04000000 From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 05:30:46 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 856C5D94; Tue, 8 Jan 2013 05:30:46 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6902CB29; Tue, 8 Jan 2013 05:30:46 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r085UkvD032310; Tue, 8 Jan 2013 05:30:46 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r085Uk9j032261; Tue, 8 Jan 2013 05:30:46 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201301080530.r085Uk9j032261@svn.freebsd.org> From: Pyun YongHyeon Date: Tue, 8 Jan 2013 05:30:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r245152 - stable/8/sys/dev/bge X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 05:30:46 -0000 Author: yongari Date: Tue Jan 8 05:30:45 2013 New Revision: 245152 URL: http://svnweb.freebsd.org/changeset/base/245152 Log: MFC r243686: Add preliminary support for BCM57766 ASIC. While I'm here add BCM57762 device id which is found on Apple Thunderbolt ethernet. Modified: stable/8/sys/dev/bge/if_bge.c stable/8/sys/dev/bge/if_bgereg.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/bge/ (props changed) Modified: stable/8/sys/dev/bge/if_bge.c ============================================================================== --- stable/8/sys/dev/bge/if_bge.c Tue Jan 8 05:29:54 2013 (r245151) +++ stable/8/sys/dev/bge/if_bge.c Tue Jan 8 05:30:45 2013 (r245152) @@ -216,7 +216,9 @@ static const struct bge_type { { BCOM_VENDORID, BCOM_DEVICEID_BCM5906M }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57760 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57761 }, + { BCOM_VENDORID, BCOM_DEVICEID_BCM57762 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57765 }, + { BCOM_VENDORID, BCOM_DEVICEID_BCM57766 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57780 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57781 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM57785 }, @@ -347,6 +349,7 @@ static const struct bge_revision bge_maj { BGE_ASICREV_BCM5787, "unknown BCM5754/5787" }, { BGE_ASICREV_BCM5906, "unknown BCM5906" }, { BGE_ASICREV_BCM57765, "unknown BCM57765" }, + { BGE_ASICREV_BCM57766, "unknown BCM57766" }, { BGE_ASICREV_BCM57780, "unknown BCM57780" }, { BGE_ASICREV_BCM5717, "unknown BCM5717" }, { BGE_ASICREV_BCM5719, "unknown BCM5719" }, @@ -362,6 +365,7 @@ static const struct bge_revision bge_maj #define BGE_IS_575X_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_575X_PLUS) #define BGE_IS_5755_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_5755_PLUS) #define BGE_IS_5717_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_5717_PLUS) +#define BGE_IS_57765_PLUS(sc) ((sc)->bge_flags & BGE_FLAG_57765_PLUS) const struct bge_revision * bge_lookup_rev(uint32_t); const struct bge_vendor * bge_lookup_vendor(uint16_t); @@ -2243,7 +2247,7 @@ bge_blockinit(struct bge_softc *sc) } else if (!BGE_IS_5705_PLUS(sc)) limit = BGE_RX_RINGS_MAX; else if (sc->bge_asicrev == BGE_ASICREV_BCM5755 || - sc->bge_asicrev == BGE_ASICREV_BCM57765) + BGE_IS_57765_PLUS(sc)) limit = 4; else limit = 1; @@ -2657,7 +2661,9 @@ bge_probe(device_t dev) BGE_PCI_GEN2_PRODID_ASICREV, 4); break; case BCOM_DEVICEID_BCM57761: + case BCOM_DEVICEID_BCM57762: case BCOM_DEVICEID_BCM57765: + case BCOM_DEVICEID_BCM57766: case BCOM_DEVICEID_BCM57781: case BCOM_DEVICEID_BCM57785: case BCOM_DEVICEID_BCM57791: @@ -3283,7 +3289,9 @@ bge_attach(device_t dev) BGE_PCI_GEN2_PRODID_ASICREV, 4); break; case BCOM_DEVICEID_BCM57761: + case BCOM_DEVICEID_BCM57762: case BCOM_DEVICEID_BCM57765: + case BCOM_DEVICEID_BCM57766: case BCOM_DEVICEID_BCM57781: case BCOM_DEVICEID_BCM57785: case BCOM_DEVICEID_BCM57791: @@ -3346,10 +3354,13 @@ bge_attach(device_t dev) /* Save chipset family. */ switch (sc->bge_asicrev) { + case BGE_ASICREV_BCM57765: + case BGE_ASICREV_BCM57766: + sc->bge_flags |= BGE_FLAG_57765_PLUS; + /* FALLTHROUGH */ case BGE_ASICREV_BCM5717: case BGE_ASICREV_BCM5719: case BGE_ASICREV_BCM5720: - case BGE_ASICREV_BCM57765: sc->bge_flags |= BGE_FLAG_5717_PLUS | BGE_FLAG_5755_PLUS | BGE_FLAG_575X_PLUS | BGE_FLAG_5705_PLUS | BGE_FLAG_JUMBO | BGE_FLAG_JUMBO_FRAME; @@ -3763,12 +3774,9 @@ bge_attach(device_t dev) sc->bge_phy_flags |= BGE_PHY_NO_3LED; if ((BGE_IS_5705_PLUS(sc)) && sc->bge_asicrev != BGE_ASICREV_BCM5906 && - sc->bge_asicrev != BGE_ASICREV_BCM5717 && - sc->bge_asicrev != BGE_ASICREV_BCM5719 && - sc->bge_asicrev != BGE_ASICREV_BCM5720 && sc->bge_asicrev != BGE_ASICREV_BCM5785 && - sc->bge_asicrev != BGE_ASICREV_BCM57765 && - sc->bge_asicrev != BGE_ASICREV_BCM57780) { + sc->bge_asicrev != BGE_ASICREV_BCM57780 && + !BGE_IS_5717_PLUS(sc)) { if (sc->bge_asicrev == BGE_ASICREV_BCM5755 || sc->bge_asicrev == BGE_ASICREV_BCM5761 || sc->bge_asicrev == BGE_ASICREV_BCM5784 || Modified: stable/8/sys/dev/bge/if_bgereg.h ============================================================================== --- stable/8/sys/dev/bge/if_bgereg.h Tue Jan 8 05:29:54 2013 (r245151) +++ stable/8/sys/dev/bge/if_bgereg.h Tue Jan 8 05:30:45 2013 (r245152) @@ -360,6 +360,7 @@ #define BGE_ASICREV_BCM5784 0x5784 #define BGE_ASICREV_BCM5785 0x5785 #define BGE_ASICREV_BCM57765 0x57785 +#define BGE_ASICREV_BCM57766 0x57766 #define BGE_ASICREV_BCM57780 0x57780 /* chip revisions */ @@ -2483,7 +2484,9 @@ struct bge_status_block { #define BCOM_DEVICEID_BCM5906M 0x1713 #define BCOM_DEVICEID_BCM57760 0x1690 #define BCOM_DEVICEID_BCM57761 0x16B0 +#define BCOM_DEVICEID_BCM57762 0x1682 #define BCOM_DEVICEID_BCM57765 0x16B4 +#define BCOM_DEVICEID_BCM57766 0x1686 #define BCOM_DEVICEID_BCM57780 0x1692 #define BCOM_DEVICEID_BCM57781 0x16B1 #define BCOM_DEVICEID_BCM57785 0x16B5 @@ -2971,6 +2974,7 @@ struct bge_softc { #define BGE_FLAG_5755_PLUS 0x00100000 #define BGE_FLAG_5788 0x00200000 #define BGE_FLAG_5717_PLUS 0x00400000 +#define BGE_FLAG_57765_PLUS 0x00800000 #define BGE_FLAG_40BIT_BUG 0x01000000 #define BGE_FLAG_4G_BNDRY_BUG 0x02000000 #define BGE_FLAG_RX_ALIGNBUG 0x04000000 From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 05:34:17 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CED36F1A; Tue, 8 Jan 2013 05:34:17 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B665EB4A; Tue, 8 Jan 2013 05:34:17 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r085YH6W033522; Tue, 8 Jan 2013 05:34:17 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r085YH5a033521; Tue, 8 Jan 2013 05:34:17 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201301080534.r085YH5a033521@svn.freebsd.org> From: Pyun YongHyeon Date: Tue, 8 Jan 2013 05:34:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245153 - stable/9/sys/dev/ale X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 05:34:17 -0000 Author: yongari Date: Tue Jan 8 05:34:17 2013 New Revision: 245153 URL: http://svnweb.freebsd.org/changeset/base/245153 Log: MFC r244341: Make sure to stop both TX and RX MACs in ale_stop_mac(). Previously it used to stop TX MAC only such that MAC reconfiguration after getting a link didn't work as expected. PR: kern/173652 Modified: stable/9/sys/dev/ale/if_ale.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/ale/if_ale.c ============================================================================== --- stable/9/sys/dev/ale/if_ale.c Tue Jan 8 05:30:45 2013 (r245152) +++ stable/9/sys/dev/ale/if_ale.c Tue Jan 8 05:34:17 2013 (r245153) @@ -2932,7 +2932,7 @@ ale_stop_mac(struct ale_softc *sc) reg = CSR_READ_4(sc, ALE_MAC_CFG); if ((reg & (MAC_CFG_TX_ENB | MAC_CFG_RX_ENB)) != 0) { - reg &= ~MAC_CFG_TX_ENB | MAC_CFG_RX_ENB; + reg &= ~(MAC_CFG_TX_ENB | MAC_CFG_RX_ENB); CSR_WRITE_4(sc, ALE_MAC_CFG, reg); } From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 05:35:18 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BD41D111; Tue, 8 Jan 2013 05:35:18 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 97B07B52; Tue, 8 Jan 2013 05:35:18 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r085ZInS033683; Tue, 8 Jan 2013 05:35:18 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r085ZIrQ033682; Tue, 8 Jan 2013 05:35:18 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201301080535.r085ZIrQ033682@svn.freebsd.org> From: Pyun YongHyeon Date: Tue, 8 Jan 2013 05:35:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r245154 - stable/8/sys/dev/ale X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 05:35:18 -0000 Author: yongari Date: Tue Jan 8 05:35:18 2013 New Revision: 245154 URL: http://svnweb.freebsd.org/changeset/base/245154 Log: MFC r244341: Make sure to stop both TX and RX MACs in ale_stop_mac(). Previously it used to stop TX MAC only such that MAC reconfiguration after getting a link didn't work as expected. PR: kern/173652 Modified: stable/8/sys/dev/ale/if_ale.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/ale/ (props changed) Modified: stable/8/sys/dev/ale/if_ale.c ============================================================================== --- stable/8/sys/dev/ale/if_ale.c Tue Jan 8 05:34:17 2013 (r245153) +++ stable/8/sys/dev/ale/if_ale.c Tue Jan 8 05:35:18 2013 (r245154) @@ -2929,7 +2929,7 @@ ale_stop_mac(struct ale_softc *sc) reg = CSR_READ_4(sc, ALE_MAC_CFG); if ((reg & (MAC_CFG_TX_ENB | MAC_CFG_RX_ENB)) != 0) { - reg &= ~MAC_CFG_TX_ENB | MAC_CFG_RX_ENB; + reg &= ~(MAC_CFG_TX_ENB | MAC_CFG_RX_ENB); CSR_WRITE_4(sc, ALE_MAC_CFG, reg); } From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 06:59:22 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 584E7E1E; Tue, 8 Jan 2013 06:59:22 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 35845E39; Tue, 8 Jan 2013 06:59:22 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r086xMmU057389; Tue, 8 Jan 2013 06:59:22 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r086xMgY057388; Tue, 8 Jan 2013 06:59:22 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201301080659.r086xMgY057388@svn.freebsd.org> From: Adrian Chadd Date: Tue, 8 Jan 2013 06:59:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r245156 - head/sys/net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 06:59:22 -0000 Author: adrian Date: Tue Jan 8 06:59:21 2013 New Revision: 245156 URL: http://svnweb.freebsd.org/changeset/base/245156 Log: Add in the missing radiotap definitions from the sipsolutions.net radiotap "upstream" source. Modified: head/sys/net80211/ieee80211_radiotap.h Modified: head/sys/net80211/ieee80211_radiotap.h ============================================================================== --- head/sys/net80211/ieee80211_radiotap.h Tue Jan 8 06:00:32 2013 (r245155) +++ head/sys/net80211/ieee80211_radiotap.h Tue Jan 8 06:59:21 2013 (r245156) @@ -194,9 +194,20 @@ enum ieee80211_radiotap_type { IEEE80211_RADIOTAP_ANTENNA = 11, IEEE80211_RADIOTAP_DB_ANTSIGNAL = 12, IEEE80211_RADIOTAP_DB_ANTNOISE = 13, - /* NB: gap for netbsd definitions */ + /* + * 14-17 are from Linux, they overlap the netbsd-specific + * fields. + */ + IEEE80211_RADIOTAP_RX_FLAGS = 14, + IEEE80211_RADIOTAP_TX_FLAGS = 15, + IEEE80211_RADIOTAP_RTS_RETRIES = 16, + IEEE80211_RADIOTAP_DATA_RETRIES = 17, + IEEE80211_RADIOTAP_XCHANNEL = 18, IEEE80211_RADIOTAP_MCS = 19, + IEEE80211_RADIOTAP_AMPDU_STATUS = 20, + + IEEE80211_RADIOTAP_RADIOTAP_NAMESPACE = 29, IEEE80211_RADIOTAP_VENDOREXT = 30, IEEE80211_RADIOTAP_EXT = 31, }; From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 08:58:08 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 340E5BF2; Tue, 8 Jan 2013 08:58:08 +0000 (UTC) (envelope-from erwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1C353312; Tue, 8 Jan 2013 08:58:08 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r088w72H090945; Tue, 8 Jan 2013 08:58:07 GMT (envelope-from erwin@svn.freebsd.org) Received: (from erwin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r088w7Qi090944; Tue, 8 Jan 2013 08:58:07 GMT (envelope-from erwin@svn.freebsd.org) Message-Id: <201301080858.r088w7Qi090944@svn.freebsd.org> From: Erwin Lansing Date: Tue, 8 Jan 2013 08:58:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245160 - stable/9/etc/namedb X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 08:58:08 -0000 Author: erwin Date: Tue Jan 8 08:58:07 2013 New Revision: 245160 URL: http://svnweb.freebsd.org/changeset/base/245160 Log: MFC r245034 Update with new IPv4 address for D root. Approved by: delphij (mentor) Modified: stable/9/etc/namedb/named.root Directory Properties: stable/9/etc/ (props changed) Modified: stable/9/etc/namedb/named.root ============================================================================== --- stable/9/etc/namedb/named.root Tue Jan 8 07:32:38 2013 (r245159) +++ stable/9/etc/namedb/named.root Tue Jan 8 08:58:07 2013 (r245160) @@ -7,14 +7,14 @@ ; (e.g. reference this file in the "cache . " ; configuration file of BIND domain name servers). ; -; This file is made available by InterNIC +; This file is made available by InterNIC ; under anonymous FTP as -; file /domain/named.root +; file /domain/named.cache ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; -; last update: Jun 8, 2011 -; related version of root zone: 2011060800 +; last update: Jan 3, 2013 +; related version of root zone: 2013010300 ; ; formerly NS.INTERNIC.NET ; @@ -35,7 +35,7 @@ C.ROOT-SERVERS.NET. 3600000 A ; FORMERLY TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. -D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 +D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13 D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2D::D ; ; FORMERLY NS.NASA.GOV From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 08:58:23 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id EA709D50; Tue, 8 Jan 2013 08:58:23 +0000 (UTC) (envelope-from erwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DDB13316; Tue, 8 Jan 2013 08:58:23 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r088wNOR091019; Tue, 8 Jan 2013 08:58:23 GMT (envelope-from erwin@svn.freebsd.org) Received: (from erwin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r088wNPg091018; Tue, 8 Jan 2013 08:58:23 GMT (envelope-from erwin@svn.freebsd.org) Message-Id: <201301080858.r088wNPg091018@svn.freebsd.org> From: Erwin Lansing Date: Tue, 8 Jan 2013 08:58:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r245161 - stable/8/etc/namedb X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 08:58:24 -0000 Author: erwin Date: Tue Jan 8 08:58:23 2013 New Revision: 245161 URL: http://svnweb.freebsd.org/changeset/base/245161 Log: MFC r245034 Update with new IPv4 address for D root. Approved by: delphij (mentor) Modified: stable/8/etc/namedb/named.root Directory Properties: stable/8/etc/ (props changed) Modified: stable/8/etc/namedb/named.root ============================================================================== --- stable/8/etc/namedb/named.root Tue Jan 8 08:58:07 2013 (r245160) +++ stable/8/etc/namedb/named.root Tue Jan 8 08:58:23 2013 (r245161) @@ -7,14 +7,14 @@ ; (e.g. reference this file in the "cache . " ; configuration file of BIND domain name servers). ; -; This file is made available by InterNIC +; This file is made available by InterNIC ; under anonymous FTP as -; file /domain/named.root +; file /domain/named.cache ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; -; last update: Jun 8, 2011 -; related version of root zone: 2011060800 +; last update: Jan 3, 2013 +; related version of root zone: 2013010300 ; ; formerly NS.INTERNIC.NET ; @@ -35,7 +35,7 @@ C.ROOT-SERVERS.NET. 3600000 A ; FORMERLY TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. -D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 +D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13 D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2D::D ; ; FORMERLY NS.NASA.GOV From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 08:59:40 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1493FFE2; Tue, 8 Jan 2013 08:59:40 +0000 (UTC) (envelope-from erwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EB29D340; Tue, 8 Jan 2013 08:59:39 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r088xdXL091244; Tue, 8 Jan 2013 08:59:39 GMT (envelope-from erwin@svn.freebsd.org) Received: (from erwin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r088xdHn091243; Tue, 8 Jan 2013 08:59:39 GMT (envelope-from erwin@svn.freebsd.org) Message-Id: <201301080859.r088xdHn091243@svn.freebsd.org> From: Erwin Lansing Date: Tue, 8 Jan 2013 08:59:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r245162 - stable/7/etc/namedb X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 08:59:40 -0000 Author: erwin Date: Tue Jan 8 08:59:39 2013 New Revision: 245162 URL: http://svnweb.freebsd.org/changeset/base/245162 Log: MFC r245034 Update with new IPv4 address for D root. Approved by: delphij (mentor) Modified: stable/7/etc/namedb/named.root Directory Properties: stable/7/etc/ (props changed) Modified: stable/7/etc/namedb/named.root ============================================================================== --- stable/7/etc/namedb/named.root Tue Jan 8 08:58:23 2013 (r245161) +++ stable/7/etc/namedb/named.root Tue Jan 8 08:59:39 2013 (r245162) @@ -7,14 +7,14 @@ ; (e.g. reference this file in the "cache . " ; configuration file of BIND domain name servers). ; -; This file is made available by InterNIC +; This file is made available by InterNIC ; under anonymous FTP as -; file /domain/named.root +; file /domain/named.cache ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; -; last update: Jun 8, 2011 -; related version of root zone: 2011060800 +; last update: Jan 3, 2013 +; related version of root zone: 2013010300 ; ; formerly NS.INTERNIC.NET ; @@ -35,7 +35,7 @@ C.ROOT-SERVERS.NET. 3600000 A ; FORMERLY TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. -D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 +D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13 D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2D::D ; ; FORMERLY NS.NASA.GOV From owner-svn-src-all@FreeBSD.ORG Tue Jan 8 09:05:16 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 863A0435; Tue, 8 Jan 2013 09:05:16 +0000 (UTC) (envelope-from erwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6EA16382; Tue, 8 Jan 2013 09:05:16 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0895GZS094136; Tue, 8 Jan 2013 09:05:16 GMT (envelope-from erwin@svn.freebsd.org) Received: (from erwin@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0895Awb094089; Tue, 8 Jan 2013 09:05:10 GMT (envelope-from erwin@svn.freebsd.org) Message-Id: <201301080905.r0895Awb094089@svn.freebsd.org> From: Erwin Lansing Date: Tue, 8 Jan 2013 09:05:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r245163 - in stable/9: contrib/bind9 contrib/bind9/bin contrib/bind9/bin/check contrib/bind9/bin/confgen contrib/bind9/bin/confgen/unix contrib/bind9/bin/dig contrib/bind9/bin/dnssec co... X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jan 2013 09:05:16 -0000 Author: erwin Date: Tue Jan 8 09:05:09 2013 New Revision: 245163 URL: http://svnweb.freebsd.org/changeset/base/245163 Log: MFC r243981,243987: Update to 9.8.4-P1. New Features * Elliptic Curve Digital Signature Algorithm keys and signatures in DNSSEC are now supported per RFC 6605. [RT #21918] Feature Changes * Improves OpenSSL error logging [RT #29932] * nslookup now returns a nonzero exit code when it is unable to get an answer. [RT #29492] Other critical bug fixes are included. Approved by: delphij (mentor) Sponsored by: DK Hostmaster A/S Added: stable/9/contrib/bind9/lib/dns/opensslecdsa_link.c - copied unchanged from r243981, head/contrib/bind9/lib/dns/opensslecdsa_link.c Modified: stable/9/contrib/bind9/CHANGES stable/9/contrib/bind9/Makefile.in stable/9/contrib/bind9/README stable/9/contrib/bind9/acconfig.h stable/9/contrib/bind9/bin/Makefile.in stable/9/contrib/bind9/bin/check/Makefile.in stable/9/contrib/bind9/bin/check/check-tool.c stable/9/contrib/bind9/bin/confgen/Makefile.in stable/9/contrib/bind9/bin/confgen/unix/Makefile.in stable/9/contrib/bind9/bin/dig/Makefile.in stable/9/contrib/bind9/bin/dig/nslookup.c stable/9/contrib/bind9/bin/dnssec/Makefile.in stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8 stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.html stable/9/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 stable/9/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c stable/9/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook stable/9/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html stable/9/contrib/bind9/bin/dnssec/dnssec-keygen.8 stable/9/contrib/bind9/bin/dnssec/dnssec-keygen.c stable/9/contrib/bind9/bin/dnssec/dnssec-keygen.docbook stable/9/contrib/bind9/bin/dnssec/dnssec-keygen.html stable/9/contrib/bind9/bin/dnssec/dnssec-settime.c stable/9/contrib/bind9/bin/dnssec/dnssec-signzone.c stable/9/contrib/bind9/bin/named/Makefile.in stable/9/contrib/bind9/bin/named/builtin.c stable/9/contrib/bind9/bin/named/config.c stable/9/contrib/bind9/bin/named/controlconf.c stable/9/contrib/bind9/bin/named/convertxsl.pl stable/9/contrib/bind9/bin/named/query.c stable/9/contrib/bind9/bin/named/server.c stable/9/contrib/bind9/bin/named/statschannel.c stable/9/contrib/bind9/bin/named/unix/Makefile.in stable/9/contrib/bind9/bin/nsupdate/Makefile.in stable/9/contrib/bind9/bin/nsupdate/nsupdate.c stable/9/contrib/bind9/bin/rndc/Makefile.in stable/9/contrib/bind9/bin/tools/Makefile.in stable/9/contrib/bind9/config.h.in stable/9/contrib/bind9/configure.in stable/9/contrib/bind9/doc/Makefile.in stable/9/contrib/bind9/doc/arm/Bv9ARM-book.xml stable/9/contrib/bind9/doc/arm/Bv9ARM.ch04.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch06.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch07.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch08.html stable/9/contrib/bind9/doc/arm/Bv9ARM.ch09.html stable/9/contrib/bind9/doc/arm/Bv9ARM.html stable/9/contrib/bind9/doc/arm/Bv9ARM.pdf stable/9/contrib/bind9/doc/arm/Makefile.in stable/9/contrib/bind9/doc/arm/man.arpaname.html stable/9/contrib/bind9/doc/arm/man.ddns-confgen.html stable/9/contrib/bind9/doc/arm/man.dig.html stable/9/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html stable/9/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html stable/9/contrib/bind9/doc/arm/man.dnssec-keygen.html stable/9/contrib/bind9/doc/arm/man.dnssec-revoke.html stable/9/contrib/bind9/doc/arm/man.dnssec-settime.html stable/9/contrib/bind9/doc/arm/man.dnssec-signzone.html stable/9/contrib/bind9/doc/arm/man.genrandom.html stable/9/contrib/bind9/doc/arm/man.host.html stable/9/contrib/bind9/doc/arm/man.isc-hmac-fixup.html stable/9/contrib/bind9/doc/arm/man.named-checkconf.html stable/9/contrib/bind9/doc/arm/man.named-checkzone.html stable/9/contrib/bind9/doc/arm/man.named-journalprint.html stable/9/contrib/bind9/doc/arm/man.named.html stable/9/contrib/bind9/doc/arm/man.nsec3hash.html stable/9/contrib/bind9/doc/arm/man.nsupdate.html stable/9/contrib/bind9/doc/arm/man.rndc-confgen.html stable/9/contrib/bind9/doc/arm/man.rndc.conf.html stable/9/contrib/bind9/doc/arm/man.rndc.html stable/9/contrib/bind9/doc/misc/Makefile.in stable/9/contrib/bind9/doc/misc/format-options.pl stable/9/contrib/bind9/doc/misc/options stable/9/contrib/bind9/doc/misc/sort-options.pl stable/9/contrib/bind9/isc-config.sh.in stable/9/contrib/bind9/lib/Makefile.in stable/9/contrib/bind9/lib/bind9/Makefile.in stable/9/contrib/bind9/lib/bind9/api stable/9/contrib/bind9/lib/bind9/check.c stable/9/contrib/bind9/lib/bind9/include/Makefile.in stable/9/contrib/bind9/lib/bind9/include/bind9/Makefile.in stable/9/contrib/bind9/lib/dns/Makefile.in stable/9/contrib/bind9/lib/dns/adb.c stable/9/contrib/bind9/lib/dns/api stable/9/contrib/bind9/lib/dns/db.c stable/9/contrib/bind9/lib/dns/dnssec.c stable/9/contrib/bind9/lib/dns/ds.c stable/9/contrib/bind9/lib/dns/dst_api.c stable/9/contrib/bind9/lib/dns/dst_internal.h stable/9/contrib/bind9/lib/dns/dst_openssl.h stable/9/contrib/bind9/lib/dns/dst_parse.c stable/9/contrib/bind9/lib/dns/dst_parse.h stable/9/contrib/bind9/lib/dns/dst_result.c stable/9/contrib/bind9/lib/dns/include/Makefile.in stable/9/contrib/bind9/lib/dns/include/dns/db.h stable/9/contrib/bind9/lib/dns/include/dns/dnssec.h stable/9/contrib/bind9/lib/dns/include/dns/ds.h stable/9/contrib/bind9/lib/dns/include/dns/iptable.h stable/9/contrib/bind9/lib/dns/include/dns/keyvalues.h stable/9/contrib/bind9/lib/dns/include/dns/log.h stable/9/contrib/bind9/lib/dns/include/dns/rdataset.h stable/9/contrib/bind9/lib/dns/include/dns/rpz.h stable/9/contrib/bind9/lib/dns/include/dns/stats.h stable/9/contrib/bind9/lib/dns/include/dns/view.h stable/9/contrib/bind9/lib/dns/include/dns/zone.h stable/9/contrib/bind9/lib/dns/include/dst/Makefile.in stable/9/contrib/bind9/lib/dns/include/dst/dst.h stable/9/contrib/bind9/lib/dns/include/dst/result.h stable/9/contrib/bind9/lib/dns/log.c stable/9/contrib/bind9/lib/dns/master.c stable/9/contrib/bind9/lib/dns/masterdump.c stable/9/contrib/bind9/lib/dns/openssl_link.c stable/9/contrib/bind9/lib/dns/openssldh_link.c stable/9/contrib/bind9/lib/dns/openssldsa_link.c stable/9/contrib/bind9/lib/dns/opensslgost_link.c stable/9/contrib/bind9/lib/dns/opensslrsa_link.c stable/9/contrib/bind9/lib/dns/rbtdb.c stable/9/contrib/bind9/lib/dns/rcode.c stable/9/contrib/bind9/lib/dns/rdata.c stable/9/contrib/bind9/lib/dns/rdata/generic/dlv_32769.c stable/9/contrib/bind9/lib/dns/rdata/generic/ds_43.c stable/9/contrib/bind9/lib/dns/rdataset.c stable/9/contrib/bind9/lib/dns/resolver.c stable/9/contrib/bind9/lib/dns/rpz.c stable/9/contrib/bind9/lib/dns/spnego_asn1.pl stable/9/contrib/bind9/lib/dns/validator.c stable/9/contrib/bind9/lib/dns/view.c stable/9/contrib/bind9/lib/dns/zone.c stable/9/contrib/bind9/lib/export/Makefile.in stable/9/contrib/bind9/lib/export/dns/Makefile.in stable/9/contrib/bind9/lib/export/dns/include/Makefile.in stable/9/contrib/bind9/lib/export/dns/include/dns/Makefile.in stable/9/contrib/bind9/lib/export/dns/include/dst/Makefile.in stable/9/contrib/bind9/lib/export/irs/include/irs/Makefile.in stable/9/contrib/bind9/lib/export/isc/Makefile.in stable/9/contrib/bind9/lib/export/isc/include/isc/Makefile.in stable/9/contrib/bind9/lib/export/isc/nls/Makefile.in stable/9/contrib/bind9/lib/export/isc/nothreads/Makefile.in stable/9/contrib/bind9/lib/export/isc/nothreads/include/isc/Makefile.in stable/9/contrib/bind9/lib/export/isc/pthreads/Makefile.in stable/9/contrib/bind9/lib/export/isc/pthreads/include/isc/Makefile.in stable/9/contrib/bind9/lib/export/isc/unix/Makefile.in stable/9/contrib/bind9/lib/export/isc/unix/include/isc/Makefile.in stable/9/contrib/bind9/lib/export/isccfg/include/isccfg/Makefile.in stable/9/contrib/bind9/lib/export/samples/Makefile-postinstall.in stable/9/contrib/bind9/lib/export/samples/Makefile.in stable/9/contrib/bind9/lib/irs/Makefile.in stable/9/contrib/bind9/lib/irs/include/Makefile.in stable/9/contrib/bind9/lib/irs/include/irs/Makefile.in stable/9/contrib/bind9/lib/isc/alpha/Makefile.in stable/9/contrib/bind9/lib/isc/alpha/include/Makefile.in stable/9/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/api stable/9/contrib/bind9/lib/isc/ia64/Makefile.in stable/9/contrib/bind9/lib/isc/ia64/include/Makefile.in stable/9/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/ia64/include/isc/atomic.h stable/9/contrib/bind9/lib/isc/include/Makefile.in stable/9/contrib/bind9/lib/isc/include/isc/file.h stable/9/contrib/bind9/lib/isc/include/isc/namespace.h stable/9/contrib/bind9/lib/isc/include/isc/task.h stable/9/contrib/bind9/lib/isc/mem.c stable/9/contrib/bind9/lib/isc/mips/Makefile.in stable/9/contrib/bind9/lib/isc/mips/include/Makefile.in stable/9/contrib/bind9/lib/isc/mips/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/nls/Makefile.in stable/9/contrib/bind9/lib/isc/noatomic/Makefile.in stable/9/contrib/bind9/lib/isc/noatomic/include/Makefile.in stable/9/contrib/bind9/lib/isc/noatomic/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/nothreads/Makefile.in stable/9/contrib/bind9/lib/isc/nothreads/include/Makefile.in stable/9/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/powerpc/Makefile.in stable/9/contrib/bind9/lib/isc/powerpc/include/Makefile.in stable/9/contrib/bind9/lib/isc/powerpc/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/pthreads/Makefile.in stable/9/contrib/bind9/lib/isc/pthreads/condition.c stable/9/contrib/bind9/lib/isc/pthreads/include/Makefile.in stable/9/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/sparc64/Makefile.in stable/9/contrib/bind9/lib/isc/sparc64/include/Makefile.in stable/9/contrib/bind9/lib/isc/sparc64/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/task.c stable/9/contrib/bind9/lib/isc/task_api.c stable/9/contrib/bind9/lib/isc/unix/Makefile.in stable/9/contrib/bind9/lib/isc/unix/file.c stable/9/contrib/bind9/lib/isc/unix/include/Makefile.in stable/9/contrib/bind9/lib/isc/unix/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/x86_32/Makefile.in stable/9/contrib/bind9/lib/isc/x86_32/include/Makefile.in stable/9/contrib/bind9/lib/isc/x86_32/include/isc/Makefile.in stable/9/contrib/bind9/lib/isc/x86_64/Makefile.in stable/9/contrib/bind9/lib/isc/x86_64/include/Makefile.in stable/9/contrib/bind9/lib/isc/x86_64/include/isc/Makefile.in stable/9/contrib/bind9/lib/isccc/api stable/9/contrib/bind9/lib/isccc/cc.c stable/9/contrib/bind9/lib/isccc/include/Makefile.in stable/9/contrib/bind9/lib/isccc/include/isccc/Makefile.in stable/9/contrib/bind9/lib/isccfg/api stable/9/contrib/bind9/lib/isccfg/include/Makefile.in stable/9/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in stable/9/contrib/bind9/lib/isccfg/namedconf.c stable/9/contrib/bind9/lib/lwres/Makefile.in stable/9/contrib/bind9/lib/lwres/api stable/9/contrib/bind9/lib/lwres/getaddrinfo.c stable/9/contrib/bind9/lib/lwres/include/Makefile.in stable/9/contrib/bind9/lib/lwres/include/lwres/Makefile.in stable/9/contrib/bind9/lib/lwres/man/Makefile.in stable/9/contrib/bind9/make/rules.in stable/9/contrib/bind9/version stable/9/lib/bind/config.h stable/9/lib/bind/dns/Makefile stable/9/lib/bind/isc/isc/platform.h Directory Properties: stable/9/contrib/bind9/ (props changed) stable/9/lib/bind/ (props changed) Modified: stable/9/contrib/bind9/CHANGES ============================================================================== --- stable/9/contrib/bind9/CHANGES Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/CHANGES Tue Jan 8 09:05:09 2013 (r245163) @@ -1,15 +1,81 @@ - --- 9.8.3-P4 released --- + --- 9.8.4-P1 released --- + +3407. [security] Named could die on specific queries with dns64 enabled. + [Addressed in change #3388 for BIND 9.8.5 and 9.9.3.] + + --- 9.8.4 released --- 3383. [security] A certain combination of records in the RBT could cause named to hang while populating the additional section of a response. [RT #31090] - --- 9.8.3-P3 released --- +3373. [bug] win32: open raw files in binary mode. [RT #30944] 3364. [security] Named could die on specially crafted record. [RT #30416] - --- 9.8.3-P2 released --- + --- 9.8.4rc1 released --- + +3369. [bug] nsupdate terminated unexpectedly in interactive mode + if built with readline support. [RT #29550] + +3368. [bug] and were not C++ safe. + +3367. [bug] dns_dnsseckey_create() result was not being checked. + [RT #30685] + +3366. [bug] Fixed Read-After-Write dependency violation for IA64 + atomic operations. [RT #25181] + +3365. [bug] Removed spurious newlines from log messages in + zone.c [RT #30675] + +3363. [bug] Need to allow "forward" and "fowarders" options + in static-stub zones; this had been overlooked. + [RT #30482] + +3362. [bug] Setting some option values to 0 in named.conf + could trigger an assertion failure on startup. + [RT #27730] + +3360. [bug] 'host -w' could die. [RT #18723] + +3359. [bug] An improperly-formed TSIG secret could cause a + memory leak. [RT #30607] + +3357. [port] Add support for libxml2-2.8.x [RT #30440] + +3356. [bug] Cap the TTL of signed RRsets when RRSIGs are + approaching their expiry, so they don't remain + in caches after expiry. [RT #26429] + + --- 9.8.4b1 released --- + +3354. [func] Improve OpenSSL error logging. [RT #29932] + +3353. [bug] Use a single task for task exclusive operations. + [RT #29872] + +3352. [bug] Ensure that learned server attributes timeout of the + adb cache. [RT #29856] + +3351. [bug] isc_mem_put and isc_mem_putanddetach didn't report + caller if either ISC_MEM_DEBUGSIZE or ISC_MEM_DEBUGCTX + memory debugging flags are set. [RT #30243] + +3350. [bug] Memory read overrun in isc___mem_reallocate if + ISC_MEM_DEBUGCTX memory debugging flag is set. + [RT #30240] + +3348. [bug] Prevent RRSIG data from being cached if a negative + record matching the covering type exists at a higher + trust level. Such data already can't be retrieved from + the cache since change 3218 -- this prevents it + being inserted into the cache as well. [RT #26809] + +3347. [bug] dnssec-settime: Issue a warning when writing a new + private key file would cause a change in the + permissions of the existing file. [RT #27724] 3346. [security] Bad-cache data could be used before it was initialized, causing an assert. [RT #30025] @@ -18,11 +84,47 @@ resulting in excessive cpu usage in some cases. [RT #29952] - --- 9.8.3-P1 released --- +3337. [bug] Change #3294 broke support for the multiple keys + in controls. [RT #29694] + +3335. [func] nslookup: return a nonzero exit code when unable + to get an answer. [RT #29492] + +3333. [bug] Setting resolver-query-timeout too low can cause + named to not recover if it loses connectivity. + [RT #29623] + +3332. [bug] Re-use cached DS rrsets if possible. [RT #29446] 3331. [security] dns_rdataslab_fromrdataset could produce bad rdataslabs. [RT #29644] - + +3330. [func] Fix missing signatures on NOERROR results despite + RPZ rewriting. Also + - add optional "recursive-only yes|no" to the + response-policy statement + - add optional "max-policy-ttl" to the response-policy + statement to limit the false data that + "recursive-only no" can introduce into + resolvers' caches + - add a RPZ performance test to bin/tests/system/rpz + when queryperf is available. + - the encoding of PASSTHRU action to "rpz-passthru". + (The old encoding is still accepted.) + [RT #26172] + + +3329. [bug] Handle RRSIG signer-name case consistently: We + generate RRSIG records with the signer-name in + lower case. We accept them with any case, but if + they fail to validate, we try again in lower case. + [RT #27451] + +3328. [bug] Fixed inconsistent data checking in dst_parse.c. + [RT #29401] + +3317. [func] Add ECDSA support (RFC 6605). [RT #21918] + --- 9.8.3 released --- 3318. [tuning] Reduce the amount of work performed while holding a Modified: stable/9/contrib/bind9/Makefile.in ============================================================================== --- stable/9/contrib/bind9/Makefile.in Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/Makefile.in Tue Jan 8 09:05:09 2013 (r245163) @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2002 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any Modified: stable/9/contrib/bind9/README ============================================================================== --- stable/9/contrib/bind9/README Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/README Tue Jan 8 09:05:09 2013 (r245163) @@ -51,6 +51,11 @@ BIND 9 For up-to-date release notes and errata, see http://www.isc.org/software/bind9/releasenotes +BIND 9.8.4 + + BIND 9.8.4 includes several bug fixes and patches security + flaws described in CVE-2012-1667, CVE-2012-3817 and CVE-2012-4244. + BIND 9.8.3 BIND 9.8.3 is a maintenance release. Modified: stable/9/contrib/bind9/acconfig.h ============================================================================== --- stable/9/contrib/bind9/acconfig.h Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/acconfig.h Tue Jan 8 09:05:09 2013 (r245163) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008, 2012 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -138,6 +138,9 @@ int sigwait(const unsigned int *set, int /* Define if OpenSSL includes DSA support */ #undef HAVE_OPENSSL_DSA +/* Define if OpenSSL includes ECDSA support */ +#undef HAVE_OPENSSL_ECDSA + /* Define to the length type used by the socket API (socklen_t, size_t, int). */ #undef ISC_SOCKADDR_LEN_T Modified: stable/9/contrib/bind9/bin/Makefile.in ============================================================================== --- stable/9/contrib/bind9/bin/Makefile.in Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/Makefile.in Tue Jan 8 09:05:09 2013 (r245163) @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any Modified: stable/9/contrib/bind9/bin/check/Makefile.in ============================================================================== --- stable/9/contrib/bind9/bin/check/Makefile.in Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/check/Makefile.in Tue Jan 8 09:05:09 2013 (r245163) @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004-2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2000-2003 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any Modified: stable/9/contrib/bind9/bin/check/check-tool.c ============================================================================== --- stable/9/contrib/bind9/bin/check/check-tool.c Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/check/check-tool.c Tue Jan 8 09:05:09 2013 (r245163) @@ -639,6 +639,9 @@ dump_zone(const char *zonename, dns_zone { isc_result_t result; FILE *output = stdout; + const char *flags; + + flags = (fileformat == dns_masterformat_text) ? "w+" : "wb+"; if (debug) { if (filename != NULL && strcmp(filename, "-") != 0) @@ -649,7 +652,7 @@ dump_zone(const char *zonename, dns_zone } if (filename != NULL && strcmp(filename, "-") != 0) { - result = isc_stdio_open(filename, "w+", &output); + result = isc_stdio_open(filename, flags, &output); if (result != ISC_R_SUCCESS) { fprintf(stderr, "could not open output " Modified: stable/9/contrib/bind9/bin/confgen/Makefile.in ============================================================================== --- stable/9/contrib/bind9/bin/confgen/Makefile.in Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/confgen/Makefile.in Tue Jan 8 09:05:09 2013 (r245163) @@ -1,4 +1,4 @@ -# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2009, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above Modified: stable/9/contrib/bind9/bin/confgen/unix/Makefile.in ============================================================================== --- stable/9/contrib/bind9/bin/confgen/unix/Makefile.in Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/confgen/unix/Makefile.in Tue Jan 8 09:05:09 2013 (r245163) @@ -1,4 +1,4 @@ -# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2009, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above Modified: stable/9/contrib/bind9/bin/dig/Makefile.in ============================================================================== --- stable/9/contrib/bind9/bin/dig/Makefile.in Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/dig/Makefile.in Tue Jan 8 09:05:09 2013 (r245163) @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2005, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2000-2002 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any Modified: stable/9/contrib/bind9/bin/dig/nslookup.c ============================================================================== --- stable/9/contrib/bind9/bin/dig/nslookup.c Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/dig/nslookup.c Tue Jan 8 09:05:09 2013 (r245163) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2000-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -57,6 +57,7 @@ static isc_boolean_t in_use = ISC_FALSE; static char defclass[MXRD] = "IN"; static char deftype[MXRD] = "A"; static isc_event_t *global_event = NULL; +static int query_error = 1, print_error = 0; static char domainopt[DNS_NAME_MAXTEXT]; @@ -406,6 +407,9 @@ isc_result_t printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) { char servtext[ISC_SOCKADDR_FORMATSIZE]; + /* I've we've gotten this far, we've reached a server. */ + query_error = 0; + debug("printmessage()"); isc_sockaddr_format(&query->sockaddr, servtext, sizeof(servtext)); @@ -433,6 +437,9 @@ printmessage(dig_query_t *query, dns_mes (msg->rcode != dns_rcode_nxdomain) ? nametext : query->lookup->textname, rcode_totext(msg->rcode)); debug("returning with rcode == 0"); + + /* the lookup failed */ + print_error |= 1; return (ISC_R_SUCCESS); } @@ -887,5 +894,5 @@ main(int argc, char **argv) { destroy_libs(); isc_app_finish(); - return (0); + return (query_error | print_error); } Modified: stable/9/contrib/bind9/bin/dnssec/Makefile.in ============================================================================== --- stable/9/contrib/bind9/bin/dnssec/Makefile.in Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/dnssec/Makefile.in Tue Jan 8 09:05:09 2013 (r245163) @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2005, 2007-2009, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2000-2002 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any Modified: stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8 ============================================================================== --- stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8 Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8 Tue Jan 8 09:05:09 2013 (r245163) @@ -1,4 +1,4 @@ -.\" Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (C) 2008-2010, 2012 Internet Systems Consortium, Inc. ("ISC") .\" .\" Permission to use, copy, modify, and/or distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -55,7 +55,7 @@ Use SHA\-256 as the digest algorithm. .RS 4 Select the digest algorithm. The value of \fBalgorithm\fR -must be one of SHA\-1 (SHA1), SHA\-256 (SHA256) or GOST. These values are case insensitive. +must be one of SHA\-1 (SHA1), SHA\-256 (SHA256), GOST or SHA\-384 (SHA384). These values are case insensitive. .RE .PP \-K \fIdirectory\fR @@ -139,5 +139,5 @@ RFC 4509. .PP Internet Systems Consortium .SH "COPYRIGHT" -Copyright \(co 2008\-2010 Internet Systems Consortium, Inc. ("ISC") +Copyright \(co 2008\-2010, 2012 Internet Systems Consortium, Inc. ("ISC") .br Modified: stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c ============================================================================== --- stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c Tue Jan 8 09:05:09 2013 (r245163) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2008-2012 Internet Systems Consortium, Inc. ("ISC") * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -296,7 +296,7 @@ usage(void) { fprintf(stderr, " -K : directory in which to find " "key file or keyset file\n"); fprintf(stderr, " -a algorithm: digest algorithm " - "(SHA-1, SHA-256 or GOST)\n"); + "(SHA-1, SHA-256, GOST or SHA-384)\n"); fprintf(stderr, " -1: use SHA-1\n"); fprintf(stderr, " -2: use SHA-256\n"); fprintf(stderr, " -l: add lookaside zone and print DLV records\n"); @@ -415,6 +415,9 @@ main(int argc, char **argv) { else if (strcasecmp(algname, "GOST") == 0) dtype = DNS_DSDIGEST_GOST; #endif + else if (strcasecmp(algname, "SHA384") == 0 || + strcasecmp(algname, "SHA-384") == 0) + dtype = DNS_DSDIGEST_SHA384; else fatal("unknown algorithm %s", algname); } Modified: stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook ============================================================================== --- stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook Tue Jan 8 08:59:39 2013 (r245162) +++ stable/9/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook Tue Jan 8 09:05:09 2013 (r245163) @@ -2,7 +2,7 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>