From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 07:38:16 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7344A1065673; Sun, 9 Sep 2012 07:38:16 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5E5628FC0A; Sun, 9 Sep 2012 07:38:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q897cGhX026699; Sun, 9 Sep 2012 07:38:16 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q897cGid026697; Sun, 9 Sep 2012 07:38:16 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201209090738.q897cGid026697@svn.freebsd.org> From: Martin Matuska Date: Sun, 9 Sep 2012 07:38:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240258 - stable/9/sys/cddl/compat/opensolaris/sys X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 07:38:16 -0000 Author: mm Date: Sun Sep 9 07:38:15 2012 New Revision: 240258 URL: http://svn.freebsd.org/changeset/base/240258 Log: MFC r240162: Make r230454 more readable and vendor-like. PR: kern/171380 Modified: stable/9/sys/cddl/compat/opensolaris/sys/sid.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/cddl/compat/opensolaris/sys/sid.h ============================================================================== --- stable/9/sys/cddl/compat/opensolaris/sys/sid.h Sun Sep 9 07:23:15 2012 (r240257) +++ stable/9/sys/cddl/compat/opensolaris/sys/sid.h Sun Sep 9 07:38:15 2012 (r240258) @@ -30,7 +30,8 @@ #define _OPENSOLARIS_SYS_SID_H_ typedef struct ksiddomain { - char kd_name[1]; /* Domain part of SID */ + char *kd_name; /* Domain part of SID */ + uint_t kd_len; } ksiddomain_t; typedef void ksid_t; @@ -38,8 +39,12 @@ static __inline ksiddomain_t * ksid_lookupdomain(const char *domain) { ksiddomain_t *kd; + size_t len; - kd = kmem_alloc(sizeof(*kd) + strlen(domain), KM_SLEEP); + len = strlen(domain) + 1; + kd = kmem_alloc(sizeof(*kd), KM_SLEEP); + kd->kd_len = (uint_t)len; + kd->kd_name = kmem_alloc(len, KM_SLEEP); strcpy(kd->kd_name, domain); return (kd); } @@ -48,6 +53,7 @@ static __inline void ksiddomain_rele(ksiddomain_t *kd) { + kmem_free(kd->kd_name, kd->kd_len); kmem_free(kd, sizeof(*kd)); } From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 07:46:46 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0BCFC106566C; Sun, 9 Sep 2012 07:46:46 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EAB5E8FC14; Sun, 9 Sep 2012 07:46:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q897kjQw027681; Sun, 9 Sep 2012 07:46:45 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q897kjDQ027679; Sun, 9 Sep 2012 07:46:45 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201209090746.q897kjDQ027679@svn.freebsd.org> From: Martin Matuska Date: Sun, 9 Sep 2012 07:46:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240259 - stable/8/sys/cddl/compat/opensolaris/sys X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 07:46:46 -0000 Author: mm Date: Sun Sep 9 07:46:45 2012 New Revision: 240259 URL: http://svn.freebsd.org/changeset/base/240259 Log: MFC r240162: Make r230454 more readable and vendor-like. PR: kern/171380 Modified: stable/8/sys/cddl/compat/opensolaris/sys/sid.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/cddl/ (props changed) Modified: stable/8/sys/cddl/compat/opensolaris/sys/sid.h ============================================================================== --- stable/8/sys/cddl/compat/opensolaris/sys/sid.h Sun Sep 9 07:38:15 2012 (r240258) +++ stable/8/sys/cddl/compat/opensolaris/sys/sid.h Sun Sep 9 07:46:45 2012 (r240259) @@ -30,7 +30,8 @@ #define _OPENSOLARIS_SYS_SID_H_ typedef struct ksiddomain { - char kd_name[1]; /* Domain part of SID */ + char *kd_name; /* Domain part of SID */ + uint_t kd_len; } ksiddomain_t; typedef void ksid_t; @@ -38,8 +39,12 @@ static __inline ksiddomain_t * ksid_lookupdomain(const char *domain) { ksiddomain_t *kd; + size_t len; - kd = kmem_alloc(sizeof(*kd) + strlen(domain), KM_SLEEP); + len = strlen(domain) + 1; + kd = kmem_alloc(sizeof(*kd), KM_SLEEP); + kd->kd_len = (uint_t)len; + kd->kd_name = kmem_alloc(len, KM_SLEEP); strcpy(kd->kd_name, domain); return (kd); } @@ -48,6 +53,7 @@ static __inline void ksiddomain_rele(ksiddomain_t *kd) { + kmem_free(kd->kd_name, kd->kd_len); kmem_free(kd, sizeof(*kd)); } From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 07:47:03 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 87DD61065670; Sun, 9 Sep 2012 07:47:03 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 71DBD8FC12; Sun, 9 Sep 2012 07:47:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q897l3vP027771; Sun, 9 Sep 2012 07:47:03 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q897l3he027769; Sun, 9 Sep 2012 07:47:03 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201209090747.q897l3he027769@svn.freebsd.org> From: Martin Matuska Date: Sun, 9 Sep 2012 07:47:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240260 - stable/7/sys/cddl/compat/opensolaris/sys X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 07:47:03 -0000 Author: mm Date: Sun Sep 9 07:47:02 2012 New Revision: 240260 URL: http://svn.freebsd.org/changeset/base/240260 Log: MFC r240162: Make r230454 more readable and vendor-like. PR: kern/171380 Modified: stable/7/sys/cddl/compat/opensolaris/sys/sid.h Directory Properties: stable/7/sys/ (props changed) Modified: stable/7/sys/cddl/compat/opensolaris/sys/sid.h ============================================================================== --- stable/7/sys/cddl/compat/opensolaris/sys/sid.h Sun Sep 9 07:46:45 2012 (r240259) +++ stable/7/sys/cddl/compat/opensolaris/sys/sid.h Sun Sep 9 07:47:02 2012 (r240260) @@ -30,7 +30,8 @@ #define _OPENSOLARIS_SYS_SID_H_ typedef struct ksiddomain { - char kd_name[1]; /* Domain part of SID */ + char *kd_name; /* Domain part of SID */ + uint_t kd_len; } ksiddomain_t; typedef void ksid_t; @@ -38,8 +39,12 @@ static __inline ksiddomain_t * ksid_lookupdomain(const char *domain) { ksiddomain_t *kd; + size_t len; - kd = kmem_alloc(sizeof(*kd) + strlen(domain), KM_SLEEP); + len = strlen(domain) + 1; + kd = kmem_alloc(sizeof(*kd), KM_SLEEP); + kd->kd_len = (uint_t)len; + kd->kd_name = kmem_alloc(len, KM_SLEEP); strcpy(kd->kd_name, domain); return (kd); } @@ -48,6 +53,7 @@ static __inline void ksiddomain_rele(ksiddomain_t *kd) { + kmem_free(kd->kd_name, kd->kd_len); kmem_free(kd, sizeof(*kd)); } From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 08:15:50 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D85A106564A; Sun, 9 Sep 2012 08:15:50 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D0AC78FC15; Sun, 9 Sep 2012 08:15:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q898FntX031932; Sun, 9 Sep 2012 08:15:49 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q898Fnmf031928; Sun, 9 Sep 2012 08:15:49 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201209090815.q898Fnmf031928@svn.freebsd.org> From: Mikolaj Golub Date: Sun, 9 Sep 2012 08:15:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240265 - stable/9/sys/geom/gate X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 08:15:50 -0000 Author: trociny Date: Sun Sep 9 08:15:49 2012 New Revision: 240265 URL: http://svn.freebsd.org/changeset/base/240265 Log: MFC r238119, r238868, r239131: r238119 (pjd): Extend GEOM Gate class to handle read I/O requests directly within the kernel. This will allow HAST to read directly from the local component without even communicating userland daemon. Sponsored by: Panzura, http://www.panzura.com r238868: Reorder things in g_gate_create() so at the moment when g_new_geomf() is called name is properly initialized. Discussed with: pjd r239131: In g_gate_dumpconf() always check the result of g_gate_hold(). This fixes "Negative sc_ref" panic possible when sysctl_kern_geom_confxml() is run simultaneously with destroying GATE device. Reviewed by: pjd Modified: stable/9/sys/geom/gate/g_gate.c stable/9/sys/geom/gate/g_gate.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/geom/gate/g_gate.c ============================================================================== --- stable/9/sys/geom/gate/g_gate.c Sun Sep 9 08:14:47 2012 (r240264) +++ stable/9/sys/geom/gate/g_gate.c Sun Sep 9 08:15:49 2012 (r240265) @@ -59,7 +59,8 @@ FEATURE(geom_gate, "GEOM Gate module"); static MALLOC_DEFINE(M_GATE, "gg_data", "GEOM Gate Data"); SYSCTL_DECL(_kern_geom); -SYSCTL_NODE(_kern_geom, OID_AUTO, gate, CTLFLAG_RW, 0, "GEOM_GATE stuff"); +static SYSCTL_NODE(_kern_geom, OID_AUTO, gate, CTLFLAG_RW, 0, + "GEOM_GATE configuration"); static int g_gate_debug = 0; TUNABLE_INT("kern.geom.gate.debug", &g_gate_debug); SYSCTL_INT(_kern_geom_gate, OID_AUTO, debug, CTLFLAG_RW, &g_gate_debug, 0, @@ -91,6 +92,7 @@ static int g_gate_destroy(struct g_gate_softc *sc, boolean_t force) { struct g_provider *pp; + struct g_consumer *cp; struct g_geom *gp; struct bio *bp; @@ -137,6 +139,12 @@ g_gate_destroy(struct g_gate_softc *sc, mtx_unlock(&g_gate_units_lock); mtx_destroy(&sc->sc_queue_mtx); g_topology_lock(); + if ((cp = sc->sc_readcons) != NULL) { + sc->sc_readcons = NULL; + (void)g_access(cp, -1, 0, 0); + g_detach(cp); + g_destroy_consumer(cp); + } G_GATE_DEBUG(1, "Device %s destroyed.", gp->name); gp->softc = NULL; g_wither_geom(gp, ENXIO); @@ -166,7 +174,7 @@ g_gate_access(struct g_provider *pp, int } static void -g_gate_start(struct bio *bp) +g_gate_queue_io(struct bio *bp) { struct g_gate_softc *sc; @@ -175,27 +183,9 @@ g_gate_start(struct bio *bp) g_io_deliver(bp, ENXIO); return; } - G_GATE_LOGREQ(2, bp, "Request received."); - switch (bp->bio_cmd) { - case BIO_READ: - break; - case BIO_DELETE: - case BIO_WRITE: - case BIO_FLUSH: - /* XXX: Hack to allow read-only mounts. */ - if ((sc->sc_flags & G_GATE_FLAG_READONLY) != 0) { - g_io_deliver(bp, EPERM); - return; - } - break; - case BIO_GETATTR: - default: - G_GATE_LOGREQ(2, bp, "Ignoring request."); - g_io_deliver(bp, EOPNOTSUPP); - return; - } mtx_lock(&sc->sc_queue_mtx); + if (sc->sc_queue_size > 0 && sc->sc_queue_count > sc->sc_queue_size) { mtx_unlock(&sc->sc_queue_mtx); G_GATE_LOGREQ(1, bp, "Queue full, request canceled."); @@ -213,6 +203,74 @@ g_gate_start(struct bio *bp) mtx_unlock(&sc->sc_queue_mtx); } +static void +g_gate_done(struct bio *cbp) +{ + struct bio *pbp; + + pbp = cbp->bio_parent; + if (cbp->bio_error == 0) { + pbp->bio_completed = cbp->bio_completed; + g_destroy_bio(cbp); + pbp->bio_inbed++; + g_io_deliver(pbp, 0); + } else { + /* If direct read failed, pass it through userland daemon. */ + g_destroy_bio(cbp); + pbp->bio_children--; + g_gate_queue_io(pbp); + } +} + +static void +g_gate_start(struct bio *pbp) +{ + struct g_gate_softc *sc; + + sc = pbp->bio_to->geom->softc; + if (sc == NULL || (sc->sc_flags & G_GATE_FLAG_DESTROY) != 0) { + g_io_deliver(pbp, ENXIO); + return; + } + G_GATE_LOGREQ(2, pbp, "Request received."); + switch (pbp->bio_cmd) { + case BIO_READ: + if (sc->sc_readcons != NULL) { + struct bio *cbp; + + cbp = g_clone_bio(pbp); + if (cbp == NULL) { + g_io_deliver(pbp, ENOMEM); + return; + } + cbp->bio_done = g_gate_done; + cbp->bio_offset = pbp->bio_offset + sc->sc_readoffset; + cbp->bio_data = pbp->bio_data; + cbp->bio_length = pbp->bio_length; + cbp->bio_to = sc->sc_readcons->provider; + g_io_request(cbp, sc->sc_readcons); + return; + } + break; + case BIO_DELETE: + case BIO_WRITE: + case BIO_FLUSH: + /* XXX: Hack to allow read-only mounts. */ + if ((sc->sc_flags & G_GATE_FLAG_READONLY) != 0) { + g_io_deliver(pbp, EPERM); + return; + } + break; + case BIO_GETATTR: + default: + G_GATE_LOGREQ(2, pbp, "Ignoring request."); + g_io_deliver(pbp, EOPNOTSUPP); + return; + } + + g_gate_queue_io(pbp); +} + static struct g_gate_softc * g_gate_hold(int unit, const char *name) { @@ -311,6 +369,27 @@ g_gate_guard(void *arg) } static void +g_gate_orphan(struct g_consumer *cp) +{ + struct g_gate_softc *sc; + struct g_geom *gp; + + g_topology_assert(); + gp = cp->geom; + sc = gp->softc; + if (sc == NULL) + return; + KASSERT(cp == sc->sc_readcons, ("cp=%p sc_readcons=%p", cp, + sc->sc_readcons)); + sc->sc_readcons = NULL; + G_GATE_DEBUG(1, "Destroying read consumer on provider %s orphan.", + cp->provider->name); + (void)g_access(cp, -1, 0, 0); + g_detach(cp); + g_destroy_consumer(cp); +} + +static void g_gate_dumpconf(struct sbuf *sb, const char *indent, struct g_geom *gp, struct g_consumer *cp, struct g_provider *pp) { @@ -319,7 +398,9 @@ g_gate_dumpconf(struct sbuf *sb, const c sc = gp->softc; if (sc == NULL || pp != NULL || cp != NULL) return; - g_gate_hold(sc->sc_unit, NULL); + sc = g_gate_hold(sc->sc_unit, NULL); + if (sc == NULL) + return; if ((sc->sc_flags & G_GATE_FLAG_READONLY) != 0) { sbuf_printf(sb, "%s%s\n", indent, "read-only"); } else if ((sc->sc_flags & G_GATE_FLAG_WRITEONLY) != 0) { @@ -329,6 +410,12 @@ g_gate_dumpconf(struct sbuf *sb, const c sbuf_printf(sb, "%s%s\n", indent, "read-write"); } + if (sc->sc_readcons != NULL) { + sbuf_printf(sb, "%s%jd\n", + indent, (intmax_t)sc->sc_readoffset); + sbuf_printf(sb, "%s%s\n", + indent, sc->sc_readcons->provider->name); + } sbuf_printf(sb, "%s%u\n", indent, sc->sc_timeout); sbuf_printf(sb, "%s%s\n", indent, sc->sc_info); sbuf_printf(sb, "%s%u\n", indent, @@ -347,15 +434,20 @@ g_gate_create(struct g_gate_ctl_create * { struct g_gate_softc *sc; struct g_geom *gp; - struct g_provider *pp; + struct g_provider *pp, *ropp; + struct g_consumer *cp; char name[NAME_MAX]; int error = 0, unit; - if (ggio->gctl_mediasize == 0) { + if (ggio->gctl_mediasize <= 0) { G_GATE_DEBUG(1, "Invalid media size."); return (EINVAL); } - if (ggio->gctl_sectorsize > 0 && !powerof2(ggio->gctl_sectorsize)) { + if (ggio->gctl_sectorsize <= 0) { + G_GATE_DEBUG(1, "Invalid sector size."); + return (EINVAL); + } + if (!powerof2(ggio->gctl_sectorsize)) { G_GATE_DEBUG(1, "Invalid sector size."); return (EINVAL); } @@ -393,14 +485,11 @@ g_gate_create(struct g_gate_ctl_create * sc->sc_queue_size = G_GATE_MAX_QUEUE_SIZE; sc->sc_timeout = ggio->gctl_timeout; callout_init(&sc->sc_callout, CALLOUT_MPSAFE); + mtx_lock(&g_gate_units_lock); sc->sc_unit = g_gate_getunit(ggio->gctl_unit, &error); - if (sc->sc_unit < 0) { - mtx_unlock(&g_gate_units_lock); - mtx_destroy(&sc->sc_queue_mtx); - free(sc, M_GATE); - return (error); - } + if (sc->sc_unit < 0) + goto fail1; if (ggio->gctl_unit == G_GATE_NAME_GIVEN) snprintf(name, sizeof(name), "%s", ggio->gctl_name); else { @@ -413,29 +502,71 @@ g_gate_create(struct g_gate_ctl_create * continue; if (strcmp(name, g_gate_units[unit]->sc_name) != 0) continue; - mtx_unlock(&g_gate_units_lock); - mtx_destroy(&sc->sc_queue_mtx); - free(sc, M_GATE); - return (EEXIST); + error = EEXIST; + goto fail1; } sc->sc_name = name; g_gate_units[sc->sc_unit] = sc; g_gate_nunits++; mtx_unlock(&g_gate_units_lock); - ggio->gctl_unit = sc->sc_unit; - g_topology_lock(); + + if (ggio->gctl_readprov[0] == '\0') { + ropp = NULL; + } else { + ropp = g_provider_by_name(ggio->gctl_readprov); + if (ropp == NULL) { + G_GATE_DEBUG(1, "Provider %s doesn't exist.", + ggio->gctl_readprov); + error = EINVAL; + goto fail2; + } + if ((ggio->gctl_readoffset % ggio->gctl_sectorsize) != 0) { + G_GATE_DEBUG(1, "Invalid read offset."); + error = EINVAL; + goto fail2; + } + if (ggio->gctl_mediasize + ggio->gctl_readoffset > + ropp->mediasize) { + G_GATE_DEBUG(1, "Invalid read offset or media size."); + error = EINVAL; + goto fail2; + } + } + gp = g_new_geomf(&g_gate_class, "%s", name); gp->start = g_gate_start; gp->access = g_gate_access; + gp->orphan = g_gate_orphan; gp->dumpconf = g_gate_dumpconf; gp->softc = sc; + + if (ropp != NULL) { + cp = g_new_consumer(gp); + error = g_attach(cp, ropp); + if (error != 0) { + G_GATE_DEBUG(1, "Unable to attach to %s.", ropp->name); + goto fail3; + } + error = g_access(cp, 1, 0, 0); + if (error != 0) { + G_GATE_DEBUG(1, "Unable to access %s.", ropp->name); + g_detach(cp); + goto fail3; + } + sc->sc_readcons = cp; + sc->sc_readoffset = ggio->gctl_readoffset; + } + + ggio->gctl_unit = sc->sc_unit; + pp = g_new_providerf(gp, "%s", name); pp->mediasize = ggio->gctl_mediasize; pp->sectorsize = ggio->gctl_sectorsize; sc->sc_provider = pp; g_error_provider(pp, 0); + g_topology_unlock(); mtx_lock(&g_gate_units_lock); sc->sc_name = sc->sc_provider->name; @@ -447,6 +578,112 @@ g_gate_create(struct g_gate_ctl_create * g_gate_guard, sc); } return (0); +fail3: + g_destroy_consumer(cp); + g_destroy_geom(gp); +fail2: + g_topology_unlock(); + mtx_lock(&g_gate_units_lock); + g_gate_units[sc->sc_unit] = NULL; + KASSERT(g_gate_nunits > 0, ("negative g_gate_nunits?")); + g_gate_nunits--; +fail1: + mtx_unlock(&g_gate_units_lock); + mtx_destroy(&sc->sc_queue_mtx); + free(sc, M_GATE); + return (error); +} + +static int +g_gate_modify(struct g_gate_softc *sc, struct g_gate_ctl_modify *ggio) +{ + struct g_provider *pp; + struct g_consumer *cp; + int error; + + if ((ggio->gctl_modify & GG_MODIFY_MEDIASIZE) != 0) { + if (ggio->gctl_mediasize <= 0) { + G_GATE_DEBUG(1, "Invalid media size."); + return (EINVAL); + } + pp = sc->sc_provider; + if ((ggio->gctl_mediasize % pp->sectorsize) != 0) { + G_GATE_DEBUG(1, "Invalid media size."); + return (EINVAL); + } + /* TODO */ + return (EOPNOTSUPP); + } + + if ((ggio->gctl_modify & GG_MODIFY_INFO) != 0) + (void)strlcpy(sc->sc_info, ggio->gctl_info, sizeof(sc->sc_info)); + + cp = NULL; + + if ((ggio->gctl_modify & GG_MODIFY_READPROV) != 0) { + g_topology_lock(); + if (sc->sc_readcons != NULL) { + cp = sc->sc_readcons; + sc->sc_readcons = NULL; + (void)g_access(cp, -1, 0, 0); + g_detach(cp); + g_destroy_consumer(cp); + } + if (ggio->gctl_readprov[0] != '\0') { + pp = g_provider_by_name(ggio->gctl_readprov); + if (pp == NULL) { + g_topology_unlock(); + G_GATE_DEBUG(1, "Provider %s doesn't exist.", + ggio->gctl_readprov); + return (EINVAL); + } + cp = g_new_consumer(sc->sc_provider->geom); + error = g_attach(cp, pp); + if (error != 0) { + G_GATE_DEBUG(1, "Unable to attach to %s.", + pp->name); + } else { + error = g_access(cp, 1, 0, 0); + if (error != 0) { + G_GATE_DEBUG(1, "Unable to access %s.", + pp->name); + g_detach(cp); + } + } + if (error != 0) { + g_destroy_consumer(cp); + g_topology_unlock(); + return (error); + } + } + } else { + cp = sc->sc_readcons; + } + + if ((ggio->gctl_modify & GG_MODIFY_READOFFSET) != 0) { + if (cp == NULL) { + G_GATE_DEBUG(1, "No read provider."); + return (EINVAL); + } + pp = sc->sc_provider; + if ((ggio->gctl_readoffset % pp->sectorsize) != 0) { + G_GATE_DEBUG(1, "Invalid read offset."); + return (EINVAL); + } + if (pp->mediasize + ggio->gctl_readoffset > + cp->provider->mediasize) { + G_GATE_DEBUG(1, "Invalid read offset or media size."); + return (EINVAL); + } + sc->sc_readoffset = ggio->gctl_readoffset; + } + + if ((ggio->gctl_modify & GG_MODIFY_READPROV) != 0) { + sc->sc_readcons = cp; + g_topology_unlock(); + } + + return (0); } #define G_GATE_CHECK_VERSION(ggio) do { \ @@ -482,6 +719,18 @@ g_gate_ioctl(struct cdev *dev, u_long cm td->td_pflags &= ~TDP_GEOM; return (error); } + case G_GATE_CMD_MODIFY: + { + struct g_gate_ctl_modify *ggio = (void *)addr; + + G_GATE_CHECK_VERSION(ggio); + sc = g_gate_hold(ggio->gctl_unit, NULL); + if (sc == NULL) + return (ENXIO); + error = g_gate_modify(sc, ggio); + g_gate_release(sc); + return (error); + } case G_GATE_CMD_DESTROY: { struct g_gate_ctl_destroy *ggio = (void *)addr; Modified: stable/9/sys/geom/gate/g_gate.h ============================================================================== --- stable/9/sys/geom/gate/g_gate.h Sun Sep 9 08:14:47 2012 (r240264) +++ stable/9/sys/geom/gate/g_gate.h Sun Sep 9 08:15:49 2012 (r240265) @@ -41,7 +41,7 @@ #define G_GATE_MOD_NAME "ggate" #define G_GATE_CTL_NAME "ggctl" -#define G_GATE_VERSION 2 +#define G_GATE_VERSION 3 /* * Maximum number of request that can be stored in @@ -64,10 +64,11 @@ #define G_GATE_NAME_GIVEN (-2) #define G_GATE_CMD_CREATE _IOWR('m', 0, struct g_gate_ctl_create) -#define G_GATE_CMD_DESTROY _IOWR('m', 1, struct g_gate_ctl_destroy) -#define G_GATE_CMD_CANCEL _IOWR('m', 2, struct g_gate_ctl_cancel) -#define G_GATE_CMD_START _IOWR('m', 3, struct g_gate_ctl_io) -#define G_GATE_CMD_DONE _IOWR('m', 4, struct g_gate_ctl_io) +#define G_GATE_CMD_MODIFY _IOWR('m', 1, struct g_gate_ctl_modify) +#define G_GATE_CMD_DESTROY _IOWR('m', 2, struct g_gate_ctl_destroy) +#define G_GATE_CMD_CANCEL _IOWR('m', 3, struct g_gate_ctl_cancel) +#define G_GATE_CMD_START _IOWR('m', 4, struct g_gate_ctl_io) +#define G_GATE_CMD_DONE _IOWR('m', 5, struct g_gate_ctl_io) #define G_GATE_INFOSIZE 2048 @@ -88,6 +89,8 @@ struct g_gate_softc { uint32_t sc_queue_count; /* P: sc_queue_mtx */ uint32_t sc_queue_size; /* P: (read-only) */ u_int sc_timeout; /* P: (read-only) */ + struct g_consumer *sc_readcons; /* P: XXX */ + off_t sc_readoffset; /* P: XXX */ struct callout sc_callout; /* P: (modified only from callout thread) */ @@ -131,9 +134,25 @@ struct g_gate_ctl_create { u_int gctl_timeout; char gctl_name[NAME_MAX]; char gctl_info[G_GATE_INFOSIZE]; + char gctl_readprov[NAME_MAX]; + off_t gctl_readoffset; int gctl_unit; /* in/out */ }; +#define GG_MODIFY_MEDIASIZE 0x01 +#define GG_MODIFY_INFO 0x02 +#define GG_MODIFY_READPROV 0x04 +#define GG_MODIFY_READOFFSET 0x08 +struct g_gate_ctl_modify { + u_int gctl_version; + int gctl_unit; + uint32_t gctl_modify; + off_t gctl_mediasize; + char gctl_info[G_GATE_INFOSIZE]; + char gctl_readprov[NAME_MAX]; + off_t gctl_readoffset; +}; + struct g_gate_ctl_destroy { u_int gctl_version; int gctl_unit; From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 08:21:07 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41D4F106566C; Sun, 9 Sep 2012 08:21:07 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2B41F8FC0A; Sun, 9 Sep 2012 08:21:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q898L7Q0032846; Sun, 9 Sep 2012 08:21:07 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q898L7gZ032843; Sun, 9 Sep 2012 08:21:07 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201209090821.q898L7gZ032843@svn.freebsd.org> From: Mikolaj Golub Date: Sun, 9 Sep 2012 08:21:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240266 - stable/8/sys/geom/gate X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 08:21:07 -0000 Author: trociny Date: Sun Sep 9 08:21:06 2012 New Revision: 240266 URL: http://svn.freebsd.org/changeset/base/240266 Log: MFC r238119, r238868, r239131: r238119 (pjd): Extend GEOM Gate class to handle read I/O requests directly within the kernel. This will allow HAST to read directly from the local component without even communicating userland daemon. Sponsored by: Panzura, http://www.panzura.com r238868: Reorder things in g_gate_create() so at the moment when g_new_geomf() is called name is properly initialized. Discussed with: pjd r239131: In g_gate_dumpconf() always check the result of g_gate_hold(). This fixes "Negative sc_ref" panic possible when sysctl_kern_geom_confxml() is run simultaneously with destroying GATE device. Reviewed by: pjd Modified: stable/8/sys/geom/gate/g_gate.c stable/8/sys/geom/gate/g_gate.h Directory Properties: stable/8/sys/ (props changed) stable/8/sys/geom/ (props changed) Modified: stable/8/sys/geom/gate/g_gate.c ============================================================================== --- stable/8/sys/geom/gate/g_gate.c Sun Sep 9 08:15:49 2012 (r240265) +++ stable/8/sys/geom/gate/g_gate.c Sun Sep 9 08:21:06 2012 (r240266) @@ -56,7 +56,8 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_GATE, "gg_data", "GEOM Gate Data"); SYSCTL_DECL(_kern_geom); -SYSCTL_NODE(_kern_geom, OID_AUTO, gate, CTLFLAG_RW, 0, "GEOM_GATE stuff"); +static SYSCTL_NODE(_kern_geom, OID_AUTO, gate, CTLFLAG_RW, 0, + "GEOM_GATE configuration"); static int g_gate_debug = 0; TUNABLE_INT("kern.geom.gate.debug", &g_gate_debug); SYSCTL_INT(_kern_geom_gate, OID_AUTO, debug, CTLFLAG_RW, &g_gate_debug, 0, @@ -88,6 +89,7 @@ static int g_gate_destroy(struct g_gate_softc *sc, boolean_t force) { struct g_provider *pp; + struct g_consumer *cp; struct g_geom *gp; struct bio *bp; @@ -134,6 +136,12 @@ g_gate_destroy(struct g_gate_softc *sc, mtx_unlock(&g_gate_units_lock); mtx_destroy(&sc->sc_queue_mtx); g_topology_lock(); + if ((cp = sc->sc_readcons) != NULL) { + sc->sc_readcons = NULL; + (void)g_access(cp, -1, 0, 0); + g_detach(cp); + g_destroy_consumer(cp); + } G_GATE_DEBUG(1, "Device %s destroyed.", gp->name); gp->softc = NULL; g_wither_geom(gp, ENXIO); @@ -163,7 +171,7 @@ g_gate_access(struct g_provider *pp, int } static void -g_gate_start(struct bio *bp) +g_gate_queue_io(struct bio *bp) { struct g_gate_softc *sc; @@ -172,27 +180,9 @@ g_gate_start(struct bio *bp) g_io_deliver(bp, ENXIO); return; } - G_GATE_LOGREQ(2, bp, "Request received."); - switch (bp->bio_cmd) { - case BIO_READ: - break; - case BIO_DELETE: - case BIO_WRITE: - case BIO_FLUSH: - /* XXX: Hack to allow read-only mounts. */ - if ((sc->sc_flags & G_GATE_FLAG_READONLY) != 0) { - g_io_deliver(bp, EPERM); - return; - } - break; - case BIO_GETATTR: - default: - G_GATE_LOGREQ(2, bp, "Ignoring request."); - g_io_deliver(bp, EOPNOTSUPP); - return; - } mtx_lock(&sc->sc_queue_mtx); + if (sc->sc_queue_size > 0 && sc->sc_queue_count > sc->sc_queue_size) { mtx_unlock(&sc->sc_queue_mtx); G_GATE_LOGREQ(1, bp, "Queue full, request canceled."); @@ -210,6 +200,74 @@ g_gate_start(struct bio *bp) mtx_unlock(&sc->sc_queue_mtx); } +static void +g_gate_done(struct bio *cbp) +{ + struct bio *pbp; + + pbp = cbp->bio_parent; + if (cbp->bio_error == 0) { + pbp->bio_completed = cbp->bio_completed; + g_destroy_bio(cbp); + pbp->bio_inbed++; + g_io_deliver(pbp, 0); + } else { + /* If direct read failed, pass it through userland daemon. */ + g_destroy_bio(cbp); + pbp->bio_children--; + g_gate_queue_io(pbp); + } +} + +static void +g_gate_start(struct bio *pbp) +{ + struct g_gate_softc *sc; + + sc = pbp->bio_to->geom->softc; + if (sc == NULL || (sc->sc_flags & G_GATE_FLAG_DESTROY) != 0) { + g_io_deliver(pbp, ENXIO); + return; + } + G_GATE_LOGREQ(2, pbp, "Request received."); + switch (pbp->bio_cmd) { + case BIO_READ: + if (sc->sc_readcons != NULL) { + struct bio *cbp; + + cbp = g_clone_bio(pbp); + if (cbp == NULL) { + g_io_deliver(pbp, ENOMEM); + return; + } + cbp->bio_done = g_gate_done; + cbp->bio_offset = pbp->bio_offset + sc->sc_readoffset; + cbp->bio_data = pbp->bio_data; + cbp->bio_length = pbp->bio_length; + cbp->bio_to = sc->sc_readcons->provider; + g_io_request(cbp, sc->sc_readcons); + return; + } + break; + case BIO_DELETE: + case BIO_WRITE: + case BIO_FLUSH: + /* XXX: Hack to allow read-only mounts. */ + if ((sc->sc_flags & G_GATE_FLAG_READONLY) != 0) { + g_io_deliver(pbp, EPERM); + return; + } + break; + case BIO_GETATTR: + default: + G_GATE_LOGREQ(2, pbp, "Ignoring request."); + g_io_deliver(pbp, EOPNOTSUPP); + return; + } + + g_gate_queue_io(pbp); +} + static struct g_gate_softc * g_gate_hold(int unit, const char *name) { @@ -308,6 +366,27 @@ g_gate_guard(void *arg) } static void +g_gate_orphan(struct g_consumer *cp) +{ + struct g_gate_softc *sc; + struct g_geom *gp; + + g_topology_assert(); + gp = cp->geom; + sc = gp->softc; + if (sc == NULL) + return; + KASSERT(cp == sc->sc_readcons, ("cp=%p sc_readcons=%p", cp, + sc->sc_readcons)); + sc->sc_readcons = NULL; + G_GATE_DEBUG(1, "Destroying read consumer on provider %s orphan.", + cp->provider->name); + (void)g_access(cp, -1, 0, 0); + g_detach(cp); + g_destroy_consumer(cp); +} + +static void g_gate_dumpconf(struct sbuf *sb, const char *indent, struct g_geom *gp, struct g_consumer *cp, struct g_provider *pp) { @@ -316,7 +395,9 @@ g_gate_dumpconf(struct sbuf *sb, const c sc = gp->softc; if (sc == NULL || pp != NULL || cp != NULL) return; - g_gate_hold(sc->sc_unit, NULL); + sc = g_gate_hold(sc->sc_unit, NULL); + if (sc == NULL) + return; if ((sc->sc_flags & G_GATE_FLAG_READONLY) != 0) { sbuf_printf(sb, "%s%s\n", indent, "read-only"); } else if ((sc->sc_flags & G_GATE_FLAG_WRITEONLY) != 0) { @@ -326,6 +407,12 @@ g_gate_dumpconf(struct sbuf *sb, const c sbuf_printf(sb, "%s%s\n", indent, "read-write"); } + if (sc->sc_readcons != NULL) { + sbuf_printf(sb, "%s%jd\n", + indent, (intmax_t)sc->sc_readoffset); + sbuf_printf(sb, "%s%s\n", + indent, sc->sc_readcons->provider->name); + } sbuf_printf(sb, "%s%u\n", indent, sc->sc_timeout); sbuf_printf(sb, "%s%s\n", indent, sc->sc_info); sbuf_printf(sb, "%s%u\n", indent, @@ -344,15 +431,20 @@ g_gate_create(struct g_gate_ctl_create * { struct g_gate_softc *sc; struct g_geom *gp; - struct g_provider *pp; + struct g_provider *pp, *ropp; + struct g_consumer *cp; char name[NAME_MAX]; int error = 0, unit; - if (ggio->gctl_mediasize == 0) { + if (ggio->gctl_mediasize <= 0) { G_GATE_DEBUG(1, "Invalid media size."); return (EINVAL); } - if (ggio->gctl_sectorsize > 0 && !powerof2(ggio->gctl_sectorsize)) { + if (ggio->gctl_sectorsize <= 0) { + G_GATE_DEBUG(1, "Invalid sector size."); + return (EINVAL); + } + if (!powerof2(ggio->gctl_sectorsize)) { G_GATE_DEBUG(1, "Invalid sector size."); return (EINVAL); } @@ -390,14 +482,11 @@ g_gate_create(struct g_gate_ctl_create * sc->sc_queue_size = G_GATE_MAX_QUEUE_SIZE; sc->sc_timeout = ggio->gctl_timeout; callout_init(&sc->sc_callout, CALLOUT_MPSAFE); + mtx_lock(&g_gate_units_lock); sc->sc_unit = g_gate_getunit(ggio->gctl_unit, &error); - if (sc->sc_unit < 0) { - mtx_unlock(&g_gate_units_lock); - mtx_destroy(&sc->sc_queue_mtx); - free(sc, M_GATE); - return (error); - } + if (sc->sc_unit < 0) + goto fail1; if (ggio->gctl_unit == G_GATE_NAME_GIVEN) snprintf(name, sizeof(name), "%s", ggio->gctl_name); else { @@ -410,29 +499,71 @@ g_gate_create(struct g_gate_ctl_create * continue; if (strcmp(name, g_gate_units[unit]->sc_name) != 0) continue; - mtx_unlock(&g_gate_units_lock); - mtx_destroy(&sc->sc_queue_mtx); - free(sc, M_GATE); - return (EEXIST); + error = EEXIST; + goto fail1; } sc->sc_name = name; g_gate_units[sc->sc_unit] = sc; g_gate_nunits++; mtx_unlock(&g_gate_units_lock); - ggio->gctl_unit = sc->sc_unit; - g_topology_lock(); + + if (ggio->gctl_readprov[0] == '\0') { + ropp = NULL; + } else { + ropp = g_provider_by_name(ggio->gctl_readprov); + if (ropp == NULL) { + G_GATE_DEBUG(1, "Provider %s doesn't exist.", + ggio->gctl_readprov); + error = EINVAL; + goto fail2; + } + if ((ggio->gctl_readoffset % ggio->gctl_sectorsize) != 0) { + G_GATE_DEBUG(1, "Invalid read offset."); + error = EINVAL; + goto fail2; + } + if (ggio->gctl_mediasize + ggio->gctl_readoffset > + ropp->mediasize) { + G_GATE_DEBUG(1, "Invalid read offset or media size."); + error = EINVAL; + goto fail2; + } + } + gp = g_new_geomf(&g_gate_class, "%s", name); gp->start = g_gate_start; gp->access = g_gate_access; + gp->orphan = g_gate_orphan; gp->dumpconf = g_gate_dumpconf; gp->softc = sc; + + if (ropp != NULL) { + cp = g_new_consumer(gp); + error = g_attach(cp, ropp); + if (error != 0) { + G_GATE_DEBUG(1, "Unable to attach to %s.", ropp->name); + goto fail3; + } + error = g_access(cp, 1, 0, 0); + if (error != 0) { + G_GATE_DEBUG(1, "Unable to access %s.", ropp->name); + g_detach(cp); + goto fail3; + } + sc->sc_readcons = cp; + sc->sc_readoffset = ggio->gctl_readoffset; + } + + ggio->gctl_unit = sc->sc_unit; + pp = g_new_providerf(gp, "%s", name); pp->mediasize = ggio->gctl_mediasize; pp->sectorsize = ggio->gctl_sectorsize; sc->sc_provider = pp; g_error_provider(pp, 0); + g_topology_unlock(); mtx_lock(&g_gate_units_lock); sc->sc_name = sc->sc_provider->name; @@ -444,6 +575,112 @@ g_gate_create(struct g_gate_ctl_create * g_gate_guard, sc); } return (0); +fail3: + g_destroy_consumer(cp); + g_destroy_geom(gp); +fail2: + g_topology_unlock(); + mtx_lock(&g_gate_units_lock); + g_gate_units[sc->sc_unit] = NULL; + KASSERT(g_gate_nunits > 0, ("negative g_gate_nunits?")); + g_gate_nunits--; +fail1: + mtx_unlock(&g_gate_units_lock); + mtx_destroy(&sc->sc_queue_mtx); + free(sc, M_GATE); + return (error); +} + +static int +g_gate_modify(struct g_gate_softc *sc, struct g_gate_ctl_modify *ggio) +{ + struct g_provider *pp; + struct g_consumer *cp; + int error; + + if ((ggio->gctl_modify & GG_MODIFY_MEDIASIZE) != 0) { + if (ggio->gctl_mediasize <= 0) { + G_GATE_DEBUG(1, "Invalid media size."); + return (EINVAL); + } + pp = sc->sc_provider; + if ((ggio->gctl_mediasize % pp->sectorsize) != 0) { + G_GATE_DEBUG(1, "Invalid media size."); + return (EINVAL); + } + /* TODO */ + return (EOPNOTSUPP); + } + + if ((ggio->gctl_modify & GG_MODIFY_INFO) != 0) + (void)strlcpy(sc->sc_info, ggio->gctl_info, sizeof(sc->sc_info)); + + cp = NULL; + + if ((ggio->gctl_modify & GG_MODIFY_READPROV) != 0) { + g_topology_lock(); + if (sc->sc_readcons != NULL) { + cp = sc->sc_readcons; + sc->sc_readcons = NULL; + (void)g_access(cp, -1, 0, 0); + g_detach(cp); + g_destroy_consumer(cp); + } + if (ggio->gctl_readprov[0] != '\0') { + pp = g_provider_by_name(ggio->gctl_readprov); + if (pp == NULL) { + g_topology_unlock(); + G_GATE_DEBUG(1, "Provider %s doesn't exist.", + ggio->gctl_readprov); + return (EINVAL); + } + cp = g_new_consumer(sc->sc_provider->geom); + error = g_attach(cp, pp); + if (error != 0) { + G_GATE_DEBUG(1, "Unable to attach to %s.", + pp->name); + } else { + error = g_access(cp, 1, 0, 0); + if (error != 0) { + G_GATE_DEBUG(1, "Unable to access %s.", + pp->name); + g_detach(cp); + } + } + if (error != 0) { + g_destroy_consumer(cp); + g_topology_unlock(); + return (error); + } + } + } else { + cp = sc->sc_readcons; + } + + if ((ggio->gctl_modify & GG_MODIFY_READOFFSET) != 0) { + if (cp == NULL) { + G_GATE_DEBUG(1, "No read provider."); + return (EINVAL); + } + pp = sc->sc_provider; + if ((ggio->gctl_readoffset % pp->sectorsize) != 0) { + G_GATE_DEBUG(1, "Invalid read offset."); + return (EINVAL); + } + if (pp->mediasize + ggio->gctl_readoffset > + cp->provider->mediasize) { + G_GATE_DEBUG(1, "Invalid read offset or media size."); + return (EINVAL); + } + sc->sc_readoffset = ggio->gctl_readoffset; + } + + if ((ggio->gctl_modify & GG_MODIFY_READPROV) != 0) { + sc->sc_readcons = cp; + g_topology_unlock(); + } + + return (0); } #define G_GATE_CHECK_VERSION(ggio) do { \ @@ -479,6 +716,18 @@ g_gate_ioctl(struct cdev *dev, u_long cm td->td_pflags &= ~TDP_GEOM; return (error); } + case G_GATE_CMD_MODIFY: + { + struct g_gate_ctl_modify *ggio = (void *)addr; + + G_GATE_CHECK_VERSION(ggio); + sc = g_gate_hold(ggio->gctl_unit, NULL); + if (sc == NULL) + return (ENXIO); + error = g_gate_modify(sc, ggio); + g_gate_release(sc); + return (error); + } case G_GATE_CMD_DESTROY: { struct g_gate_ctl_destroy *ggio = (void *)addr; Modified: stable/8/sys/geom/gate/g_gate.h ============================================================================== --- stable/8/sys/geom/gate/g_gate.h Sun Sep 9 08:15:49 2012 (r240265) +++ stable/8/sys/geom/gate/g_gate.h Sun Sep 9 08:21:06 2012 (r240266) @@ -41,7 +41,7 @@ #define G_GATE_MOD_NAME "ggate" #define G_GATE_CTL_NAME "ggctl" -#define G_GATE_VERSION 2 +#define G_GATE_VERSION 3 /* * Maximum number of request that can be stored in @@ -64,10 +64,11 @@ #define G_GATE_NAME_GIVEN (-2) #define G_GATE_CMD_CREATE _IOWR('m', 0, struct g_gate_ctl_create) -#define G_GATE_CMD_DESTROY _IOWR('m', 1, struct g_gate_ctl_destroy) -#define G_GATE_CMD_CANCEL _IOWR('m', 2, struct g_gate_ctl_cancel) -#define G_GATE_CMD_START _IOWR('m', 3, struct g_gate_ctl_io) -#define G_GATE_CMD_DONE _IOWR('m', 4, struct g_gate_ctl_io) +#define G_GATE_CMD_MODIFY _IOWR('m', 1, struct g_gate_ctl_modify) +#define G_GATE_CMD_DESTROY _IOWR('m', 2, struct g_gate_ctl_destroy) +#define G_GATE_CMD_CANCEL _IOWR('m', 3, struct g_gate_ctl_cancel) +#define G_GATE_CMD_START _IOWR('m', 4, struct g_gate_ctl_io) +#define G_GATE_CMD_DONE _IOWR('m', 5, struct g_gate_ctl_io) #define G_GATE_INFOSIZE 2048 @@ -88,6 +89,8 @@ struct g_gate_softc { uint32_t sc_queue_count; /* P: sc_queue_mtx */ uint32_t sc_queue_size; /* P: (read-only) */ u_int sc_timeout; /* P: (read-only) */ + struct g_consumer *sc_readcons; /* P: XXX */ + off_t sc_readoffset; /* P: XXX */ struct callout sc_callout; /* P: (modified only from callout thread) */ @@ -131,9 +134,25 @@ struct g_gate_ctl_create { u_int gctl_timeout; char gctl_name[NAME_MAX]; char gctl_info[G_GATE_INFOSIZE]; + char gctl_readprov[NAME_MAX]; + off_t gctl_readoffset; int gctl_unit; /* in/out */ }; +#define GG_MODIFY_MEDIASIZE 0x01 +#define GG_MODIFY_INFO 0x02 +#define GG_MODIFY_READPROV 0x04 +#define GG_MODIFY_READOFFSET 0x08 +struct g_gate_ctl_modify { + u_int gctl_version; + int gctl_unit; + uint32_t gctl_modify; + off_t gctl_mediasize; + char gctl_info[G_GATE_INFOSIZE]; + char gctl_readprov[NAME_MAX]; + off_t gctl_readoffset; +}; + struct g_gate_ctl_destroy { u_int gctl_version; int gctl_unit; From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 08:28:18 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0CE6A106566B; Sun, 9 Sep 2012 08:28:18 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EAF798FC08; Sun, 9 Sep 2012 08:28:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q898SHbK033992; Sun, 9 Sep 2012 08:28:17 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q898SHCP033990; Sun, 9 Sep 2012 08:28:17 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201209090828.q898SHCP033990@svn.freebsd.org> From: Mikolaj Golub Date: Sun, 9 Sep 2012 08:28:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240267 - stable/9/sys/geom X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 08:28:18 -0000 Author: trociny Date: Sun Sep 9 08:28:17 2012 New Revision: 240267 URL: http://svn.freebsd.org/changeset/base/240267 Log: MFC r239987 (pjd): Allow to pass providers with /dev/ prefix to g_provider_by_name(). Modified: stable/9/sys/geom/geom_subr.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/geom/geom_subr.c ============================================================================== --- stable/9/sys/geom/geom_subr.c Sun Sep 9 08:21:06 2012 (r240266) +++ stable/9/sys/geom/geom_subr.c Sun Sep 9 08:28:17 2012 (r240267) @@ -601,6 +601,10 @@ g_error_provider(struct g_provider *pp, pp->error = error; } +#ifndef _PATH_DEV +#define _PATH_DEV "/dev/" +#endif + struct g_provider * g_provider_by_name(char const *arg) { @@ -608,6 +612,9 @@ g_provider_by_name(char const *arg) struct g_geom *gp; struct g_provider *pp; + if (strncmp(arg, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) + arg += sizeof(_PATH_DEV) - 1; + LIST_FOREACH(cp, &g_classes, class) { LIST_FOREACH(gp, &cp->geom, geom) { LIST_FOREACH(pp, &gp->provider, provider) { @@ -616,6 +623,7 @@ g_provider_by_name(char const *arg) } } } + return (NULL); } From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 08:30:23 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 22020106564A; Sun, 9 Sep 2012 08:30:23 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0CFFD8FC15; Sun, 9 Sep 2012 08:30:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q898UMW2034321; Sun, 9 Sep 2012 08:30:22 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q898UMDV034318; Sun, 9 Sep 2012 08:30:22 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201209090830.q898UMDV034318@svn.freebsd.org> From: Mikolaj Golub Date: Sun, 9 Sep 2012 08:30:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240268 - stable/8/sys/geom X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 08:30:23 -0000 Author: trociny Date: Sun Sep 9 08:30:22 2012 New Revision: 240268 URL: http://svn.freebsd.org/changeset/base/240268 Log: MFC r239987 (pjd): Allow to pass providers with /dev/ prefix to g_provider_by_name(). Modified: stable/8/sys/geom/geom_subr.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/geom/ (props changed) Modified: stable/8/sys/geom/geom_subr.c ============================================================================== --- stable/8/sys/geom/geom_subr.c Sun Sep 9 08:28:17 2012 (r240267) +++ stable/8/sys/geom/geom_subr.c Sun Sep 9 08:30:22 2012 (r240268) @@ -599,6 +599,10 @@ g_error_provider(struct g_provider *pp, pp->error = error; } +#ifndef _PATH_DEV +#define _PATH_DEV "/dev/" +#endif + struct g_provider * g_provider_by_name(char const *arg) { @@ -606,6 +610,9 @@ g_provider_by_name(char const *arg) struct g_geom *gp; struct g_provider *pp; + if (strncmp(arg, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0) + arg += sizeof(_PATH_DEV) - 1; + LIST_FOREACH(cp, &g_classes, class) { LIST_FOREACH(gp, &cp->geom, geom) { LIST_FOREACH(pp, &gp->provider, provider) { @@ -614,6 +621,7 @@ g_provider_by_name(char const *arg) } } } + return (NULL); } From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 08:39:42 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1EF9B106566B; Sun, 9 Sep 2012 08:39:42 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 083E18FC14; Sun, 9 Sep 2012 08:39:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q898dfIh035734; Sun, 9 Sep 2012 08:39:41 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q898dfqt035730; Sun, 9 Sep 2012 08:39:41 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201209090839.q898dfqt035730@svn.freebsd.org> From: Mikolaj Golub Date: Sun, 9 Sep 2012 08:39:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240269 - stable/9/sbin/hastd X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 08:39:42 -0000 Author: trociny Date: Sun Sep 9 08:39:41 2012 New Revision: 240269 URL: http://svn.freebsd.org/changeset/base/240269 Log: MFC r236507, r237931, r238120, r238538: r236507 (pjd): Simplify the code by using snprlcat(). r237931 (pjd): Check if there is cmsg at all. r238120 (pjd): Make use of GEOM Gate direct reads feature. This allows HAST to serve reads with native speed of the underlying provider. There are three situations when direct reads are not used: 1. Data is being synchronized and synchronization source is the secondary node, which means secondary node has more recent data and we should read from it. 2. Local read failed and we have to try to read from the secondary node. 3. Local component is unavailable and all I/O requests are served from the secondary node. Sponsored by: Panzura, http://www.panzura.com r238538: Metaflush on/off values don't need quotes. Reviewed by: pjd Modified: stable/9/sbin/hastd/hast.conf.5 stable/9/sbin/hastd/primary.c stable/9/sbin/hastd/proto_common.c Directory Properties: stable/9/sbin/hastd/ (props changed) Modified: stable/9/sbin/hastd/hast.conf.5 ============================================================================== --- stable/9/sbin/hastd/hast.conf.5 Sun Sep 9 08:30:22 2012 (r240268) +++ stable/9/sbin/hastd/hast.conf.5 Sun Sep 9 08:39:41 2012 (r240269) @@ -63,7 +63,7 @@ checksum compression timeout exec -metaflush "on" | "off" +metaflush on | off pidfile on { @@ -89,14 +89,14 @@ resource { local timeout exec - metaflush "on" | "off" + metaflush on | off on { # Resource-node section name # Required local - metaflush "on" | "off" + metaflush on | off # Required remote source @@ -106,7 +106,7 @@ resource { name # Required local - metaflush "on" | "off" + metaflush on | off # Required remote source Modified: stable/9/sbin/hastd/primary.c ============================================================================== --- stable/9/sbin/hastd/primary.c Sun Sep 9 08:30:22 2012 (r240268) +++ stable/9/sbin/hastd/primary.c Sun Sep 9 08:39:41 2012 (r240269) @@ -543,6 +543,27 @@ primary_connect(struct hast_resource *re return (0); } + +/* + * Function instructs GEOM_GATE to handle reads directly from within the kernel. + */ +static void +enable_direct_reads(struct hast_resource *res) +{ + struct g_gate_ctl_modify ggiomodify; + + bzero(&ggiomodify, sizeof(ggiomodify)); + ggiomodify.gctl_version = G_GATE_VERSION; + ggiomodify.gctl_unit = res->hr_ggateunit; + ggiomodify.gctl_modify = GG_MODIFY_READPROV | GG_MODIFY_READOFFSET; + strlcpy(ggiomodify.gctl_readprov, res->hr_localpath, + sizeof(ggiomodify.gctl_readprov)); + ggiomodify.gctl_readoffset = res->hr_localoff; + if (ioctl(res->hr_ggatefd, G_GATE_CMD_MODIFY, &ggiomodify) == 0) + pjdlog_debug(1, "Direct reads enabled."); + else + pjdlog_errno(LOG_WARNING, "Failed to enable direct reads"); +} static int init_remote(struct hast_resource *res, struct proto_conn **inp, @@ -692,6 +713,8 @@ init_remote(struct hast_resource *res, s res->hr_secondary_localcnt = nv_get_uint64(nvin, "localcnt"); res->hr_secondary_remotecnt = nv_get_uint64(nvin, "remotecnt"); res->hr_syncsrc = nv_get_uint8(nvin, "syncsrc"); + if (res->hr_syncsrc == HAST_SYNCSRC_PRIMARY) + enable_direct_reads(res); if (nv_exists(nvin, "virgin")) { /* * Secondary was reinitialized, bump localcnt if it is 0 as @@ -990,36 +1013,33 @@ reqlog(int loglevel, int debuglevel, str { char msg[1024]; va_list ap; - int len; va_start(ap, fmt); - len = vsnprintf(msg, sizeof(msg), fmt, ap); + (void)vsnprintf(msg, sizeof(msg), fmt, ap); va_end(ap); - if ((size_t)len < sizeof(msg)) { - switch (ggio->gctl_cmd) { - case BIO_READ: - (void)snprintf(msg + len, sizeof(msg) - len, - "READ(%ju, %ju).", (uintmax_t)ggio->gctl_offset, - (uintmax_t)ggio->gctl_length); - break; - case BIO_DELETE: - (void)snprintf(msg + len, sizeof(msg) - len, - "DELETE(%ju, %ju).", (uintmax_t)ggio->gctl_offset, - (uintmax_t)ggio->gctl_length); - break; - case BIO_FLUSH: - (void)snprintf(msg + len, sizeof(msg) - len, "FLUSH."); - break; - case BIO_WRITE: - (void)snprintf(msg + len, sizeof(msg) - len, - "WRITE(%ju, %ju).", (uintmax_t)ggio->gctl_offset, - (uintmax_t)ggio->gctl_length); - break; - default: - (void)snprintf(msg + len, sizeof(msg) - len, - "UNKNOWN(%u).", (unsigned int)ggio->gctl_cmd); - break; - } + switch (ggio->gctl_cmd) { + case BIO_READ: + (void)snprlcat(msg, sizeof(msg), "READ(%ju, %ju).", + (uintmax_t)ggio->gctl_offset, + (uintmax_t)ggio->gctl_length); + break; + case BIO_DELETE: + (void)snprlcat(msg, sizeof(msg), "DELETE(%ju, %ju).", + (uintmax_t)ggio->gctl_offset, + (uintmax_t)ggio->gctl_length); + break; + case BIO_FLUSH: + (void)snprlcat(msg, sizeof(msg), "FLUSH."); + break; + case BIO_WRITE: + (void)snprlcat(msg, sizeof(msg), "WRITE(%ju, %ju).", + (uintmax_t)ggio->gctl_offset, + (uintmax_t)ggio->gctl_length); + break; + default: + (void)snprlcat(msg, sizeof(msg), "UNKNOWN(%u).", + (unsigned int)ggio->gctl_cmd); + break; } pjdlog_common(loglevel, debuglevel, -1, "%s", msg); } @@ -1792,13 +1812,14 @@ sync_thread(void *arg __unused) struct timeval tstart, tend, tdiff; unsigned int ii, ncomp, ncomps; off_t offset, length, synced; - bool dorewind; + bool dorewind, directreads; int syncext; ncomps = HAST_NCOMPONENTS; dorewind = true; synced = 0; offset = -1; + directreads = false; for (;;) { mtx_lock(&sync_lock); @@ -1870,6 +1891,8 @@ sync_thread(void *arg __unused) event_send(res, EVENT_SYNCDONE); } mtx_lock(&metadata_lock); + if (res->hr_syncsrc == HAST_SYNCSRC_SECONDARY) + directreads = true; res->hr_syncsrc = HAST_SYNCSRC_UNDEF; res->hr_primary_localcnt = res->hr_secondary_remotecnt; @@ -1883,6 +1906,10 @@ sync_thread(void *arg __unused) mtx_unlock(&metadata_lock); } rw_unlock(&hio_remote_lock[ncomp]); + if (directreads) { + directreads = false; + enable_direct_reads(res); + } continue; } pjdlog_debug(2, "sync: Taking free request."); Modified: stable/9/sbin/hastd/proto_common.c ============================================================================== --- stable/9/sbin/hastd/proto_common.c Sun Sep 9 08:30:22 2012 (r240268) +++ stable/9/sbin/hastd/proto_common.c Sun Sep 9 08:39:41 2012 (r240269) @@ -181,7 +181,7 @@ proto_descriptor_recv(int sock, int *fdp return (errno); cmsg = CMSG_FIRSTHDR(&msg); - if (cmsg->cmsg_level != SOL_SOCKET || + if (cmsg == NULL || cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_RIGHTS) { return (EINVAL); } From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 08:40:44 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C57BD1065670; Sun, 9 Sep 2012 08:40:44 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AF7C08FC1F; Sun, 9 Sep 2012 08:40:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q898eiWB035941; Sun, 9 Sep 2012 08:40:44 GMT (envelope-from trociny@svn.freebsd.org) Received: (from trociny@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q898eike035937; Sun, 9 Sep 2012 08:40:44 GMT (envelope-from trociny@svn.freebsd.org) Message-Id: <201209090840.q898eike035937@svn.freebsd.org> From: Mikolaj Golub Date: Sun, 9 Sep 2012 08:40:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240270 - stable/8/sbin/hastd X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 08:40:44 -0000 Author: trociny Date: Sun Sep 9 08:40:44 2012 New Revision: 240270 URL: http://svn.freebsd.org/changeset/base/240270 Log: MFC r236507, r237931, r238120, r238538: r236507 (pjd): Simplify the code by using snprlcat(). r237931 (pjd): Check if there is cmsg at all. r238120 (pjd): Make use of GEOM Gate direct reads feature. This allows HAST to serve reads with native speed of the underlying provider. There are three situations when direct reads are not used: 1. Data is being synchronized and synchronization source is the secondary node, which means secondary node has more recent data and we should read from it. 2. Local read failed and we have to try to read from the secondary node. 3. Local component is unavailable and all I/O requests are served from the secondary node. Sponsored by: Panzura, http://www.panzura.com r238538: Metaflush on/off values don't need quotes. Reviewed by: pjd Modified: stable/8/sbin/hastd/hast.conf.5 stable/8/sbin/hastd/primary.c stable/8/sbin/hastd/proto_common.c Directory Properties: stable/8/sbin/hastd/ (props changed) Modified: stable/8/sbin/hastd/hast.conf.5 ============================================================================== --- stable/8/sbin/hastd/hast.conf.5 Sun Sep 9 08:39:41 2012 (r240269) +++ stable/8/sbin/hastd/hast.conf.5 Sun Sep 9 08:40:44 2012 (r240270) @@ -63,7 +63,7 @@ checksum compression timeout exec -metaflush "on" | "off" +metaflush on | off pidfile on { @@ -89,14 +89,14 @@ resource { local timeout exec - metaflush "on" | "off" + metaflush on | off on { # Resource-node section name # Required local - metaflush "on" | "off" + metaflush on | off # Required remote source @@ -106,7 +106,7 @@ resource { name # Required local - metaflush "on" | "off" + metaflush on | off # Required remote source Modified: stable/8/sbin/hastd/primary.c ============================================================================== --- stable/8/sbin/hastd/primary.c Sun Sep 9 08:39:41 2012 (r240269) +++ stable/8/sbin/hastd/primary.c Sun Sep 9 08:40:44 2012 (r240270) @@ -543,6 +543,27 @@ primary_connect(struct hast_resource *re return (0); } + +/* + * Function instructs GEOM_GATE to handle reads directly from within the kernel. + */ +static void +enable_direct_reads(struct hast_resource *res) +{ + struct g_gate_ctl_modify ggiomodify; + + bzero(&ggiomodify, sizeof(ggiomodify)); + ggiomodify.gctl_version = G_GATE_VERSION; + ggiomodify.gctl_unit = res->hr_ggateunit; + ggiomodify.gctl_modify = GG_MODIFY_READPROV | GG_MODIFY_READOFFSET; + strlcpy(ggiomodify.gctl_readprov, res->hr_localpath, + sizeof(ggiomodify.gctl_readprov)); + ggiomodify.gctl_readoffset = res->hr_localoff; + if (ioctl(res->hr_ggatefd, G_GATE_CMD_MODIFY, &ggiomodify) == 0) + pjdlog_debug(1, "Direct reads enabled."); + else + pjdlog_errno(LOG_WARNING, "Failed to enable direct reads"); +} static int init_remote(struct hast_resource *res, struct proto_conn **inp, @@ -692,6 +713,8 @@ init_remote(struct hast_resource *res, s res->hr_secondary_localcnt = nv_get_uint64(nvin, "localcnt"); res->hr_secondary_remotecnt = nv_get_uint64(nvin, "remotecnt"); res->hr_syncsrc = nv_get_uint8(nvin, "syncsrc"); + if (res->hr_syncsrc == HAST_SYNCSRC_PRIMARY) + enable_direct_reads(res); if (nv_exists(nvin, "virgin")) { /* * Secondary was reinitialized, bump localcnt if it is 0 as @@ -990,36 +1013,33 @@ reqlog(int loglevel, int debuglevel, str { char msg[1024]; va_list ap; - int len; va_start(ap, fmt); - len = vsnprintf(msg, sizeof(msg), fmt, ap); + (void)vsnprintf(msg, sizeof(msg), fmt, ap); va_end(ap); - if ((size_t)len < sizeof(msg)) { - switch (ggio->gctl_cmd) { - case BIO_READ: - (void)snprintf(msg + len, sizeof(msg) - len, - "READ(%ju, %ju).", (uintmax_t)ggio->gctl_offset, - (uintmax_t)ggio->gctl_length); - break; - case BIO_DELETE: - (void)snprintf(msg + len, sizeof(msg) - len, - "DELETE(%ju, %ju).", (uintmax_t)ggio->gctl_offset, - (uintmax_t)ggio->gctl_length); - break; - case BIO_FLUSH: - (void)snprintf(msg + len, sizeof(msg) - len, "FLUSH."); - break; - case BIO_WRITE: - (void)snprintf(msg + len, sizeof(msg) - len, - "WRITE(%ju, %ju).", (uintmax_t)ggio->gctl_offset, - (uintmax_t)ggio->gctl_length); - break; - default: - (void)snprintf(msg + len, sizeof(msg) - len, - "UNKNOWN(%u).", (unsigned int)ggio->gctl_cmd); - break; - } + switch (ggio->gctl_cmd) { + case BIO_READ: + (void)snprlcat(msg, sizeof(msg), "READ(%ju, %ju).", + (uintmax_t)ggio->gctl_offset, + (uintmax_t)ggio->gctl_length); + break; + case BIO_DELETE: + (void)snprlcat(msg, sizeof(msg), "DELETE(%ju, %ju).", + (uintmax_t)ggio->gctl_offset, + (uintmax_t)ggio->gctl_length); + break; + case BIO_FLUSH: + (void)snprlcat(msg, sizeof(msg), "FLUSH."); + break; + case BIO_WRITE: + (void)snprlcat(msg, sizeof(msg), "WRITE(%ju, %ju).", + (uintmax_t)ggio->gctl_offset, + (uintmax_t)ggio->gctl_length); + break; + default: + (void)snprlcat(msg, sizeof(msg), "UNKNOWN(%u).", + (unsigned int)ggio->gctl_cmd); + break; } pjdlog_common(loglevel, debuglevel, -1, "%s", msg); } @@ -1792,13 +1812,14 @@ sync_thread(void *arg __unused) struct timeval tstart, tend, tdiff; unsigned int ii, ncomp, ncomps; off_t offset, length, synced; - bool dorewind; + bool dorewind, directreads; int syncext; ncomps = HAST_NCOMPONENTS; dorewind = true; synced = 0; offset = -1; + directreads = false; for (;;) { mtx_lock(&sync_lock); @@ -1870,6 +1891,8 @@ sync_thread(void *arg __unused) event_send(res, EVENT_SYNCDONE); } mtx_lock(&metadata_lock); + if (res->hr_syncsrc == HAST_SYNCSRC_SECONDARY) + directreads = true; res->hr_syncsrc = HAST_SYNCSRC_UNDEF; res->hr_primary_localcnt = res->hr_secondary_remotecnt; @@ -1883,6 +1906,10 @@ sync_thread(void *arg __unused) mtx_unlock(&metadata_lock); } rw_unlock(&hio_remote_lock[ncomp]); + if (directreads) { + directreads = false; + enable_direct_reads(res); + } continue; } pjdlog_debug(2, "sync: Taking free request."); Modified: stable/8/sbin/hastd/proto_common.c ============================================================================== --- stable/8/sbin/hastd/proto_common.c Sun Sep 9 08:39:41 2012 (r240269) +++ stable/8/sbin/hastd/proto_common.c Sun Sep 9 08:40:44 2012 (r240270) @@ -181,7 +181,7 @@ proto_descriptor_recv(int sock, int *fdp return (errno); cmsg = CMSG_FIRSTHDR(&msg); - if (cmsg->cmsg_level != SOL_SOCKET || + if (cmsg == NULL || cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_RIGHTS) { return (EINVAL); } From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 20:13:12 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8325E1065672; Sun, 9 Sep 2012 20:13:12 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 339EC8FC0C; Sun, 9 Sep 2012 20:13:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q89KDCNP031395; Sun, 9 Sep 2012 20:13:12 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q89KDBP7031393; Sun, 9 Sep 2012 20:13:11 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201209092013.q89KDBP7031393@svn.freebsd.org> From: Adrian Chadd Date: Sun, 9 Sep 2012 20:13:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240287 - stable/9/sys/dev/pccbb X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 20:13:12 -0000 Author: adrian Date: Sun Sep 9 20:13:11 2012 New Revision: 240287 URL: http://svn.freebsd.org/changeset/base/240287 Log: MFC r238954 - Restore the PCI bridge configuration upon resume. This allows my TI1510 cardbus/PCI bridge to work after a suspend/resume, without having to unload/reload the cbb driver. PR: kern/170058 Modified: stable/9/sys/dev/pccbb/pccbb_pci.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/pccbb/pccbb_pci.c ============================================================================== --- stable/9/sys/dev/pccbb/pccbb_pci.c Sun Sep 9 20:00:00 2012 (r240286) +++ stable/9/sys/dev/pccbb/pccbb_pci.c Sun Sep 9 20:13:11 2012 (r240287) @@ -465,6 +465,11 @@ cbb_chipinit(struct cbb_softc *sc) if (pci_read_config(sc->dev, PCIR_LATTIMER, 1) < 0x20) pci_write_config(sc->dev, PCIR_LATTIMER, 0x20, 1); + /* Restore bus configuration */ + pci_write_config(sc->dev, PCIR_PRIBUS_2, sc->pribus, 1); + pci_write_config(sc->dev, PCIR_SECBUS_2, sc->secbus, 1); + pci_write_config(sc->dev, PCIR_SUBBUS_2, sc->subbus, 1); + /* Enable memory access */ PCI_MASK_CONFIG(sc->dev, PCIR_COMMAND, | PCIM_CMD_MEMEN From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 22:09:31 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 182441065673; Sun, 9 Sep 2012 22:09:31 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0400C8FC0A; Sun, 9 Sep 2012 22:09:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q89M9U1o045397; Sun, 9 Sep 2012 22:09:30 GMT (envelope-from bapt@svn.freebsd.org) Received: (from bapt@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q89M9UTp045395; Sun, 9 Sep 2012 22:09:30 GMT (envelope-from bapt@svn.freebsd.org) Message-Id: <201209092209.q89M9UTp045395@svn.freebsd.org> From: Baptiste Daroussin Date: Sun, 9 Sep 2012 22:09:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240290 - stable/9/usr.sbin/pkg X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 22:09:31 -0000 Author: bapt Date: Sun Sep 9 22:09:30 2012 New Revision: 240290 URL: http://svn.freebsd.org/changeset/base/240290 Log: MFC: r239663, r239664 change ALWAYS_ASSUME_YES to ASSUME_ALWAYS_YES for consistency with pkg(8) if not on a tty prompt about the missing pkg(8) but default on 'no' except if ASSUME_ALWAYS_YES is set Modified: stable/9/usr.sbin/pkg/pkg.c Directory Properties: stable/9/usr.sbin/pkg/ (props changed) Modified: stable/9/usr.sbin/pkg/pkg.c ============================================================================== --- stable/9/usr.sbin/pkg/pkg.c Sun Sep 9 21:00:45 2012 (r240289) +++ stable/9/usr.sbin/pkg/pkg.c Sun Sep 9 22:09:30 2012 (r240290) @@ -425,9 +425,11 @@ main(__unused int argc, char *argv[]) * not tty. Check the environment to see if user has answer * tucked in there already. */ - if (getenv("ALWAYS_ASSUME_YES") == NULL && - isatty(fileno(stdin))) { + if (getenv("ASSUME_ALWAYS_YES") == NULL) { printf("%s", confirmation_message); + if (!isatty(fileno(stdin))) + exit(EXIT_FAILURE); + if (pkg_query_yes_no() == 0) exit(EXIT_FAILURE); } From owner-svn-src-stable@FreeBSD.ORG Sun Sep 9 22:12:15 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BFEF8106566B; Sun, 9 Sep 2012 22:12:15 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AB09C8FC08; Sun, 9 Sep 2012 22:12:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q89MCFSS045795; Sun, 9 Sep 2012 22:12:15 GMT (envelope-from bapt@svn.freebsd.org) Received: (from bapt@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q89MCFu3045792; Sun, 9 Sep 2012 22:12:15 GMT (envelope-from bapt@svn.freebsd.org) Message-Id: <201209092212.q89MCFu3045792@svn.freebsd.org> From: Baptiste Daroussin Date: Sun, 9 Sep 2012 22:12:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240291 - stable/8/usr.sbin/pkg X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 09 Sep 2012 22:12:15 -0000 Author: bapt Date: Sun Sep 9 22:12:15 2012 New Revision: 240291 URL: http://svn.freebsd.org/changeset/base/240291 Log: MFC: r239663, r239664 change ALWAYS_ASSUME_YES to ASSUME_ALWAYS_YES for consistency with pkg(8) if not on a tty prompt about the missing pkg(8) but default on 'no' except if ASSUME_ALWAYS_YES is set Modified: stable/8/usr.sbin/pkg/pkg.c Directory Properties: stable/8/usr.sbin/pkg/ (props changed) Modified: stable/8/usr.sbin/pkg/pkg.c ============================================================================== --- stable/8/usr.sbin/pkg/pkg.c Sun Sep 9 22:09:30 2012 (r240290) +++ stable/8/usr.sbin/pkg/pkg.c Sun Sep 9 22:12:15 2012 (r240291) @@ -425,9 +425,11 @@ main(__unused int argc, char *argv[]) * not tty. Check the environment to see if user has answer * tucked in there already. */ - if (getenv("ALWAYS_ASSUME_YES") == NULL && - isatty(fileno(stdin))) { + if (getenv("ASSUME_ALWAYS_YES") == NULL) { printf("%s", confirmation_message); + if (!isatty(fileno(stdin))) + exit(EXIT_FAILURE); + if (pkg_query_yes_no() == 0) exit(EXIT_FAILURE); } From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 00:26:19 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx2.freebsd.org (mx2.freebsd.org [69.147.83.53]) by hub.freebsd.org (Postfix) with ESMTP id F240E106564A; Mon, 10 Sep 2012 00:26:18 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from [127.0.0.1] (hub.freebsd.org [IPv6:2001:4f8:fff6::36]) by mx2.freebsd.org (Postfix) with ESMTP id BB20C14D99E; Mon, 10 Sep 2012 00:26:18 +0000 (UTC) Message-ID: <504D33AA.8010707@FreeBSD.org> Date: Sun, 09 Sep 2012 17:26:18 -0700 From: Doug Barton Organization: http://www.FreeBSD.org/ User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:15.0) Gecko/20120824 Thunderbird/15.0 MIME-Version: 1.0 To: Eitan Adler References: <201209080241.q882foC1005948@svn.freebsd.org> <504B9AC3.2070705@FreeBSD.org> <504B9E4C.6030301@FreeBSD.org> In-Reply-To: X-Enigmail-Version: 1.4.4 OpenPGP: id=1A1ABC84 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Martin Matuska , svn-src-stable-9@freebsd.org Subject: Re: svn commit: r240225 - stable/9/sys/cddl/compat/opensolaris/sys X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 00:26:19 -0000 On 9/8/2012 12:39 PM, Eitan Adler wrote: > On 8 September 2012 15:36, Doug Barton wrote: >> On 09/08/2012 12:21, Martin Matuska wrote: >>> This commit is missing the PR number >> >> It's actually pretty common to summarize the commit message in an MFC, >> rather than reproducing it verbatim. > > The PR number is still important in order for dfilter to act > correctly. While reasonable minds can differ on this topic, I regard that as a reason _not_ to include the PR number in merges. IMO it's far better to have one line "MFCs complete" than it is to repeat the same commit message verbatim in GNATS N times. Doug -- I am only one, but I am one. I cannot do everything, but I can do something. And I will not let what I cannot do interfere with what I can do. -- Edward Everett Hale, (1822 - 1909) From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 02:42:23 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ABD481065677 for ; Mon, 10 Sep 2012 02:42:23 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: from mail-vb0-f54.google.com (mail-vb0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 518BD8FC16 for ; Mon, 10 Sep 2012 02:42:22 +0000 (UTC) Received: by vbmv11 with SMTP id v11so2603307vbm.13 for ; Sun, 09 Sep 2012 19:42:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=hincm5j3vJMEI6Ue89YfbqQi2nmyrE+hufuMFCgMI2w=; b=ORC9PKGcF29r02zMqUtp9sos0HMBLIfFfqXW0NR4tfDfT0Q9p2hjIS63S9fTPTW/aT TfrOgDDH7DDSQAw1mG/GAHCK37tVR1U4ocLgVK6pCSNG4PBE9PwymfPNNjip3gD8wSGD lVUAjIZES1wr9Y5bmh8INWKilm7nRs5sVwikk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :x-gm-message-state; bh=hincm5j3vJMEI6Ue89YfbqQi2nmyrE+hufuMFCgMI2w=; b=jLBXgtvMpysOQqJUlm4kO3yhbdvLCMpwj3FvH0RTc7eJRcfa0BMOi+e6rErbMUD+Lq dFc4q5vWxWN+4ay2XgfO8yU/3lk8/Dw4ZflA4hbmlNFyMvBA0gCE9Oo4VbqrELJp2PjF ENYKQ959hv70YIsXdBttVnsAxAakcX8MNhSroq2ZBPdA7PWV4Le2Vtv99XUBsOIPy54U kFI3jkXdyoiENYw2/YMntpD+Cw+Yzwls6v+HPOUyeNvGhQbA1yhGrCJaeojd68TeayM0 JTpHTFdiv95A4cKumA8SsuCfZSAIaLpIxfGtcHZ3kdTvn4unii4ZpxRCmhZdylE7J1Hm 22NA== Received: by 10.52.72.193 with SMTP id f1mr3103304vdv.46.1347244942285; Sun, 09 Sep 2012 19:42:22 -0700 (PDT) MIME-Version: 1.0 Sender: lists@eitanadler.com Received: by 10.58.190.227 with HTTP; Sun, 9 Sep 2012 19:41:52 -0700 (PDT) In-Reply-To: <504D33AA.8010707@FreeBSD.org> References: <201209080241.q882foC1005948@svn.freebsd.org> <504B9AC3.2070705@FreeBSD.org> <504B9E4C.6030301@FreeBSD.org> <504D33AA.8010707@FreeBSD.org> From: Eitan Adler Date: Sun, 9 Sep 2012 22:41:52 -0400 X-Google-Sender-Auth: k4CgfyUXHkdQ31i3ehtFN2oK0TA Message-ID: To: Doug Barton Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQlAn6CpedgTO47sbOJUCX41EG/eTZombh1AkdjLZuoSkYwkDK6AFBbbe12e5plf4bet1+Lh Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Martin Matuska , svn-src-stable-9@freebsd.org Subject: Re: svn commit: r240225 - stable/9/sys/cddl/compat/opensolaris/sys X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 02:42:23 -0000 On 9 September 2012 20:26, Doug Barton wrote: > While reasonable minds can differ on this topic, I regard that as a > reason _not_ to include the PR number in merges. IMO it's far better to > have one line "MFCs complete" than it is to repeat the same commit > message verbatim in GNATS N times. It is helpful to me when people forget to close the PR. It is also helpful when tracking down a bug that was fixed in some versions and not others. This is especially annoying when a fix was for example, MFCed to 7 and 8, but not 9. This happens more than you would think. :) -- Eitan Adler Source & Ports committer X11, Bugbusting teams From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 11:38:03 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 357BA106564A; Mon, 10 Sep 2012 11:38:03 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1DCB38FC14; Mon, 10 Sep 2012 11:38:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8ABc3Bx046320; Mon, 10 Sep 2012 11:38:03 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8ABc2Up046308; Mon, 10 Sep 2012 11:38:02 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201209101138.q8ABc2Up046308@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 10 Sep 2012 11:38:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240305 - in stable/9/sys: net netinet netinet6 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 11:38:03 -0000 Author: glebius Date: Mon Sep 10 11:38:02 2012 New Revision: 240305 URL: http://svn.freebsd.org/changeset/base/240305 Log: Merge r238002, r238016, r238092 from head: r238002 by tuexen@: Remove dead code (on FreeBSD) as suggested by glebius@. r238016: Remove route caching from IP multicast routing code. There is no reason to do that, and also, cached route never got unreferenced, which meant a reference leak. Reviewed by: bms r238092: When ip_output()/ip6_output() is supplied a struct route *ro argument, it skips FLOWTABLE lookup. However, the non-NULL ro has dual meaning here: it may be supplied to provide route, and it may be supplied to store and return to caller the route that ip_output()/ip6_output() finds. In the latter case skipping FLOWTABLE lookup is pessimisation. The difference between struct route filled by FLOWTABLE and filled by rtalloc() family is that the former doesn't hold a reference on its rtentry. Reference is hold by flow entry, and it is about to be released in future. Thus, route filled by FLOWTABLE shouldn't be passed to RTFREE() macro. - Introduce new flag for struct route/route_in6, that marks route not holding a reference on rtentry. - Introduce new macro RO_RTFREE() that cleans up a struct route depending on its kind. - All callers to ip_output()/ip6_output() that do supply non-NULL but empty route should use RO_RTFREE() to free results of lookup. - ip_output()/ip6_output() now do FLOWTABLE lookup always when ro->ro_rt == NULL. Modified: stable/9/sys/net/flowtable.c stable/9/sys/net/route.h stable/9/sys/netinet/ip_input.c stable/9/sys/netinet/ip_mroute.c stable/9/sys/netinet/ip_mroute.h stable/9/sys/netinet/ip_output.c stable/9/sys/netinet/sctp_output.c stable/9/sys/netinet6/ip6_mroute.c stable/9/sys/netinet6/ip6_mroute.h stable/9/sys/netinet6/ip6_output.c stable/9/sys/netinet6/nd6_nbr.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/net/flowtable.c ============================================================================== --- stable/9/sys/net/flowtable.c Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/net/flowtable.c Mon Sep 10 11:38:02 2012 (r240305) @@ -618,6 +618,7 @@ flow_to_route(struct flentry *fle, struc sin->sin_addr.s_addr = hashkey[2]; ro->ro_rt = __DEVOLATILE(struct rtentry *, fle->f_rt); ro->ro_lle = __DEVOLATILE(struct llentry *, fle->f_lle); + ro->ro_flags |= RT_NORTREF; } #endif /* INET */ @@ -825,7 +826,7 @@ flow_to_route_in6(struct flentry *fle, s memcpy(&sin6->sin6_addr, &hashkey[5], sizeof (struct in6_addr)); ro->ro_rt = __DEVOLATILE(struct rtentry *, fle->f_rt); ro->ro_lle = __DEVOLATILE(struct llentry *, fle->f_lle); - + ro->ro_flags |= RT_NORTREF; } #endif /* INET6 */ Modified: stable/9/sys/net/route.h ============================================================================== --- stable/9/sys/net/route.h Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/net/route.h Mon Sep 10 11:38:02 2012 (r240305) @@ -54,7 +54,8 @@ struct route { struct sockaddr ro_dst; }; -#define RT_CACHING_CONTEXT 0x1 +#define RT_CACHING_CONTEXT 0x1 /* XXX: not used anywhere */ +#define RT_NORTREF 0x2 /* doesn't hold reference on ro_rt */ /* * These numbers are used by reliable protocols for determining @@ -341,6 +342,18 @@ struct rt_addrinfo { RTFREE_LOCKED(_rt); \ } while (0) +#define RO_RTFREE(_ro) do { \ + if ((_ro)->ro_rt) { \ + if ((_ro)->ro_flags & RT_NORTREF) { \ + (_ro)->ro_flags &= ~RT_NORTREF; \ + (_ro)->ro_rt = NULL; \ + } else { \ + RT_LOCK((_ro)->ro_rt); \ + RTFREE_LOCKED((_ro)->ro_rt); \ + } \ + } \ +} while (0) + struct radix_node_head *rt_tables_get_rnh(int, int); struct ifmultiaddr; Modified: stable/9/sys/netinet/ip_input.c ============================================================================== --- stable/9/sys/netinet/ip_input.c Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/netinet/ip_input.c Mon Sep 10 11:38:02 2012 (r240305) @@ -1495,8 +1495,7 @@ ip_forward(struct mbuf *m, int srcrt) if (error == EMSGSIZE && ro.ro_rt) mtu = ro.ro_rt->rt_rmx.rmx_mtu; - if (ro.ro_rt) - RTFREE(ro.ro_rt); + RO_RTFREE(&ro); if (error) IPSTAT_INC(ips_cantforward); Modified: stable/9/sys/netinet/ip_mroute.c ============================================================================== --- stable/9/sys/netinet/ip_mroute.c Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/netinet/ip_mroute.c Mon Sep 10 11:38:02 2012 (r240305) @@ -924,7 +924,6 @@ add_vif(struct vifctl *vifcp) vifp->v_pkt_out = 0; vifp->v_bytes_in = 0; vifp->v_bytes_out = 0; - bzero(&vifp->v_route, sizeof(vifp->v_route)); /* Adjust numvifs up if the vifi is higher than numvifs */ if (V_numvifs <= vifcp->vifc_vifi) @@ -1702,7 +1701,7 @@ send_packet(struct vif *vifp, struct mbu * should get rejected because they appear to come from * the loopback interface, thus preventing looping. */ - error = ip_output(m, NULL, &vifp->v_route, IP_FORWARDING, &imo, NULL); + error = ip_output(m, NULL, NULL, IP_FORWARDING, &imo, NULL); CTR3(KTR_IPMF, "%s: vif %td err %d", __func__, (ptrdiff_t)(vifp - V_viftable), error); } Modified: stable/9/sys/netinet/ip_mroute.h ============================================================================== --- stable/9/sys/netinet/ip_mroute.h Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/netinet/ip_mroute.h Mon Sep 10 11:38:02 2012 (r240305) @@ -262,7 +262,6 @@ struct vif { u_long v_pkt_out; /* # pkts out on interface */ u_long v_bytes_in; /* # bytes in on interface */ u_long v_bytes_out; /* # bytes out on interface */ - struct route v_route; /* cached route */ }; #ifdef _KERNEL Modified: stable/9/sys/netinet/ip_output.c ============================================================================== --- stable/9/sys/netinet/ip_output.c Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/netinet/ip_output.c Mon Sep 10 11:38:02 2012 (r240305) @@ -105,6 +105,10 @@ extern struct protosw inetsw[]; * ip_len and ip_off are in host format. * The mbuf chain containing the packet will be freed. * The mbuf opt, if present, will not be freed. + * If route ro is present and has ro_rt initialized, route lookup would be + * skipped and ro->ro_rt would be used. If ro is present but ro->ro_rt is NULL, + * then result of route lookup is stored in ro->ro_rt. + * * In the IP forwarding case, the packet will arrive with options already * inserted, so must have a NULL opt pointer. */ @@ -119,7 +123,6 @@ ip_output(struct mbuf *m, struct mbuf *o int mtu; int n; /* scratchpad */ int error = 0; - int nortfree = 0; struct sockaddr_in *dst; struct in_ifaddr *ia; int isbroadcast, sw_csum; @@ -146,24 +149,23 @@ ip_output(struct mbuf *m, struct mbuf *o if (ro == NULL) { ro = &iproute; bzero(ro, sizeof (*ro)); + } #ifdef FLOWTABLE - { - struct flentry *fle; + if (ro->ro_rt == NULL) { + struct flentry *fle; - /* - * The flow table returns route entries valid for up to 30 - * seconds; we rely on the remainder of ip_output() taking no - * longer than that long for the stability of ro_rt. The - * flow ID assignment must have happened before this point. - */ - if ((fle = flowtable_lookup_mbuf(V_ip_ft, m, AF_INET)) != NULL) { - flow_to_route(fle, ro); - nortfree = 1; - } - } -#endif + /* + * The flow table returns route entries valid for up to 30 + * seconds; we rely on the remainder of ip_output() taking no + * longer than that long for the stability of ro_rt. The + * flow ID assignment must have happened before this point. + */ + fle = flowtable_lookup_mbuf(V_ip_ft, m, AF_INET); + if (fle != NULL) + flow_to_route(fle, ro); } +#endif if (opt) { int len = 0; @@ -210,10 +212,9 @@ again: !RT_LINK_IS_UP(rte->rt_ifp) || dst->sin_family != AF_INET || dst->sin_addr.s_addr != ip->ip_dst.s_addr)) { - if (!nortfree) - RTFREE(rte); - rte = ro->ro_rt = (struct rtentry *)NULL; - ro->ro_lle = (struct llentry *)NULL; + RO_RTFREE(ro); + ro->ro_lle = NULL; + rte = NULL; } #ifdef IPFIREWALL_FORWARD if (rte == NULL && fwd_tag == NULL) { @@ -678,9 +679,8 @@ passout: IPSTAT_INC(ips_fragmented); done: - if (ro == &iproute && ro->ro_rt && !nortfree) { - RTFREE(ro->ro_rt); - } + if (ro == &iproute) + RO_RTFREE(ro); if (ia != NULL) ifa_free(&ia->ia_ifa); return (error); Modified: stable/9/sys/netinet/sctp_output.c ============================================================================== --- stable/9/sys/netinet/sctp_output.c Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/netinet/sctp_output.c Mon Sep 10 11:38:02 2012 (r240305) @@ -4163,10 +4163,7 @@ sctp_lowlevel_chunk_output(struct sctp_i SCTPDBG(SCTP_DEBUG_OUTPUT3, "IP output returns %d\n", ret); if (net == NULL) { /* free tempy routes */ - if (ro->ro_rt) { - RTFREE(ro->ro_rt); - ro->ro_rt = NULL; - } + RO_RTFREE(ro); } else { /* * PMTU check versus smallest asoc MTU goes @@ -4520,9 +4517,7 @@ sctp_lowlevel_chunk_output(struct sctp_i } if (net == NULL) { /* Now if we had a temp route free it */ - if (ro->ro_rt) { - RTFREE(ro->ro_rt); - } + RO_RTFREE(ro); } else { /* * PMTU check versus smallest asoc MTU goes @@ -10902,7 +10897,6 @@ sctp_send_resp_msg(struct mbuf *m, struc int len, cause_len, padding_len, ret; #ifdef INET - sctp_route_t ro; struct ip *iph_out; #endif @@ -11066,8 +11060,6 @@ sctp_send_resp_msg(struct mbuf *m, struc SCTP_ATTACH_CHAIN(o_pak, mout, len); #ifdef INET if (iph_out != NULL) { - /* zap the stack pointer to the route */ - bzero(&ro, sizeof(sctp_route_t)); if (port) { if (V_udp_cksum) { udp->uh_sum = in_pseudo(iph_out->ip_src.s_addr, iph_out->ip_dst.s_addr, udp->uh_ulen + htons(IPPROTO_UDP)); @@ -11100,11 +11092,7 @@ sctp_send_resp_msg(struct mbuf *m, struc SCTP_STAT_INCR(sctps_sendhwcrc); #endif } - SCTP_IP_OUTPUT(ret, o_pak, &ro, NULL, vrf_id); - /* Free the route if we got one back */ - if (ro.ro_rt) { - RTFREE(ro.ro_rt); - } + SCTP_IP_OUTPUT(ret, o_pak, NULL, NULL, vrf_id); } #endif #ifdef INET6 Modified: stable/9/sys/netinet6/ip6_mroute.c ============================================================================== --- stable/9/sys/netinet6/ip6_mroute.c Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/netinet6/ip6_mroute.c Mon Sep 10 11:38:02 2012 (r240305) @@ -717,7 +717,6 @@ add_m6if(struct mif6ctl *mifcp) mifp->m6_pkt_out = 0; mifp->m6_bytes_in = 0; mifp->m6_bytes_out = 0; - bzero(&mifp->m6_route, sizeof(mifp->m6_route)); /* Adjust nummifs up if the mifi is higher than nummifs */ if (nummifs <= mifcp->mif6c_mifi) @@ -1576,11 +1575,8 @@ phyint_send(struct ip6_hdr *ip6, struct struct mbuf *mb_copy; struct ifnet *ifp = mifp->m6_ifp; int error = 0; - struct sockaddr_in6 *dst6; u_long linkmtu; - dst6 = &mifp->m6_route.ro_dst; - /* * Make a new reference to the packet; make sure that * the IPv6 header is actually copied, not just referenced, @@ -1610,8 +1606,8 @@ phyint_send(struct ip6_hdr *ip6, struct /* XXX: ip6_output will override ip6->ip6_hlim */ im6o.im6o_multicast_hlim = ip6->ip6_hlim; im6o.im6o_multicast_loop = 1; - error = ip6_output(mb_copy, NULL, &mifp->m6_route, - IPV6_FORWARDING, &im6o, NULL, NULL); + error = ip6_output(mb_copy, NULL, NULL, IPV6_FORWARDING, &im6o, + NULL, NULL); #ifdef MRT6DEBUG if (V_mrt6debug & DEBUG_XMIT) @@ -1626,10 +1622,13 @@ phyint_send(struct ip6_hdr *ip6, struct * loop back a copy now. */ if (in6_mcast_loop) { - dst6->sin6_len = sizeof(struct sockaddr_in6); - dst6->sin6_family = AF_INET6; - dst6->sin6_addr = ip6->ip6_dst; - ip6_mloopback(ifp, m, &mifp->m6_route.ro_dst); + struct sockaddr_in6 dst6; + + bzero(&dst6, sizeof(dst6)); + dst6.sin6_len = sizeof(struct sockaddr_in6); + dst6.sin6_family = AF_INET6; + dst6.sin6_addr = ip6->ip6_dst; + ip6_mloopback(ifp, m, &dst6); } /* @@ -1638,15 +1637,18 @@ phyint_send(struct ip6_hdr *ip6, struct */ linkmtu = IN6_LINKMTU(ifp); if (mb_copy->m_pkthdr.len <= linkmtu || linkmtu < IPV6_MMTU) { - dst6->sin6_len = sizeof(struct sockaddr_in6); - dst6->sin6_family = AF_INET6; - dst6->sin6_addr = ip6->ip6_dst; + struct sockaddr_in6 dst6; + + bzero(&dst6, sizeof(dst6)); + dst6.sin6_len = sizeof(struct sockaddr_in6); + dst6.sin6_family = AF_INET6; + dst6.sin6_addr = ip6->ip6_dst; /* * We just call if_output instead of nd6_output here, since * we need no ND for a multicast forwarded packet...right? */ error = (*ifp->if_output)(ifp, mb_copy, - (struct sockaddr *)&mifp->m6_route.ro_dst, NULL); + (struct sockaddr *)&dst6, NULL); #ifdef MRT6DEBUG if (V_mrt6debug & DEBUG_XMIT) log(LOG_DEBUG, "phyint_send on mif %d err %d\n", Modified: stable/9/sys/netinet6/ip6_mroute.h ============================================================================== --- stable/9/sys/netinet6/ip6_mroute.h Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/netinet6/ip6_mroute.h Mon Sep 10 11:38:02 2012 (r240305) @@ -212,7 +212,6 @@ struct mif6 { u_quad_t m6_pkt_out; /* # pkts out on interface */ u_quad_t m6_bytes_in; /* # bytes in on interface */ u_quad_t m6_bytes_out; /* # bytes out on interface */ - struct route_in6 m6_route; /* cached route */ #ifdef notyet u_int m6_rsvp_on; /* RSVP listening on this vif */ struct socket *m6_rsvpd; /* RSVP daemon socket */ Modified: stable/9/sys/netinet6/ip6_output.c ============================================================================== --- stable/9/sys/netinet6/ip6_output.c Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/netinet6/ip6_output.c Mon Sep 10 11:38:02 2012 (r240305) @@ -214,6 +214,9 @@ in6_delayed_cksum(struct mbuf *m, uint32 * This function may modify ver and hlim only. * The mbuf chain containing the packet will be freed. * The mbuf opt, if present, will not be freed. + * If route_in6 ro is present and has ro_rt initialized, route lookup would be + * skipped and ro->ro_rt would be used. If ro is present but ro->ro_rt is NULL, + * then result of route lookup is stored in ro->ro_rt. * * type of "mtu": rt_rmx.rmx_mtu is u_long, ifnet.ifr_mtu is int, and * nd_ifinfo.linkmtu is u_int32_t. so we use u_long to hold largest one, @@ -244,7 +247,6 @@ ip6_output(struct mbuf *m0, struct ip6_p struct in6_addr finaldst, src0, dst0; u_int32_t zone; struct route_in6 *ro_pmtu = NULL; - int flevalid = 0; int hdrsplit = 0; int needipsec = 0; int sw_csum, tso; @@ -521,7 +523,7 @@ skip_ipsec2:; ro = &opt->ip6po_route; dst = (struct sockaddr_in6 *)&ro->ro_dst; #ifdef FLOWTABLE - if (ro == &ip6route) { + if (ro->ro_rt == NULL) { struct flentry *fle; /* @@ -530,11 +532,9 @@ skip_ipsec2:; * longer than that long for the stability of ro_rt. The * flow ID assignment must have happened before this point. */ - if ((fle = flowtable_lookup_mbuf(V_ip6_ft, m, AF_INET6)) != NULL) { + fle = flowtable_lookup_mbuf(V_ip6_ft, m, AF_INET6); + if (fle != NULL) flow_to_route_in6(fle, ro); - if (ro->ro_rt != NULL && ro->ro_lle != NULL) - flevalid = 1; - } } #endif again: @@ -642,7 +642,7 @@ again: dst_sa.sin6_family = AF_INET6; dst_sa.sin6_len = sizeof(dst_sa); dst_sa.sin6_addr = ip6->ip6_dst; - if (flevalid) { + if (ro->ro_rt) { rt = ro->ro_rt; ifp = ro->ro_rt->rt_ifp; } else if ((error = in6_selectroute_fib(&dst_sa, opt, im6o, ro, @@ -1197,13 +1197,10 @@ sendorfree: V_ip6stat.ip6s_fragmented++; done: - if (ro == &ip6route && ro->ro_rt && flevalid == 0) { - /* brace necessary for RTFREE */ - RTFREE(ro->ro_rt); - } else if (ro_pmtu == &ip6route && ro_pmtu->ro_rt && - ((flevalid == 0) || (ro_pmtu != ro))) { - RTFREE(ro_pmtu->ro_rt); - } + if (ro == &ip6route) + RO_RTFREE(ro); + if (ro_pmtu == &ip6route) + RO_RTFREE(ro_pmtu); #ifdef IPSEC if (sp != NULL) KEY_FREESP(&sp); Modified: stable/9/sys/netinet6/nd6_nbr.c ============================================================================== --- stable/9/sys/netinet6/nd6_nbr.c Mon Sep 10 11:08:08 2012 (r240304) +++ stable/9/sys/netinet6/nd6_nbr.c Mon Sep 10 11:38:02 2012 (r240305) @@ -595,9 +595,9 @@ nd6_ns_output(struct ifnet *ifp, const s icmp6_ifstat_inc(ifp, ifs6_out_neighborsolicit); ICMP6STAT_INC(icp6s_outhist[ND_NEIGHBOR_SOLICIT]); - if (ro.ro_rt) { /* we don't cache this route. */ - RTFREE(ro.ro_rt); - } + /* We don't cache this route. */ + RO_RTFREE(&ro); + return; bad: @@ -1117,9 +1117,9 @@ nd6_na_output_fib(struct ifnet *ifp, con icmp6_ifstat_inc(ifp, ifs6_out_neighboradvert); ICMP6STAT_INC(icp6s_outhist[ND_NEIGHBOR_ADVERT]); - if (ro.ro_rt) { /* we don't cache this route. */ - RTFREE(ro.ro_rt); - } + /* We don't cache this route. */ + RO_RTFREE(&ro); + return; bad: From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 11:38:57 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0BBCA10657AB; Mon, 10 Sep 2012 11:38:56 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6605F8FC1D; Mon, 10 Sep 2012 11:38:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8ABcuVF046459; Mon, 10 Sep 2012 11:38:56 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8ABcu9O046456; Mon, 10 Sep 2012 11:38:56 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201209101138.q8ABcu9O046456@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 10 Sep 2012 11:38:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240306 - stable/9/share/man/man9 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 11:38:57 -0000 Author: glebius Date: Mon Sep 10 11:38:55 2012 New Revision: 240306 URL: http://svn.freebsd.org/changeset/base/240306 Log: Merge r238093: Document RO_RTFREE() macro. Modified: stable/9/share/man/man9/rtalloc.9 Directory Properties: stable/9/share/man/man9/ (props changed) Modified: stable/9/share/man/man9/rtalloc.9 ============================================================================== --- stable/9/share/man/man9/rtalloc.9 Mon Sep 10 11:38:02 2012 (r240305) +++ stable/9/share/man/man9/rtalloc.9 Mon Sep 10 11:38:55 2012 (r240306) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 14, 2011 +.Dd July 4, 2012 .Dt RTALLOC 9 .Os .Sh NAME @@ -52,6 +52,7 @@ .Fn RT_UNLOCK "struct rt_entry *rt" .Fn RT_ADDREF "struct rt_entry *rt" .Fn RT_REMREF "struct rt_entry *rt" +.Fn RO_RTFREE "struct route *ro" .Ft void .Fn rtfree "struct rt_entry *rt" .Ft "struct rtentry *" @@ -203,6 +204,14 @@ Its usage is contrary to .Fn RT_ADDREF . .Pp The +.Fn RO_RTFREE +macro is used to free route entry that is referenced by struct route. +At certain circumstances the latter may not hold a reference on rtentry, +and +.Fn RO_RTFREE +treats such routes correctly. +.Pp +The .Fn rtfree function does the actual free of the routing table entry, and shouldn't be called directly by facilities, that just perform routing table lookups. From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 11:43:29 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A144F106564A; Mon, 10 Sep 2012 11:43:29 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8C1E28FC12; Mon, 10 Sep 2012 11:43:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8ABhTe7047022; Mon, 10 Sep 2012 11:43:29 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8ABhTVY047020; Mon, 10 Sep 2012 11:43:29 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201209101143.q8ABhTVY047020@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 10 Sep 2012 11:43:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240307 - stable/9/sys/netinet X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 11:43:29 -0000 Author: glebius Date: Mon Sep 10 11:43:28 2012 New Revision: 240307 URL: http://svn.freebsd.org/changeset/base/240307 Log: Merge r238516 from head: If ip_output() returns EMSGSIZE to tcp_output(), then the latter calls tcp_mtudisc(), which in its turn may call tcp_output(). Under certain conditions (must admit they are very special) an infinite recursion can happen. To avoid recursion we can pass struct route to ip_output() and obtain correct mtu. This allows us not to use tcp_mtudisc() but call tcp_mss_update() directly. PR: kern/155585 Submitted by: zont Modified: stable/9/sys/netinet/tcp_output.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/netinet/tcp_output.c ============================================================================== --- stable/9/sys/netinet/tcp_output.c Mon Sep 10 11:38:55 2012 (r240306) +++ stable/9/sys/netinet/tcp_output.c Mon Sep 10 11:43:28 2012 (r240307) @@ -182,7 +182,7 @@ tcp_output(struct tcpcb *tp) int idle, sendalot; int sack_rxmit, sack_bytes_rxmt; struct sackhole *p; - int tso; + int tso, mtu; struct tcpopt to; #if 0 int maxburst = TCP_MAXBURST; @@ -223,6 +223,7 @@ again: tcp_sack_adjust(tp); sendalot = 0; tso = 0; + mtu = 0; off = tp->snd_nxt - tp->snd_una; sendwin = min(tp->snd_wnd, tp->snd_cwnd); @@ -1206,6 +1207,9 @@ timer: */ #ifdef INET6 if (isipv6) { + struct route_in6 ro; + + bzero(&ro, sizeof(ro)); /* * we separately set hoplimit for every segment, since the * user might want to change the value via setsockopt. @@ -1215,10 +1219,13 @@ timer: ip6->ip6_hlim = in6_selecthlim(tp->t_inpcb, NULL); /* TODO: IPv6 IP6TOS_ECT bit on */ - error = ip6_output(m, - tp->t_inpcb->in6p_outputopts, NULL, - ((so->so_options & SO_DONTROUTE) ? - IP_ROUTETOIF : 0), NULL, NULL, tp->t_inpcb); + error = ip6_output(m, tp->t_inpcb->in6p_outputopts, &ro, + ((so->so_options & SO_DONTROUTE) ? IP_ROUTETOIF : 0), + NULL, NULL, tp->t_inpcb); + + if (error == EMSGSIZE && ro.ro_rt != NULL) + mtu = ro.ro_rt->rt_rmx.rmx_mtu; + RO_RTFREE(&ro); } #endif /* INET6 */ #if defined(INET) && defined(INET6) @@ -1226,6 +1233,9 @@ timer: #endif #ifdef INET { + struct route ro; + + bzero(&ro, sizeof(ro)); ip->ip_len = m->m_pkthdr.len; #ifdef INET6 if (tp->t_inpcb->inp_vflag & INP_IPV6PROTO) @@ -1242,9 +1252,13 @@ timer: if (V_path_mtu_discovery && tp->t_maxopd > V_tcp_minmss) ip->ip_off |= IP_DF; - error = ip_output(m, tp->t_inpcb->inp_options, NULL, + error = ip_output(m, tp->t_inpcb->inp_options, &ro, ((so->so_options & SO_DONTROUTE) ? IP_ROUTETOIF : 0), 0, tp->t_inpcb); + + if (error == EMSGSIZE && ro.ro_rt != NULL) + mtu = ro.ro_rt->rt_rmx.rmx_mtu; + RO_RTFREE(&ro); } #endif /* INET */ if (error) { @@ -1291,21 +1305,18 @@ out: * For some reason the interface we used initially * to send segments changed to another or lowered * its MTU. - * - * tcp_mtudisc() will find out the new MTU and as - * its last action, initiate retransmission, so it - * is important to not do so here. - * * If TSO was active we either got an interface * without TSO capabilits or TSO was turned off. - * Disable it for this connection as too and - * immediatly retry with MSS sized segments generated - * by this function. + * If we obtained mtu from ip_output() then update + * it and try again. */ if (tso) tp->t_flags &= ~TF_TSO; - tcp_mtudisc(tp->t_inpcb, -1); - return (0); + if (mtu != 0) { + tcp_mss_update(tp, -1, mtu, NULL, NULL); + goto again; + } + return (error); case EHOSTDOWN: case EHOSTUNREACH: case ENETDOWN: From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 11:50:43 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 314E61065677; Mon, 10 Sep 2012 11:50:43 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1A4C48FC1F; Mon, 10 Sep 2012 11:50:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8ABohWV047894; Mon, 10 Sep 2012 11:50:43 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8ABogaX047890; Mon, 10 Sep 2012 11:50:42 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201209101150.q8ABogaX047890@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 10 Sep 2012 11:50:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240308 - stable/9/libexec/rtld-elf X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 11:50:43 -0000 Author: kib Date: Mon Sep 10 11:50:42 2012 New Revision: 240308 URL: http://svn.freebsd.org/changeset/base/240308 Log: MFC r238471: Implement DT_RUNPATH and -z nodefaultlib. MFC note: The ld_library_path_rpath default value was flipped to true, effectively reverting rtld back to the pre-patch behaviour, unless LD_LIBRARY_PATH_RPATH environment variable is set and its value is 0/N/n. Modified: stable/9/libexec/rtld-elf/rtld.1 stable/9/libexec/rtld-elf/rtld.c stable/9/libexec/rtld-elf/rtld.h Directory Properties: stable/9/libexec/rtld-elf/ (props changed) Modified: stable/9/libexec/rtld-elf/rtld.1 ============================================================================== --- stable/9/libexec/rtld-elf/rtld.1 Mon Sep 10 11:43:28 2012 (r240307) +++ stable/9/libexec/rtld-elf/rtld.1 Mon Sep 10 11:50:42 2012 (r240308) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 1, 2009 +.Dd June 28, 2012 .Dt RTLD 1 .Os .Sh NAME @@ -86,14 +86,39 @@ dynamic linker. After the dynamic linker has finished loading, relocating, and initializing the program and its required shared objects, it transfers control to the entry point of the program. +The following search order is used to locate required shared objects: .Pp -To locate the required shared objects in the file system, -.Nm -may use a -.Dq hints -file prepared by the +.Bl -enum -offset indent -compact +.It +.Dv DT_RPATH +of the referencing object unless that object also contains a +.Dv DT_RUNPATH +tag +.It +.Dv DT_RPATH +of the program unless the referencing object contains a +.Dv DT_RUNPATH +tag +.It +Path indicated by +.Ev LD_LIBRARY_PATH +environment variable +.It +.Dv DT_RUNPATH +of the referencing object +.It +Hints file produced by the .Xr ldconfig 8 -utility. +utility +.It +The +.Pa /lib +and +.Pa /usr/lib +directories, unless the referencing object was linked using the +.Dq Fl z Ar nodefaultlib +option +.El .Pp The .Nm @@ -143,6 +168,20 @@ This variable is unset for set-user-ID a A colon separated list of directories, overriding the default search path for shared libraries. This variable is unset for set-user-ID and set-group-ID programs. +.It Ev LD_LIBRARY_PATH_RPATH +If the variable is specified and has a value starting with +any of \'y\', \'Y\' or \'1\' symbols, the path specified by +.Ev LD_LIBRARY_PATH +variable is allowed to override the path from +.Dv DT_RPATH +for binaries which does not contain +.Dv DT_RUNPATH +tag. +For such binaries, when the variable +.Ev LD_LIBRARY_PATH_RPATH +is set, +.Dq Fl z Ar nodefaultlib +link-time option is ignored as well. .It Ev LD_PRELOAD A list of shared libraries, separated by colons and/or white space, to be linked in before any Modified: stable/9/libexec/rtld-elf/rtld.c ============================================================================== --- stable/9/libexec/rtld-elf/rtld.c Mon Sep 10 11:43:28 2012 (r240307) +++ stable/9/libexec/rtld-elf/rtld.c Mon Sep 10 11:50:42 2012 (r240308) @@ -80,8 +80,9 @@ typedef void * (*path_enum_proc) (const static const char *basename(const char *); static void die(void) __dead2; static void digest_dynamic1(Obj_Entry *, int, const Elf_Dyn **, - const Elf_Dyn **); -static void digest_dynamic2(Obj_Entry *, const Elf_Dyn *, const Elf_Dyn *); + const Elf_Dyn **, const Elf_Dyn **); +static void digest_dynamic2(Obj_Entry *, const Elf_Dyn *, const Elf_Dyn *, + const Elf_Dyn *); static void digest_dynamic(Obj_Entry *, int); static Obj_Entry *digest_phdr(const Elf_Phdr *, int, caddr_t, const char *); static Obj_Entry *dlcheck(void *); @@ -94,7 +95,7 @@ static void errmsg_restore(char *); static char *errmsg_save(void); static void *fill_search_info(const char *, size_t, void *); static char *find_library(const char *, const Obj_Entry *); -static const char *gethints(void); +static const char *gethints(bool); static void init_dag(Obj_Entry *); static void init_rtld(caddr_t, Elf_Auxinfo **); static void initlist_add_neededs(Needed_Entry *, Objlist *); @@ -233,6 +234,8 @@ size_t tls_static_space; /* Static TLS s int tls_dtv_generation = 1; /* Used to detect when dtv size changes */ int tls_max_index = 1; /* Largest module index allocated */ +bool ld_library_path_rpath = true; + /* * Fill in a DoneList with an allocation large enough to hold all of * the currently-loaded objects. Keep this as a macro since it calls @@ -323,6 +326,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ Obj_Entry **preload_tail; Objlist initlist; RtldLockState lockstate; + char *library_path_rpath; int mib[2]; size_t len; @@ -394,7 +398,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ if (unsetenv(LD_ "PRELOAD") || unsetenv(LD_ "LIBMAP") || unsetenv(LD_ "LIBRARY_PATH") || unsetenv(LD_ "LIBMAP_DISABLE") || unsetenv(LD_ "DEBUG") || unsetenv(LD_ "ELF_HINTS_PATH") || - unsetenv(LD_ "LOADFLTR")) { + unsetenv(LD_ "LOADFLTR") || unsetenv(LD_ "LIBRARY_PATH_RPATH")) { _rtld_error("environment corrupt; aborting"); die(); } @@ -406,6 +410,15 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ ld_preload = getenv(LD_ "PRELOAD"); ld_elf_hints_path = getenv(LD_ "ELF_HINTS_PATH"); ld_loadfltr = getenv(LD_ "LOADFLTR") != NULL; + library_path_rpath = getenv(LD_ "LIBRARY_PATH_RPATH"); + if (library_path_rpath != NULL) { + if (library_path_rpath[0] == 'y' || + library_path_rpath[0] == 'Y' || + library_path_rpath[0] == '1') + ld_library_path_rpath = true; + else + ld_library_path_rpath = false; + } dangerous_ld_env = libmap_disable || (libmap_override != NULL) || (ld_library_path != NULL) || (ld_preload != NULL) || (ld_elf_hints_path != NULL) || ld_loadfltr; @@ -828,7 +841,7 @@ die(void) */ static void digest_dynamic1(Obj_Entry *obj, int early, const Elf_Dyn **dyn_rpath, - const Elf_Dyn **dyn_soname) + const Elf_Dyn **dyn_soname, const Elf_Dyn **dyn_runpath) { const Elf_Dyn *dynp; Needed_Entry **needed_tail = &obj->needed; @@ -843,6 +856,7 @@ digest_dynamic1(Obj_Entry *obj, int earl *dyn_rpath = NULL; *dyn_soname = NULL; + *dyn_runpath = NULL; obj->bind_now = false; for (dynp = obj->dynamic; dynp->d_tag != DT_NULL; dynp++) { @@ -1009,7 +1023,6 @@ digest_dynamic1(Obj_Entry *obj, int earl break; case DT_RPATH: - case DT_RUNPATH: /* XXX: process separately */ /* * We have to wait until later to process this, because we * might not have gotten the address of the string table yet. @@ -1021,6 +1034,10 @@ digest_dynamic1(Obj_Entry *obj, int earl *dyn_soname = dynp; break; + case DT_RUNPATH: + *dyn_runpath = dynp; + break; + case DT_INIT: obj->init = (Elf_Addr) (obj->relocbase + dynp->d_un.d_ptr); break; @@ -1114,6 +1131,8 @@ digest_dynamic1(Obj_Entry *obj, int earl obj->z_nodelete = true; if (dynp->d_un.d_val & DF_1_LOADFLTR) obj->z_loadfltr = true; + if (dynp->d_un.d_val & DF_1_NODEFLIB) + obj->z_nodeflib = true; break; default: @@ -1153,7 +1172,7 @@ digest_dynamic1(Obj_Entry *obj, int earl static void digest_dynamic2(Obj_Entry *obj, const Elf_Dyn *dyn_rpath, - const Elf_Dyn *dyn_soname) + const Elf_Dyn *dyn_soname, const Elf_Dyn *dyn_runpath) { if (obj->z_origin && obj->origin_path == NULL) { @@ -1162,7 +1181,12 @@ digest_dynamic2(Obj_Entry *obj, const El die(); } - if (dyn_rpath != NULL) { + if (dyn_runpath != NULL) { + obj->runpath = (char *)obj->strtab + dyn_runpath->d_un.d_val; + if (obj->z_origin) + obj->runpath = origin_subst(obj->runpath, obj->origin_path); + } + else if (dyn_rpath != NULL) { obj->rpath = (char *)obj->strtab + dyn_rpath->d_un.d_val; if (obj->z_origin) obj->rpath = origin_subst(obj->rpath, obj->origin_path); @@ -1177,9 +1201,10 @@ digest_dynamic(Obj_Entry *obj, int early { const Elf_Dyn *dyn_rpath; const Elf_Dyn *dyn_soname; + const Elf_Dyn *dyn_runpath; - digest_dynamic1(obj, early, &dyn_rpath, &dyn_soname); - digest_dynamic2(obj, dyn_rpath, dyn_soname); + digest_dynamic1(obj, early, &dyn_rpath, &dyn_soname, &dyn_runpath); + digest_dynamic2(obj, dyn_rpath, dyn_soname, dyn_runpath); } /* @@ -1389,43 +1414,71 @@ gnu_hash(const char *s) * loaded shared object, whose library search path will be searched. * * The search order is: + * DT_RPATH in the referencing file _unless_ DT_RUNPATH is present (1) + * DT_RPATH of the main object if DSO without defined DT_RUNPATH (1) * LD_LIBRARY_PATH - * rpath in the referencing file - * ldconfig hints - * /lib:/usr/lib + * DT_RUNPATH in the referencing file + * ldconfig hints (if -z nodefaultlib, filter out default library directories + * from list) + * /lib:/usr/lib _unless_ the referencing file is linked with -z nodefaultlib + * + * (1) Handled in digest_dynamic2 - rpath left NULL if runpath defined. */ static char * find_library(const char *xname, const Obj_Entry *refobj) { char *pathname; char *name; + bool objgiven; + objgiven = refobj != NULL; if (strchr(xname, '/') != NULL) { /* Hard coded pathname */ if (xname[0] != '/' && !trust) { _rtld_error("Absolute pathname required for shared object \"%s\"", xname); return NULL; } - if (refobj != NULL && refobj->z_origin) + if (objgiven && refobj->z_origin) return origin_subst(xname, refobj->origin_path); else return xstrdup(xname); } - if (libmap_disable || (refobj == NULL) || + if (libmap_disable || !objgiven || (name = lm_find(refobj->path, xname)) == NULL) name = (char *)xname; dbg(" Searching for \"%s\"", name); - if ((pathname = search_library_path(name, ld_library_path)) != NULL || - (refobj != NULL && - (pathname = search_library_path(name, refobj->rpath)) != NULL) || - (pathname = search_library_path(name, gethints())) != NULL || - (pathname = search_library_path(name, STANDARD_LIBRARY_PATH)) != NULL) - return pathname; + /* + * If refobj->rpath != NULL, then refobj->runpath is NULL. Fall + * back to pre-conforming behaviour if user requested so with + * LD_LIBRARY_PATH_RPATH environment variable and ignore -z + * nodeflib. + */ + if (objgiven && refobj->rpath != NULL && ld_library_path_rpath) { + if ((pathname = search_library_path(name, ld_library_path)) != NULL || + (refobj != NULL && + (pathname = search_library_path(name, refobj->rpath)) != NULL) || + (pathname = search_library_path(name, gethints(false))) != NULL || + (pathname = search_library_path(name, STANDARD_LIBRARY_PATH)) != NULL) + return (pathname); + } else { + if ((objgiven && + (pathname = search_library_path(name, refobj->rpath)) != NULL) || + (objgiven && refobj->runpath == NULL && refobj != obj_main && + (pathname = search_library_path(name, obj_main->rpath)) != NULL) || + (pathname = search_library_path(name, ld_library_path)) != NULL || + (objgiven && + (pathname = search_library_path(name, refobj->runpath)) != NULL) || + (pathname = search_library_path(name, gethints(refobj->z_nodeflib))) + != NULL || + (objgiven && !refobj->z_nodeflib && + (pathname = search_library_path(name, STANDARD_LIBRARY_PATH)) != NULL)) + return (pathname); + } - if(refobj != NULL && refobj->path != NULL) { + if (objgiven && refobj->path != NULL) { _rtld_error("Shared object \"%s\" not found, required by \"%s\"", name, basename(refobj->path)); } else { @@ -1520,41 +1573,142 @@ find_symdef(unsigned long symnum, const /* * Return the search path from the ldconfig hints file, reading it if - * necessary. Returns NULL if there are problems with the hints file, + * necessary. If nostdlib is true, then the default search paths are + * not added to result. + * + * Returns NULL if there are problems with the hints file, * or if the search path there is empty. */ static const char * -gethints(void) +gethints(bool nostdlib) { - static char *hints; - - if (hints == NULL) { - int fd; + static char *hints, *filtered_path; struct elfhints_hdr hdr; + struct fill_search_info_args sargs, hargs; + struct dl_serinfo smeta, hmeta, *SLPinfo, *hintinfo; + struct dl_serpath *SLPpath, *hintpath; char *p; + unsigned int SLPndx, hintndx, fndx, fcount; + int fd; + size_t flen; + bool skip; - /* Keep from trying again in case the hints file is bad. */ - hints = ""; - - if ((fd = open(ld_elf_hints_path, O_RDONLY)) == -1) - return NULL; - if (read(fd, &hdr, sizeof hdr) != sizeof hdr || - hdr.magic != ELFHINTS_MAGIC || - hdr.version != 1) { - close(fd); - return NULL; + /* First call, read the hints file */ + if (hints == NULL) { + /* Keep from trying again in case the hints file is bad. */ + hints = ""; + + if ((fd = open(ld_elf_hints_path, O_RDONLY)) == -1) + return (NULL); + if (read(fd, &hdr, sizeof hdr) != sizeof hdr || + hdr.magic != ELFHINTS_MAGIC || + hdr.version != 1) { + close(fd); + return (NULL); + } + p = xmalloc(hdr.dirlistlen + 1); + if (lseek(fd, hdr.strtab + hdr.dirlist, SEEK_SET) == -1 || + read(fd, p, hdr.dirlistlen + 1) != + (ssize_t)hdr.dirlistlen + 1) { + free(p); + close(fd); + return (NULL); + } + hints = p; + close(fd); } - p = xmalloc(hdr.dirlistlen + 1); - if (lseek(fd, hdr.strtab + hdr.dirlist, SEEK_SET) == -1 || - read(fd, p, hdr.dirlistlen + 1) != (ssize_t)hdr.dirlistlen + 1) { - free(p); - close(fd); - return NULL; + + /* + * If caller agreed to receive list which includes the default + * paths, we are done. Otherwise, if we still did not + * calculated filtered result, do it now. + */ + if (!nostdlib) + return (hints[0] != '\0' ? hints : NULL); + if (filtered_path != NULL) + goto filt_ret; + + /* + * Obtain the list of all configured search paths, and the + * list of the default paths. + * + * First estimate the size of the results. + */ + smeta.dls_size = __offsetof(struct dl_serinfo, dls_serpath); + smeta.dls_cnt = 0; + hmeta.dls_size = __offsetof(struct dl_serinfo, dls_serpath); + hmeta.dls_cnt = 0; + + sargs.request = RTLD_DI_SERINFOSIZE; + sargs.serinfo = &smeta; + hargs.request = RTLD_DI_SERINFOSIZE; + hargs.serinfo = &hmeta; + + path_enumerate(STANDARD_LIBRARY_PATH, fill_search_info, &sargs); + path_enumerate(p, fill_search_info, &hargs); + + SLPinfo = xmalloc(smeta.dls_size); + hintinfo = xmalloc(hmeta.dls_size); + + /* + * Next fetch both sets of paths. + */ + sargs.request = RTLD_DI_SERINFO; + sargs.serinfo = SLPinfo; + sargs.serpath = &SLPinfo->dls_serpath[0]; + sargs.strspace = (char *)&SLPinfo->dls_serpath[smeta.dls_cnt]; + + hargs.request = RTLD_DI_SERINFO; + hargs.serinfo = hintinfo; + hargs.serpath = &hintinfo->dls_serpath[0]; + hargs.strspace = (char *)&hintinfo->dls_serpath[hmeta.dls_cnt]; + + path_enumerate(STANDARD_LIBRARY_PATH, fill_search_info, &sargs); + path_enumerate(p, fill_search_info, &hargs); + + /* + * Now calculate the difference between two sets, by excluding + * standard paths from the full set. + */ + fndx = 0; + fcount = 0; + filtered_path = xmalloc(hdr.dirlistlen + 1); + hintpath = &hintinfo->dls_serpath[0]; + for (hintndx = 0; hintndx < hmeta.dls_cnt; hintndx++, hintpath++) { + skip = false; + SLPpath = &SLPinfo->dls_serpath[0]; + /* + * Check each standard path against current. + */ + for (SLPndx = 0; SLPndx < smeta.dls_cnt; SLPndx++, SLPpath++) { + /* matched, skip the path */ + if (!strcmp(hintpath->dls_name, SLPpath->dls_name)) { + skip = true; + break; + } + } + if (skip) + continue; + /* + * Not matched against any standard path, add the path + * to result. Separate consequtive paths with ':'. + */ + if (fcount > 0) { + filtered_path[fndx] = ':'; + fndx++; + } + fcount++; + flen = strlen(hintpath->dls_name); + strncpy((filtered_path + fndx), hintpath->dls_name, flen); + fndx += flen; } - hints = p; - close(fd); - } - return hints[0] != '\0' ? hints : NULL; + filtered_path[fndx] = '\0'; + + free(SLPinfo); + free(hintinfo); + +filt_ret: + return (filtered_path[0] != '\0' ? filtered_path : NULL); } static void @@ -1620,6 +1774,7 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo * Obj_Entry objtmp; /* Temporary rtld object */ const Elf_Dyn *dyn_rpath; const Elf_Dyn *dyn_soname; + const Elf_Dyn *dyn_runpath; /* * Conjure up an Obj_Entry structure for the dynamic linker. @@ -1636,7 +1791,7 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo * #endif if (RTLD_IS_DYNAMIC()) { objtmp.dynamic = rtld_dynamic(&objtmp); - digest_dynamic1(&objtmp, 1, &dyn_rpath, &dyn_soname); + digest_dynamic1(&objtmp, 1, &dyn_rpath, &dyn_soname, &dyn_runpath); assert(objtmp.needed == NULL); #if !defined(__mips__) /* MIPS has a bogus DT_TEXTREL. */ @@ -1662,7 +1817,7 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo * if (aux_info[AT_OSRELDATE] != NULL) osreldate = aux_info[AT_OSRELDATE]->a_un.a_val; - digest_dynamic2(&obj_rtld, dyn_rpath, dyn_soname); + digest_dynamic2(&obj_rtld, dyn_rpath, dyn_soname, dyn_runpath); /* Replace the path with a dynamically allocated copy. */ obj_rtld.path = xstrdup(PATH_RTLD); @@ -3091,14 +3246,6 @@ dl_iterate_phdr(__dl_iterate_hdr_callbac return (error); } -struct fill_search_info_args { - int request; - unsigned int flags; - Dl_serinfo *serinfo; - Dl_serpath *serpath; - char *strspace; -}; - static void * fill_search_info(const char *dir, size_t dirlen, void *param) { @@ -3108,7 +3255,7 @@ fill_search_info(const char *dir, size_t if (arg->request == RTLD_DI_SERINFOSIZE) { arg->serinfo->dls_cnt ++; - arg->serinfo->dls_size += sizeof(Dl_serpath) + dirlen + 1; + arg->serinfo->dls_size += sizeof(struct dl_serpath) + dirlen + 1; } else { struct dl_serpath *s_entry; @@ -3138,10 +3285,12 @@ do_search_info(const Obj_Entry *obj, int _info.dls_size = __offsetof(struct dl_serinfo, dls_serpath); _info.dls_cnt = 0; - path_enumerate(ld_library_path, fill_search_info, &args); path_enumerate(obj->rpath, fill_search_info, &args); - path_enumerate(gethints(), fill_search_info, &args); - path_enumerate(STANDARD_LIBRARY_PATH, fill_search_info, &args); + path_enumerate(ld_library_path, fill_search_info, &args); + path_enumerate(obj->runpath, fill_search_info, &args); + path_enumerate(gethints(obj->z_nodeflib), fill_search_info, &args); + if (!obj->z_nodeflib) + path_enumerate(STANDARD_LIBRARY_PATH, fill_search_info, &args); if (request == RTLD_DI_SERINFOSIZE) { @@ -3160,20 +3309,26 @@ do_search_info(const Obj_Entry *obj, int args.serpath = &info->dls_serpath[0]; args.strspace = (char *)&info->dls_serpath[_info.dls_cnt]; + args.flags = LA_SER_RUNPATH; + if (path_enumerate(obj->rpath, fill_search_info, &args) != NULL) + return (-1); + args.flags = LA_SER_LIBPATH; if (path_enumerate(ld_library_path, fill_search_info, &args) != NULL) return (-1); args.flags = LA_SER_RUNPATH; - if (path_enumerate(obj->rpath, fill_search_info, &args) != NULL) + if (path_enumerate(obj->runpath, fill_search_info, &args) != NULL) return (-1); args.flags = LA_SER_CONFIG; - if (path_enumerate(gethints(), fill_search_info, &args) != NULL) + if (path_enumerate(gethints(obj->z_nodeflib), fill_search_info, &args) + != NULL) return (-1); args.flags = LA_SER_DEFAULT; - if (path_enumerate(STANDARD_LIBRARY_PATH, fill_search_info, &args) != NULL) + if (!obj->z_nodeflib && + path_enumerate(STANDARD_LIBRARY_PATH, fill_search_info, &args) != NULL) return (-1); return (0); } Modified: stable/9/libexec/rtld-elf/rtld.h ============================================================================== --- stable/9/libexec/rtld-elf/rtld.h Mon Sep 10 11:43:28 2012 (r240307) +++ stable/9/libexec/rtld-elf/rtld.h Mon Sep 10 11:50:42 2012 (r240308) @@ -222,6 +222,7 @@ typedef struct Struct_Obj_Entry { const Elf_Hashelt *chain_zero_gnu; /* GNU hash table value array (Zeroed) */ char *rpath; /* Search path specified in object */ + char *runpath; /* Search path with different priority */ Needed_Entry *needed; /* Shared objects needed by this one (%) */ Needed_Entry *needed_filtees; Needed_Entry *needed_aux_filtees; @@ -258,6 +259,7 @@ typedef struct Struct_Obj_Entry { bool z_nodelete : 1; /* Do not unload the object and dependencies */ bool z_noopen : 1; /* Do not load on dlopen */ bool z_loadfltr : 1; /* Immediately load filtees */ + bool z_nodeflib : 1; /* Don't search default library path */ bool ref_nodel : 1; /* Refcount increased to prevent dlclose */ bool init_scanned: 1; /* Object is already on init list. */ bool on_fini_list: 1; /* Object is already on fini list. */ @@ -321,6 +323,14 @@ struct Struct_RtldLockState { sigjmp_buf env; }; +struct fill_search_info_args { + int request; + unsigned int flags; + struct dl_serinfo *serinfo; + struct dl_serpath *serpath; + char *strspace; +}; + /* * The pack of arguments and results for the symbol lookup functions. */ From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 12:02:59 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F7B11065674; Mon, 10 Sep 2012 12:02:59 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4FFA28FC14; Mon, 10 Sep 2012 12:02:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8AC2xLn049577; Mon, 10 Sep 2012 12:02:59 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8AC2xqE049573; Mon, 10 Sep 2012 12:02:59 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201209101202.q8AC2xqE049573@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 10 Sep 2012 12:02:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240309 - in stable/9/sys: net netinet netinet6 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 12:02:59 -0000 Author: glebius Date: Mon Sep 10 12:02:58 2012 New Revision: 240309 URL: http://svn.freebsd.org/changeset/base/240309 Log: Merge r232054 by kmacy: When using flowtable llentrys can outlive the interface with which they're associated at which the lle_tbl pointer points to freed memory and the llt_free pointer is no longer valid. Move the free pointer in to the llentry itself and update the initalization sites. Modified: stable/9/sys/net/if_llatbl.h stable/9/sys/netinet/in.c stable/9/sys/netinet6/in6.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/net/if_llatbl.h ============================================================================== --- stable/9/sys/net/if_llatbl.h Mon Sep 10 11:50:42 2012 (r240308) +++ stable/9/sys/net/if_llatbl.h Mon Sep 10 12:02:58 2012 (r240309) @@ -106,7 +106,6 @@ struct llentry { ("negative refcnt %d", (lle)->lle_refcnt)); \ (lle)->lle_refcnt++; \ } while (0) - #define LLE_REMREF(lle) do { \ LLE_WLOCK_ASSERT(lle); \ KASSERT((lle)->lle_refcnt > 1, \ @@ -116,7 +115,7 @@ struct llentry { #define LLE_FREE_LOCKED(lle) do { \ if ((lle)->lle_refcnt <= 1) \ - (lle)->lle_tbl->llt_free((lle)->lle_tbl, (lle));\ + (lle)->lle_free((lle)->lle_tbl, (lle));\ else { \ (lle)->lle_refcnt--; \ LLE_WUNLOCK(lle); \ @@ -152,7 +151,6 @@ struct lltable { int llt_af; struct ifnet *llt_ifp; - void (*llt_free)(struct lltable *, struct llentry *); void (*llt_prefix_free)(struct lltable *, const struct sockaddr *prefix, const struct sockaddr *mask, Modified: stable/9/sys/netinet/in.c ============================================================================== --- stable/9/sys/netinet/in.c Mon Sep 10 11:50:42 2012 (r240308) +++ stable/9/sys/netinet/in.c Mon Sep 10 12:02:58 2012 (r240309) @@ -1323,6 +1323,20 @@ struct in_llentry { struct sockaddr_in l3_addr4; }; +/* + * Deletes an address from the address table. + * This function is called by the timer functions + * such as arptimer() and nd6_llinfo_timer(), and + * the caller does the locking. + */ +static void +in_lltable_free(struct lltable *llt, struct llentry *lle) +{ + LLE_WUNLOCK(lle); + LLE_LOCK_DESTROY(lle); + free(lle, M_LLTABLE); +} + static struct llentry * in_lltable_new(const struct sockaddr *l3addr, u_int flags) { @@ -1340,25 +1354,11 @@ in_lltable_new(const struct sockaddr *l3 lle->base.la_expire = time_uptime; /* mark expired */ lle->l3_addr4 = *(const struct sockaddr_in *)l3addr; lle->base.lle_refcnt = 1; + lle->base.lle_free = in_lltable_free; LLE_LOCK_INIT(&lle->base); return &lle->base; } -/* - * Deletes an address from the address table. - * This function is called by the timer functions - * such as arptimer() and nd6_llinfo_timer(), and - * the caller does the locking. - */ -static void -in_lltable_free(struct lltable *llt, struct llentry *lle) -{ - LLE_WUNLOCK(lle); - LLE_LOCK_DESTROY(lle); - free(lle, M_LLTABLE); -} - - #define IN_ARE_MASKED_ADDR_EQUAL(d, a, m) ( \ (((ntohl((d)->sin_addr.s_addr) ^ (a)->sin_addr.s_addr) & (m)->sin_addr.s_addr)) == 0 ) @@ -1640,7 +1640,6 @@ in_domifattach(struct ifnet *ifp) llt = lltable_init(ifp, AF_INET); if (llt != NULL) { - llt->llt_free = in_lltable_free; llt->llt_prefix_free = in_lltable_prefix_free; llt->llt_lookup = in_lltable_lookup; llt->llt_dump = in_lltable_dump; Modified: stable/9/sys/netinet6/in6.c ============================================================================== --- stable/9/sys/netinet6/in6.c Mon Sep 10 11:50:42 2012 (r240308) +++ stable/9/sys/netinet6/in6.c Mon Sep 10 12:02:58 2012 (r240309) @@ -2421,6 +2421,20 @@ struct in6_llentry { struct sockaddr_in6 l3_addr6; }; +/* + * Deletes an address from the address table. + * This function is called by the timer functions + * such as arptimer() and nd6_llinfo_timer(), and + * the caller does the locking. + */ +static void +in6_lltable_free(struct lltable *llt, struct llentry *lle) +{ + LLE_WUNLOCK(lle); + LLE_LOCK_DESTROY(lle); + free(lle, M_LLTABLE); +} + static struct llentry * in6_lltable_new(const struct sockaddr *l3addr, u_int flags) { @@ -2433,6 +2447,7 @@ in6_lltable_new(const struct sockaddr *l lle->l3_addr6 = *(const struct sockaddr_in6 *)l3addr; lle->base.lle_refcnt = 1; + lle->base.lle_free = in6_lltable_free; LLE_LOCK_INIT(&lle->base); callout_init_rw(&lle->base.ln_timer_ch, &lle->base.lle_lock, CALLOUT_RETURNUNLOCKED); @@ -2440,20 +2455,6 @@ in6_lltable_new(const struct sockaddr *l return &lle->base; } -/* - * Deletes an address from the address table. - * This function is called by the timer functions - * such as arptimer() and nd6_llinfo_timer(), and - * the caller does the locking. - */ -static void -in6_lltable_free(struct lltable *llt, struct llentry *lle) -{ - LLE_WUNLOCK(lle); - LLE_LOCK_DESTROY(lle); - free(lle, M_LLTABLE); -} - static void in6_lltable_prefix_free(struct lltable *llt, const struct sockaddr *prefix, @@ -2695,7 +2696,6 @@ in6_domifattach(struct ifnet *ifp) ext->scope6_id = scope6_ifattach(ifp); ext->lltable = lltable_init(ifp, AF_INET6); if (ext->lltable != NULL) { - ext->lltable->llt_free = in6_lltable_free; ext->lltable->llt_prefix_free = in6_lltable_prefix_free; ext->lltable->llt_lookup = in6_lltable_lookup; ext->lltable->llt_dump = in6_lltable_dump; From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 12:09:19 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B36471065678; Mon, 10 Sep 2012 12:09:19 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 992ED8FC0C; Mon, 10 Sep 2012 12:09:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8AC9JeF050438; Mon, 10 Sep 2012 12:09:19 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8AC9Ji1050431; Mon, 10 Sep 2012 12:09:19 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201209101209.q8AC9Ji1050431@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 10 Sep 2012 12:09:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240310 - in stable/9/sys: net netinet netinet6 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 12:09:19 -0000 Author: glebius Date: Mon Sep 10 12:09:19 2012 New Revision: 240310 URL: http://svn.freebsd.org/changeset/base/240310 Log: Merge 238945,238967: Some style(9) and whitespace changes. Modified: stable/9/sys/net/if_llatbl.c stable/9/sys/net/if_llatbl.h stable/9/sys/netinet/if_ether.c stable/9/sys/netinet/in.c stable/9/sys/netinet6/in6.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/net/if_llatbl.c ============================================================================== --- stable/9/sys/net/if_llatbl.c Mon Sep 10 12:02:58 2012 (r240309) +++ stable/9/sys/net/if_llatbl.c Mon Sep 10 12:09:19 2012 (r240310) @@ -121,8 +121,8 @@ llentry_free(struct llentry *lle) pkts_dropped++; } - KASSERT(lle->la_numheld == 0, - ("%s: la_numheld %d > 0, pkts_droped %zd", __func__, + KASSERT(lle->la_numheld == 0, + ("%s: la_numheld %d > 0, pkts_droped %zd", __func__, lle->la_numheld, pkts_dropped)); lle->la_flags &= ~LLE_VALID; @@ -143,17 +143,17 @@ llentry_update(struct llentry **llep, st { struct llentry *la; - IF_AFDATA_RLOCK(ifp); + IF_AFDATA_RLOCK(ifp); la = lla_lookup(lt, LLE_EXCLUSIVE, (struct sockaddr *)dst); IF_AFDATA_RUNLOCK(ifp); - if ((la == NULL) && + if ((la == NULL) && (ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) == 0) { IF_AFDATA_WLOCK(ifp); la = lla_lookup(lt, (LLE_CREATE | LLE_EXCLUSIVE), (struct sockaddr *)dst); - IF_AFDATA_WUNLOCK(ifp); + IF_AFDATA_WUNLOCK(ifp); } if (la != NULL && (*llep != la)) { if (*llep != NULL) @@ -185,7 +185,7 @@ lltable_free(struct lltable *llt) SLIST_REMOVE(&V_lltables, llt, lltable, llt_link); LLTABLE_WUNLOCK(); - for (i=0; i < LLTBL_HASHTBL_SIZE; i++) { + for (i = 0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH_SAFE(lle, &llt->lle_head[i], lle_next, next) { int canceled; @@ -230,7 +230,7 @@ lltable_drain(int af) void lltable_prefix_free(int af, struct sockaddr *prefix, struct sockaddr *mask, - u_int flags) + u_int flags) { struct lltable *llt; @@ -300,7 +300,7 @@ lla_rt_output(struct rt_msghdr *rtm, str if (rtm->rtm_flags & RTF_ANNOUNCE) { flags |= LLE_PUB; #ifdef INET - if (dst->sa_family == AF_INET && + if (dst->sa_family == AF_INET && ((struct sockaddr_inarp *)dst)->sin_other != 0) { struct rtentry *rt; ((struct sockaddr_inarp *)dst)->sin_other = 0; @@ -345,7 +345,7 @@ lla_rt_output(struct rt_msghdr *rtm, str if (flags & LLE_CREATE) flags |= LLE_EXCLUSIVE; - + IF_AFDATA_LOCK(ifp); lle = lla_lookup(llt, flags, dst); IF_AFDATA_UNLOCK(ifp); @@ -381,7 +381,7 @@ lla_rt_output(struct rt_msghdr *rtm, str #ifdef INET /* gratuitous ARP */ if ((laflags & LLE_PUB) && dst->sa_family == AF_INET) { - arprequest(ifp, + arprequest(ifp, &((struct sockaddr_in *)dst)->sin_addr, &((struct sockaddr_in *)dst)->sin_addr, ((laflags & LLE_PROXY) ? @@ -454,7 +454,7 @@ llatbl_lle_show(struct llentry_sa *la) sin = (struct sockaddr_in *)&la->l3_addr; inet_ntoa_r(sin->sin_addr, l3s); - db_printf(" l3_addr=%s\n", l3s); + db_printf(" l3_addr=%s\n", l3s); break; } #endif @@ -466,7 +466,7 @@ llatbl_lle_show(struct llentry_sa *la) sin6 = (struct sockaddr_in6 *)&la->l3_addr; ip6_sprintf(l3s, &sin6->sin6_addr); - db_printf(" l3_addr=%s\n", l3s); + db_printf(" l3_addr=%s\n", l3s); break; } #endif Modified: stable/9/sys/net/if_llatbl.h ============================================================================== --- stable/9/sys/net/if_llatbl.h Mon Sep 10 12:02:58 2012 (r240309) +++ stable/9/sys/net/if_llatbl.h Mon Sep 10 12:09:19 2012 (r240310) @@ -61,17 +61,17 @@ struct llentry { struct llentries *lle_head; void (*lle_free)(struct lltable *, struct llentry *); struct mbuf *la_hold; - int la_numheld; /* # of packets currently held */ + int la_numheld; /* # of packets currently held */ time_t la_expire; - uint16_t la_flags; + uint16_t la_flags; uint16_t la_asked; uint16_t la_preempt; uint16_t ln_byhint; int16_t ln_state; /* IPv6 has ND6_LLINFO_NOSTATE == -2 */ - uint16_t ln_router; + uint16_t ln_router; time_t ln_ntick; int lle_refcnt; - + union { uint64_t mac_aligned; uint16_t mac16[3]; @@ -106,6 +106,7 @@ struct llentry { ("negative refcnt %d", (lle)->lle_refcnt)); \ (lle)->lle_refcnt++; \ } while (0) + #define LLE_REMREF(lle) do { \ LLE_WLOCK_ASSERT(lle); \ KASSERT((lle)->lle_refcnt > 1, \ @@ -158,7 +159,7 @@ struct lltable { struct llentry * (*llt_lookup)(struct lltable *, u_int flags, const struct sockaddr *l3addr); int (*llt_dump)(struct lltable *, - struct sysctl_req *); + struct sysctl_req *); }; MALLOC_DECLARE(M_LLTABLE); @@ -171,17 +172,17 @@ MALLOC_DECLARE(M_LLTABLE); #define LLE_VALID 0x0008 /* ll_addr is valid */ #define LLE_PROXY 0x0010 /* proxy entry ??? */ #define LLE_PUB 0x0020 /* publish entry ??? */ +#define LLE_EXCLUSIVE 0x2000 /* return lle xlocked */ #define LLE_DELETE 0x4000 /* delete on a lookup - match LLE_IFADDR */ #define LLE_CREATE 0x8000 /* create on a lookup miss */ -#define LLE_EXCLUSIVE 0x2000 /* return lle xlocked */ #define LLATBL_HASH(key, mask) \ (((((((key >> 8) ^ key) >> 8) ^ key) >> 8) ^ key) & mask) struct lltable *lltable_init(struct ifnet *, int); void lltable_free(struct lltable *); -void lltable_prefix_free(int, struct sockaddr *, - struct sockaddr *, u_int); +void lltable_prefix_free(int, struct sockaddr *, + struct sockaddr *, u_int); #if 0 void lltable_drain(int); #endif @@ -189,7 +190,7 @@ int lltable_sysctl_dumparp(int, struct size_t llentry_free(struct llentry *); int llentry_update(struct llentry **, struct lltable *, - struct sockaddr_storage *, struct ifnet *); + struct sockaddr_storage *, struct ifnet *); /* * Generic link layer address lookup function. Modified: stable/9/sys/netinet/if_ether.c ============================================================================== --- stable/9/sys/netinet/if_ether.c Mon Sep 10 12:02:58 2012 (r240309) +++ stable/9/sys/netinet/if_ether.c Mon Sep 10 12:09:19 2012 (r240310) @@ -87,8 +87,8 @@ static VNET_DEFINE(int, arp_maxtries) = VNET_DEFINE(int, useloopback) = 1; /* use loopback interface for * local traffic */ static VNET_DEFINE(int, arp_proxyall) = 0; -static VNET_DEFINE(int, arpt_down) = 20; /* keep incomplete entries for - * 20 seconds */ +static VNET_DEFINE(int, arpt_down) = 20; /* keep incomplete entries for + * 20 seconds */ VNET_DEFINE(struct arpstat, arpstat); /* ARP statistics, see if_arp.h */ static VNET_DEFINE(int, arp_maxhold) = 1; @@ -119,7 +119,7 @@ SYSCTL_VNET_STRUCT(_net_link_ether_arp, &VNET_NAME(arpstat), arpstat, "ARP statistics (struct arpstat, net/if_arp.h)"); SYSCTL_VNET_INT(_net_link_ether_inet, OID_AUTO, maxhold, CTLFLAG_RW, - &VNET_NAME(arp_maxhold), 0, + &VNET_NAME(arp_maxhold), 0, "Number of packets to hold per ARP entry"); static void arp_init(void); @@ -190,7 +190,7 @@ arptimer(void *arg) } else { #ifdef DIAGNOSTIC struct sockaddr *l3addr = L3_ADDR(lle); - log(LOG_INFO, + log(LOG_INFO, "arptimer issue: %p, IPv4 address: \"%s\"\n", lle, inet_ntoa( ((const struct sockaddr_in *)l3addr)->sin_addr)); @@ -233,7 +233,7 @@ arprequest(struct ifnet *ifp, struct in_ SIN(ifa->ifa_netmask)->sin_addr.s_addr) ) break; /* found it. */ } - if (sip == NULL) { + if (sip == NULL) { printf("%s: cannot find matching address\n", __func__); return; } @@ -303,15 +303,15 @@ arpresolve(struct ifnet *ifp, struct rte } } retry: - IF_AFDATA_RLOCK(ifp); + IF_AFDATA_RLOCK(ifp); la = lla_lookup(LLTABLE(ifp), flags, dst); - IF_AFDATA_RUNLOCK(ifp); + IF_AFDATA_RUNLOCK(ifp); if ((la == NULL) && ((flags & LLE_EXCLUSIVE) == 0) - && ((ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) == 0)) { + && ((ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) == 0)) { flags |= (LLE_CREATE | LLE_EXCLUSIVE); - IF_AFDATA_WLOCK(ifp); + IF_AFDATA_WLOCK(ifp); la = lla_lookup(LLTABLE(ifp), flags, dst); - IF_AFDATA_WUNLOCK(ifp); + IF_AFDATA_WUNLOCK(ifp); } if (la == NULL) { if (flags & LLE_CREATE) @@ -320,7 +320,7 @@ retry: inet_ntoa(SIN(dst)->sin_addr)); m_freem(m); return (EINVAL); - } + } if ((la->la_flags & LLE_VALID) && ((la->la_flags & LLE_STATIC) || la->la_expire > time_uptime)) { @@ -337,12 +337,12 @@ retry: la->la_preempt--; } - + *lle = la; error = 0; goto done; - } - + } + if (la->la_flags & LLE_STATIC) { /* should not happen! */ log(LOG_DEBUG, "arpresolve: ouch, empty static llinfo for %s\n", inet_ntoa(SIN(dst)->sin_addr)); @@ -372,20 +372,20 @@ retry: la->la_numheld--; ARPSTAT_INC(dropped); } - } + } if (la->la_hold != NULL) { curr = la->la_hold; while (curr->m_nextpkt != NULL) curr = curr->m_nextpkt; curr->m_nextpkt = m; - } else + } else la->la_hold = m; la->la_numheld++; if (renew == 0 && (flags & LLE_EXCLUSIVE)) { flags &= ~LLE_EXCLUSIVE; LLE_DOWNGRADE(la); } - + } /* * Return EWOULDBLOCK if we have tried less than arp_maxtries. It @@ -494,11 +494,11 @@ SYSCTL_INT(_net_link_ether_inet, OID_AUT &log_arp_wrong_iface, 0, "log arp packets arriving on the wrong interface"); SYSCTL_INT(_net_link_ether_inet, OID_AUTO, log_arp_movements, CTLFLAG_RW, - &log_arp_movements, 0, - "log arp replies from MACs different than the one in the cache"); + &log_arp_movements, 0, + "log arp replies from MACs different than the one in the cache"); SYSCTL_INT(_net_link_ether_inet, OID_AUTO, log_arp_permanent_modify, CTLFLAG_RW, - &log_arp_permanent_modify, 0, - "log arp replies from MACs different than the one in the permanent arp entry"); + &log_arp_permanent_modify, 0, + "log arp replies from MACs different than the one in the permanent arp entry"); static void @@ -534,7 +534,7 @@ in_arpinput(struct mbuf *m) } ah = mtod(m, struct arphdr *); - /* + /* * ARP is only for IPv4 so we can reject packets with * a protocol length not equal to an IPv4 address. */ @@ -677,7 +677,7 @@ match: sin.sin_addr = isaddr; flags = (itaddr.s_addr == myaddr.s_addr) ? LLE_CREATE : 0; flags |= LLE_EXCLUSIVE; - IF_AFDATA_LOCK(ifp); + IF_AFDATA_LOCK(ifp); la = lla_lookup(LLTABLE(ifp), flags, (struct sockaddr *)&sin); IF_AFDATA_UNLOCK(ifp); if (la != NULL) { @@ -707,7 +707,7 @@ match: goto reply; } if (log_arp_movements) { - log(LOG_INFO, "arp: %s moved from %*D " + log(LOG_INFO, "arp: %s moved from %*D " "to %*D on %s\n", inet_ntoa(isaddr), ifp->if_addrlen, @@ -716,7 +716,7 @@ match: ifp->if_xname); } } - + if (ifp->if_addrlen != ah->ar_hln) { LLE_WUNLOCK(la); log(LOG_WARNING, "arp from %*D: addr len: new %d, " @@ -742,7 +742,7 @@ match: } la->la_asked = 0; la->la_preempt = V_arp_maxtries; - /* + /* * The packets are all freed within the call to the output * routine. * @@ -778,7 +778,7 @@ reply: struct llentry *lle = NULL; sin.sin_addr = itaddr; - IF_AFDATA_LOCK(ifp); + IF_AFDATA_LOCK(ifp); lle = lla_lookup(LLTABLE(ifp), 0, (struct sockaddr *)&sin); IF_AFDATA_UNLOCK(ifp); @@ -793,7 +793,7 @@ reply: if (!V_arp_proxyall) goto drop; - + sin.sin_addr = itaddr; /* XXX MRT use table 0 for arp reply */ rt = in_rtalloc1((struct sockaddr *)&sin, 0, 0UL, 0); @@ -821,7 +821,7 @@ reply: * wrong network. */ sin.sin_addr = isaddr; - + /* XXX MRT use table 0 for arp checks */ rt = in_rtalloc1((struct sockaddr *)&sin, 0, 0UL, 0); if (!rt) @@ -837,8 +837,7 @@ reply: RTFREE_LOCKED(rt); #ifdef DEBUG_PROXY - printf("arp: proxying for %s\n", - inet_ntoa(itaddr)); + printf("arp: proxying for %s\n", inet_ntoa(itaddr)); #endif } } @@ -860,8 +859,8 @@ reply: (void)memcpy(ar_spa(ah), &itaddr, ah->ar_pln); ah->ar_op = htons(ARPOP_REPLY); ah->ar_pro = htons(ETHERTYPE_IP); /* let's be sure! */ - m->m_len = sizeof(*ah) + (2 * ah->ar_pln) + (2 * ah->ar_hln); - m->m_pkthdr.len = m->m_len; + m->m_len = sizeof(*ah) + (2 * ah->ar_pln) + (2 * ah->ar_hln); + m->m_pkthdr.len = m->m_len; m->m_pkthdr.rcvif = NULL; sa.sa_family = AF_ARP; sa.sa_len = 2; @@ -882,7 +881,7 @@ arp_ifinit(struct ifnet *ifp, struct ifa if (ntohl(IA_SIN(ifa)->sin_addr.s_addr) != INADDR_ANY) { arprequest(ifp, &IA_SIN(ifa)->sin_addr, &IA_SIN(ifa)->sin_addr, IF_LLADDR(ifp)); - /* + /* * interface address is considered static entry * because the output of the arp utility shows * that L2 entry as permanent Modified: stable/9/sys/netinet/in.c ============================================================================== --- stable/9/sys/netinet/in.c Mon Sep 10 12:02:58 2012 (r240309) +++ stable/9/sys/netinet/in.c Mon Sep 10 12:09:19 2012 (r240310) @@ -523,20 +523,20 @@ in_control(struct socket *so, u_long cmd hostIsNew = 0; } if (ifra->ifra_mask.sin_len) { - /* + /* * QL: XXX * Need to scrub the prefix here in case * the issued command is SIOCAIFADDR with * the same address, but with a different * prefix length. And if the prefix length - * is the same as before, then the call is + * is the same as before, then the call is * un-necessarily executed here. */ in_ifscrub(ifp, ia, LLE_STATIC); ia->ia_sockmask = ifra->ifra_mask; ia->ia_sockmask.sin_family = AF_INET; ia->ia_subnetmask = - ntohl(ia->ia_sockmask.sin_addr.s_addr); + ntohl(ia->ia_sockmask.sin_addr.s_addr); maskIsNew = 1; } if ((ifp->if_flags & IFF_POINTOPOINT) && @@ -945,8 +945,8 @@ in_ifinit(struct ifnet *ifp, struct in_i RT_ADDREF(ia_ro.ro_rt); RTFREE_LOCKED(ia_ro.ro_rt); } else - error = ifa_add_loopback_route((struct ifaddr *)ia, - (struct sockaddr *)&ia->ia_addr); + error = ifa_add_loopback_route((struct ifaddr *)ia, + (struct sockaddr *)&ia->ia_addr); if (error == 0) ia->ia_flags |= IFA_RTSELF; if (ia_ro.ro_rt != NULL) @@ -961,10 +961,10 @@ in_ifinit(struct ifnet *ifp, struct in_i ? RTF_HOST : 0) /* - * Generate a routing message when inserting or deleting + * Generate a routing message when inserting or deleting * an interface address alias. */ -static void in_addralias_rtmsg(int cmd, struct in_addr *prefix, +static void in_addralias_rtmsg(int cmd, struct in_addr *prefix, struct in_ifaddr *target) { struct route pfx_ro; @@ -987,16 +987,13 @@ static void in_addralias_rtmsg(int cmd, /* QL: XXX * Point the gateway to the new interface - * address as if a new prefix route entry has - * been added through the new address alias. - * All other parts of the rtentry is accurate, + * address as if a new prefix route entry has + * been added through the new address alias. + * All other parts of the rtentry is accurate, * e.g., rt_key, rt_mask, rt_ifp etc. */ - msg_rt.rt_gateway = - (struct sockaddr *)&target->ia_addr; - rt_newaddrmsg(cmd, - (struct ifaddr *)target, - 0, &msg_rt); + msg_rt.rt_gateway = (struct sockaddr *)&target->ia_addr; + rt_newaddrmsg(cmd, (struct ifaddr *)target, 0, &msg_rt); RTFREE(pfx_ro.ro_rt); } return; @@ -1044,7 +1041,7 @@ in_addprefix(struct in_ifaddr *target, i */ if (ia->ia_flags & IFA_ROUTE) { #ifdef RADIX_MPATH - if (ia->ia_addr.sin_addr.s_addr == + if (ia->ia_addr.sin_addr.s_addr == target->ia_addr.sin_addr.s_addr) { IN_IFADDR_RUNLOCK(); return (EEXIST); @@ -1121,7 +1118,7 @@ in_scrubprefix(struct in_ifaddr *target, } if (freeit && (flags & LLE_STATIC)) { error = ifa_del_loopback_route((struct ifaddr *)target, - (struct sockaddr *)&target->ia_addr); + (struct sockaddr *)&target->ia_addr); if (error == 0) target->ia_flags &= ~IFA_RTSELF; } @@ -1201,8 +1198,8 @@ in_scrubprefix(struct in_ifaddr *target, mask0.sin_len = sizeof(mask0); mask0.sin_family = AF_INET; mask0.sin_addr.s_addr = target->ia_subnetmask; - lltable_prefix_free(AF_INET, (struct sockaddr *)&prefix0, - (struct sockaddr *)&mask0, flags); + lltable_prefix_free(AF_INET, (struct sockaddr *)&prefix0, + (struct sockaddr *)&mask0, flags); /* * As no-one seem to have this prefix, we can remove the route. @@ -1244,14 +1241,14 @@ in_broadcast(struct in_addr in, struct i * Check for old-style (host 0) broadcast, but * taking into account that RFC 3021 obsoletes it. */ - (ia->ia_subnetmask != IN_RFC3021_MASK && - t == ia->ia_subnet)) && + (ia->ia_subnetmask != IN_RFC3021_MASK && + t == ia->ia_subnet)) && /* * Check for an all one subnetmask. These * only exist when an interface gets a secondary * address. */ - ia->ia_subnetmask != (u_long)0xffffffff) + ia->ia_subnetmask != (u_long)0xffffffff) return (1); return (0); #undef ia @@ -1363,27 +1360,24 @@ in_lltable_new(const struct sockaddr *l3 (((ntohl((d)->sin_addr.s_addr) ^ (a)->sin_addr.s_addr) & (m)->sin_addr.s_addr)) == 0 ) static void -in_lltable_prefix_free(struct lltable *llt, - const struct sockaddr *prefix, - const struct sockaddr *mask, - u_int flags) +in_lltable_prefix_free(struct lltable *llt, const struct sockaddr *prefix, + const struct sockaddr *mask, u_int flags) { const struct sockaddr_in *pfx = (const struct sockaddr_in *)prefix; const struct sockaddr_in *msk = (const struct sockaddr_in *)mask; struct llentry *lle, *next; - register int i; + int i; size_t pkts_dropped; - for (i=0; i < LLTBL_HASHTBL_SIZE; i++) { + for (i = 0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH_SAFE(lle, &llt->lle_head[i], lle_next, next) { - - /* + /* * (flags & LLE_STATIC) means deleting all entries - * including static ARP entries + * including static ARP entries. */ - if (IN_ARE_MASKED_ADDR_EQUAL((struct sockaddr_in *)L3_ADDR(lle), - pfx, msk) && - ((flags & LLE_STATIC) || !(lle->la_flags & LLE_STATIC))) { + if (IN_ARE_MASKED_ADDR_EQUAL(satosin(L3_ADDR(lle)), + pfx, msk) && ((flags & LLE_STATIC) || + !(lle->la_flags & LLE_STATIC))) { int canceled; canceled = callout_drain(&lle->la_timer); @@ -1420,19 +1414,18 @@ in_lltable_rtcheck(struct ifnet *ifp, u_ */ if (rt->rt_flags & RTF_GATEWAY) { if (!(rt->rt_flags & RTF_HOST) || !rt->rt_ifp || - rt->rt_ifp->if_type != IFT_ETHER || - (rt->rt_ifp->if_flags & - (IFF_NOARP | IFF_STATICARP)) != 0 || - memcmp(rt->rt_gateway->sa_data, l3addr->sa_data, - sizeof(in_addr_t)) != 0) { + rt->rt_ifp->if_type != IFT_ETHER || + (rt->rt_ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) != 0 || + memcmp(rt->rt_gateway->sa_data, l3addr->sa_data, + sizeof(in_addr_t)) != 0) { RTFREE_LOCKED(rt); return (EINVAL); } } /* - * Make sure that at least the destination address is covered - * by the route. This is for handling the case where 2 or more + * Make sure that at least the destination address is covered + * by the route. This is for handling the case where 2 or more * interfaces have the same prefix. An incoming packet arrives * on one interface and the corresponding outgoing packet leaves * another interface. @@ -1492,7 +1485,7 @@ in_lltable_lookup(struct lltable *llt, u hashkey = sin->sin_addr.s_addr; lleh = &llt->lle_head[LLATBL_HASH(hashkey, LLTBL_HASHMASK)]; LIST_FOREACH(lle, lleh, lle_next) { - struct sockaddr_in *sa2 = (struct sockaddr_in *)L3_ADDR(lle); + struct sockaddr_in *sa2 = satosin(L3_ADDR(lle)); if (lle->la_flags & LLE_DELETED) continue; if (sa2->sin_addr.s_addr == sin->sin_addr.s_addr) @@ -1501,7 +1494,7 @@ in_lltable_lookup(struct lltable *llt, u if (lle == NULL) { #ifdef DIAGNOSTIC if (flags & LLE_DELETE) - log(LOG_INFO, "interface address is missing from cache = %p in delete\n", lle); + log(LOG_INFO, "interface address is missing from cache = %p in delete\n", lle); #endif if (!(flags & LLE_CREATE)) return (NULL); @@ -1535,11 +1528,11 @@ in_lltable_lookup(struct lltable *llt, u EVENTHANDLER_INVOKE(arp_update_event, lle); LLE_WUNLOCK(lle); #ifdef DIAGNOSTIC - log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); + log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); #endif } lle = (void *)-1; - + } if (LLE_IS_VALID(lle)) { if (flags & LLE_EXCLUSIVE) @@ -1571,7 +1564,7 @@ in_lltable_dump(struct lltable *llt, str for (i = 0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH(lle, &llt->lle_head[i], lle_next) { struct sockaddr_dl *sdl; - + /* skip deleted entries */ if ((lle->la_flags & LLE_DELETED) == LLE_DELETED) continue; Modified: stable/9/sys/netinet6/in6.c ============================================================================== --- stable/9/sys/netinet6/in6.c Mon Sep 10 12:02:58 2012 (r240309) +++ stable/9/sys/netinet6/in6.c Mon Sep 10 12:09:19 2012 (r240310) @@ -256,10 +256,10 @@ in6_mask2len(struct in6_addr *mask, u_ch #ifdef COMPAT_FREEBSD32 struct in6_ndifreq32 { - char ifname[IFNAMSIZ]; - uint32_t ifindex; + char ifname[IFNAMSIZ]; + uint32_t ifindex; }; -#define SIOCGDEFIFACE32_IN6 _IOWR('i', 86, struct in6_ndifreq32) +#define SIOCGDEFIFACE32_IN6 _IOWR('i', 86, struct in6_ndifreq32) #endif int @@ -275,7 +275,7 @@ in6_control(struct socket *so, u_long cm switch (cmd) { case SIOCGETSGCNT_IN6: case SIOCGETMIFCNT_IN6: - /* + /* * XXX mrt_ioctl has a 3rd, unused, FIB argument in route.c. * We cannot see how that would be needed, so do not adjust the * KPI blindly; more likely should clean up the IPv4 variant. @@ -476,7 +476,7 @@ in6_control(struct socket *so, u_long cm } if (td != NULL) { - error = priv_check(td, (cmd == SIOCDIFADDR_IN6) ? + error = priv_check(td, (cmd == SIOCDIFADDR_IN6) ? PRIV_NET_DELIFADDR : PRIV_NET_ADDIFADDR); if (error) goto out; @@ -1339,7 +1339,7 @@ in6_purgeaddr_mc(struct ifnet *ifp, stru bzero(&sin6, sizeof(sin6)); sin6.sin6_len = sizeof(sin6); sin6.sin6_family = AF_INET6; - memcpy(&sin6.sin6_addr, &satosin6(ifa0->ifa_addr)->sin6_addr, + memcpy(&sin6.sin6_addr, &satosin6(ifa0->ifa_addr)->sin6_addr, sizeof(sin6.sin6_addr)); error = in6_setscope(&sin6.sin6_addr, ifa0->ifa_ifp, NULL); if (error != 0) @@ -1348,16 +1348,17 @@ in6_purgeaddr_mc(struct ifnet *ifp, stru rt = in6_rtalloc1((struct sockaddr *)&mltaddr, 0, 0UL, RT_DEFAULT_FIB); if (rt != NULL && rt->rt_gateway != NULL && - (memcmp(&satosin6(rt->rt_gateway)->sin6_addr, + (memcmp(&satosin6(rt->rt_gateway)->sin6_addr, &ia->ia_addr.sin6_addr, sizeof(ia->ia_addr.sin6_addr)) == 0)) { - /* + /* * If no more IPv6 address exists on this interface then * remove the multicast address route. */ if (ifa0 == NULL) { - memcpy(&mltaddr.sin6_addr, &satosin6(rt_key(rt))->sin6_addr, - sizeof(mltaddr.sin6_addr)); + memcpy(&mltaddr.sin6_addr, + &satosin6(rt_key(rt))->sin6_addr, + sizeof(mltaddr.sin6_addr)); RTFREE_LOCKED(rt); error = in6_rtrequest(RTM_DELETE, (struct sockaddr *)&mltaddr, @@ -1389,16 +1390,17 @@ in6_purgeaddr_mc(struct ifnet *ifp, stru rt = in6_rtalloc1((struct sockaddr *)&mltaddr, 0, 0UL, RT_DEFAULT_FIB); if (rt != NULL && rt->rt_gateway != NULL && - (memcmp(&satosin6(rt->rt_gateway)->sin6_addr, + (memcmp(&satosin6(rt->rt_gateway)->sin6_addr, &ia->ia_addr.sin6_addr, sizeof(ia->ia_addr.sin6_addr)) == 0)) { - /* + /* * If no more IPv6 address exists on this interface then * remove the multicast address route. */ if (ifa0 == NULL) { - memcpy(&mltaddr.sin6_addr, &satosin6(rt_key(rt))->sin6_addr, - sizeof(mltaddr.sin6_addr)); + memcpy(&mltaddr.sin6_addr, + &satosin6(rt_key(rt))->sin6_addr, + sizeof(mltaddr.sin6_addr)); RTFREE_LOCKED(rt); error = in6_rtrequest(RTM_DELETE, @@ -1442,8 +1444,7 @@ in6_purgeaddr(struct ifaddr *ifa) TAILQ_FOREACH(ifa0, &ifp->if_addrhead, ifa_link) { if ((ifa0->ifa_addr->sa_family != AF_INET6) || memcmp(&satosin6(ifa0->ifa_addr)->sin6_addr, - &ia->ia_addr.sin6_addr, - sizeof(struct in6_addr)) == 0) + &ia->ia_addr.sin6_addr, sizeof(struct in6_addr)) == 0) continue; else break; @@ -1454,12 +1455,12 @@ in6_purgeaddr(struct ifaddr *ifa) /* * Remove the loopback route to the interface address. - * The check for the current setting of "nd6_useloopback" + * The check for the current setting of "nd6_useloopback" * is not needed. */ if (ia->ia_flags & IFA_RTSELF) { error = ifa_del_loopback_route((struct ifaddr *)ia, - (struct sockaddr *)&ia->ia_addr); + (struct sockaddr *)&ia->ia_addr); if (error == 0) ia->ia_flags &= ~IFA_RTSELF; } @@ -1861,7 +1862,7 @@ in6_ifinit(struct ifnet *ifp, struct in6 * Special case: * If a new destination address is specified for a point-to-point * interface, install a route to the destination as an interface - * direct route. + * direct route. * XXX: the logic below rejects assigning multiple addresses on a p2p * interface that share the same destination. */ @@ -1885,7 +1886,7 @@ in6_ifinit(struct ifnet *ifp, struct in6 */ if (!(ia->ia_flags & IFA_RTSELF) && V_nd6_useloopback) { error = ifa_add_loopback_route((struct ifaddr *)ia, - (struct sockaddr *)&ia->ia_addr); + (struct sockaddr *)&ia->ia_addr); if (error == 0) ia->ia_flags |= IFA_RTSELF; } @@ -1912,7 +1913,7 @@ in6ifa_ifpforlinklocal(struct ifnet *ifp continue; if (IN6_IS_ADDR_LINKLOCAL(IFA_IN6(ifa))) { if ((((struct in6_ifaddr *)ifa)->ia6_flags & - ignoreflags) != 0) + ignoreflags) != 0) continue; ifa_ref(ifa); break; @@ -2079,7 +2080,7 @@ in6_is_addr_deprecated(struct sockaddr_i IN6_IFADDR_RLOCK(); TAILQ_FOREACH(ia, &V_in6_ifaddrhead, ia_link) { if (IN6_ARE_ADDR_EQUAL(&ia->ia_addr.sin6_addr, - &sa6->sin6_addr) && + &sa6->sin6_addr) && (ia->ia6_flags & IN6_IFF_DEPRECATED) != 0) { IN6_IFADDR_RUNLOCK(); return (1); /* true */ @@ -2350,7 +2351,7 @@ in6_setmaxmtu(void) maxmtu = IN6_LINKMTU(ifp); } IFNET_RUNLOCK_NOSLEEP(); - if (maxmtu) /* update only when maxmtu is positive */ + if (maxmtu) /* update only when maxmtu is positive */ V_in6_maxmtu = maxmtu; } @@ -2440,8 +2441,7 @@ in6_lltable_new(const struct sockaddr *l { struct in6_llentry *lle; - lle = malloc(sizeof(struct in6_llentry), M_LLTABLE, - M_DONTWAIT | M_ZERO); + lle = malloc(sizeof(struct in6_llentry), M_LLTABLE, M_NOWAIT | M_ZERO); if (lle == NULL) /* NB: caller generates msg */ return NULL; @@ -2452,29 +2452,27 @@ in6_lltable_new(const struct sockaddr *l callout_init_rw(&lle->base.ln_timer_ch, &lle->base.lle_lock, CALLOUT_RETURNUNLOCKED); - return &lle->base; + return (&lle->base); } static void -in6_lltable_prefix_free(struct lltable *llt, - const struct sockaddr *prefix, - const struct sockaddr *mask, - u_int flags) +in6_lltable_prefix_free(struct lltable *llt, const struct sockaddr *prefix, + const struct sockaddr *mask, u_int flags) { const struct sockaddr_in6 *pfx = (const struct sockaddr_in6 *)prefix; const struct sockaddr_in6 *msk = (const struct sockaddr_in6 *)mask; struct llentry *lle, *next; - register int i; + int i; /* - * (flags & LLE_STATIC) means deleting all entries - * including static ND6 entries + * (flags & LLE_STATIC) means deleting all entries + * including static ND6 entries. */ - for (i=0; i < LLTBL_HASHTBL_SIZE; i++) { + for (i = 0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH_SAFE(lle, &llt->lle_head[i], lle_next, next) { if (IN6_ARE_MASKED_ADDR_EQUAL( - &((struct sockaddr_in6 *)L3_ADDR(lle))->sin6_addr, - &pfx->sin6_addr, + &((struct sockaddr_in6 *)L3_ADDR(lle))->sin6_addr, + &pfx->sin6_addr, &msk->sin6_addr) && ((flags & LLE_STATIC) || !(lle->la_flags & LLE_STATIC))) { int canceled; @@ -2490,8 +2488,8 @@ in6_lltable_prefix_free(struct lltable * } static int -in6_lltable_rtcheck(struct ifnet *ifp, - u_int flags, +in6_lltable_rtcheck(struct ifnet *ifp, + u_int flags, const struct sockaddr *l3addr) { struct rtentry *rt; @@ -2506,8 +2504,8 @@ in6_lltable_rtcheck(struct ifnet *ifp, RT_DEFAULT_FIB); if (rt == NULL || (rt->rt_flags & RTF_GATEWAY) || rt->rt_ifp != ifp) { struct ifaddr *ifa; - /* - * Create an ND6 cache for an IPv6 neighbor + /* + * Create an ND6 cache for an IPv6 neighbor * that is not covered by our own prefix. */ /* XXX ifaof_ifpforaddr should take a const param */ @@ -2548,8 +2546,8 @@ in6_lltable_lookup(struct lltable *llt, struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)L3_ADDR(lle); if (lle->la_flags & LLE_DELETED) continue; - if (bcmp(&sa6->sin6_addr, &sin6->sin6_addr, - sizeof(struct in6_addr)) == 0) + if (bcmp(&sa6->sin6_addr, &sin6->sin6_addr, + sizeof(struct in6_addr)) == 0) break; } @@ -2585,8 +2583,8 @@ in6_lltable_lookup(struct lltable *llt, lle->la_flags = LLE_DELETED; LLE_WUNLOCK(lle); #ifdef DIAGNOSTIC - log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); -#endif + log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); +#endif } lle = (void *)-1; } @@ -2772,8 +2770,7 @@ in6_sin_2_v4mapsin6_in_sock(struct socka struct sockaddr_in *sin_p; struct sockaddr_in6 *sin6_p; - sin6_p = malloc(sizeof *sin6_p, M_SONAME, - M_WAITOK); + sin6_p = malloc(sizeof *sin6_p, M_SONAME, M_WAITOK); sin_p = (struct sockaddr_in *)*nam; in6_sin_2_v4mapsin6(sin_p, sin6_p); free(*nam, M_SONAME); From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 12:11:12 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C6B4C1065674; Mon, 10 Sep 2012 12:11:12 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B100B8FC19; Mon, 10 Sep 2012 12:11:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8ACBC9s050716; Mon, 10 Sep 2012 12:11:12 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8ACBClP050712; Mon, 10 Sep 2012 12:11:12 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201209101211.q8ACBClP050712@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 10 Sep 2012 12:11:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240311 - stable/9/sys/net X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 12:11:13 -0000 Author: glebius Date: Mon Sep 10 12:11:11 2012 New Revision: 240311 URL: http://svn.freebsd.org/changeset/base/240311 Log: Merge r238989: The llentry_update() is used only by flowtable and the latter always passes NULL pointer to it. Thus, code can be simplified and function renamed to llentry_alloc() to match rtalloc(). Modified: stable/9/sys/net/flowtable.c stable/9/sys/net/if_llatbl.c stable/9/sys/net/if_llatbl.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/net/flowtable.c ============================================================================== --- stable/9/sys/net/flowtable.c Mon Sep 10 12:09:19 2012 (r240310) +++ stable/9/sys/net/flowtable.c Mon Sep 10 12:11:11 2012 (r240311) @@ -1257,7 +1257,7 @@ uncached: else l3addr = (struct sockaddr_storage *)&ro->ro_dst; - llentry_update(&lle, LLTABLE6(ifp), l3addr, ifp); + lle = llentry_alloc(ifp, LLTABLE6(ifp), l3addr); } #endif #ifdef INET @@ -1266,7 +1266,7 @@ uncached: l3addr = (struct sockaddr_storage *)rt->rt_gateway; else l3addr = (struct sockaddr_storage *)&ro->ro_dst; - llentry_update(&lle, LLTABLE(ifp), l3addr, ifp); + lle = llentry_alloc(ifp, LLTABLE(ifp), l3addr); } #endif Modified: stable/9/sys/net/if_llatbl.c ============================================================================== --- stable/9/sys/net/if_llatbl.c Mon Sep 10 12:09:19 2012 (r240310) +++ stable/9/sys/net/if_llatbl.c Mon Sep 10 12:11:11 2012 (r240311) @@ -132,42 +132,33 @@ llentry_free(struct llentry *lle) } /* - * Update an llentry for address dst (equivalent to rtalloc for new-arp) - * Caller must pass in a valid struct llentry * (or NULL) + * (al)locate an llentry for address dst (equivalent to rtalloc for new-arp). * - * if found the llentry * is returned referenced and unlocked + * If found the llentry * is returned referenced and unlocked. */ -int -llentry_update(struct llentry **llep, struct lltable *lt, - struct sockaddr_storage *dst, struct ifnet *ifp) +struct llentry * +llentry_alloc(struct ifnet *ifp, struct lltable *lt, + struct sockaddr_storage *dst) { struct llentry *la; IF_AFDATA_RLOCK(ifp); - la = lla_lookup(lt, LLE_EXCLUSIVE, - (struct sockaddr *)dst); + la = lla_lookup(lt, LLE_EXCLUSIVE, (struct sockaddr *)dst); IF_AFDATA_RUNLOCK(ifp); if ((la == NULL) && (ifp->if_flags & (IFF_NOARP | IFF_STATICARP)) == 0) { IF_AFDATA_WLOCK(ifp); - la = lla_lookup(lt, - (LLE_CREATE | LLE_EXCLUSIVE), + la = lla_lookup(lt, (LLE_CREATE | LLE_EXCLUSIVE), (struct sockaddr *)dst); IF_AFDATA_WUNLOCK(ifp); } - if (la != NULL && (*llep != la)) { - if (*llep != NULL) - LLE_FREE(*llep); + + if (la != NULL) { LLE_ADDREF(la); LLE_WUNLOCK(la); - *llep = la; - } else if (la != NULL) - LLE_WUNLOCK(la); - - if (la == NULL) - return (ENOENT); + } - return (0); + return (la); } /* Modified: stable/9/sys/net/if_llatbl.h ============================================================================== --- stable/9/sys/net/if_llatbl.h Mon Sep 10 12:09:19 2012 (r240310) +++ stable/9/sys/net/if_llatbl.h Mon Sep 10 12:11:11 2012 (r240311) @@ -189,8 +189,8 @@ void lltable_drain(int); int lltable_sysctl_dumparp(int, struct sysctl_req *); size_t llentry_free(struct llentry *); -int llentry_update(struct llentry **, struct lltable *, - struct sockaddr_storage *, struct ifnet *); +struct llentry *llentry_alloc(struct ifnet *, struct lltable *, + struct sockaddr_storage *); /* * Generic link layer address lookup function. From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 12:25:58 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B2CC71065672; Mon, 10 Sep 2012 12:25:58 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9C4FD8FC0A; Mon, 10 Sep 2012 12:25:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8ACPwRu052507; Mon, 10 Sep 2012 12:25:58 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8ACPwLr052500; Mon, 10 Sep 2012 12:25:58 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201209101225.q8ACPwLr052500@svn.freebsd.org> From: Gleb Smirnoff Date: Mon, 10 Sep 2012 12:25:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240313 - in stable/9/sys: net netinet netinet6 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 12:25:58 -0000 Author: glebius Date: Mon Sep 10 12:25:57 2012 New Revision: 240313 URL: http://svn.freebsd.org/changeset/base/240313 Log: Merge r238990 (manually resolving absence of r237263): Fix races between in_lltable_prefix_free(), lla_lookup(), llentry_free() and arptimer(): o Use callout_init_rw() for lle timeout, this allows us safely disestablish them. - This allows us to simplify the arptimer() and make it race safe. o Consistently use ifp->if_afdata_lock to lock access to linked lists in the lle hashes. o Introduce new lle flag LLE_LINKED, which marks an entry that is attached to the hash. - Use LLE_LINKED to avoid double unlinking via consequent calls to llentry_free(). - Mark lle with LLE_DELETED via |= operation istead of =, so that other flags won't be lost. o Make LLE_ADDREF(), LLE_REMREF() and LLE_FREE_LOCKED() more consistent and provide more informative KASSERTs. The patch is a collaborative work of all submitters and myself. PR: kern/165863 Submitted by: zont, rstone Submitted by: Eric van Gyzen Modified: stable/9/sys/net/if_llatbl.c stable/9/sys/net/if_llatbl.h stable/9/sys/net/if_var.h stable/9/sys/netinet/if_ether.c stable/9/sys/netinet/in.c stable/9/sys/netinet6/in6.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/net/if_llatbl.c ============================================================================== --- stable/9/sys/net/if_llatbl.c Mon Sep 10 12:23:56 2012 (r240312) +++ stable/9/sys/net/if_llatbl.c Mon Sep 10 12:25:57 2012 (r240313) @@ -109,10 +109,19 @@ llentry_free(struct llentry *lle) size_t pkts_dropped; struct mbuf *next; - pkts_dropped = 0; + IF_AFDATA_WLOCK_ASSERT(lle->lle_tbl->llt_ifp); LLE_WLOCK_ASSERT(lle); + + /* XXX: guard against race with other llentry_free(). */ + if (!(lle->la_flags & LLE_LINKED)) { + LLE_FREE_LOCKED(lle); + return (0); + } + LIST_REMOVE(lle, lle_next); + lle->la_flags &= ~(LLE_VALID | LLE_LINKED); + pkts_dropped = 0; while ((lle->la_numheld > 0) && (lle->la_hold != NULL)) { next = lle->la_hold->m_nextpkt; m_freem(lle->la_hold); @@ -125,7 +134,6 @@ llentry_free(struct llentry *lle) ("%s: la_numheld %d > 0, pkts_droped %zd", __func__, lle->la_numheld, pkts_dropped)); - lle->la_flags &= ~LLE_VALID; LLE_FREE_LOCKED(lle); return (pkts_dropped); @@ -176,17 +184,16 @@ lltable_free(struct lltable *llt) SLIST_REMOVE(&V_lltables, llt, lltable, llt_link); LLTABLE_WUNLOCK(); + IF_AFDATA_WLOCK(llt->llt_ifp); for (i = 0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH_SAFE(lle, &llt->lle_head[i], lle_next, next) { - int canceled; - - canceled = callout_drain(&lle->la_timer); LLE_WLOCK(lle); - if (canceled) + if (callout_stop(&lle->la_timer)) LLE_REMREF(lle); llentry_free(lle); } } + IF_AFDATA_WUNLOCK(llt->llt_ifp); free(llt, M_LLTABLE); } Modified: stable/9/sys/net/if_llatbl.h ============================================================================== --- stable/9/sys/net/if_llatbl.h Mon Sep 10 12:23:56 2012 (r240312) +++ stable/9/sys/net/if_llatbl.h Mon Sep 10 12:25:57 2012 (r240313) @@ -103,26 +103,28 @@ struct llentry { #define LLE_ADDREF(lle) do { \ LLE_WLOCK_ASSERT(lle); \ KASSERT((lle)->lle_refcnt >= 0, \ - ("negative refcnt %d", (lle)->lle_refcnt)); \ + ("negative refcnt %d on lle %p", \ + (lle)->lle_refcnt, (lle))); \ (lle)->lle_refcnt++; \ } while (0) #define LLE_REMREF(lle) do { \ LLE_WLOCK_ASSERT(lle); \ - KASSERT((lle)->lle_refcnt > 1, \ - ("bogus refcnt %d", (lle)->lle_refcnt)); \ + KASSERT((lle)->lle_refcnt > 0, \ + ("bogus refcnt %d on lle %p", \ + (lle)->lle_refcnt, (lle))); \ (lle)->lle_refcnt--; \ } while (0) #define LLE_FREE_LOCKED(lle) do { \ - if ((lle)->lle_refcnt <= 1) \ - (lle)->lle_free((lle)->lle_tbl, (lle));\ + if ((lle)->lle_refcnt == 1) \ + (lle)->lle_free((lle)->lle_tbl, (lle)); \ else { \ - (lle)->lle_refcnt--; \ + LLE_REMREF(lle); \ LLE_WUNLOCK(lle); \ } \ /* guard against invalid refs */ \ - lle = NULL; \ + (lle) = NULL; \ } while (0) #define LLE_FREE(lle) do { \ @@ -172,6 +174,7 @@ MALLOC_DECLARE(M_LLTABLE); #define LLE_VALID 0x0008 /* ll_addr is valid */ #define LLE_PROXY 0x0010 /* proxy entry ??? */ #define LLE_PUB 0x0020 /* publish entry ??? */ +#define LLE_LINKED 0x0040 /* linked to lookup structure */ #define LLE_EXCLUSIVE 0x2000 /* return lle xlocked */ #define LLE_DELETE 0x4000 /* delete on a lookup - match LLE_IFADDR */ #define LLE_CREATE 0x8000 /* create on a lookup miss */ Modified: stable/9/sys/net/if_var.h ============================================================================== --- stable/9/sys/net/if_var.h Mon Sep 10 12:23:56 2012 (r240312) +++ stable/9/sys/net/if_var.h Mon Sep 10 12:25:57 2012 (r240313) @@ -419,6 +419,8 @@ EVENTHANDLER_DECLARE(group_change_event, #define IF_AFDATA_DESTROY(ifp) rw_destroy(&(ifp)->if_afdata_lock) #define IF_AFDATA_LOCK_ASSERT(ifp) rw_assert(&(ifp)->if_afdata_lock, RA_LOCKED) +#define IF_AFDATA_RLOCK_ASSERT(ifp) rw_assert(&(ifp)->if_afdata_lock, RA_RLOCKED) +#define IF_AFDATA_WLOCK_ASSERT(ifp) rw_assert(&(ifp)->if_afdata_lock, RA_WLOCKED) #define IF_AFDATA_UNLOCK_ASSERT(ifp) rw_assert(&(ifp)->if_afdata_lock, RA_UNLOCKED) int if_handoff(struct ifqueue *ifq, struct mbuf *m, struct ifnet *ifp, Modified: stable/9/sys/netinet/if_ether.c ============================================================================== --- stable/9/sys/netinet/if_ether.c Mon Sep 10 12:23:56 2012 (r240312) +++ stable/9/sys/netinet/if_ether.c Mon Sep 10 12:25:57 2012 (r240313) @@ -167,38 +167,30 @@ arp_ifscrub(struct ifnet *ifp, uint32_t static void arptimer(void *arg) { + struct llentry *lle = (struct llentry *)arg; struct ifnet *ifp; - struct llentry *lle; - int pkts_dropped; + size_t pkts_dropped; + + if (lle->la_flags & LLE_STATIC) { + LLE_WUNLOCK(lle); + return; + } - KASSERT(arg != NULL, ("%s: arg NULL", __func__)); - lle = (struct llentry *)arg; ifp = lle->lle_tbl->llt_ifp; CURVNET_SET(ifp->if_vnet); + + callout_stop(&lle->la_timer); + + /* XXX: LOR avoidance. We still have ref on lle. */ + LLE_WUNLOCK(lle); IF_AFDATA_LOCK(ifp); LLE_WLOCK(lle); - if (lle->la_flags & LLE_STATIC) - LLE_WUNLOCK(lle); - else { - if (!callout_pending(&lle->la_timer) && - callout_active(&lle->la_timer)) { - callout_stop(&lle->la_timer); - LLE_REMREF(lle); - pkts_dropped = llentry_free(lle); - ARPSTAT_ADD(dropped, pkts_dropped); - ARPSTAT_INC(timeouts); - } else { -#ifdef DIAGNOSTIC - struct sockaddr *l3addr = L3_ADDR(lle); - log(LOG_INFO, - "arptimer issue: %p, IPv4 address: \"%s\"\n", lle, - inet_ntoa( - ((const struct sockaddr_in *)l3addr)->sin_addr)); -#endif - LLE_WUNLOCK(lle); - } - } + + LLE_REMREF(lle); + pkts_dropped = llentry_free(lle); IF_AFDATA_UNLOCK(ifp); + ARPSTAT_ADD(dropped, pkts_dropped); + ARPSTAT_INC(timeouts); CURVNET_RESTORE(); } Modified: stable/9/sys/netinet/in.c ============================================================================== --- stable/9/sys/netinet/in.c Mon Sep 10 12:23:56 2012 (r240312) +++ stable/9/sys/netinet/in.c Mon Sep 10 12:25:57 2012 (r240313) @@ -1343,7 +1343,6 @@ in_lltable_new(const struct sockaddr *l3 if (lle == NULL) /* NB: caller generates msg */ return NULL; - callout_init(&lle->base.la_timer, CALLOUT_MPSAFE); /* * For IPv4 this will trigger "arpresolve" to generate * an ARP request. @@ -1353,7 +1352,10 @@ in_lltable_new(const struct sockaddr *l3 lle->base.lle_refcnt = 1; lle->base.lle_free = in_lltable_free; LLE_LOCK_INIT(&lle->base); - return &lle->base; + callout_init_rw(&lle->base.la_timer, &lle->base.lle_lock, + CALLOUT_RETURNUNLOCKED); + + return (&lle->base); } #define IN_ARE_MASKED_ADDR_EQUAL(d, a, m) ( \ @@ -1369,6 +1371,7 @@ in_lltable_prefix_free(struct lltable *l int i; size_t pkts_dropped; + IF_AFDATA_WLOCK(llt->llt_ifp); for (i = 0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH_SAFE(lle, &llt->lle_head[i], lle_next, next) { /* @@ -1378,17 +1381,15 @@ in_lltable_prefix_free(struct lltable *l if (IN_ARE_MASKED_ADDR_EQUAL(satosin(L3_ADDR(lle)), pfx, msk) && ((flags & LLE_STATIC) || !(lle->la_flags & LLE_STATIC))) { - int canceled; - - canceled = callout_drain(&lle->la_timer); LLE_WLOCK(lle); - if (canceled) + if (callout_stop(&lle->la_timer)) LLE_REMREF(lle); pkts_dropped = llentry_free(lle); ARPSTAT_ADD(dropped, pkts_dropped); } } } + IF_AFDATA_WUNLOCK(llt->llt_ifp); } @@ -1520,11 +1521,12 @@ in_lltable_lookup(struct lltable *llt, u lle->lle_tbl = llt; lle->lle_head = lleh; + lle->la_flags |= LLE_LINKED; LIST_INSERT_HEAD(lleh, lle, lle_next); } else if (flags & LLE_DELETE) { if (!(lle->la_flags & LLE_IFADDR) || (flags & LLE_IFADDR)) { LLE_WLOCK(lle); - lle->la_flags = LLE_DELETED; + lle->la_flags |= LLE_DELETED; EVENTHANDLER_INVOKE(arp_update_event, lle); LLE_WUNLOCK(lle); #ifdef DIAGNOSTIC Modified: stable/9/sys/netinet6/in6.c ============================================================================== --- stable/9/sys/netinet6/in6.c Mon Sep 10 12:23:56 2012 (r240312) +++ stable/9/sys/netinet6/in6.c Mon Sep 10 12:25:57 2012 (r240313) @@ -2468,23 +2468,22 @@ in6_lltable_prefix_free(struct lltable * * (flags & LLE_STATIC) means deleting all entries * including static ND6 entries. */ + IF_AFDATA_WLOCK(llt->llt_ifp); for (i = 0; i < LLTBL_HASHTBL_SIZE; i++) { LIST_FOREACH_SAFE(lle, &llt->lle_head[i], lle_next, next) { if (IN6_ARE_MASKED_ADDR_EQUAL( - &((struct sockaddr_in6 *)L3_ADDR(lle))->sin6_addr, - &pfx->sin6_addr, - &msk->sin6_addr) && - ((flags & LLE_STATIC) || !(lle->la_flags & LLE_STATIC))) { - int canceled; - - canceled = callout_drain(&lle->la_timer); + &satosin6(L3_ADDR(lle))->sin6_addr, + &pfx->sin6_addr, &msk->sin6_addr) && + ((flags & LLE_STATIC) || + !(lle->la_flags & LLE_STATIC))) { LLE_WLOCK(lle); - if (canceled) + if (callout_stop(&lle->la_timer)) LLE_REMREF(lle); llentry_free(lle); } } } + IF_AFDATA_WUNLOCK(llt->llt_ifp); } static int @@ -2576,11 +2575,12 @@ in6_lltable_lookup(struct lltable *llt, lle->lle_tbl = llt; lle->lle_head = lleh; + lle->la_flags |= LLE_LINKED; LIST_INSERT_HEAD(lleh, lle, lle_next); } else if (flags & LLE_DELETE) { if (!(lle->la_flags & LLE_IFADDR) || (flags & LLE_IFADDR)) { LLE_WLOCK(lle); - lle->la_flags = LLE_DELETED; + lle->la_flags |= LLE_DELETED; LLE_WUNLOCK(lle); #ifdef DIAGNOSTIC log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle); From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 14:10:11 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9B0FA1065670; Mon, 10 Sep 2012 14:10:11 +0000 (UTC) (envelope-from jpaetzel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8466A8FC08; Mon, 10 Sep 2012 14:10:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8AEABox065771; Mon, 10 Sep 2012 14:10:11 GMT (envelope-from jpaetzel@svn.freebsd.org) Received: (from jpaetzel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8AEABji065764; Mon, 10 Sep 2012 14:10:11 GMT (envelope-from jpaetzel@svn.freebsd.org) Message-Id: <201209101410.q8AEABji065764@svn.freebsd.org> From: Josh Paetzel Date: Mon, 10 Sep 2012 14:10:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240315 - stable/9/usr.sbin/pc-sysinstall/backend X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 14:10:11 -0000 Author: jpaetzel Date: Mon Sep 10 14:10:10 2012 New Revision: 240315 URL: http://svn.freebsd.org/changeset/base/240315 Log: MFC r240165: Add TRIM support, enabled by default. Fix a bug installing components from a localPath. Allow autosizing of any partition, not just the last partition. Adjust how ZFS is laid out to work with Boot Environments. Submitted by: kmoore Obtained from: PC-BSD Modified: stable/9/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh stable/9/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh stable/9/usr.sbin/pc-sysinstall/backend/functions-disk.sh stable/9/usr.sbin/pc-sysinstall/backend/functions-installcomponents.sh stable/9/usr.sbin/pc-sysinstall/backend/functions-mountdisk.sh stable/9/usr.sbin/pc-sysinstall/backend/functions-newfs.sh Directory Properties: stable/9/usr.sbin/pc-sysinstall/ (props changed) Modified: stable/9/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh ============================================================================== --- stable/9/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh Mon Sep 10 13:50:34 2012 (r240314) +++ stable/9/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh Mon Sep 10 14:10:10 2012 (r240315) @@ -164,6 +164,38 @@ gen_glabel_name() export VAL="${NAME}${NUM}" }; +# Function to determine the size we can safely use when 0 is specified +get_autosize() +{ + # Disk tag to look for + dTag="$1" + + # Total MB Avail + get_disk_mediasize_mb "$2" + local _aSize=$VAL + + while read line + do + # Check for data on this slice + echo $line | grep -q "^${_dTag}-part=" 2>/dev/null + if [ $? -ne 0 ] ; then continue ; fi + + get_value_from_string "${line}" + STRING="$VAL" + + # Get the size of this partition + SIZE=`echo $STRING | tr -s '\t' ' ' | cut -d ' ' -f 2` + if [ $SIZE -eq 0 ] ; then continue ; fi + _aSize=`expr $_aSize - $SIZE` + done <${CFGF} + + # Pad the size a bit + _aSize=`expr $_aSize - 2` + + VAL="$_aSize" + export VAL +}; + # Function to setup partitions using gpart setup_gpart_partitions() { @@ -173,6 +205,7 @@ setup_gpart_partitions() local _sNum="$4" local _pType="$5" FOUNDPARTS="1" + USEDAUTOSIZE=0 # Lets read in the config file now and setup our partitions if [ "${_pType}" = "gpt" ] ; then @@ -245,7 +278,15 @@ setup_gpart_partitions() if [ "$SIZE" = "0" ] then - SOUT="" + if [ $USEDAUTOSIZE -eq 1 ] ; then + exit_err "ERROR: You can not have two partitions with a size of 0 specified!" + fi + case ${_pType} in + gpt|apm) get_autosize "${_dTag}" "$_pDisk" ;; + *) get_autosize "${_dTag}" "$_wSlice" ;; + esac + SOUT="-s ${VAL}M" + USEDAUTOSIZE=1 else SOUT="-s ${SIZE}M" fi Modified: stable/9/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh ============================================================================== --- stable/9/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh Mon Sep 10 13:50:34 2012 (r240314) +++ stable/9/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh Mon Sep 10 14:10:10 2012 (r240315) @@ -49,7 +49,7 @@ zfs_cleanup_unmount() # Creating a dedicated "/boot" partition cat ${FSMNT}/boot/loader.conf 2>/dev/null | grep -q "vfs.root.mountfrom=" 2>/dev/null if [ $? -ne 0 ] ; then - echo "vfs.root.mountfrom=\"zfs:${ZPOOLNAME}\"" >> ${FSMNT}/boot/loader.conf + echo "vfs.root.mountfrom=\"zfs:${ZPOOLNAME}/ROOT/default\"" >> ${FSMNT}/boot/loader.conf fi export FOUNDZFSROOT="${ZPOOLNAME}" fi @@ -195,8 +195,8 @@ setup_fstab() if [ $? -eq 0 ] ; then if [ "${PARTFS}" = "ZFS" ] ; then ROOTFSTYPE="zfs" - XPOOLNAME=$(get_zpool_name "${PARTDEV}") - ROOTFS="${ZPOOLNAME}" + ZPOOLNAME=$(get_zpool_name "${PARTDEV}") + ROOTFS="${ZPOOLNAME}/ROOT/default" else ROOTFS="${DEVICE}" ROOTFSTYPE="ufs" Modified: stable/9/usr.sbin/pc-sysinstall/backend/functions-disk.sh ============================================================================== --- stable/9/usr.sbin/pc-sysinstall/backend/functions-disk.sh Mon Sep 10 13:50:34 2012 (r240314) +++ stable/9/usr.sbin/pc-sysinstall/backend/functions-disk.sh Mon Sep 10 14:10:10 2012 (r240315) @@ -224,6 +224,15 @@ get_disk_mediasize() export VAL="${mediasize}" }; +# Function which returns a target disks mediasize in megabytes +get_disk_mediasize_mb() +{ + mediasize=`diskinfo -v ${1} | grep "# mediasize in bytes" | tr -s ' ' | cut -f 2` + mediasize=`expr $mediasize / 1024` + mediasize=`expr $mediasize / 1024` + export VAL="${mediasize}" +}; + # Function to delete all gparts before starting an install delete_all_gpart() { Modified: stable/9/usr.sbin/pc-sysinstall/backend/functions-installcomponents.sh ============================================================================== --- stable/9/usr.sbin/pc-sysinstall/backend/functions-installcomponents.sh Mon Sep 10 13:50:34 2012 (r240314) +++ stable/9/usr.sbin/pc-sysinstall/backend/functions-installcomponents.sh Mon Sep 10 14:10:10 2012 (r240315) @@ -71,8 +71,16 @@ copy_component() fetch_file "${FTPPATH}/${COMPFILEDIR}/${SUBDIR}/${CFILE}" "${FSMNT}/${COMPTMPDIR}/${CFILE}" "0" RESULT="$?" ;; - - sftp) ;; + local) + get_value_from_cfg localPath + if [ -z "$VAL" ]; then + exit_err "Install medium was set to local, but no localPath was provided!" + fi + LOCALPATH=$VAL + cp ${LOCALPATH}/${COMPFILEDIR}/${SUBDIR}/${CFILE} \ + ${FSMNT}/${COMPTMPDIR} >>${LOGOUT} 2>>${LOGOUT} + RESULT="$?" + ;; esac if [ "${RESULT}" != "0" ] Modified: stable/9/usr.sbin/pc-sysinstall/backend/functions-mountdisk.sh ============================================================================== --- stable/9/usr.sbin/pc-sysinstall/backend/functions-mountdisk.sh Mon Sep 10 13:50:34 2012 (r240314) +++ stable/9/usr.sbin/pc-sysinstall/backend/functions-mountdisk.sh Mon Sep 10 14:10:10 2012 (r240315) @@ -81,15 +81,34 @@ mount_partition() done if [ "${ZMNT}" = "/" ] ; then - ZNAME="" + # If creating ZFS / dataset, give it name that beadm works with + ZNAME="/ROOT/default" + ZMKMNT="" + echo_log "zfs create $zcopt -p ${ZPOOLNAME}/ROOT" + rc_halt "zfs create $zcopt -p ${ZPOOLNAME}/ROOT" + echo_log "zfs create $zcopt -p ${ZPOOLNAME}${ZNAME}" + rc_halt "zfs create $zcopt -p ${ZPOOLNAME}${ZNAME}" else ZNAME="${ZMNT}" + ZMKMNT="${ZMNT}" echo_log "zfs create $zcopt -p ${ZPOOLNAME}${ZNAME}" rc_halt "zfs create $zcopt -p ${ZPOOLNAME}${ZNAME}" fi sleep 2 if [ -z "$zcopt" ] ; then - rc_halt "zfs set mountpoint=${FSMNT}${ZNAME} ${ZPOOLNAME}${ZNAME}" + rc_halt "zfs set mountpoint=${FSMNT}${ZMKMNT} ${ZPOOLNAME}${ZNAME}" + fi + + # Do we need to make this / zfs dataset bootable? + if [ "$ZMNT" = "/" ] ; then + echo_log "Stamping ${ZPOOLNAME}/ROOT/default as bootfs" + rc_halt "zpool set bootfs=${ZPOOLNAME}/ROOT/default ${ZPOOLNAME}" + fi + + # Do we need to make this /boot zfs dataset bootable? + if [ "$ZMNT" = "/boot" ] ; then + echo_log "Stamping ${ZPOOLNAME}${ZMNT} as bootfs" + rc_halt "zpool set bootfs=${ZPOOLNAME}${ZMNT} ${ZPOOLNAME}" fi # If no ZFS options, we can skip Modified: stable/9/usr.sbin/pc-sysinstall/backend/functions-newfs.sh ============================================================================== --- stable/9/usr.sbin/pc-sysinstall/backend/functions-newfs.sh Mon Sep 10 13:50:34 2012 (r240314) +++ stable/9/usr.sbin/pc-sysinstall/backend/functions-newfs.sh Mon Sep 10 14:10:10 2012 (r240315) @@ -72,16 +72,6 @@ setup_zfs_filesystem() # Disable atime for this zfs partition, speed increase rc_nohalt "zfs set atime=off ${ZPOOLNAME}" - # Check if we need to set a bootable zpool - for i in `echo ${PARTMNT} | sed 's|,| |g'` - do - if [ "${i}" = "/" -o "${i}" = "/boot" ] ; then - if [ "$HAVEBOOT" = "YES" ] ; then continue ; fi - echo_log "Stamping zpool as bootfs" - rc_halt "zpool set bootfs=${ZPOOLNAME} ${ZPOOLNAME}" - fi - done - }; # Runs newfs on all the partiions which we've setup with bsdlabel @@ -144,7 +134,7 @@ setup_filesystems() UFS) echo_log "NEWFS: ${PARTDEV} - ${PARTFS}" sleep 2 - rc_halt "newfs ${PARTXTRAOPTS} ${PARTDEV}${EXT}" + rc_halt "newfs -t ${PARTXTRAOPTS} ${PARTDEV}${EXT}" sleep 2 rc_halt "sync" rc_halt "glabel label ${PARTLABEL} ${PARTDEV}${EXT}" @@ -160,7 +150,7 @@ setup_filesystems() UFS+S) echo_log "NEWFS: ${PARTDEV} - ${PARTFS}" sleep 2 - rc_halt "newfs ${PARTXTRAOPTS} -U ${PARTDEV}${EXT}" + rc_halt "newfs -t ${PARTXTRAOPTS} -U ${PARTDEV}${EXT}" sleep 2 rc_halt "sync" rc_halt "glabel label ${PARTLABEL} ${PARTDEV}${EXT}" @@ -175,7 +165,7 @@ setup_filesystems() UFS+SUJ) echo_log "NEWFS: ${PARTDEV} - ${PARTFS}" sleep 2 - rc_halt "newfs ${PARTXTRAOPTS} -U ${PARTDEV}${EXT}" + rc_halt "newfs -t ${PARTXTRAOPTS} -U ${PARTDEV}${EXT}" sleep 2 rc_halt "sync" rc_halt "tunefs -j enable ${PARTDEV}${EXT}" From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 14:37:43 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB1CD1065670; Mon, 10 Sep 2012 14:37:43 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) by mx1.freebsd.org (Postfix) with ESMTP id 28A8F8FC16; Mon, 10 Sep 2012 14:37:43 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 04B9825D39FD; Mon, 10 Sep 2012 14:37:41 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 1D216BE8520; Mon, 10 Sep 2012 14:37:41 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id terLHZjZ9oEB; Mon, 10 Sep 2012 14:37:38 +0000 (UTC) Received: from nv.sbone.de (nv.sbone.de [IPv6:fde9:577b:c1a9:31::2013:138]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 41C17BE853C; Mon, 10 Sep 2012 14:37:38 +0000 (UTC) Date: Mon, 10 Sep 2012 14:37:38 +0000 (UTC) From: "Bjoern A. Zeeb" To: Gleb Smirnoff In-Reply-To: <201209101202.q8AC2xqE049573@svn.freebsd.org> Message-ID: References: <201209101202.q8AC2xqE049573@svn.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org Subject: Re: svn commit: r240309 - in stable/9/sys: net netinet netinet6 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 14:37:43 -0000 On Mon, 10 Sep 2012, Gleb Smirnoff wrote: > Author: glebius > Date: Mon Sep 10 12:02:58 2012 > New Revision: 240309 > URL: http://svn.freebsd.org/changeset/base/240309 > > Log: > Merge r232054 by kmacy: > When using flowtable llentrys can outlive the interface with > which they're associated at which the lle_tbl pointer points > to freed memory and the llt_free pointer is no longer valid. > > Move the free pointer in to the llentry itself and update the > initalization sites. This breaks the KBI. > Modified: > stable/9/sys/net/if_llatbl.h > stable/9/sys/netinet/in.c > stable/9/sys/netinet6/in6.c > Directory Properties: > stable/9/sys/ (props changed) > > Modified: stable/9/sys/net/if_llatbl.h > ============================================================================== > --- stable/9/sys/net/if_llatbl.h Mon Sep 10 11:50:42 2012 (r240308) > +++ stable/9/sys/net/if_llatbl.h Mon Sep 10 12:02:58 2012 (r240309) > @@ -106,7 +106,6 @@ struct llentry { > ("negative refcnt %d", (lle)->lle_refcnt)); \ > (lle)->lle_refcnt++; \ > } while (0) > - > #define LLE_REMREF(lle) do { \ > LLE_WLOCK_ASSERT(lle); \ > KASSERT((lle)->lle_refcnt > 1, \ > @@ -116,7 +115,7 @@ struct llentry { > > #define LLE_FREE_LOCKED(lle) do { \ > if ((lle)->lle_refcnt <= 1) \ > - (lle)->lle_tbl->llt_free((lle)->lle_tbl, (lle));\ > + (lle)->lle_free((lle)->lle_tbl, (lle));\ > else { \ > (lle)->lle_refcnt--; \ > LLE_WUNLOCK(lle); \ > @@ -152,7 +151,6 @@ struct lltable { > int llt_af; > struct ifnet *llt_ifp; > > - void (*llt_free)(struct lltable *, struct llentry *); > void (*llt_prefix_free)(struct lltable *, > const struct sockaddr *prefix, > const struct sockaddr *mask, > > Modified: stable/9/sys/netinet/in.c > ============================================================================== > --- stable/9/sys/netinet/in.c Mon Sep 10 11:50:42 2012 (r240308) > +++ stable/9/sys/netinet/in.c Mon Sep 10 12:02:58 2012 (r240309) > @@ -1323,6 +1323,20 @@ struct in_llentry { > struct sockaddr_in l3_addr4; > }; > > +/* > + * Deletes an address from the address table. > + * This function is called by the timer functions > + * such as arptimer() and nd6_llinfo_timer(), and > + * the caller does the locking. > + */ > +static void > +in_lltable_free(struct lltable *llt, struct llentry *lle) > +{ > + LLE_WUNLOCK(lle); > + LLE_LOCK_DESTROY(lle); > + free(lle, M_LLTABLE); > +} > + > static struct llentry * > in_lltable_new(const struct sockaddr *l3addr, u_int flags) > { > @@ -1340,25 +1354,11 @@ in_lltable_new(const struct sockaddr *l3 > lle->base.la_expire = time_uptime; /* mark expired */ > lle->l3_addr4 = *(const struct sockaddr_in *)l3addr; > lle->base.lle_refcnt = 1; > + lle->base.lle_free = in_lltable_free; > LLE_LOCK_INIT(&lle->base); > return &lle->base; > } > > -/* > - * Deletes an address from the address table. > - * This function is called by the timer functions > - * such as arptimer() and nd6_llinfo_timer(), and > - * the caller does the locking. > - */ > -static void > -in_lltable_free(struct lltable *llt, struct llentry *lle) > -{ > - LLE_WUNLOCK(lle); > - LLE_LOCK_DESTROY(lle); > - free(lle, M_LLTABLE); > -} > - > - > #define IN_ARE_MASKED_ADDR_EQUAL(d, a, m) ( \ > (((ntohl((d)->sin_addr.s_addr) ^ (a)->sin_addr.s_addr) & (m)->sin_addr.s_addr)) == 0 ) > > @@ -1640,7 +1640,6 @@ in_domifattach(struct ifnet *ifp) > > llt = lltable_init(ifp, AF_INET); > if (llt != NULL) { > - llt->llt_free = in_lltable_free; > llt->llt_prefix_free = in_lltable_prefix_free; > llt->llt_lookup = in_lltable_lookup; > llt->llt_dump = in_lltable_dump; > > Modified: stable/9/sys/netinet6/in6.c > ============================================================================== > --- stable/9/sys/netinet6/in6.c Mon Sep 10 11:50:42 2012 (r240308) > +++ stable/9/sys/netinet6/in6.c Mon Sep 10 12:02:58 2012 (r240309) > @@ -2421,6 +2421,20 @@ struct in6_llentry { > struct sockaddr_in6 l3_addr6; > }; > > +/* > + * Deletes an address from the address table. > + * This function is called by the timer functions > + * such as arptimer() and nd6_llinfo_timer(), and > + * the caller does the locking. > + */ > +static void > +in6_lltable_free(struct lltable *llt, struct llentry *lle) > +{ > + LLE_WUNLOCK(lle); > + LLE_LOCK_DESTROY(lle); > + free(lle, M_LLTABLE); > +} > + > static struct llentry * > in6_lltable_new(const struct sockaddr *l3addr, u_int flags) > { > @@ -2433,6 +2447,7 @@ in6_lltable_new(const struct sockaddr *l > > lle->l3_addr6 = *(const struct sockaddr_in6 *)l3addr; > lle->base.lle_refcnt = 1; > + lle->base.lle_free = in6_lltable_free; > LLE_LOCK_INIT(&lle->base); > callout_init_rw(&lle->base.ln_timer_ch, &lle->base.lle_lock, > CALLOUT_RETURNUNLOCKED); > @@ -2440,20 +2455,6 @@ in6_lltable_new(const struct sockaddr *l > return &lle->base; > } > > -/* > - * Deletes an address from the address table. > - * This function is called by the timer functions > - * such as arptimer() and nd6_llinfo_timer(), and > - * the caller does the locking. > - */ > -static void > -in6_lltable_free(struct lltable *llt, struct llentry *lle) > -{ > - LLE_WUNLOCK(lle); > - LLE_LOCK_DESTROY(lle); > - free(lle, M_LLTABLE); > -} > - > static void > in6_lltable_prefix_free(struct lltable *llt, > const struct sockaddr *prefix, > @@ -2695,7 +2696,6 @@ in6_domifattach(struct ifnet *ifp) > ext->scope6_id = scope6_ifattach(ifp); > ext->lltable = lltable_init(ifp, AF_INET6); > if (ext->lltable != NULL) { > - ext->lltable->llt_free = in6_lltable_free; > ext->lltable->llt_prefix_free = in6_lltable_prefix_free; > ext->lltable->llt_lookup = in6_lltable_lookup; > ext->lltable->llt_dump = in6_lltable_dump; > -- Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family. From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 16:24:17 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CC9631065672; Mon, 10 Sep 2012 16:24:17 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9E77A8FC17; Mon, 10 Sep 2012 16:24:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8AGOHGc082171; Mon, 10 Sep 2012 16:24:17 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8AGOH60082169; Mon, 10 Sep 2012 16:24:17 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201209101624.q8AGOH60082169@svn.freebsd.org> From: Jaakko Heinonen Date: Mon, 10 Sep 2012 16:24:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240319 - stable/9/usr.sbin/lpr/common_source X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 16:24:17 -0000 Author: jh Date: Mon Sep 10 16:24:16 2012 New Revision: 240319 URL: http://svn.freebsd.org/changeset/base/240319 Log: MFC r238546: Remove trailing whitespace. Modified: stable/9/usr.sbin/lpr/common_source/common.c Directory Properties: stable/9/usr.sbin/lpr/ (props changed) stable/9/usr.sbin/lpr/filters/ (props changed) stable/9/usr.sbin/lpr/lpd/ (props changed) Modified: stable/9/usr.sbin/lpr/common_source/common.c ============================================================================== --- stable/9/usr.sbin/lpr/common_source/common.c Mon Sep 10 16:19:12 2012 (r240318) +++ stable/9/usr.sbin/lpr/common_source/common.c Mon Sep 10 16:24:16 2012 (r240319) @@ -136,7 +136,7 @@ getq(const struct printer *pp, struct jo /* * Estimate the array size by taking the size of the directory file - * and dividing it by a multiple of the minimum size entry. + * and dividing it by a multiple of the minimum size entry. */ arraysz = (stbuf.st_size / 24); queue = (struct jobqueue **)malloc(arraysz * sizeof(struct jobqueue *)); @@ -641,7 +641,7 @@ trstat_write(struct printer *pp, tr_send * secs= - seconds it took to transfer the file * bytes= - number of bytes transfered (ie, "bytecount") * bps=e - Bytes/sec (if the transfer was "big enough" - * for this to be useful) + * for this to be useful) * ! top= - type of printer (if the type is defined in * printcap, and if this statline is for sending * a file to that ptr) @@ -719,7 +719,7 @@ trstat_write(struct printer *pp, tr_send if (remspace > 1) { strcpy(eostat, "\n"); } else { - /* probably should back up to just before the final " x=".. */ + /* probably should back up to just before the final " x=".. */ strcpy(statline+STATLINE_SIZE-2, "\n"); } statfile = open(statfname, O_WRONLY|O_APPEND, 0664); @@ -732,7 +732,7 @@ trstat_write(struct printer *pp, tr_send close(statfile); return; -#undef UPD_EOSTAT +#undef UPD_EOSTAT } #include From owner-svn-src-stable@FreeBSD.ORG Mon Sep 10 16:28:46 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 969001065673; Mon, 10 Sep 2012 16:28:46 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 81AD18FC0C; Mon, 10 Sep 2012 16:28:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8AGSksw082802; Mon, 10 Sep 2012 16:28:46 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8AGSk6X082800; Mon, 10 Sep 2012 16:28:46 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201209101628.q8AGSk6X082800@svn.freebsd.org> From: Jaakko Heinonen Date: Mon, 10 Sep 2012 16:28:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240322 - stable/9/usr.sbin/lpr/common_source X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2012 16:28:46 -0000 Author: jh Date: Mon Sep 10 16:28:45 2012 New Revision: 240322 URL: http://svn.freebsd.org/changeset/base/240322 Log: MFC r238547: Make sure that arraysz is initialized to a value larger than zero. arraysz could get initialized to zero on ZFS because ZFS reports directory sizes differently compared to UFS. PR: bin/169493 Modified: stable/9/usr.sbin/lpr/common_source/common.c Directory Properties: stable/9/usr.sbin/lpr/ (props changed) stable/9/usr.sbin/lpr/filters/ (props changed) stable/9/usr.sbin/lpr/lpd/ (props changed) Modified: stable/9/usr.sbin/lpr/common_source/common.c ============================================================================== --- stable/9/usr.sbin/lpr/common_source/common.c Mon Sep 10 16:27:19 2012 (r240321) +++ stable/9/usr.sbin/lpr/common_source/common.c Mon Sep 10 16:28:45 2012 (r240322) @@ -139,6 +139,8 @@ getq(const struct printer *pp, struct jo * and dividing it by a multiple of the minimum size entry. */ arraysz = (stbuf.st_size / 24); + if (arraysz < 16) + arraysz = 16; queue = (struct jobqueue **)malloc(arraysz * sizeof(struct jobqueue *)); if (queue == NULL) goto errdone; From owner-svn-src-stable@FreeBSD.ORG Tue Sep 11 05:58:33 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 711D0106564A; Tue, 11 Sep 2012 05:58:33 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5B7F08FC17; Tue, 11 Sep 2012 05:58:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8B5wXS3087440; Tue, 11 Sep 2012 05:58:33 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8B5wX8h087438; Tue, 11 Sep 2012 05:58:33 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201209110558.q8B5wX8h087438@svn.freebsd.org> From: Andriy Gapon Date: Tue, 11 Sep 2012 05:58:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240337 - stable/9/sys/kern X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Sep 2012 05:58:33 -0000 Author: avg Date: Tue Sep 11 05:58:32 2012 New Revision: 240337 URL: http://svn.freebsd.org/changeset/base/240337 Log: MFC r235777: Make dumptid non-static. It is used by libkvm. PR: kern/167671 MFC slacker: harti Modified: stable/9/sys/kern/kern_shutdown.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/kern/kern_shutdown.c ============================================================================== --- stable/9/sys/kern/kern_shutdown.c Tue Sep 11 05:04:59 2012 (r240336) +++ stable/9/sys/kern/kern_shutdown.c Tue Sep 11 05:58:32 2012 (r240337) @@ -148,7 +148,7 @@ static struct dumperinfo dumper; /* our /* Context information for dump-debuggers. */ static struct pcb dumppcb; /* Registers. */ -static lwpid_t dumptid; /* Thread ID. */ +lwpid_t dumptid; /* Thread ID. */ static void poweroff_wait(void *, int); static void shutdown_halt(void *junk, int howto); From owner-svn-src-stable@FreeBSD.ORG Tue Sep 11 05:59:19 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CBBE71065689; Tue, 11 Sep 2012 05:59:19 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B521E8FC1E; Tue, 11 Sep 2012 05:59:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8B5xJqu087564; Tue, 11 Sep 2012 05:59:19 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8B5xJuc087562; Tue, 11 Sep 2012 05:59:19 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201209110559.q8B5xJuc087562@svn.freebsd.org> From: Andriy Gapon Date: Tue, 11 Sep 2012 05:59:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240338 - stable/8/sys/kern X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Sep 2012 05:59:19 -0000 Author: avg Date: Tue Sep 11 05:59:19 2012 New Revision: 240338 URL: http://svn.freebsd.org/changeset/base/240338 Log: MFC r235777: Make dumptid non-static. It is used by libkvm. PR: kern/167671 MFC slacker: harti Modified: stable/8/sys/kern/kern_shutdown.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/kern/ (props changed) Modified: stable/8/sys/kern/kern_shutdown.c ============================================================================== --- stable/8/sys/kern/kern_shutdown.c Tue Sep 11 05:58:32 2012 (r240337) +++ stable/8/sys/kern/kern_shutdown.c Tue Sep 11 05:59:19 2012 (r240338) @@ -146,7 +146,7 @@ static struct dumperinfo dumper; /* our /* Context information for dump-debuggers. */ static struct pcb dumppcb; /* Registers. */ -static lwpid_t dumptid; /* Thread ID. */ +lwpid_t dumptid; /* Thread ID. */ static void boot(int) __dead2; static void poweroff_wait(void *, int); From owner-svn-src-stable@FreeBSD.ORG Tue Sep 11 08:30:49 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4695D1065676; Tue, 11 Sep 2012 08:30:49 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 176218FC08; Tue, 11 Sep 2012 08:30:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8B8UmPA008889; Tue, 11 Sep 2012 08:30:48 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8B8Umf4008886; Tue, 11 Sep 2012 08:30:48 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201209110830.q8B8Umf4008886@svn.freebsd.org> From: Dag-Erling Smřrgrav Date: Tue, 11 Sep 2012 08:30:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240353 - stable/9/lib/libc/stdlib X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Sep 2012 08:30:49 -0000 Author: des Date: Tue Sep 11 08:30:48 2012 New Revision: 240353 URL: http://svn.freebsd.org/changeset/base/240353 Log: MFH (r240107, r240111): warn against using these for cryptographic purposes. Modified: stable/9/lib/libc/stdlib/rand.3 stable/9/lib/libc/stdlib/random.3 Directory Properties: stable/9/lib/libc/ (props changed) Modified: stable/9/lib/libc/stdlib/rand.3 ============================================================================== --- stable/9/lib/libc/stdlib/rand.3 Tue Sep 11 08:28:58 2012 (r240352) +++ stable/9/lib/libc/stdlib/rand.3 Tue Sep 11 08:30:48 2012 (r240353) @@ -32,7 +32,7 @@ .\" @(#)rand.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd October 6, 2010 +.Dd September 4, 2012 .Dt RAND 3 .Os .Sh NAME @@ -55,9 +55,15 @@ .Fn rand_r "unsigned *ctx" .Sh DESCRIPTION .Bf -symbolic +The functions described in this manual page are not cryptographically +secure. +Cryptographic applications should use +.Xr arc4random 3 +instead. +.Ef +.Pp These interfaces are obsoleted by .Xr random 3 . -.Ef .Pp The .Fn rand @@ -88,9 +94,6 @@ The function initializes a seed using the .Xr random 4 random number device which returns good random numbers. -However, the -.Fn rand -function still remains unsuitable for cryptographic use. .Pp The .Fn rand_r @@ -105,8 +108,6 @@ For better generator quality, use .Xr random 3 or .Xr lrand48 3 . -Applications requiring cryptographic quality randomness should use -.Xr arc4random 3 . .Sh SEE ALSO .Xr arc4random 3 , .Xr lrand48 3 , Modified: stable/9/lib/libc/stdlib/random.3 ============================================================================== --- stable/9/lib/libc/stdlib/random.3 Tue Sep 11 08:28:58 2012 (r240352) +++ stable/9/lib/libc/stdlib/random.3 Tue Sep 11 08:30:48 2012 (r240353) @@ -28,7 +28,7 @@ .\" @(#)random.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd June 4, 1993 +.Dd September 4, 2012 .Dt RANDOM 3 .Os .Sh NAME @@ -53,6 +53,14 @@ .Ft char * .Fn setstate "char *state" .Sh DESCRIPTION +.Bf -symbolic +The functions described in this manual page are not cryptographically +secure. +Cryptographic applications should use +.Xr arc4random 3 +instead. +.Ef +.Pp The .Fn random function @@ -98,10 +106,8 @@ as the seed. .Pp The .Fn srandomdev -routine initializes a state array using the -.Xr random 4 -random number device which returns good random numbers, -suitable for cryptographic use. +routine initializes a state array using data from +.Xr random 4 . Note that this particular seeding procedure can generate states which are impossible to reproduce by calling @@ -191,6 +197,3 @@ The historical implementation used to ha random sequence did not vary much with the seed. The current implementation employs a better pseudo-random number generator for the initial state calculation. -.Pp -Applications requiring cryptographic quality randomness should use -.Xr arc4random 3 . From owner-svn-src-stable@FreeBSD.ORG Tue Sep 11 10:07:56 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1985D106566C; Tue, 11 Sep 2012 10:07:56 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 03D238FC08; Tue, 11 Sep 2012 10:07:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8BA7twF022275; Tue, 11 Sep 2012 10:07:55 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8BA7tYJ022273; Tue, 11 Sep 2012 10:07:55 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201209111007.q8BA7tYJ022273@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Tue, 11 Sep 2012 10:07:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240359 - stable/9/sys/modules/zfs X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Sep 2012 10:07:56 -0000 Author: pjd Date: Tue Sep 11 10:07:55 2012 New Revision: 240359 URL: http://svn.freebsd.org/changeset/base/240359 Log: MFC r226738: Don't look for includes in userland directories. There is no need for it and it breaks building the kernel without userland sources. Reported by: andre, imp Modified: stable/9/sys/modules/zfs/Makefile Directory Properties: stable/9/sys/ (props changed) stable/9/sys/modules/ (props changed) Modified: stable/9/sys/modules/zfs/Makefile ============================================================================== --- stable/9/sys/modules/zfs/Makefile Tue Sep 11 09:38:32 2012 (r240358) +++ stable/9/sys/modules/zfs/Makefile Tue Sep 11 10:07:55 2012 (r240359) @@ -82,7 +82,6 @@ CFLAGS+=-I${SUNW}/uts/common CFLAGS+=-I${.CURDIR}/../.. CFLAGS+=-I${SUNW}/common/zfs CFLAGS+=-I${SUNW}/common -CFLAGS+=-I${.CURDIR}/../../../include CFLAGS+=-DBUILDING_ZFS .if ${MACHINE_ARCH} == "powerpc64" From owner-svn-src-stable@FreeBSD.ORG Wed Sep 12 04:29:11 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0BC0106564A; Wed, 12 Sep 2012 04:29:11 +0000 (UTC) (envelope-from kevlo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BC1DB8FC08; Wed, 12 Sep 2012 04:29:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8C4TBQg093433; Wed, 12 Sep 2012 04:29:11 GMT (envelope-from kevlo@svn.freebsd.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8C4TBii093431; Wed, 12 Sep 2012 04:29:11 GMT (envelope-from kevlo@svn.freebsd.org) Message-Id: <201209120429.q8C4TBii093431@svn.freebsd.org> From: Kevin Lo Date: Wed, 12 Sep 2012 04:29:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240380 - stable/9/sys/dev/ixgbe X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 04:29:12 -0000 Author: kevlo Date: Wed Sep 12 04:29:11 2012 New Revision: 240380 URL: http://svn.freebsd.org/changeset/base/240380 Log: MFC r240155: Add missing braces Obtained from: DragonFly Modified: stable/9/sys/dev/ixgbe/ixgbe_82599.c Directory Properties: stable/9/sys/dev/ixgbe/ (props changed) Modified: stable/9/sys/dev/ixgbe/ixgbe_82599.c ============================================================================== --- stable/9/sys/dev/ixgbe/ixgbe_82599.c Wed Sep 12 03:42:52 2012 (r240379) +++ stable/9/sys/dev/ixgbe/ixgbe_82599.c Wed Sep 12 04:29:11 2012 (r240380) @@ -868,12 +868,13 @@ s32 ixgbe_setup_mac_link_82599(struct ix link_mode == IXGBE_AUTOC_LMS_KX4_KX_KR_SGMII) { /* Set KX4/KX/KR support according to speed requested */ autoc &= ~(IXGBE_AUTOC_KX4_KX_SUPP_MASK | IXGBE_AUTOC_KR_SUPP); - if (speed & IXGBE_LINK_SPEED_10GB_FULL) + if (speed & IXGBE_LINK_SPEED_10GB_FULL) { if (orig_autoc & IXGBE_AUTOC_KX4_SUPP) autoc |= IXGBE_AUTOC_KX4_SUPP; if ((orig_autoc & IXGBE_AUTOC_KR_SUPP) && (hw->phy.smart_speed_active == FALSE)) autoc |= IXGBE_AUTOC_KR_SUPP; + } if (speed & IXGBE_LINK_SPEED_1GB_FULL) autoc |= IXGBE_AUTOC_KX_SUPP; } else if ((pma_pmd_1g == IXGBE_AUTOC_1G_SFI) && From owner-svn-src-stable@FreeBSD.ORG Wed Sep 12 09:29:22 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D793F1065674; Wed, 12 Sep 2012 09:29:22 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C2A6E8FC08; Wed, 12 Sep 2012 09:29:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8C9TMix036839; Wed, 12 Sep 2012 09:29:22 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8C9TMuu036837; Wed, 12 Sep 2012 09:29:22 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201209120929.q8C9TMuu036837@svn.freebsd.org> From: Alexander Motin Date: Wed, 12 Sep 2012 09:29:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240384 - stable/9/sys/dev/acpica X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 09:29:23 -0000 Author: mav Date: Wed Sep 12 09:29:22 2012 New Revision: 240384 URL: http://svn.freebsd.org/changeset/base/240384 Log: MFC r240286: At least from A70M FCH chipsets AMD started to use their real vendor ID (1022) in HPET. But according to report they still haven't fixed problem with level-triggered interrupts. Make workaround used for earlier chipsets apply to this new ID also. PR: amd64/171355 Modified: stable/9/sys/dev/acpica/acpi_hpet.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/acpica/acpi_hpet.c ============================================================================== --- stable/9/sys/dev/acpica/acpi_hpet.c Wed Sep 12 09:20:37 2012 (r240383) +++ stable/9/sys/dev/acpica/acpi_hpet.c Wed Sep 12 09:29:22 2012 (r240384) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #endif #define HPET_VENDID_AMD 0x4353 +#define HPET_VENDID_AMD2 0x1022 #define HPET_VENDID_INTEL 0x8086 #define HPET_VENDID_NVIDIA 0x10de #define HPET_VENDID_SW 0x1166 @@ -505,7 +506,7 @@ hpet_attach(device_t dev) * properly, that makes it very unreliable - it freezes after any * interrupt loss. Avoid legacy IRQs for AMD. */ - if (vendor == HPET_VENDID_AMD) + if (vendor == HPET_VENDID_AMD || vendor == HPET_VENDID_AMD2) sc->allowed_irqs = 0x00000000; /* * NVidia MCP5x chipsets have number of unexplained interrupt From owner-svn-src-stable@FreeBSD.ORG Wed Sep 12 15:59:04 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 25970106564A; Wed, 12 Sep 2012 15:59:04 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E9ECE8FC17; Wed, 12 Sep 2012 15:59:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8CFx3YN000593; Wed, 12 Sep 2012 15:59:03 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8CFx3BR000591; Wed, 12 Sep 2012 15:59:03 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201209121559.q8CFx3BR000591@svn.freebsd.org> From: Jaakko Heinonen Date: Wed, 12 Sep 2012 15:59:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240407 - stable/9/bin/cat X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 15:59:04 -0000 Author: jh Date: Wed Sep 12 15:59:03 2012 New Revision: 240407 URL: http://svn.freebsd.org/changeset/base/240407 Log: MFC r238652: style(9). Modified: stable/9/bin/cat/cat.c Directory Properties: stable/9/bin/cat/ (props changed) Modified: stable/9/bin/cat/cat.c ============================================================================== --- stable/9/bin/cat/cat.c Wed Sep 12 15:36:44 2012 (r240406) +++ stable/9/bin/cat/cat.c Wed Sep 12 15:59:03 2012 (r240407) @@ -58,11 +58,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include #include -#include int bflag, eflag, nflag, sflag, tflag, vflag; int rval; @@ -77,16 +77,20 @@ static void raw_cat(int); static int udom_open(const char *path, int flags); #endif -/* Memory strategy threshold, in pages: if physmem is larger then this, use a - * large buffer */ -#define PHYSPAGES_THRESHOLD (32*1024) - -/* Maximum buffer size in bytes - do not allow it to grow larger than this */ -#define BUFSIZE_MAX (2*1024*1024) - -/* Small (default) buffer size in bytes. It's inefficient for this to be - * smaller than MAXPHYS */ -#define BUFSIZE_SMALL (MAXPHYS) +/* + * Memory strategy threshold, in pages: if physmem is larger than this, + * use a large buffer. + */ +#define PHYSPAGES_THRESHOLD (32 * 1024) + +/* Maximum buffer size in bytes - do not allow it to grow larger than this. */ +#define BUFSIZE_MAX (2 * 1024 * 1024) + +/* + * Small (default) buffer size in bytes. It's inefficient for this to be + * smaller than MAXPHYS. + */ +#define BUFSIZE_SMALL (MAXPHYS) int main(int argc, char *argv[]) @@ -144,13 +148,12 @@ usage(void) static void scanfiles(char *argv[], int cooked) { - int i = 0; + int fd, i; char *path; FILE *fp; + i = 0; while ((path = argv[i]) != NULL || i == 0) { - int fd; - if (path == NULL || strcmp(path, "-") == 0) { filename = "stdin"; fd = STDIN_FILENO; @@ -261,12 +264,12 @@ raw_cat(int rfd) if (S_ISREG(sbuf.st_mode)) { /* If there's plenty of RAM, use a large copy buffer */ if (sysconf(_SC_PHYS_PAGES) > PHYSPAGES_THRESHOLD) - bsize = MIN(BUFSIZE_MAX, MAXPHYS*8); + bsize = MIN(BUFSIZE_MAX, MAXPHYS * 8); else bsize = BUFSIZE_SMALL; } else - bsize = MAX(sbuf.st_blksize, - (blksize_t)sysconf(_SC_PAGESIZE)); + bsize = MAX(sbuf.st_blksize, + (blksize_t)sysconf(_SC_PAGESIZE)); if ((buf = malloc(bsize)) == NULL) err(1, "malloc() failure of IO buffer"); } @@ -327,7 +330,7 @@ udom_open(const char *path, int flags) break; } } - return(fd); + return (fd); } #endif From owner-svn-src-stable@FreeBSD.ORG Wed Sep 12 16:01:49 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 874B0106564A; Wed, 12 Sep 2012 16:01:49 +0000 (UTC) (envelope-from jh@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 71EA78FC17; Wed, 12 Sep 2012 16:01:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8CG1n9r001056; Wed, 12 Sep 2012 16:01:49 GMT (envelope-from jh@svn.freebsd.org) Received: (from jh@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8CG1nC3001054; Wed, 12 Sep 2012 16:01:49 GMT (envelope-from jh@svn.freebsd.org) Message-Id: <201209121601.q8CG1nC3001054@svn.freebsd.org> From: Jaakko Heinonen Date: Wed, 12 Sep 2012 16:01:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240408 - stable/9/bin/cat X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 16:01:49 -0000 Author: jh Date: Wed Sep 12 16:01:48 2012 New Revision: 240408 URL: http://svn.freebsd.org/changeset/base/240408 Log: MFC r238653: Use proper error message when fstat(2) fails on stdout. PR: bin/159746 Modified: stable/9/bin/cat/cat.c Directory Properties: stable/9/bin/cat/ (props changed) Modified: stable/9/bin/cat/cat.c ============================================================================== --- stable/9/bin/cat/cat.c Wed Sep 12 15:59:03 2012 (r240407) +++ stable/9/bin/cat/cat.c Wed Sep 12 16:01:48 2012 (r240408) @@ -260,7 +260,7 @@ raw_cat(int rfd) wfd = fileno(stdout); if (buf == NULL) { if (fstat(wfd, &sbuf)) - err(1, "%s", filename); + err(1, "stdout"); if (S_ISREG(sbuf.st_mode)) { /* If there's plenty of RAM, use a large copy buffer */ if (sysconf(_SC_PHYS_PAGES) > PHYSPAGES_THRESHOLD) From owner-svn-src-stable@FreeBSD.ORG Wed Sep 12 17:50:57 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 977D6106564A; Wed, 12 Sep 2012 17:50:57 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 67DD08FC08; Wed, 12 Sep 2012 17:50:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8CHouVN018573; Wed, 12 Sep 2012 17:50:56 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8CHouub018570; Wed, 12 Sep 2012 17:50:56 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201209121750.q8CHouub018570@svn.freebsd.org> From: Dimitry Andric Date: Wed, 12 Sep 2012 17:50:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240411 - in stable/9/contrib: binutils/include/elf gdb/gdb X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 17:50:57 -0000 Author: dim Date: Wed Sep 12 17:50:56 2012 New Revision: 240411 URL: http://svn.freebsd.org/changeset/base/240411 Log: MFC r239870: Teach gdb about the DW_FORM_flag_present dwarf attribute, so it doesn't error out on files that contain it. (This attribute can be emitted by newer versions of clang.) Modified: stable/9/contrib/binutils/include/elf/dwarf2.h stable/9/contrib/gdb/gdb/dwarf2read.c Directory Properties: stable/9/contrib/binutils/ (props changed) stable/9/contrib/gdb/ (props changed) Modified: stable/9/contrib/binutils/include/elf/dwarf2.h ============================================================================== --- stable/9/contrib/binutils/include/elf/dwarf2.h Wed Sep 12 17:05:39 2012 (r240410) +++ stable/9/contrib/binutils/include/elf/dwarf2.h Wed Sep 12 17:50:56 2012 (r240411) @@ -238,7 +238,8 @@ enum dwarf_form DW_FORM_ref4 = 0x13, DW_FORM_ref8 = 0x14, DW_FORM_ref_udata = 0x15, - DW_FORM_indirect = 0x16 + DW_FORM_indirect = 0x16, + DW_FORM_flag_present = 0x19 }; /* Attribute names and codes. */ Modified: stable/9/contrib/gdb/gdb/dwarf2read.c ============================================================================== --- stable/9/contrib/gdb/gdb/dwarf2read.c Wed Sep 12 17:05:39 2012 (r240410) +++ stable/9/contrib/gdb/gdb/dwarf2read.c Wed Sep 12 17:50:56 2012 (r240411) @@ -4604,6 +4604,9 @@ read_attribute_value (struct attribute * DW_UNSND (attr) = read_1_byte (abfd, info_ptr); info_ptr += 1; break; + case DW_FORM_flag_present: + DW_UNSND (attr) = 1; + break; case DW_FORM_sdata: DW_SND (attr) = read_signed_leb128 (abfd, info_ptr, &bytes_read); info_ptr += bytes_read; @@ -7226,6 +7229,9 @@ dump_die (struct die_info *die) else fprintf_unfiltered (gdb_stderr, "flag: FALSE"); break; + case DW_FORM_flag_present: + fprintf_unfiltered (gdb_stderr, "flag: TRUE"); + break; case DW_FORM_indirect: /* the reader will have reduced the indirect form to the "base form" so this form should not occur */ From owner-svn-src-stable@FreeBSD.ORG Wed Sep 12 17:57:53 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 98A43106566C; Wed, 12 Sep 2012 17:57:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 62FCF8FC0C; Wed, 12 Sep 2012 17:57:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8CHvrX9019743; Wed, 12 Sep 2012 17:57:53 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8CHvrsI019740; Wed, 12 Sep 2012 17:57:53 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201209121757.q8CHvrsI019740@svn.freebsd.org> From: Dimitry Andric Date: Wed, 12 Sep 2012 17:57:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240413 - in stable/8/contrib: binutils/include/elf gdb/gdb X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 17:57:53 -0000 Author: dim Date: Wed Sep 12 17:57:52 2012 New Revision: 240413 URL: http://svn.freebsd.org/changeset/base/240413 Log: MFC r239870: Teach gdb about the DW_FORM_flag_present dwarf attribute, so it doesn't error out on files that contain it. (This attribute can be emitted by newer versions of clang.) Modified: stable/8/contrib/binutils/include/elf/dwarf2.h stable/8/contrib/gdb/gdb/dwarf2read.c Directory Properties: stable/8/contrib/binutils/ (props changed) stable/8/contrib/gdb/ (props changed) Modified: stable/8/contrib/binutils/include/elf/dwarf2.h ============================================================================== --- stable/8/contrib/binutils/include/elf/dwarf2.h Wed Sep 12 17:54:09 2012 (r240412) +++ stable/8/contrib/binutils/include/elf/dwarf2.h Wed Sep 12 17:57:52 2012 (r240413) @@ -236,7 +236,8 @@ enum dwarf_form DW_FORM_ref4 = 0x13, DW_FORM_ref8 = 0x14, DW_FORM_ref_udata = 0x15, - DW_FORM_indirect = 0x16 + DW_FORM_indirect = 0x16, + DW_FORM_flag_present = 0x19 }; /* Attribute names and codes. */ Modified: stable/8/contrib/gdb/gdb/dwarf2read.c ============================================================================== --- stable/8/contrib/gdb/gdb/dwarf2read.c Wed Sep 12 17:54:09 2012 (r240412) +++ stable/8/contrib/gdb/gdb/dwarf2read.c Wed Sep 12 17:57:52 2012 (r240413) @@ -4604,6 +4604,9 @@ read_attribute_value (struct attribute * DW_UNSND (attr) = read_1_byte (abfd, info_ptr); info_ptr += 1; break; + case DW_FORM_flag_present: + DW_UNSND (attr) = 1; + break; case DW_FORM_sdata: DW_SND (attr) = read_signed_leb128 (abfd, info_ptr, &bytes_read); info_ptr += bytes_read; @@ -7226,6 +7229,9 @@ dump_die (struct die_info *die) else fprintf_unfiltered (gdb_stderr, "flag: FALSE"); break; + case DW_FORM_flag_present: + fprintf_unfiltered (gdb_stderr, "flag: TRUE"); + break; case DW_FORM_indirect: /* the reader will have reduced the indirect form to the "base form" so this form should not occur */ From owner-svn-src-stable@FreeBSD.ORG Wed Sep 12 18:02:36 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 63A671065670; Wed, 12 Sep 2012 18:02:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 34B7B8FC08; Wed, 12 Sep 2012 18:02:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8CI2aHE020561; Wed, 12 Sep 2012 18:02:36 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8CI2Zn7020558; Wed, 12 Sep 2012 18:02:35 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201209121802.q8CI2Zn7020558@svn.freebsd.org> From: Dimitry Andric Date: Wed, 12 Sep 2012 18:02:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240414 - in stable/7/contrib: binutils/include/elf gdb/gdb X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 18:02:36 -0000 Author: dim Date: Wed Sep 12 18:02:35 2012 New Revision: 240414 URL: http://svn.freebsd.org/changeset/base/240414 Log: MFC r239870: Teach gdb about the DW_FORM_flag_present dwarf attribute, so it doesn't error out on files that contain it. (This attribute can be emitted by newer versions of clang.) Modified: stable/7/contrib/binutils/include/elf/dwarf2.h stable/7/contrib/gdb/gdb/dwarf2read.c Directory Properties: stable/7/contrib/binutils/ (props changed) stable/7/contrib/gdb/ (props changed) Modified: stable/7/contrib/binutils/include/elf/dwarf2.h ============================================================================== --- stable/7/contrib/binutils/include/elf/dwarf2.h Wed Sep 12 17:57:52 2012 (r240413) +++ stable/7/contrib/binutils/include/elf/dwarf2.h Wed Sep 12 18:02:35 2012 (r240414) @@ -236,7 +236,8 @@ enum dwarf_form DW_FORM_ref4 = 0x13, DW_FORM_ref8 = 0x14, DW_FORM_ref_udata = 0x15, - DW_FORM_indirect = 0x16 + DW_FORM_indirect = 0x16, + DW_FORM_flag_present = 0x19 }; /* Attribute names and codes. */ Modified: stable/7/contrib/gdb/gdb/dwarf2read.c ============================================================================== --- stable/7/contrib/gdb/gdb/dwarf2read.c Wed Sep 12 17:57:52 2012 (r240413) +++ stable/7/contrib/gdb/gdb/dwarf2read.c Wed Sep 12 18:02:35 2012 (r240414) @@ -4604,6 +4604,9 @@ read_attribute_value (struct attribute * DW_UNSND (attr) = read_1_byte (abfd, info_ptr); info_ptr += 1; break; + case DW_FORM_flag_present: + DW_UNSND (attr) = 1; + break; case DW_FORM_sdata: DW_SND (attr) = read_signed_leb128 (abfd, info_ptr, &bytes_read); info_ptr += bytes_read; @@ -7226,6 +7229,9 @@ dump_die (struct die_info *die) else fprintf_unfiltered (gdb_stderr, "flag: FALSE"); break; + case DW_FORM_flag_present: + fprintf_unfiltered (gdb_stderr, "flag: TRUE"); + break; case DW_FORM_indirect: /* the reader will have reduced the indirect form to the "base form" so this form should not occur */ From owner-svn-src-stable@FreeBSD.ORG Wed Sep 12 18:15:18 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 980B5106566C; Wed, 12 Sep 2012 18:15:18 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6AD208FC0A; Wed, 12 Sep 2012 18:15:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8CIFIlR022732; Wed, 12 Sep 2012 18:15:18 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8CIFHO1022727; Wed, 12 Sep 2012 18:15:17 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201209121815.q8CIFHO1022727@svn.freebsd.org> From: Dimitry Andric Date: Wed, 12 Sep 2012 18:15:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240416 - stable/9/lib/libdwarf X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 18:15:18 -0000 Author: dim Date: Wed Sep 12 18:15:17 2012 New Revision: 240416 URL: http://svn.freebsd.org/changeset/base/240416 Log: MFC r239872: Teach libdwarf about the DW_FORM_flag_present dwarf attribute, so programs using libdwarf (such as ctfconvert) don't error out on files containing the attribute. Modified: stable/9/lib/libdwarf/dwarf.h stable/9/lib/libdwarf/dwarf_attrval.c stable/9/lib/libdwarf/dwarf_dump.c stable/9/lib/libdwarf/dwarf_init.c Directory Properties: stable/9/lib/libdwarf/ (props changed) Modified: stable/9/lib/libdwarf/dwarf.h ============================================================================== --- stable/9/lib/libdwarf/dwarf.h Wed Sep 12 18:05:43 2012 (r240415) +++ stable/9/lib/libdwarf/dwarf.h Wed Sep 12 18:15:17 2012 (r240416) @@ -184,6 +184,7 @@ #define DW_FORM_ref8 0x14 #define DW_FORM_ref_udata 0x15 #define DW_FORM_indirect 0x16 +#define DW_FORM_flag_present 0x19 #define DW_OP_addr 0x03 #define DW_OP_deref 0x06 Modified: stable/9/lib/libdwarf/dwarf_attrval.c ============================================================================== --- stable/9/lib/libdwarf/dwarf_attrval.c Wed Sep 12 18:05:43 2012 (r240415) +++ stable/9/lib/libdwarf/dwarf_attrval.c Wed Sep 12 18:15:17 2012 (r240416) @@ -101,6 +101,7 @@ dwarf_attrval_flag(Dwarf_Die die, uint64 } else { switch (av->av_form) { case DW_FORM_flag: + case DW_FORM_flag_present: *valp = (Dwarf_Bool) av->u[0].u64; break; default: Modified: stable/9/lib/libdwarf/dwarf_dump.c ============================================================================== --- stable/9/lib/libdwarf/dwarf_dump.c Wed Sep 12 18:05:43 2012 (r240415) +++ stable/9/lib/libdwarf/dwarf_dump.c Wed Sep 12 18:15:17 2012 (r240416) @@ -240,6 +240,8 @@ get_form_desc(uint32_t form) return "DW_FORM_data8"; case DW_FORM_flag: return "DW_FORM_flag"; + case DW_FORM_flag_present: + return "DW_FORM_flag_present"; case DW_FORM_indirect: return "DW_FORM_indirect"; case DW_FORM_ref1: @@ -648,6 +650,7 @@ dwarf_dump_av(Dwarf_Die die, Dwarf_AttrV case DW_FORM_data4: case DW_FORM_data8: case DW_FORM_flag: + case DW_FORM_flag_present: printf("%llu", (unsigned long long) av->u[0].u64); break; case DW_FORM_ref1: Modified: stable/9/lib/libdwarf/dwarf_init.c ============================================================================== --- stable/9/lib/libdwarf/dwarf_init.c Wed Sep 12 18:05:43 2012 (r240415) +++ stable/9/lib/libdwarf/dwarf_init.c Wed Sep 12 18:15:17 2012 (r240416) @@ -396,6 +396,10 @@ dwarf_init_attr(Dwarf_Debug dbg, Elf_Dat avref.u[1].s = elf_strptr(dbg->dbg_elf, dbg->dbg_s[DWARF_debug_str].s_shnum, avref.u[0].u64); break; + case DW_FORM_flag_present: + /* This form has no value encoded in the DIE. */ + avref.u[0].u64 = 1; + break; default: DWARF_SET_ERROR(error, DWARF_E_NOT_IMPLEMENTED); ret = DWARF_E_NOT_IMPLEMENTED; From owner-svn-src-stable@FreeBSD.ORG Wed Sep 12 18:16:41 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7B774106564A; Wed, 12 Sep 2012 18:16:41 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4D08B8FC16; Wed, 12 Sep 2012 18:16:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8CIGfKT023000; Wed, 12 Sep 2012 18:16:41 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8CIGfqt022995; Wed, 12 Sep 2012 18:16:41 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201209121816.q8CIGfqt022995@svn.freebsd.org> From: Dimitry Andric Date: Wed, 12 Sep 2012 18:16:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240417 - stable/8/lib/libdwarf X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 18:16:41 -0000 Author: dim Date: Wed Sep 12 18:16:40 2012 New Revision: 240417 URL: http://svn.freebsd.org/changeset/base/240417 Log: MFC r239872: Teach libdwarf about the DW_FORM_flag_present dwarf attribute, so programs using libdwarf (such as ctfconvert) don't error out on files containing the attribute. Modified: stable/8/lib/libdwarf/dwarf.h stable/8/lib/libdwarf/dwarf_attrval.c stable/8/lib/libdwarf/dwarf_dump.c stable/8/lib/libdwarf/dwarf_init.c Directory Properties: stable/8/lib/libdwarf/ (props changed) Modified: stable/8/lib/libdwarf/dwarf.h ============================================================================== --- stable/8/lib/libdwarf/dwarf.h Wed Sep 12 18:15:17 2012 (r240416) +++ stable/8/lib/libdwarf/dwarf.h Wed Sep 12 18:16:40 2012 (r240417) @@ -184,6 +184,7 @@ #define DW_FORM_ref8 0x14 #define DW_FORM_ref_udata 0x15 #define DW_FORM_indirect 0x16 +#define DW_FORM_flag_present 0x19 #define DW_OP_addr 0x03 #define DW_OP_deref 0x06 Modified: stable/8/lib/libdwarf/dwarf_attrval.c ============================================================================== --- stable/8/lib/libdwarf/dwarf_attrval.c Wed Sep 12 18:15:17 2012 (r240416) +++ stable/8/lib/libdwarf/dwarf_attrval.c Wed Sep 12 18:16:40 2012 (r240417) @@ -101,6 +101,7 @@ dwarf_attrval_flag(Dwarf_Die die, uint64 } else { switch (av->av_form) { case DW_FORM_flag: + case DW_FORM_flag_present: *valp = (Dwarf_Bool) av->u[0].u64; break; default: Modified: stable/8/lib/libdwarf/dwarf_dump.c ============================================================================== --- stable/8/lib/libdwarf/dwarf_dump.c Wed Sep 12 18:15:17 2012 (r240416) +++ stable/8/lib/libdwarf/dwarf_dump.c Wed Sep 12 18:16:40 2012 (r240417) @@ -240,6 +240,8 @@ get_form_desc(uint32_t form) return "DW_FORM_data8"; case DW_FORM_flag: return "DW_FORM_flag"; + case DW_FORM_flag_present: + return "DW_FORM_flag_present"; case DW_FORM_indirect: return "DW_FORM_indirect"; case DW_FORM_ref1: @@ -648,6 +650,7 @@ dwarf_dump_av(Dwarf_Die die, Dwarf_AttrV case DW_FORM_data4: case DW_FORM_data8: case DW_FORM_flag: + case DW_FORM_flag_present: printf("%llu", (unsigned long long) av->u[0].u64); break; case DW_FORM_ref1: Modified: stable/8/lib/libdwarf/dwarf_init.c ============================================================================== --- stable/8/lib/libdwarf/dwarf_init.c Wed Sep 12 18:15:17 2012 (r240416) +++ stable/8/lib/libdwarf/dwarf_init.c Wed Sep 12 18:16:40 2012 (r240417) @@ -396,6 +396,10 @@ dwarf_init_attr(Dwarf_Debug dbg, Elf_Dat avref.u[1].s = elf_strptr(dbg->dbg_elf, dbg->dbg_s[DWARF_debug_str].s_shnum, avref.u[0].u64); break; + case DW_FORM_flag_present: + /* This form has no value encoded in the DIE. */ + avref.u[0].u64 = 1; + break; default: DWARF_SET_ERROR(error, DWARF_E_NOT_IMPLEMENTED); ret = DWARF_E_NOT_IMPLEMENTED; From owner-svn-src-stable@FreeBSD.ORG Wed Sep 12 18:18:14 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD5AD1065674; Wed, 12 Sep 2012 18:18:14 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9EC828FC0A; Wed, 12 Sep 2012 18:18:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8CIIElY023306; Wed, 12 Sep 2012 18:18:14 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8CIIElA023300; Wed, 12 Sep 2012 18:18:14 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201209121818.q8CIIElA023300@svn.freebsd.org> From: Dimitry Andric Date: Wed, 12 Sep 2012 18:18:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240418 - stable/7/lib/libdwarf X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Sep 2012 18:18:14 -0000 Author: dim Date: Wed Sep 12 18:18:14 2012 New Revision: 240418 URL: http://svn.freebsd.org/changeset/base/240418 Log: MFC r239872: Teach libdwarf about the DW_FORM_flag_present dwarf attribute, so programs using libdwarf (such as ctfconvert) don't error out on files containing the attribute. Modified: stable/7/lib/libdwarf/dwarf.h stable/7/lib/libdwarf/dwarf_attrval.c stable/7/lib/libdwarf/dwarf_dump.c stable/7/lib/libdwarf/dwarf_init.c Directory Properties: stable/7/lib/libdwarf/ (props changed) Modified: stable/7/lib/libdwarf/dwarf.h ============================================================================== --- stable/7/lib/libdwarf/dwarf.h Wed Sep 12 18:16:40 2012 (r240417) +++ stable/7/lib/libdwarf/dwarf.h Wed Sep 12 18:18:14 2012 (r240418) @@ -184,6 +184,7 @@ #define DW_FORM_ref8 0x14 #define DW_FORM_ref_udata 0x15 #define DW_FORM_indirect 0x16 +#define DW_FORM_flag_present 0x19 #define DW_OP_addr 0x03 #define DW_OP_deref 0x06 Modified: stable/7/lib/libdwarf/dwarf_attrval.c ============================================================================== --- stable/7/lib/libdwarf/dwarf_attrval.c Wed Sep 12 18:16:40 2012 (r240417) +++ stable/7/lib/libdwarf/dwarf_attrval.c Wed Sep 12 18:18:14 2012 (r240418) @@ -101,6 +101,7 @@ dwarf_attrval_flag(Dwarf_Die die, uint64 } else { switch (av->av_form) { case DW_FORM_flag: + case DW_FORM_flag_present: *valp = (Dwarf_Bool) av->u[0].u64; break; default: Modified: stable/7/lib/libdwarf/dwarf_dump.c ============================================================================== --- stable/7/lib/libdwarf/dwarf_dump.c Wed Sep 12 18:16:40 2012 (r240417) +++ stable/7/lib/libdwarf/dwarf_dump.c Wed Sep 12 18:18:14 2012 (r240418) @@ -240,6 +240,8 @@ get_form_desc(uint32_t form) return "DW_FORM_data8"; case DW_FORM_flag: return "DW_FORM_flag"; + case DW_FORM_flag_present: + return "DW_FORM_flag_present"; case DW_FORM_indirect: return "DW_FORM_indirect"; case DW_FORM_ref1: @@ -648,6 +650,7 @@ dwarf_dump_av(Dwarf_Die die, Dwarf_AttrV case DW_FORM_data4: case DW_FORM_data8: case DW_FORM_flag: + case DW_FORM_flag_present: printf("%llu", (unsigned long long) av->u[0].u64); break; case DW_FORM_ref1: Modified: stable/7/lib/libdwarf/dwarf_init.c ============================================================================== --- stable/7/lib/libdwarf/dwarf_init.c Wed Sep 12 18:16:40 2012 (r240417) +++ stable/7/lib/libdwarf/dwarf_init.c Wed Sep 12 18:18:14 2012 (r240418) @@ -396,6 +396,10 @@ dwarf_init_attr(Dwarf_Debug dbg, Elf_Dat avref.u[1].s = elf_strptr(dbg->dbg_elf, dbg->dbg_s[DWARF_debug_str].s_shnum, avref.u[0].u64); break; + case DW_FORM_flag_present: + /* This form has no value encoded in the DIE. */ + avref.u[0].u64 = 1; + break; default: DWARF_SET_ERROR(error, DWARF_E_NOT_IMPLEMENTED); ret = DWARF_E_NOT_IMPLEMENTED; From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 00:36:57 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 16D2410657BF; Thu, 13 Sep 2012 00:36:57 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 00E6D8FC14; Thu, 13 Sep 2012 00:36:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D0auWU080431; Thu, 13 Sep 2012 00:36:56 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D0auK8080429; Thu, 13 Sep 2012 00:36:56 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201209130036.q8D0auK8080429@svn.freebsd.org> From: Alexander Motin Date: Thu, 13 Sep 2012 00:36:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240428 - stable/9/sys/dev/sound/pci/hda X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 00:36:57 -0000 Author: mav Date: Thu Sep 13 00:36:56 2012 New Revision: 240428 URL: http://svn.freebsd.org/changeset/base/240428 Log: MFC r239254: Fix multichannel input signals tracing on some CODECs like ALC260. Modified: stable/9/sys/dev/sound/pci/hda/hdaa.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/sound/pci/hda/hdaa.c ============================================================================== --- stable/9/sys/dev/sound/pci/hda/hdaa.c Thu Sep 13 00:36:46 2012 (r240427) +++ stable/9/sys/dev/sound/pci/hda/hdaa.c Thu Sep 13 00:36:56 2012 (r240428) @@ -3068,8 +3068,7 @@ hdaa_audio_trace_adc(struct hdaa_devinfo if ((only == 0 || only == w->nid) && (w->nid >= min) && (onlylength == 0 || onlylength == depth)) { m = w->nid; - if (length != NULL) - *length = depth; + *length = depth; } break; case HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX: @@ -3092,12 +3091,12 @@ hdaa_audio_trace_adc(struct hdaa_devinfo j, mixed, min, only, depth + 1, length, onlylength)) != 0) { if (m == 0 || ret < m || - (ret == m && length != NULL && - *length < lm)) { + (ret == m && *length < lm)) { m = ret; im = i; lm = *length; - } + } else + *length = lm; if (only) break; } From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 00:39:45 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D8AA21065670; Thu, 13 Sep 2012 00:39:44 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C39E68FC1B; Thu, 13 Sep 2012 00:39:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D0diZs080869; Thu, 13 Sep 2012 00:39:44 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D0diWK080866; Thu, 13 Sep 2012 00:39:44 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201209130039.q8D0diWK080866@svn.freebsd.org> From: Alexander Motin Date: Thu, 13 Sep 2012 00:39:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240429 - stable/8/sys/dev/sound/pci/hda X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 00:39:45 -0000 Author: mav Date: Thu Sep 13 00:39:44 2012 New Revision: 240429 URL: http://svn.freebsd.org/changeset/base/240429 Log: MFC r239254: Fix multichannel input signals tracing on some CODECs like ALC260. Modified: stable/8/sys/dev/sound/pci/hda/hdaa.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/sound/ (props changed) stable/8/sys/dev/sound/pci/ (props changed) Modified: stable/8/sys/dev/sound/pci/hda/hdaa.c ============================================================================== --- stable/8/sys/dev/sound/pci/hda/hdaa.c Thu Sep 13 00:36:56 2012 (r240428) +++ stable/8/sys/dev/sound/pci/hda/hdaa.c Thu Sep 13 00:39:44 2012 (r240429) @@ -3068,8 +3068,7 @@ hdaa_audio_trace_adc(struct hdaa_devinfo if ((only == 0 || only == w->nid) && (w->nid >= min) && (onlylength == 0 || onlylength == depth)) { m = w->nid; - if (length != NULL) - *length = depth; + *length = depth; } break; case HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX: @@ -3092,12 +3091,12 @@ hdaa_audio_trace_adc(struct hdaa_devinfo j, mixed, min, only, depth + 1, length, onlylength)) != 0) { if (m == 0 || ret < m || - (ret == m && length != NULL && - *length < lm)) { + (ret == m && *length < lm)) { m = ret; im = i; lm = *length; - } + } else + *length = lm; if (only) break; } From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 00:54:24 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 586DD1065670; Thu, 13 Sep 2012 00:54:24 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 426C48FC16; Thu, 13 Sep 2012 00:54:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D0sOd0082962; Thu, 13 Sep 2012 00:54:24 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D0sOgG082958; Thu, 13 Sep 2012 00:54:24 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201209130054.q8D0sOgG082958@svn.freebsd.org> From: Eitan Adler Date: Thu, 13 Sep 2012 00:54:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240431 - stable/8 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 00:54:24 -0000 Author: eadler Date: Thu Sep 13 00:54:23 2012 New Revision: 240431 URL: http://svn.freebsd.org/changeset/base/240431 Log: MFC r240316: We moved to subversion ages ago. Approved by: cperciva (implicit) Modified: stable/8/MAINTAINERS (contents, props changed) Modified: stable/8/MAINTAINERS ============================================================================== --- stable/8/MAINTAINERS Thu Sep 13 00:42:56 2012 (r240430) +++ stable/8/MAINTAINERS Thu Sep 13 00:54:23 2012 (r240431) @@ -3,7 +3,7 @@ $FreeBSD$ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements are granted by core. These are documented in head/LOCKS and enforced -by CVSROOT/approvers. +by svnadmin/conf/approvers. The source tree is a community effort. However, some folks go to the trouble of looking after particular areas of the tree. In return for From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 00:54:25 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3F7DE106564A; Thu, 13 Sep 2012 00:54:25 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2AA9D8FC08; Thu, 13 Sep 2012 00:54:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D0sPDq083001; Thu, 13 Sep 2012 00:54:25 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D0sO5L082998; Thu, 13 Sep 2012 00:54:24 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201209130054.q8D0sO5L082998@svn.freebsd.org> From: Eitan Adler Date: Thu, 13 Sep 2012 00:54:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240432 - stable/9 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 00:54:25 -0000 Author: eadler Date: Thu Sep 13 00:54:24 2012 New Revision: 240432 URL: http://svn.freebsd.org/changeset/base/240432 Log: MFC r240316: We moved to subversion ages ago. Approved by: cperciva (implicit) Modified: stable/9/MAINTAINERS (contents, props changed) Modified: stable/9/MAINTAINERS ============================================================================== --- stable/9/MAINTAINERS Thu Sep 13 00:54:23 2012 (r240431) +++ stable/9/MAINTAINERS Thu Sep 13 00:54:24 2012 (r240432) @@ -3,7 +3,7 @@ $FreeBSD$ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements are granted by core. These are documented in head/LOCKS and enforced -by CVSROOT/approvers. +by svnadmin/conf/approvers. The source tree is a community effort. However, some folks go to the trouble of looking after particular areas of the tree. In return for From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 00:54:25 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6345D106566B; Thu, 13 Sep 2012 00:54:25 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4ECF28FC0A; Thu, 13 Sep 2012 00:54:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D0sPhA083008; Thu, 13 Sep 2012 00:54:25 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D0sPBP083004; Thu, 13 Sep 2012 00:54:25 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201209130054.q8D0sPBP083004@svn.freebsd.org> From: Eitan Adler Date: Thu, 13 Sep 2012 00:54:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240433 - stable/7 X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 00:54:25 -0000 Author: eadler Date: Thu Sep 13 00:54:24 2012 New Revision: 240433 URL: http://svn.freebsd.org/changeset/base/240433 Log: MFC r240316: We moved to subversion ages ago. Approved by: cperciva (implicit) Modified: stable/7/MAINTAINERS (contents, props changed) Modified: stable/7/MAINTAINERS ============================================================================== --- stable/7/MAINTAINERS Thu Sep 13 00:54:24 2012 (r240432) +++ stable/7/MAINTAINERS Thu Sep 13 00:54:24 2012 (r240433) @@ -3,7 +3,7 @@ $FreeBSD$ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements are granted by core. These are documented in src/LOCKS and enforced -by CVSROOT/approvers. +by svnadmin/conf/approvers. The source tree is a community effort. However, some folks go to the trouble of looking after particular areas of the tree. In return for From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 00:58:33 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 73802106564A; Thu, 13 Sep 2012 00:58:33 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 58AF28FC16; Thu, 13 Sep 2012 00:58:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D0wXCJ083606; Thu, 13 Sep 2012 00:58:33 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D0wXPP083604; Thu, 13 Sep 2012 00:58:33 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201209130058.q8D0wXPP083604@svn.freebsd.org> From: Ed Maste Date: Thu, 13 Sep 2012 00:58:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240434 - stable/9/contrib/gdb/gdb X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 00:58:33 -0000 Author: emaste Date: Thu Sep 13 00:58:32 2012 New Revision: 240434 URL: http://svn.freebsd.org/changeset/base/240434 Log: MFC r240163: Fix "Corrupted DWARF expression" from (k)gdb. Google turned up Debian bug 405116, which describes the problem in sufficient detail to identify the overflowing variables. Modified: stable/9/contrib/gdb/gdb/dwarf2loc.h Directory Properties: stable/9/contrib/gdb/ (props changed) Modified: stable/9/contrib/gdb/gdb/dwarf2loc.h ============================================================================== --- stable/9/contrib/gdb/gdb/dwarf2loc.h Thu Sep 13 00:54:24 2012 (r240433) +++ stable/9/contrib/gdb/gdb/dwarf2loc.h Thu Sep 13 00:58:32 2012 (r240434) @@ -38,7 +38,7 @@ struct dwarf2_locexpr_baton unsigned char *data; /* Length of the location expression. */ - unsigned short size; + unsigned long size; /* The objfile containing the symbol whose location we're computing. */ struct objfile *objfile; @@ -54,7 +54,7 @@ struct dwarf2_loclist_baton unsigned char *data; /* Length of the location list. */ - unsigned short size; + unsigned long size; /* The objfile containing the symbol whose location we're computing. */ /* Used (only???) by thread local variables. The objfile in which From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 01:02:42 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5F97106566C; Thu, 13 Sep 2012 01:02:42 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B07638FC08; Thu, 13 Sep 2012 01:02:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D12gKD084208; Thu, 13 Sep 2012 01:02:42 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D12gWw084206; Thu, 13 Sep 2012 01:02:42 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201209130102.q8D12gWw084206@svn.freebsd.org> From: Ed Maste Date: Thu, 13 Sep 2012 01:02:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240435 - stable/8/contrib/gdb/gdb X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 01:02:42 -0000 Author: emaste Date: Thu Sep 13 01:02:42 2012 New Revision: 240435 URL: http://svn.freebsd.org/changeset/base/240435 Log: MFC r240163: Fix "Corrupted DWARF expression" from (k)gdb. Google turned up Debian bug 405116, which describes the problem in sufficient detail to identify the overflowing variables. Modified: stable/8/contrib/gdb/gdb/dwarf2loc.h Directory Properties: stable/8/contrib/gdb/ (props changed) Modified: stable/8/contrib/gdb/gdb/dwarf2loc.h ============================================================================== --- stable/8/contrib/gdb/gdb/dwarf2loc.h Thu Sep 13 00:58:32 2012 (r240434) +++ stable/8/contrib/gdb/gdb/dwarf2loc.h Thu Sep 13 01:02:42 2012 (r240435) @@ -38,7 +38,7 @@ struct dwarf2_locexpr_baton unsigned char *data; /* Length of the location expression. */ - unsigned short size; + unsigned long size; /* The objfile containing the symbol whose location we're computing. */ struct objfile *objfile; @@ -54,7 +54,7 @@ struct dwarf2_loclist_baton unsigned char *data; /* Length of the location list. */ - unsigned short size; + unsigned long size; /* The objfile containing the symbol whose location we're computing. */ /* Used (only???) by thread local variables. The objfile in which From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 01:02:56 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BD42910656E0; Thu, 13 Sep 2012 01:02:56 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9DD6F8FC14; Thu, 13 Sep 2012 01:02:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D12uUj084301; Thu, 13 Sep 2012 01:02:56 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D12uML084299; Thu, 13 Sep 2012 01:02:56 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201209130102.q8D12uML084299@svn.freebsd.org> From: Eitan Adler Date: Thu, 13 Sep 2012 01:02:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240436 - stable/8/share/misc X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 01:02:56 -0000 Author: eadler Date: Thu Sep 13 01:02:56 2012 New Revision: 240436 URL: http://svn.freebsd.org/changeset/base/240436 Log: MFC r237676,r237677,r237680,r240294,r240318,r240324: Update organization.dot to reflect reality Approved by: cperciva (implicit) Modified: stable/8/share/misc/organization.dot Directory Properties: stable/8/share/misc/ (props changed) Modified: stable/8/share/misc/organization.dot ============================================================================== --- stable/8/share/misc/organization.dot Thu Sep 13 01:02:42 2012 (r240435) +++ stable/8/share/misc/organization.dot Thu Sep 13 01:02:56 2012 (r240436) @@ -26,21 +26,15 @@ _misc [label="Miscellaneous Hats"] # Development teams go here alphabetically sorted core [label="Core Team\ncore@FreeBSD.org\ntabthorpe, gavin, jhb, kib,\ntheraven, attilio, hrs,\npeter, miwi"] -coresecretary [label="Core Team Secretary\ncore-secretary@FreeBSD.org\njoel"] +coresecretary [label="Core Team Secretary\ncore-secretary@FreeBSD.org\npgj"] doccommitters [label="Doc/www Committers\ndoc-committers@FreeBSD.org"] -doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\nnik, blackend, hrs,\nkeramida"] +doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\ngjb, blackend,\ngabor, hrs"] portscommitters [label="Ports Committers\nports-committers@FreeBSD.org"] -portmgr [label="Port Management Team\nportmgr@FreeBSD.org\nmarcus, kris, erwin,\nlinimon, pav, krion"] -portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\nerwin"] -re [label="Primary Release Engineering Team\nre@FreeBSD.org\nmux, bmah, hrs, kensmith,\nmurray, rwatson, dwhite"] -realpha [label="FreeBSD/alpha Release Engineering Team\nre-alpha@FreeBSD.org\nwilko, murray, rwatson"] -reamd64 [label="FreeBSD/amd64 Release Engineering Team\nre-amd64@FreeBSD.org\nobrien"] -rei386 [label="FreeBSD/i386 Release Engineering Team\nre-i386@FreeBSD.org\nmurray, rwatson"] -reia64 [label="FreeBSD/ia64 Release Engineering Team\nre-ia64@FreeBSD.org\nmarcel"] -repc98 [label="FreeBSD/pc98 Release Engineering Team\nre-pc98@FreeBSD.org\nnyan"] -reppc [label="FreeBSD/ppc Release Engineering Team\nre-ppc@FreeBSD.org\ngrehan"] -resparc64 [label="FreeBSD/sparc64 Release Engineering Team\nre-sparc64@FreeBSD.org\njake, phk, tmm, obrien,\nkensmith, murray, rwatson"] -secteam [label="Security Team\nsecteam@FreeBSD.org\nmnag, remko, gnn, simon, philip,\ncperciva, csjp, des,\nnectar, rwatson"] +portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt, beat,\nerwin, linimon, pav,\nitetcu, miwi"] +portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\ntabthorpe"] +re [label="Primary Release Engineering Team\nre@FreeBSD.org\nkib, blackend, jpaetzel, hrs, kensmith,\nrwatson, bz"] +secteam [label="Security Team\nsecteam@FreeBSD.org\nsimon, qingli, delphij,\nremko, philip, stas, cperciva,\ncsjp, rwatson, miwi, bz"] +portssecteam [label="Ports Security Team\nports-secteam@FreeBSD.org\nmiwi, rea, swills, wxs,\njgh, sbz, eadler, zi, remko, simon"] secteamsecretary [label="Security Team Secretary\nsecteam-secretary@FreeBSD.org\nremko"] securityofficer [label="Security Officer Team\nsecurity-officer@FreeBSD.org\ncperciva, simon, nectar"] srccommitters [label="Src Committers\nsrc-committers@FreeBSD.org"] @@ -49,24 +43,23 @@ srccommitters [label="Src Committers\nsr accounts [label="Accounts Team\naccounts@FreeBSD.org\nmarkm, simon, kensmith,\ndhw"] backups [label="Backup Administrators\nbackups@FreeBSD.org\nsimon, kensmith,\ndhw"] -bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\nceri, linimon, remko"] -clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nbillf, simon, ps,\nkensmith, peter"] +bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\neadler, gavin, gonzo, linimon"] +clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nbrd, simon, ps,\nkensmith, peter"] cvsupmaster [label="CVSup Mirror Site Coordinators\ncvsup-master@FreeBSD.org\nkuriyama, jdp,\nkensmith"] -dcvs [label="CVS doc/www Repository Managers\ndcvs@FreeBSD.org\njoe, kuriyama, markm,\nsimon"] dnsadm [label="DNS Administrators\ndnsadm@FreeBSD.org\nbillf, dg, ps,\nkensmith, peter"] mirroradmin [label="FTP/WWW Mirror Site Coordinators\nmirror-admin@FreeBSD.org\nkuriyama, kensmith"] ncvs [label="CVS src Repository Managers\nncvs@FreeBSD.org\njoe, kuriyama, markm,\nsimon, peter"] pcvs [label="CVS ports Repository Managers\npcvs@FreeBSD.org\nmarcus, joe, kuriyama,\nmarkm, simon"] perforceadmin [label="Perforce Repository Administrators\nperforce-admin@FreeBSD.org\nscottl, kensmith, gordon,\nrwatson, peter, dhw"] -postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\njmb, brd, dhw"] +postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\njmb, brd, sahil, dhw"] refadm [label="Reference Systems Administrators\nrefadm@FreeBSD.org\njake, billf, markm, simon,\nobrien, ps, kensmith,\npeter, dhw"] webmaster [label="Webmaster Team\nwebmaster@FreeBSD.org\nnik, kuriyama, simon,\njesusr, wosch"] # Misc hats go here alphabetically sorted -donations [label="Donations Team\ndonations@FreeBSD.org\nwilko, brueffer,\nobrien, trhodes, ds,\nrwatson"] +donations [label="Donations Team\ndonations@FreeBSD.org\ngjb, wilko, gahr, pgolluci,\nobrien, trhodes, ds,\nrwatson"] marketing [label="Marketing Team\nmarketing@FreeBSD.org\nSteven Beedle, Denise Ebery, deb,\njkoshy, Dru Lavigne, mwlucas, imp,\nKris Moore, murray, mattt,\nJeremy C. Reed, rwatson"] -vendorrelations [label="Vendor Relations Team\nvendor-relations@FreeBSD.org\nbrueffer, gioria, jmg, rik,\nphilip, hmp, marks,\nmurray"] +vendorrelations [label="Vendor Relations Team\nvendor-relations@FreeBSD.org\ngioria, jmg, rik,\nphilip, hmp, marks,\nmurray"] # Here are the team relationships. # Group together all the entries for the superior team. @@ -105,15 +98,8 @@ doceng -> doccommitters portmgr -> portmgrsecretary portmgr -> portscommitters -re -> realpha -re -> reamd64 -re -> rei386 -re -> reia64 -re -> repc98 -re -> reppc -re -> resparc64 - securityofficer -> secteam +securityofficer -> portssecteam secteam -> secteamsecretary From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 01:02:57 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 355B210656E1; Thu, 13 Sep 2012 01:02:57 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 153498FC08; Thu, 13 Sep 2012 01:02:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D12udX084329; Thu, 13 Sep 2012 01:02:56 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D12uGX084320; Thu, 13 Sep 2012 01:02:56 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201209130102.q8D12uGX084320@svn.freebsd.org> From: Eitan Adler Date: Thu, 13 Sep 2012 01:02:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240437 - stable/7/share/misc X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 01:02:57 -0000 Author: eadler Date: Thu Sep 13 01:02:56 2012 New Revision: 240437 URL: http://svn.freebsd.org/changeset/base/240437 Log: MFC r237676,r237677,r237680,r240294,r240318,r240324: Update organization.dot to reflect reality Approved by: cperciva (implicit) Modified: stable/7/share/misc/organization.dot Directory Properties: stable/7/share/misc/ (props changed) Modified: stable/7/share/misc/organization.dot ============================================================================== --- stable/7/share/misc/organization.dot Thu Sep 13 01:02:56 2012 (r240436) +++ stable/7/share/misc/organization.dot Thu Sep 13 01:02:56 2012 (r240437) @@ -26,21 +26,15 @@ _misc [label="Miscellaneous Hats"] # Development teams go here alphabetically sorted core [label="Core Team\ncore@FreeBSD.org\nwilko, brooks, keramida, imp,\ngnn, wes, hrs, murray,\nrwatson"] -coresecretary [label="Core Team Secretary\ncore-secretary@FreeBSD.org\njoel"] +coresecretary [label="Core Team Secretary\ncore-secretary@FreeBSD.org\npgj"] doccommitters [label="Doc/www Committers\ndoc-committers@FreeBSD.org"] -doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\nnik, blackend, hrs,\nkeramida"] +doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\ngjb, blackend,\ngabor, hrs"] portscommitters [label="Ports Committers\nports-committers@FreeBSD.org"] -portmgr [label="Port Management Team\nportmgr@FreeBSD.org\nmarcus, kris, erwin,\nlinimon, pav, krion"] -portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\nerwin"] -re [label="Primary Release Engineering Team\nre@FreeBSD.org\nmux, bmah, hrs, kensmith,\nmurray, rwatson, dwhite"] -realpha [label="FreeBSD/alpha Release Engineering Team\nre-alpha@FreeBSD.org\nwilko, murray, rwatson"] -reamd64 [label="FreeBSD/amd64 Release Engineering Team\nre-amd64@FreeBSD.org\nobrien"] -rei386 [label="FreeBSD/i386 Release Engineering Team\nre-i386@FreeBSD.org\nmurray, rwatson"] -reia64 [label="FreeBSD/ia64 Release Engineering Team\nre-ia64@FreeBSD.org\nmarcel"] -repc98 [label="FreeBSD/pc98 Release Engineering Team\nre-pc98@FreeBSD.org\nnyan"] -reppc [label="FreeBSD/ppc Release Engineering Team\nre-ppc@FreeBSD.org\ngrehan"] -resparc64 [label="FreeBSD/sparc64 Release Engineering Team\nre-sparc64@FreeBSD.org\njake, phk, tmm, obrien,\nkensmith, murray, rwatson"] -secteam [label="Security Team\nsecteam@FreeBSD.org\nmnag, remko, gnn, simon, philip,\ncperciva, csjp, des,\nnectar, rwatson"] +portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt, beat,\nerwin, linimon, pav,\nitetcu, miwi"] +portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\ntabthorpe"] +re [label="Primary Release Engineering Team\nre@FreeBSD.org\nkib, blackend, jpaetzel, hrs, kensmith,\nrwatson, bz"] +secteam [label="Security Team\nsecteam@FreeBSD.org\nsimon, qingli, delphij,\nremko, philip, stas, cperciva,\ncsjp, rwatson, miwi, bz"] +portssecteam [label="Ports Security Team\nports-secteam@FreeBSD.org\nmiwi, rea, swills, wxs,\njgh, sbz, eadler, zi, remko, simon"] secteamsecretary [label="Security Team Secretary\nsecteam-secretary@FreeBSD.org\nremko"] securityofficer [label="Security Officer Team\nsecurity-officer@FreeBSD.org\ncperciva, simon, nectar"] srccommitters [label="Src Committers\nsrc-committers@FreeBSD.org"] @@ -49,24 +43,23 @@ srccommitters [label="Src Committers\nsr accounts [label="Accounts Team\naccounts@FreeBSD.org\nmarkm, simon, kensmith,\ndhw"] backups [label="Backup Administrators\nbackups@FreeBSD.org\nsimon, kensmith,\ndhw"] -bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\nceri, linimon, remko"] -clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nbillf, simon, ps,\nkensmith, peter"] +bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\neadler, gavin, gonzo, linimon"] +clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nbrd, simon, ps,\nkensmith, peter"] cvsupmaster [label="CVSup Mirror Site Coordinators\ncvsup-master@FreeBSD.org\nkuriyama, jdp,\nkensmith"] -dcvs [label="CVS doc/www Repository Managers\ndcvs@FreeBSD.org\njoe, kuriyama, markm,\nsimon"] dnsadm [label="DNS Administrators\ndnsadm@FreeBSD.org\nbillf, dg, ps,\nkensmith, peter"] mirroradmin [label="FTP/WWW Mirror Site Coordinators\nmirror-admin@FreeBSD.org\nkuriyama, kensmith"] ncvs [label="CVS src Repository Managers\nncvs@FreeBSD.org\njoe, kuriyama, markm,\nsimon, peter"] pcvs [label="CVS ports Repository Managers\npcvs@FreeBSD.org\nmarcus, joe, kuriyama,\nmarkm, simon"] perforceadmin [label="Perforce Repository Administrators\nperforce-admin@FreeBSD.org\nscottl, kensmith, gordon,\nrwatson, peter, dhw"] -postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\njmb, brd, dhw"] +postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\njmb, brd, sahil, dhw"] refadm [label="Reference Systems Administrators\nrefadm@FreeBSD.org\njake, billf, markm, simon,\nobrien, ps, kensmith,\npeter, dhw"] webmaster [label="Webmaster Team\nwebmaster@FreeBSD.org\nnik, kuriyama, simon,\njesusr, wosch"] # Misc hats go here alphabetically sorted -donations [label="Donations Team\ndonations@FreeBSD.org\nwilko, brueffer,\nobrien, trhodes, ds,\nrwatson"] +donations [label="Donations Team\ndonations@FreeBSD.org\ngjb, wilko, gahr, pgolluci,\nobrien, trhodes, ds,\nrwatson"] marketing [label="Marketing Team\nmarketing@FreeBSD.org\nSteven Beedle, Denise Ebery, deb,\njkoshy, Dru Lavigne, mwlucas, imp,\nKris Moore, murray, mattt,\nJeremy C. Reed, rwatson"] -vendorrelations [label="Vendor Relations Team\nvendor-relations@FreeBSD.org\nbrueffer, gioria, jmg, rik,\nphilip, hmp, marks,\nmurray"] +vendorrelations [label="Vendor Relations Team\nvendor-relations@FreeBSD.org\ngioria, jmg, rik,\nphilip, hmp, marks,\nmurray"] # Here are the team relationships. # Group together all the entries for the superior team. @@ -105,15 +98,8 @@ doceng -> doccommitters portmgr -> portmgrsecretary portmgr -> portscommitters -re -> realpha -re -> reamd64 -re -> rei386 -re -> reia64 -re -> repc98 -re -> reppc -re -> resparc64 - securityofficer -> secteam +securityofficer -> portssecteam secteam -> secteamsecretary From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 01:02:57 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66BD310656E2; Thu, 13 Sep 2012 01:02:57 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 46B308FC0A; Thu, 13 Sep 2012 01:02:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D12vVa084336; Thu, 13 Sep 2012 01:02:57 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D12vKO084334; Thu, 13 Sep 2012 01:02:57 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201209130102.q8D12vKO084334@svn.freebsd.org> From: Eitan Adler Date: Thu, 13 Sep 2012 01:02:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240438 - stable/9/share/misc X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 01:02:57 -0000 Author: eadler Date: Thu Sep 13 01:02:56 2012 New Revision: 240438 URL: http://svn.freebsd.org/changeset/base/240438 Log: MFC r237676,r237677,r237680,r240294,r240318,r240324: Update organization.dot to reflect reality Approved by: cperciva (implicit) Modified: stable/9/share/misc/organization.dot Directory Properties: stable/9/share/misc/ (props changed) Modified: stable/9/share/misc/organization.dot ============================================================================== --- stable/9/share/misc/organization.dot Thu Sep 13 01:02:56 2012 (r240437) +++ stable/9/share/misc/organization.dot Thu Sep 13 01:02:56 2012 (r240438) @@ -26,21 +26,15 @@ _misc [label="Miscellaneous Hats"] # Development teams go here alphabetically sorted core [label="Core Team\ncore@FreeBSD.org\ntabthorpe, gavin, jhb, kib,\ntheraven, attilio, hrs,\npeter, miwi"] -coresecretary [label="Core Team Secretary\ncore-secretary@FreeBSD.org\njoel"] +coresecretary [label="Core Team Secretary\ncore-secretary@FreeBSD.org\npgj"] doccommitters [label="Doc/www Committers\ndoc-committers@FreeBSD.org"] -doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\nnik, blackend, hrs,\nkeramida"] +doceng [label="Documentation Engineering Team\ndoceng@FreeBSD.org\ngjb, blackend,\ngabor, hrs"] portscommitters [label="Ports Committers\nports-committers@FreeBSD.org"] -portmgr [label="Port Management Team\nportmgr@FreeBSD.org\nmarcus, kris, erwin,\nlinimon, pav, krion"] -portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\nerwin"] -re [label="Primary Release Engineering Team\nre@FreeBSD.org\nmux, bmah, hrs, kensmith,\nmurray, rwatson, dwhite"] -realpha [label="FreeBSD/alpha Release Engineering Team\nre-alpha@FreeBSD.org\nwilko, murray, rwatson"] -reamd64 [label="FreeBSD/amd64 Release Engineering Team\nre-amd64@FreeBSD.org\nobrien"] -rei386 [label="FreeBSD/i386 Release Engineering Team\nre-i386@FreeBSD.org\nmurray, rwatson"] -reia64 [label="FreeBSD/ia64 Release Engineering Team\nre-ia64@FreeBSD.org\nmarcel"] -repc98 [label="FreeBSD/pc98 Release Engineering Team\nre-pc98@FreeBSD.org\nnyan"] -reppc [label="FreeBSD/ppc Release Engineering Team\nre-ppc@FreeBSD.org\ngrehan"] -resparc64 [label="FreeBSD/sparc64 Release Engineering Team\nre-sparc64@FreeBSD.org\njake, phk, tmm, obrien,\nkensmith, murray, rwatson"] -secteam [label="Security Team\nsecteam@FreeBSD.org\nmnag, remko, gnn, simon, philip,\ncperciva, csjp, des,\nnectar, rwatson"] +portmgr [label="Port Management Team\nportmgr@FreeBSD.org\ntabthorpe, marcus, bapt, beat,\nerwin, linimon, pav,\nitetcu, miwi"] +portmgrsecretary [label="Port Management Team Secretary\nportmgr-secretary@FreeBSD.org\ntabthorpe"] +re [label="Primary Release Engineering Team\nre@FreeBSD.org\nkib, blackend, jpaetzel, hrs, kensmith,\nrwatson, bz"] +secteam [label="Security Team\nsecteam@FreeBSD.org\nsimon, qingli, delphij,\nremko, philip, stas, cperciva,\ncsjp, rwatson, miwi, bz"] +portssecteam [label="Ports Security Team\nports-secteam@FreeBSD.org\nmiwi, rea, swills, wxs,\njgh, sbz, eadler, zi, remko, simon"] secteamsecretary [label="Security Team Secretary\nsecteam-secretary@FreeBSD.org\nremko"] securityofficer [label="Security Officer Team\nsecurity-officer@FreeBSD.org\ncperciva, simon, nectar"] srccommitters [label="Src Committers\nsrc-committers@FreeBSD.org"] @@ -49,24 +43,23 @@ srccommitters [label="Src Committers\nsr accounts [label="Accounts Team\naccounts@FreeBSD.org\nmarkm, simon, kensmith,\ndhw"] backups [label="Backup Administrators\nbackups@FreeBSD.org\nsimon, kensmith,\ndhw"] -bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\nceri, linimon, remko"] -clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nbillf, simon, ps,\nkensmith, peter"] +bugmeister [label="Bugmeister Team\nbugmeister@FreeBSD.org\neadler, gavin, gonzo, linimon"] +clusteradm [label="Cluster Administrators\nclusteradm@FreeBSD.org\nbrd, simon, ps,\nkensmith, peter"] cvsupmaster [label="CVSup Mirror Site Coordinators\ncvsup-master@FreeBSD.org\nkuriyama, jdp,\nkensmith"] -dcvs [label="CVS doc/www Repository Managers\ndcvs@FreeBSD.org\njoe, kuriyama, markm,\nsimon"] dnsadm [label="DNS Administrators\ndnsadm@FreeBSD.org\nbillf, dg, ps,\nkensmith, peter"] mirroradmin [label="FTP/WWW Mirror Site Coordinators\nmirror-admin@FreeBSD.org\nkuriyama, kensmith"] ncvs [label="CVS src Repository Managers\nncvs@FreeBSD.org\njoe, kuriyama, markm,\nsimon, peter"] pcvs [label="CVS ports Repository Managers\npcvs@FreeBSD.org\nmarcus, joe, kuriyama,\nmarkm, simon"] perforceadmin [label="Perforce Repository Administrators\nperforce-admin@FreeBSD.org\nscottl, kensmith, gordon,\nrwatson, peter, dhw"] -postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\njmb, brd, dhw"] +postmaster [label="Postmaster Team\npostmaster@FreeBSD.org\njmb, brd, sahil, dhw"] refadm [label="Reference Systems Administrators\nrefadm@FreeBSD.org\njake, billf, markm, simon,\nobrien, ps, kensmith,\npeter, dhw"] webmaster [label="Webmaster Team\nwebmaster@FreeBSD.org\nnik, kuriyama, simon,\njesusr, wosch"] # Misc hats go here alphabetically sorted -donations [label="Donations Team\ndonations@FreeBSD.org\nwilko, brueffer,\nobrien, trhodes, ds,\nrwatson"] +donations [label="Donations Team\ndonations@FreeBSD.org\ngjb, wilko, gahr, pgolluci,\nobrien, trhodes, ds,\nrwatson"] marketing [label="Marketing Team\nmarketing@FreeBSD.org\nSteven Beedle, Denise Ebery, deb,\njkoshy, Dru Lavigne, mwlucas, imp,\nKris Moore, murray, mattt,\nJeremy C. Reed, rwatson"] -vendorrelations [label="Vendor Relations Team\nvendor-relations@FreeBSD.org\nbrueffer, gioria, jmg, rik,\nphilip, hmp, marks,\nmurray"] +vendorrelations [label="Vendor Relations Team\nvendor-relations@FreeBSD.org\ngioria, jmg, rik,\nphilip, hmp, marks,\nmurray"] # Here are the team relationships. # Group together all the entries for the superior team. @@ -105,15 +98,8 @@ doceng -> doccommitters portmgr -> portmgrsecretary portmgr -> portscommitters -re -> realpha -re -> reamd64 -re -> rei386 -re -> reia64 -re -> repc98 -re -> reppc -re -> resparc64 - securityofficer -> secteam +securityofficer -> portssecteam secteam -> secteamsecretary From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 01:05:30 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 91D031065673; Thu, 13 Sep 2012 01:05:30 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7C4488FC23; Thu, 13 Sep 2012 01:05:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D15Uws084743; Thu, 13 Sep 2012 01:05:30 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D15Ung084738; Thu, 13 Sep 2012 01:05:30 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201209130105.q8D15Ung084738@svn.freebsd.org> From: Eitan Adler Date: Thu, 13 Sep 2012 01:05:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240439 - stable/8/share/misc X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 01:05:30 -0000 Author: eadler Date: Thu Sep 13 01:05:29 2012 New Revision: 240439 URL: http://svn.freebsd.org/changeset/base/240439 Log: MFC r240293: Sync access file date recommendation Change from CVS to svn for canconical source of information Approved by: cperciva (implicit) Modified: stable/8/share/misc/committers-doc.dot stable/8/share/misc/committers-ports.dot stable/8/share/misc/committers-src.dot Directory Properties: stable/8/share/misc/ (props changed) Modified: stable/8/share/misc/committers-doc.dot ============================================================================== --- stable/8/share/misc/committers-doc.dot Thu Sep 13 01:02:56 2012 (r240438) +++ stable/8/share/misc/committers-doc.dot Thu Sep 13 01:05:29 2012 (r240439) @@ -15,7 +15,7 @@ digraph doc { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??"] # # ????/??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. # Use YYYY/MM/DD format. # # For returned commit bits, the node definition will follow this example: @@ -23,7 +23,7 @@ digraph doc { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??\n????/??/??"] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; Modified: stable/8/share/misc/committers-ports.dot ============================================================================== --- stable/8/share/misc/committers-ports.dot Thu Sep 13 01:02:56 2012 (r240438) +++ stable/8/share/misc/committers-ports.dot Thu Sep 13 01:05:29 2012 (r240439) @@ -15,14 +15,15 @@ digraph ports { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??"] # # ????/??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. +# Use YYYY/MM/DD format. # # For returned commit bits, the node definition will follow this example: # # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??\n????/??/??"] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; Modified: stable/8/share/misc/committers-src.dot ============================================================================== --- stable/8/share/misc/committers-src.dot Thu Sep 13 01:02:56 2012 (r240438) +++ stable/8/share/misc/committers-src.dot Thu Sep 13 01:05:29 2012 (r240439) @@ -15,14 +15,15 @@ digraph src { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??"] # # ????/??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. +# Use YYYY/MM/DD format. # # For returned commit bits, the node definition will follow this example: # # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??\n????/??/??"] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 01:05:31 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC96F1065674; Thu, 13 Sep 2012 01:05:30 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D70648FC0A; Thu, 13 Sep 2012 01:05:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D15Ujp084766; Thu, 13 Sep 2012 01:05:30 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D15Utb084762; Thu, 13 Sep 2012 01:05:30 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201209130105.q8D15Utb084762@svn.freebsd.org> From: Eitan Adler Date: Thu, 13 Sep 2012 01:05:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240440 - stable/9/share/misc X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 01:05:31 -0000 Author: eadler Date: Thu Sep 13 01:05:30 2012 New Revision: 240440 URL: http://svn.freebsd.org/changeset/base/240440 Log: MFC r240293: Sync access file date recommendation Change from CVS to svn for canconical source of information Approved by: cperciva (implicit) Modified: stable/9/share/misc/committers-doc.dot stable/9/share/misc/committers-ports.dot stable/9/share/misc/committers-src.dot Directory Properties: stable/9/share/misc/ (props changed) Modified: stable/9/share/misc/committers-doc.dot ============================================================================== --- stable/9/share/misc/committers-doc.dot Thu Sep 13 01:05:29 2012 (r240439) +++ stable/9/share/misc/committers-doc.dot Thu Sep 13 01:05:30 2012 (r240440) @@ -15,7 +15,7 @@ digraph doc { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??"] # # ????/??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. # Use YYYY/MM/DD format. # # For returned commit bits, the node definition will follow this example: @@ -23,7 +23,7 @@ digraph doc { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??\n????/??/??"] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; Modified: stable/9/share/misc/committers-ports.dot ============================================================================== --- stable/9/share/misc/committers-ports.dot Thu Sep 13 01:05:29 2012 (r240439) +++ stable/9/share/misc/committers-ports.dot Thu Sep 13 01:05:30 2012 (r240440) @@ -15,14 +15,15 @@ digraph ports { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??"] # # ????/??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. +# Use YYYY/MM/DD format. # # For returned commit bits, the node definition will follow this example: # # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??\n????/??/??"] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; Modified: stable/9/share/misc/committers-src.dot ============================================================================== --- stable/9/share/misc/committers-src.dot Thu Sep 13 01:05:29 2012 (r240439) +++ stable/9/share/misc/committers-src.dot Thu Sep 13 01:05:30 2012 (r240440) @@ -15,14 +15,15 @@ digraph src { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??"] # # ????/??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. +# Use YYYY/MM/DD format. # # For returned commit bits, the node definition will follow this example: # # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??\n????/??/??"] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 01:05:31 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C3BB1065678; Thu, 13 Sep 2012 01:05:31 +0000 (UTC) (envelope-from eadler@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 67B898FC25; Thu, 13 Sep 2012 01:05:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8D15VgG084782; Thu, 13 Sep 2012 01:05:31 GMT (envelope-from eadler@svn.freebsd.org) Received: (from eadler@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8D15VDF084778; Thu, 13 Sep 2012 01:05:31 GMT (envelope-from eadler@svn.freebsd.org) Message-Id: <201209130105.q8D15VDF084778@svn.freebsd.org> From: Eitan Adler Date: Thu, 13 Sep 2012 01:05:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240441 - stable/7/share/misc X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 01:05:31 -0000 Author: eadler Date: Thu Sep 13 01:05:30 2012 New Revision: 240441 URL: http://svn.freebsd.org/changeset/base/240441 Log: MFC r240293: Sync access file date recommendation Change from CVS to svn for canconical source of information Approved by: cperciva (implicit) Modified: stable/7/share/misc/committers-doc.dot stable/7/share/misc/committers-ports.dot stable/7/share/misc/committers-src.dot Directory Properties: stable/7/share/misc/ (props changed) Modified: stable/7/share/misc/committers-doc.dot ============================================================================== --- stable/7/share/misc/committers-doc.dot Thu Sep 13 01:05:30 2012 (r240440) +++ stable/7/share/misc/committers-doc.dot Thu Sep 13 01:05:30 2012 (r240441) @@ -15,7 +15,7 @@ digraph doc { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??"] # # ????/??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. # Use YYYY/MM/DD format. # # For returned commit bits, the node definition will follow this example: @@ -23,7 +23,7 @@ digraph doc { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??\n????/??/??"] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; Modified: stable/7/share/misc/committers-ports.dot ============================================================================== --- stable/7/share/misc/committers-ports.dot Thu Sep 13 01:05:30 2012 (r240440) +++ stable/7/share/misc/committers-ports.dot Thu Sep 13 01:05:30 2012 (r240441) @@ -15,14 +15,15 @@ digraph ports { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??"] # # ????/??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. +# Use YYYY/MM/DD format. # # For returned commit bits, the node definition will follow this example: # # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??\n????/??/??"] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; Modified: stable/7/share/misc/committers-src.dot ============================================================================== --- stable/7/share/misc/committers-src.dot Thu Sep 13 01:05:30 2012 (r240440) +++ stable/7/share/misc/committers-src.dot Thu Sep 13 01:05:30 2012 (r240441) @@ -15,14 +15,15 @@ digraph src { # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??"] # # ????/??/?? is the date when the commit bit was obtained, usually the one you -# can find looking at CVS logs for the access (or avail) file under CVSROOT. +# can find looking at svn logs for the svnadmin/access file. +# Use YYYY/MM/DD format. # # For returned commit bits, the node definition will follow this example: # # foo [label="Foo Bar\nfoo@FreeBSD.org\n????/??/??\n????/??/??"] # # The first date is the same as for an active committer, the second date is -# the date when the commit bit has been returned. Again, check CVS logs. +# the date when the commit bit has been returned. Again, check svn logs. node [color=grey62, style=filled, bgcolor=black]; From owner-svn-src-stable@FreeBSD.ORG Thu Sep 13 10:25:00 2012 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7DCAB106564A; Thu, 13 Sep 2012 10:25:00 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 651288FC16; Thu, 13 Sep 2012 10:25:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8DAP00x073712; Thu, 13 Sep 2012 10:25:00 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8DAP0LP073697; Thu, 13 Sep 2012 10:25:00 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201209131025.q8DAP0LP073697@svn.freebsd.org> From: Edwin Groothuis Date: Thu, 13 Sep 2012 10:24:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-6@freebsd.org X-SVN-Group: stable-6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240458 - stable/6/share/zoneinfo X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Sep 2012 10:25:00 -0000 Author: edwin Date: Thu Sep 13 10:24:59 2012 New Revision: 240458 URL: http://svn.freebsd.org/changeset/base/240458 Log: MFC of 240457, tzdata2012f - Pacific/Fiji will go into DST from 21 October 2012 till 20 January 2013. - Fix offset for Pacific/Tokelau. - Gaza and West Bank had DST from 29 March to 28 September 2012. - Syria has DST from April till October - Morocco had DST from April to September 2012 except for 20 July to 20 August. - Cuba changed to DST from 1 April 2012 only. - Haiti has DST between 8 March and 1 November in 2012. Obtained from: ftp://ftp.iana.org/tz/releases/ Modified: stable/6/share/zoneinfo/africa stable/6/share/zoneinfo/antarctica stable/6/share/zoneinfo/asia stable/6/share/zoneinfo/australasia stable/6/share/zoneinfo/backward stable/6/share/zoneinfo/etcetera stable/6/share/zoneinfo/europe stable/6/share/zoneinfo/factory stable/6/share/zoneinfo/leapseconds stable/6/share/zoneinfo/northamerica stable/6/share/zoneinfo/southamerica stable/6/share/zoneinfo/systemv stable/6/share/zoneinfo/yearistype.sh stable/6/share/zoneinfo/zone.tab Directory Properties: stable/6/share/zoneinfo/ (props changed) Modified: stable/6/share/zoneinfo/africa ============================================================================== --- stable/6/share/zoneinfo/africa Thu Sep 13 10:17:01 2012 (r240457) +++ stable/6/share/zoneinfo/africa Thu Sep 13 10:24:59 2012 (r240458) @@ -1,5 +1,4 @@ #
-# @(#)africa	8.33
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -238,7 +237,7 @@ Rule	Egypt	2006	only	-	Sep	21	23:00s	0	-
 # I received a mail from an airline which says that the daylight
 # saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07.
 # From Jesper Norgaard Welen (2007-08-15): [The following agree:]
-# http://www.nentjes.info/Bill/bill5.htm 
+# http://www.nentjes.info/Bill/bill5.htm
 # http://www.timeanddate.com/worldclock/city.html?n=53
 # From Steffen Thorsen (2007-09-04): The official information...:
 # http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm
@@ -292,18 +291,18 @@ Rule	Egypt	2007	only	-	Sep	Thu>=1	23:00s
 # in September.
 
 # From Steffen Thorsen (2009-08-11):
-# We have been able to confirm the August change with the Egyptian Cabinet 
+# We have been able to confirm the August change with the Egyptian Cabinet
 # Information and Decision Support Center:
 # 
 # http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html
 # 
-# 
+#
 # The Middle East News Agency
 # 
 # http://www.mena.org.eg/index.aspx
 # 
 # also reports "Egypt starts winter time on August 21"
-# today in article numbered "71, 11/08/2009 12:25 GMT." 
+# today in article numbered "71, 11/08/2009 12:25 GMT."
 # Only the title above is available without a subscription to their service,
 # and can be found by searching for "winter" in their search engine
 # (at least today).
@@ -482,7 +481,7 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # From Steffen Thorsen (2008-06-25):
 # Mauritius plans to observe DST from 2008-11-01 to 2009-03-31 on a trial
 # basis....
-# It seems that Mauritius observed daylight saving time from 1982-10-10 to 
+# It seems that Mauritius observed daylight saving time from 1982-10-10 to
 # 1983-03-20 as well, but that was not successful....
 # http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html
 
@@ -506,12 +505,12 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # than previously announced (2008-11-01 to 2009-03-31).  The new start
 # date is 2008-10-26 at 02:00 and the new end date is 2009-03-27 (no time
 # given, but it is probably at either 2 or 3 wall clock time).
-# 
-# A little strange though, since the article says that they moved the date 
-# to align itself with Europe and USA which also change time on that date, 
-# but that means they have not paid attention to what happened in 
-# USA/Canada last year (DST ends first Sunday in November). I also wonder 
-# why that they end on a Friday, instead of aligning with Europe which 
+#
+# A little strange though, since the article says that they moved the date
+# to align itself with Europe and USA which also change time on that date,
+# but that means they have not paid attention to what happened in
+# USA/Canada last year (DST ends first Sunday in November). I also wonder
+# why that they end on a Friday, instead of aligning with Europe which
 # changes two days later.
 
 # From Alex Krivenyshev (2008-07-11):
@@ -570,7 +569,7 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # 
 
 # From Arthur David Olson (2009-07-11):
-# The "mauritius-dst-will-not-repeat" wrapup includes this: 
+# The "mauritius-dst-will-not-repeat" wrapup includes this:
 # "The trial ended on March 29, 2009, when the clocks moved back by one hour
 # at 2am (or 02:00) local time..."
 
@@ -664,8 +663,8 @@ Zone	Indian/Mayotte	3:00:56 -	LMT	1911 J
 # XXX--guess that it is only Morocco for now; guess only 2008 for now.
 
 # From Steffen Thorsen (2008-08-27):
-# Morocco will change the clocks back on the midnight between August 31 
-# and September 1. They originally planned to observe DST to near the end 
+# Morocco will change the clocks back on the midnight between August 31
+# and September 1. They originally planned to observe DST to near the end
 # of September:
 #
 # One article about it (in French):
@@ -768,6 +767,54 @@ Zone	Indian/Mayotte	3:00:56 -	LMT	1911 J
 # wall clock time (i.e. 11pm UTC), but that's what I would assume. It has
 # also been like that in the past.
 
+# From Alexander Krivenyshev (2012-03-09):
+# According to Infomédiaire web site from Morocco (infomediaire.ma),
+# on March 9, 2012, (in French) Heure légale:
+# Le Maroc adopte officiellement l'heure d'été
+# 
+# http://www.infomediaire.ma/news/maroc/heure-l%C3%A9gale-le-maroc-adopte-officiellement-lheure-d%C3%A9t%C3%A9
+# 
+# Governing Council adopted draft decree, that Morocco DST starts on
+# the last Sunday of March (March 25, 2012) and ends on
+# last Sunday of September (September 30, 2012)
+# except the month of Ramadan.
+# or (brief)
+# 
+# http://www.worldtimezone.com/dst_news/dst_news_morocco06.html
+# 
+
+# From Arthur David Olson (2012-03-10):
+# The infomediaire.ma source indicates that the system is to be in
+# effect every year. It gives 03H00 as the "fall back" time of day;
+# it lacks a "spring forward" time of day; assume 2:00 XXX.
+# Wait on specifying the Ramadan exception for details about
+# start date, start time of day, end date, and end time of day XXX.
+
+# From Christophe Tropamer (2012-03-16):
+# Seen Morocco change again:
+# 
+# http://www.le2uminutes.com/actualite.php
+# 
+# "...à partir du dernier dimance d'avril et non fins mars,
+# comme annoncé précédemment."
+
+# From Milamber Space Network (2012-07-17):
+# The official return to GMT is announced by the Moroccan government:
+# 
+# http://www.mmsp.gov.ma/fr/actualites.aspx?id=288 [in French]
+# 
+#
+# Google translation, lightly edited:
+# Back to the standard time of the Kingdom (GMT)
+# Pursuant to Decree No. 2-12-126 issued on 26 Jumada (I) 1433 (April 18,
+# 2012) and in accordance with the order of Mr. President of the
+# Government No. 3-47-12 issued on 24 Sha'ban (11 July 2012), the Ministry
+# of Public Service and Administration Modernization announces the return
+# of the legal time of the Kingdom (GMT) from Friday, July 20, 2012 until
+# Monday, August 20, 2012.  So the time will be delayed by 60 minutes from
+# 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes
+# August 20, 2012 from 2:00 am.
+
 # RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 
 Rule	Morocco	1939	only	-	Sep	12	 0:00	1:00	S
@@ -793,6 +840,11 @@ Rule	Morocco	2010	only	-	May	 2	 0:00	1:
 Rule	Morocco	2010	only	-	Aug	 8	 0:00	0	-
 Rule	Morocco	2011	only	-	Apr	 3	 0:00	1:00	S
 Rule	Morocco	2011	only	-	Jul	 31	 0	0	-
+Rule	Morocco	2012	max	-	Apr	 lastSun 2:00	1:00	S
+Rule	Morocco	2012	max	-	Sep	 lastSun 3:00	0	-
+Rule	Morocco	2012	only	-	Jul	 20	 3:00	0	-
+Rule	Morocco	2012	only	-	Aug	 20	 2:00	1:00	S
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
 			 0:00	Morocco	WE%sT	1984 Mar 16
@@ -820,7 +872,7 @@ Zone	Africa/Maputo	2:10:20 -	LMT	1903 Ma
 # Forecasting Riaan van Zyl explained that the far eastern parts of
 # the country are close to 40 minutes earlier in sunrise than the rest
 # of the country.
-# 
+#
 # From Paul Eggert (2007-03-31):
 # Apparently the Caprivi Strip informally observes Botswana time, but
 # we have no details.  In the meantime people there can use Africa/Gaborone.

Modified: stable/6/share/zoneinfo/antarctica
==============================================================================
--- stable/6/share/zoneinfo/antarctica	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/antarctica	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)antarctica	8.10
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/6/share/zoneinfo/asia
==============================================================================
--- stable/6/share/zoneinfo/asia	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/asia	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,4 +1,4 @@
-# @(#)asia	8.70
+# 
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -101,7 +101,7 @@ Zone	Asia/Kabul	4:36:48 -	LMT	1890
 # From Alexander Krivenyshev (2012-02-10):
 # According to News Armenia, on Feb 9, 2012,
 # http://newsarmenia.ru/society/20120209/42609695.html
-# 
+#
 # The Armenia National Assembly adopted final reading of Amendments to the
 # Law "On procedure of calculation time on the territory of the Republic of
 # Armenia" according to which Armenia [is] abolishing Daylight Saving Time.
@@ -181,15 +181,15 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 # 
 
 # From A. N. M. Kamrus Saadat (2009-06-15):
-# Finally we've got the official mail regarding DST start time where DST start 
-# time is mentioned as Jun 19 2009, 23:00 from BTRC (Bangladesh 
-# Telecommunication Regulatory Commission). 
+# Finally we've got the official mail regarding DST start time where DST start
+# time is mentioned as Jun 19 2009, 23:00 from BTRC (Bangladesh
+# Telecommunication Regulatory Commission).
 #
 # No DST end date has been announced yet.
 
 # From Alexander Krivenyshev (2009-09-25):
-# Bangladesh won't go back to Standard Time from October 1, 2009, 
-# instead it will continue DST measure till the cabinet makes a fresh decision. 
+# Bangladesh won't go back to Standard Time from October 1, 2009,
+# instead it will continue DST measure till the cabinet makes a fresh decision.
 #
 # Following report by same newspaper-"The Daily Star Friday":
 # "DST change awaits cabinet decision-Clock won't go back by 1-hr from Oct 1"
@@ -203,8 +203,8 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 
 # From Steffen Thorsen (2009-10-13):
 # IANS (Indo-Asian News Service) now reports:
-# Bangladesh has decided that the clock advanced by an hour to make 
-# maximum use of daylight hours as an energy saving measure would 
+# Bangladesh has decided that the clock advanced by an hour to make
+# maximum use of daylight hours as an energy saving measure would
 # "continue for an indefinite period."
 #
 # One of many places where it is published:
@@ -232,7 +232,7 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 
 # From Alexander Krivenyshev (2010-03-22):
 # According to Bangladesh newspaper "The Daily Star,"
-# Cabinet cancels Daylight Saving Time 
+# Cabinet cancels Daylight Saving Time
 # 
 # http://www.thedailystar.net/newDesign/latest_news.php?nid=22817
 # 
@@ -360,11 +360,11 @@ Rule	PRC	1987	1991	-	Apr	Sun>=10	0:00	1:
 # observing daylight saving time in 1986.
 #
 # From Thomas S. Mullaney (2008-02-11):
-# I think you're combining two subjects that need to treated 
-# separately: daylight savings (which, you're correct, wasn't 
-# implemented until the 1980s) and the unified time zone centered near 
-# Beijing (which was implemented in 1949). Briefly, there was also a 
-# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was 
+# I think you're combining two subjects that need to treated
+# separately: daylight savings (which, you're correct, wasn't
+# implemented until the 1980s) and the unified time zone centered near
+# Beijing (which was implemented in 1949). Briefly, there was also a
+# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was
 # ceased, and the second eventually recognized (again, in the 1980s).
 #
 # From Paul Eggert (2008-06-30):
@@ -501,7 +501,7 @@ Zone	Asia/Kashgar	5:03:56	-	LMT	1928 # o
 # as of 2009-10-28:
 # Year        Period
 # 1941        1 Apr to 30 Sep
-# 1942        Whole year 
+# 1942        Whole year
 # 1943        Whole year
 # 1944        Whole year
 # 1945        Whole year
@@ -592,16 +592,16 @@ Zone	Asia/Hong_Kong	7:36:36 -	LMT	1904 O
 # From Arthur David Olson (2010-04-07):
 # Here's Google's translation of the table at the bottom of the "summert.htm" page:
 # Decade 	                                                    Name                      Start and end date
-# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30 
-# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31 
-# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31 
-# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30 
-# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30 
-# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30 
-# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time 
-# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30 
-# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time 
-# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30 
+# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30
+# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31
+# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31
+# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30
+# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30
+# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30
+# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time
+# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30
+# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time
+# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30
 # Republic of China since 69 years (AD 1980)                  Stop Daylight Saving Time
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
@@ -1835,15 +1835,15 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
 # shown 8 per cent higher consumption of electricity.
 
 # From Alex Krivenyshev (2008-05-15):
-# 
-# Here is an article that Pakistan plan to introduce Daylight Saving Time 
+#
+# Here is an article that Pakistan plan to introduce Daylight Saving Time
 # on June 1, 2008 for 3 months.
-# 
-# "... The federal cabinet on Wednesday announced a new conservation plan to help 
-# reduce load shedding by approving the closure of commercial centres at 9pm and 
-# moving clocks forward by one hour for the next three months. 
+#
+# "... The federal cabinet on Wednesday announced a new conservation plan to help
+# reduce load shedding by approving the closure of commercial centres at 9pm and
+# moving clocks forward by one hour for the next three months.
 # ...."
-# 
+#
 # 
 # http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html
 # 
@@ -1903,7 +1903,7 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
 # Government has decided to restore the previous time by moving the
 # clocks backward by one hour from October 1. A formal announcement to
 # this effect will be made after the Prime Minister grants approval in
-# this regard." 
+# this regard."
 # 
 # http://www.thenews.com.pk/updates.asp?id=87168
 # 
@@ -2199,7 +2199,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # 
 # http://www.maannews.net/eng/ViewDetails.aspx?ID=306795
 # 
-# the clocks were set back one hour at 2010-08-11 00:00:00 local time in 
+# the clocks were set back one hour at 2010-08-11 00:00:00 local time in
 # Gaza and the West Bank.
 # Some more background info:
 # 
@@ -2238,7 +2238,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # The rules for Egypt are stolen from the `africa' file.
 
 # From Steffen Thorsen (2011-09-30):
-# West Bank did end Daylight Saving Time this morning/midnight (2011-09-30 
+# West Bank did end Daylight Saving Time this morning/midnight (2011-09-30
 # 00:00).
 # So West Bank and Gaza now have the same time again.
 #
@@ -2247,6 +2247,29 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # http://www.maannews.net/eng/ViewDetails.aspx?ID=424808
 # 
 
+# From Steffen Thorsen (2012-03-26):
+# Palestinian news sources tell that both Gaza and West Bank will start DST
+# on Friday (Thursday midnight, 2012-03-29 24:00).
+# Some of many sources in Arabic:
+# 
+# http://www.samanews.com/index.php?act=Show&id=122638
+# 
+#
+# 
+# http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html
+# 
+#
+# Our brief summary:
+# 
+# http://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-27):
+# The timeanddate article for 2012 says that "the end date has not yet been
+# announced" and that "Last year, both...paused daylight saving time during...
+# Ramadan. It is not yet known [for] 2012."
+# For now, assume both switch back on the last Friday in September. XXX
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule EgyptAsia	1957	only	-	May	10	0:00	1:00	S
 Rule EgyptAsia	1957	1958	-	Oct	 1	0:00	0	-
@@ -2279,6 +2302,8 @@ Zone	Asia/Gaza	2:17:52	-	LMT	1900 Oct
 			2:00	Jordan	EE%sT	1999
 			2:00 Palestine	EE%sT	2011 Apr  2 12:01
 			2:00	1:00	EEST	2011 Aug  1
+			2:00	-	EET	2012 Mar 30
+			2:00	1:00	EEST	2012 Sep 28
 			2:00	-	EET
 
 Zone	Asia/Hebron	2:20:23	-	LMT	1900 Oct
@@ -2292,6 +2317,8 @@ Zone	Asia/Hebron	2:20:23	-	LMT	1900 Oct
 			2:00	1:00	EEST	2011 Aug  1
 			2:00	-	EET	2011 Aug 30
 			2:00	1:00	EEST	2011 Sep 30 3:00
+			2:00	-	EET	2012 Mar 30
+			2:00	1:00	EEST	2012 Sep 28 3:00
 			2:00	-	EET
 
 # Paracel Is
@@ -2485,19 +2512,19 @@ Rule	Syria	2007	only	-	Mar	lastFri	0:00	
 # having it between Wednesday and Thursday (two workdays in Syria) since the
 # weekend in Syria is not Saturday and Sunday, but Friday and Saturday. So now
 # it is implemented at midnight of the last workday before weekend...
-# 
+#
 # From Steffen Thorsen (2007-10-27):
 # Jesper Norgaard Welen wrote:
-# 
+#
 # > "Winter local time in Syria will be observed at midnight of Thursday 1
 # > November 2007, and the clock will be put back 1 hour."
-# 
+#
 # I found confirmation on this in this gov.sy-article (Arabic):
 # http://wehda.alwehda.gov.sy/_print_veiw.asp?FileName=12521710520070926111247
-# 
+#
 # which using Google's translate tools says:
-# Council of Ministers also approved the commencement of work on 
-# identifying the winter time as of Friday, 2/11/2007 where the 60th 
+# Council of Ministers also approved the commencement of work on
+# identifying the winter time as of Friday, 2/11/2007 where the 60th
 # minute delay at midnight Thursday 1/11/2007.
 Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	0	-
 
@@ -2563,8 +2590,8 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	
 # 
 
 # From Steffen Thorsen (2009-10-27):
-# The Syrian Arab News Network on 2009-09-29 reported that Syria will 
-# revert back to winter (standard) time on midnight between Thursday 
+# The Syrian Arab News Network on 2009-09-29 reported that Syria will
+# revert back to winter (standard) time on midnight between Thursday
 # 2009-10-29 and Friday 2009-10-30:
 # 
 # http://www.sana.sy/ara/2/2009/09/29/247012.htm (Arabic)
@@ -2583,10 +2610,28 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	
 # http://sns.sy/sns/?path=news/read/11421 (Arabic)
 # 
 
+# From Steffen Thorsen (2012-03-26):
+# Today, Syria's government announced that they will start DST early on Friday
+# (00:00). This is a bit earlier than the past two years.
+#
+# From Syrian Arab News Agency, in Arabic:
+# 
+# http://www.sana.sy/ara/2/2012/03/26/408215.htm
+# 
+#
+# Our brief summary:
+# 
+# http://www.timeanddate.com/news/time/syria-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-27):
+# Assume last Friday in March going forward XXX.
+
 Rule	Syria	2008	only	-	Apr	Fri>=1	0:00	1:00	S
 Rule	Syria	2008	only	-	Nov	1	0:00	0	-
 Rule	Syria	2009	only	-	Mar	lastFri	0:00	1:00	S
-Rule	Syria	2010	max	-	Apr	Fri>=1	0:00	1:00	S
+Rule	Syria	2010	2011	-	Apr	Fri>=1	0:00	1:00	S
+Rule	Syria	2012	max	-	Mar	lastFri	0:00	1:00	S
 Rule	Syria	2009	max	-	Oct	lastFri	0:00	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]

Modified: stable/6/share/zoneinfo/australasia
==============================================================================
--- stable/6/share/zoneinfo/australasia	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/australasia	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)australasia	8.30
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -284,9 +283,9 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # 
 
 # From Alexander Krivenyshev (2010-10-24):
-# According to Radio Fiji and Fiji Times online, Fiji will end DST 3 
+# According to Radio Fiji and Fiji Times online, Fiji will end DST 3
 # weeks earlier than expected - on March 6, 2011, not March 27, 2011...
-# Here is confirmation from Government of the Republic of the Fiji Islands, 
+# Here is confirmation from Government of the Republic of the Fiji Islands,
 # Ministry of Information (fiji.gov.fj) web site:
 # 
 # http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=2608:daylight-savings&catid=71:press-releases&Itemid=155
@@ -297,15 +296,15 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # 
 
 # From Steffen Thorsen (2011-10-03):
-# Now the dates have been confirmed, and at least our start date 
+# Now the dates have been confirmed, and at least our start date
 # assumption was correct (end date was one week wrong).
 #
 # 
 # www.fiji.gov.fj/index.php?option=com_content&view=article&id=4966:daylight-saving-starts-in-fiji&catid=71:press-releases&Itemid=155
 # 
 # which says
-# Members of the public are reminded to change their time to one hour in 
-# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to 
+# Members of the public are reminded to change their time to one hour in
+# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to
 # 2am on February 26 next year.
 
 # From Ken Rylander (2011-10-24)
@@ -322,15 +321,23 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # The commencement of daylight saving will remain unchanged and start
 # on the  23rd of October, 2011.
 
+# From the Fiji Government Online Portal (2012-08-21) via Steffen Thorsen:
+# The Minister for Labour, Industrial Relations and Employment Mr Jone Usamate
+# today confirmed that Fiji will start daylight savings at 2 am on Sunday 21st
+# October 2012 and end at 3 am on Sunday 20th January 2013.
+# http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=6702&catid=71&Itemid=155
+#
+# From Paul Eggert (2012-08-31):
+# For now, guess a pattern of the penultimate Sundays in October and January.
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Fiji	1998	1999	-	Nov	Sun>=1	2:00	1:00	S
 Rule	Fiji	1999	2000	-	Feb	lastSun	3:00	0	-
 Rule	Fiji	2009	only	-	Nov	29	2:00	1:00	S
 Rule	Fiji	2010	only	-	Mar	lastSun	3:00	0	-
-Rule	Fiji	2010	only	-	Oct	24	2:00	1:00	S
+Rule	Fiji	2010	max	-	Oct	Sun>=18	2:00	1:00	S
 Rule	Fiji	2011	only	-	Mar	Sun>=1	3:00	0	-
-Rule	Fiji	2011	only	-	Oct	23	2:00	1:00	S
-Rule	Fiji	2012	only	-	Jan	22	3:00	0	-
+Rule	Fiji	2012	max	-	Jan	Sun>=18	3:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fiji	11:53:40 -	LMT	1915 Oct 26	# Suva
 			12:00	Fiji	FJ%sT	# Fiji Time
@@ -559,7 +566,7 @@ Zone Pacific/Pago_Pago	 12:37:12 -	LMT	1
 
 # From David Zuelke (2011-05-09):
 # Subject: Samoa to move timezone from east to west of international date line
-# 
+#
 # 
 # http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963
 # 
@@ -641,25 +648,25 @@ Zone Pacific/Guadalcanal 10:39:48 -	LMT	
 #
 # From Gwillim Law (2011-12-29)
 # A correspondent informed me that Tokelau, like Samoa, will be skipping
-# December 31 this year, thereby changing its time zone from UTC-10 to
-# UTC+14. When I tried to verify this statement, I found a confirming
-# article in Time magazine online
-# 
-# (http://www.time.com/time/world/article/0,8599,2103243,00.html).
-# 
+# December 31 this year ...
 #
-# From Jonathan Leffler (2011-12-29)
-# Information from the BBC to the same effect:
-# 
-# http://www.bbc.co.uk/news/world-asia-16351377
-# 
-#
-# Patch supplied by Tim Parenti (2011-12-29)
+# From Steffen Thorsen (2012-07-25)
+# ... we double checked by calling hotels and offices based in Tokelau asking
+# about the time there, and they all told a time that agrees with UTC+13....
+# Shanks says UTC-10 from 1901 [but] ... there is a good chance the change
+# actually was to UTC-11 back then.
+#
+# From Paul Eggert (2012-07-25)
+# A Google Books snippet of Appendix to the Journals of the House of
+# Representatives of New Zealand, Session 1948,
+# , page 65, says Tokelau
+# was "11 hours slow on G.M.T."  Go with Thorsen and assume Shanks & Pottenger
+# are off by an hour starting in 1901.
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fakaofo	-11:24:56 -	LMT	1901
-			-10:00	-	TKT 2011 Dec 30	# Tokelau Time
-			14:00	-	TKT
+			-11:00	-	TKT 2011 Dec 30	# Tokelau Time
+			13:00	-	TKT
 
 # Tonga
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
@@ -1340,22 +1347,22 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 # See "southeast Australia" above for 2008 and later.
 
 # From Steffen Thorsen (2009-04-28):
-# According to the official press release, South Australia's extended daylight 
-# saving period will continue with the same rules as used during the 2008-2009 
+# According to the official press release, South Australia's extended daylight
+# saving period will continue with the same rules as used during the 2008-2009
 # summer (southern hemisphere).
-# 
+#
 # From
 # 
 # http://www.safework.sa.gov.au/uploaded_files/DaylightDatesSet.pdf
 # 
-# The extended daylight saving period that South Australia has been trialling 
+# The extended daylight saving period that South Australia has been trialling
 # for over the last year is now set to be ongoing.
-# Daylight saving will continue to start on the first Sunday in October each 
+# Daylight saving will continue to start on the first Sunday in October each
 # year and finish on the first Sunday in April the following year.
-# Industrial Relations Minister, Paul Caica, says this provides South Australia 
-# with a consistent half hour time difference with NSW, Victoria, Tasmania and 
+# Industrial Relations Minister, Paul Caica, says this provides South Australia
+# with a consistent half hour time difference with NSW, Victoria, Tasmania and
 # the ACT for all 52 weeks of the year...
-# 
+#
 # We have a wrap-up here:
 # 
 # http://www.timeanddate.com/news/time/south-australia-extends-dst.html

Modified: stable/6/share/zoneinfo/backward
==============================================================================
--- stable/6/share/zoneinfo/backward	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/backward	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)backward	8.11
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/6/share/zoneinfo/etcetera
==============================================================================
--- stable/6/share/zoneinfo/etcetera	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/etcetera	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)etcetera	8.3
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/6/share/zoneinfo/europe
==============================================================================
--- stable/6/share/zoneinfo/europe	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/europe	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)europe	8.41
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -575,12 +574,12 @@ Rule	Russia	1996	2010	-	Oct	lastSun	 2:0
 # According to Kremlin press service, Russian President Dmitry Medvedev
 # signed a federal law "On calculation of time" on June 9, 2011.
 # According to the law Russia is abolishing daylight saving time.
-# 
-# Medvedev signed a law "On the Calculation of Time" (in russian): 
+#
+# Medvedev signed a law "On the Calculation of Time" (in russian):
 # 
 # http://bmockbe.ru/events/?ID=7583
 # 
-# 
+#
 # Medvedev signed a law on the calculation of the time (in russian):
 # 
 # http://www.regnum.ru/news/polit/1413906.html
@@ -1688,7 +1687,7 @@ Zone	Europe/Malta	0:58:04 -	LMT	1893 Nov
 # From Alexander Krivenyshev (2011-10-26)
 # NO need to divide Moldova into two timezones at this point.
 # As of today, Transnistria (Pridnestrovie)- Tiraspol reversed its own
-# decision to abolish DST this winter. 
+# decision to abolish DST this winter.
 # Following Moldova and neighboring Ukraine- Transnistria (Pridnestrovie)-
 # Tiraspol will go back to winter time on October 30, 2011.
 # News from Moldova (in russian):
@@ -2578,11 +2577,11 @@ Zone	Europe/Zurich	0:34:08 -	LMT	1848 Se
 # http://www.alomaliye.com/bkk_2002_3769.htm
 
 # From Gökdeniz Karadağ (2011-03-10):
-# 
+#
 # According to the articles linked below, Turkey will change into summer
 # time zone (GMT+3) on March 28, 2011 at 3:00 a.m. instead of March 27.
 # This change is due to a nationwide exam on 27th.
-# 
+#
 # 
 # http://www.worldbulletin.net/?aType=haber&ArticleID=70872
 # 
@@ -2699,7 +2698,7 @@ Link	Europe/Istanbul	Asia/Istanbul	# Ist
 # time this year after all.
 #
 # From Udo Schwedt (2011-10-18):
-# As far as I understand, the recent change to the Ukranian time zone 
+# As far as I understand, the recent change to the Ukranian time zone
 # (Europe/Kiev) to introduce permanent daylight saving time (similar
 # to Russia) was reverted today:
 #

Modified: stable/6/share/zoneinfo/factory
==============================================================================
--- stable/6/share/zoneinfo/factory	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/factory	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)factory	8.2
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/6/share/zoneinfo/leapseconds
==============================================================================
--- stable/6/share/zoneinfo/leapseconds	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/leapseconds	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)leapseconds	8.13
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -78,8 +77,8 @@ Leap	2012	Jun	30	23:59:60	+	S
 #
 #
 # A positive leap second will be introduced at the end of June 2012.
-# The sequence of dates of the UTC second markers will be:		
-# 		
+# The sequence of dates of the UTC second markers will be:
+#
 #                          2012 June 30,     23h 59m 59s
 #                          2012 June 30,     23h 59m 60s
 #                          2012 July  1,      0h  0m  0s
@@ -96,6 +95,6 @@ Leap	2012	Jun	30	23:59:60	+	S
 #
 #
 # Daniel GAMBIS
-# Head		
+# Head
 # Earth Orientation Center of IERS
 # Observatoire de Paris, France

Modified: stable/6/share/zoneinfo/northamerica
==============================================================================
--- stable/6/share/zoneinfo/northamerica	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/northamerica	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)northamerica	8.52
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -479,7 +478,7 @@ Zone America/Juneau	 15:02:19 -	LMT	1867
 			 -8:00	US	P%sT	1946
 			 -8:00	-	PST	1969
 			 -8:00	US	P%sT	1980 Apr 27 2:00
-			 -9:00	US	Y%sT	1980 Oct 26 2:00	
+			 -9:00	US	Y%sT	1980 Oct 26 2:00
 			 -8:00	US	P%sT	1983 Oct 30 2:00
 			 -9:00	US	Y%sT	1983 Nov 30
 			 -9:00	US	AK%sT
@@ -1844,7 +1843,7 @@ Zone America/Edmonton	-7:33:52 -	LMT	190
 # Here is a summary of the three clock change events in Creston's history:
 # 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
 # Exact date unknown
-# 2. Oct 1916: switch to Pacific Standard Time (GMT-8) 
+# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
 # Exact date in October unknown;  Sunday October 1 is a reasonable guess.
 # 3. June 1918: switch to Pacific Daylight Time (GMT-7)
 # Exact date in June unknown; Sunday June 2 is a reasonable guess.
@@ -2674,20 +2673,20 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # except that it switches at midnight standard time as usual.
 #
 # From Steffen Thorsen (2007-10-25):
-# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week 
+# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week
 # earlier - on the last Sunday of October, just like in 2006.
-# 
+#
 # He supplied these references:
-# 
+#
 # http://www.prensalatina.com.mx/article.asp?ID=%7B4CC32C1B-A9F7-42FB-8A07-8631AFC923AF%7D&language=ES
 # http://actualidad.terra.es/sociedad/articulo/cuba_llama_ahorrar_energia_cambio_1957044.htm
-# 
+#
 # From Alex Kryvenishev (2007-10-25):
 # Here is also article from Granma (Cuba):
-# 
+#
 # [Regira] el Horario Normal desde el [proximo] domingo 28 de octubre
 # http://www.granma.cubaweb.cu/2007/10/24/nacional/artic07.html
-# 
+#
 # http://www.worldtimezone.com/dst_news/dst_news_cuba03.html
 
 # From Arthur David Olson (2008-03-09):
@@ -2771,7 +2770,7 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # 
 #
 # From Steffen Thorsen (2011-10-30)
-# Cuba will end DST two weeks later this year. Instead of going back 
+# Cuba will end DST two weeks later this year. Instead of going back
 # tonight, it has been delayed to 2011-11-13 at 01:00.
 #
 # One source (Spanish)
@@ -2783,6 +2782,20 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # 
 # http://www.timeanddate.com/news/time/cuba-time-changes-2011.html
 # 
+#
+# From Steffen Thorsen (2012-03-01)
+# According to Radio Reloj, Cuba will start DST on Midnight between March
+# 31 and April 1.
+#
+# Radio Reloj has the following info (Spanish):
+# 
+# http://www.radioreloj.cu/index.php/noticias-radio-reloj/71-miscelaneas/7529-cuba-aplicara-el-horario-de-verano-desde-el-1-de-abril
+# 
+#
+# Our info on it:
+# 
+# http://www.timeanddate.com/news/time/cuba-starts-dst-2012.html
+# 
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Cuba	1928	only	-	Jun	10	0:00	1:00	D
@@ -2820,8 +2833,9 @@ Rule	Cuba	2008	only	-	Mar	Sun>=15	0:00s	
 Rule	Cuba	2009	2010	-	Mar	Sun>=8	0:00s	1:00	D
 Rule	Cuba	2011	only	-	Mar	Sun>=15	0:00s	1:00	D
 Rule	Cuba	2011	only	-	Nov	13	0:00s	0	S
-Rule	Cuba	2012	max	-	Mar	Sun>=8	0:00s	1:00	D
+Rule	Cuba	2012	only	-	Apr	1	0:00s	1:00	D
 Rule	Cuba	2012	max	-	Oct	lastSun	0:00s	0	S
+Rule	Cuba	2013	max	-	Mar	Sun>=8	0:00s	1:00	D
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	America/Havana	-5:29:28 -	LMT	1890
@@ -2955,6 +2969,29 @@ Zone America/Guatemala	-6:02:04 -	LMT	19
 # From Stephen Colebourne (2007-02-22):
 # Some IATA info: Haiti won't be having DST in 2007.
 
+# From Steffen Thorsen (2012-03-11):
+# According to several news sources, Haiti will observe DST this year,
+# apparently using the same start and end date as USA/Canada.
+# So this means they have already changed their time.
+#
+# (Sources in French):
+# 
+# http://www.alterpresse.org/spip.php?article12510
+# 
+# 
+# http://radiovision2000haiti.net/home/?p=13253
+# 
+#
+# Our coverage:
+# 
+# http://www.timeanddate.com/news/time/haiti-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-11):
+# The alterpresse.org source seems to show a US-style leap from 2:00 a.m. to
+# 3:00 a.m. rather than the traditional Haitian jump at midnight.
+# Assume a US-style fall back as well XXX.
+# Do not yet assume that the change carries forward past 2012 XXX.
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Haiti	1983	only	-	May	8	0:00	1:00	D
@@ -2966,6 +3003,8 @@ Rule	Haiti	1988	1997	-	Apr	Sun>=1	1:00s	
 Rule	Haiti	1988	1997	-	Oct	lastSun	1:00s	0	S
 Rule	Haiti	2005	2006	-	Apr	Sun>=1	0:00	1:00	D
 Rule	Haiti	2005	2006	-	Oct	lastSun	0:00	0	S
+Rule	Haiti	2012	only	-	Mar	Sun>=8	2:00	1:00	D
+Rule	Haiti	2012	only	-	Nov	Sun>=1	2:00	0	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone America/Port-au-Prince -4:49:20 -	LMT	1890
 			-4:49	-	PPMT	1917 Jan 24 12:00 # P-a-P MT

Modified: stable/6/share/zoneinfo/southamerica
==============================================================================
--- stable/6/share/zoneinfo/southamerica	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/southamerica	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)southamerica	8.53
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -232,7 +231,7 @@ Rule	Arg	2000	only	-	Mar	3	0:00	0	-
 Rule	Arg	2007	only	-	Dec	30	0:00	1:00	S
 Rule	Arg	2008	2009	-	Mar	Sun>=15	0:00	0	-
 Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:00	S
- 
+
 # From Mariano Absatz (2004-05-21):
 # Today it was officially published that the Province of Mendoza is changing
 # its timezone this winter... starting tomorrow night....
@@ -322,9 +321,9 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:
 # confirms what Alex Krivenyshev has earlier sent to the tz
 # emailing list about that San Luis plans to return to standard
 # time much earlier than the rest of the country. It also
-# confirms that upon request the provinces San Juan and Mendoza 
-# refused to follow San Luis in this change. 
-# 
+# confirms that upon request the provinces San Juan and Mendoza
+# refused to follow San Luis in this change.
+#
 # The change is supposed to take place Monday the 21.st at 0:00
 # hours. As far as I understand it if this goes ahead, we need
 # a new timezone for San Luis (although there are also documented
@@ -386,7 +385,7 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:
 # 
 # http://www.lanacion.com.ar/nota.asp?nota_id=1107912
 # 
-# 
+#
 # The press release says:
 #  (...) anunció que el próximo domingo a las 00:00 los puntanos deberán
 # atrasar una hora sus relojes.
@@ -800,8 +799,8 @@ Zone	America/La_Paz	-4:32:36 -	LMT	1890
 #
 # From Alexander Krivenyshev (2011-10-04):
 # State Bahia will return to Daylight savings time this year after 8 years off.
-# The announcement was made by Governor Jaques Wagner in an interview to a 
-# television station in Salvador. 
+# The announcement was made by Governor Jaques Wagner in an interview to a
+# television station in Salvador.
 
 # In Portuguese:
 # 
@@ -1160,7 +1159,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1
 # Due to drought, Chile extends Daylight Time in three weeks.  This
 # is one-time change (Saturday 3/29 at 24:00 for America/Santiago
 # and Saturday 3/29 at 22:00 for Pacific/Easter)
-# The Supreme Decree is located at 
+# The Supreme Decree is located at
 # 
 # http://www.shoa.cl/servicios/supremo316.pdf
 # 
@@ -1171,7 +1170,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1
 
 # From Jose Miguel Garrido (2008-03-05):
 # ...
-# You could see the announces of the change on 
+# You could see the announces of the change on
 # 
 # http://www.shoa.cl/noticias/2008/04hora/hora.htm
 # .

Modified: stable/6/share/zoneinfo/systemv
==============================================================================
--- stable/6/share/zoneinfo/systemv	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/systemv	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)systemv	8.2
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/6/share/zoneinfo/yearistype.sh
==============================================================================
--- stable/6/share/zoneinfo/yearistype.sh	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/yearistype.sh	Thu Sep 13 10:24:59 2012	(r240458)
@@ -3,8 +3,6 @@
 : 'This file is in the public domain, so clarified as of'
 : '2006-07-17 by Arthur David Olson.'
 
-: '@(#)yearistype.sh	8.2'
-
 case $#-$1 in
 	2-|2-0*|2-*[!0-9]*)
 		echo "$0: wild year - $1" >&2

Modified: stable/6/share/zoneinfo/zone.tab
==============================================================================
--- stable/6/share/zoneinfo/zone.tab	Thu Sep 13 10:17:01 2012	(r240457)
+++ stable/6/share/zoneinfo/zone.tab	Thu Sep 13 10:24:59 2012	(r240458)
@@ -1,5 +1,4 @@
 # 
-# @(#)zone.tab	8.54
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 #
@@ -131,7 +130,7 @@ CA	+5333-11328	America/Edmonton	Mountain
 CA	+690650-1050310	America/Cambridge_Bay	Mountain Time - west Nunavut
 CA	+6227-11421	America/Yellowknife	Mountain Time - central Northwest Territories
 CA	+682059-1334300	America/Inuvik	Mountain Time - west Northwest Territories
-CA	+4906-11631	America/Creston		Mountain Standard Time - Creston, British Columbia
+CA	+4906-11631	America/Creston	Mountain Standard Time - Creston, British Columbia
 CA	+5946-12014	America/Dawson_Creek	Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
 CA	+4916-12307	America/Vancouver	Pacific Time - west British Columbia
 CA	+6043-13503	America/Whitehorse	Pacific Time - south Yukon

From owner-svn-src-stable@FreeBSD.ORG  Thu Sep 13 10:25:19 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 4CD3D106564A;
	Thu, 13 Sep 2012 10:25:19 +0000 (UTC)
	(envelope-from edwin@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 35A9F8FC08;
	Thu, 13 Sep 2012 10:25:19 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8DAPJub073792;
	Thu, 13 Sep 2012 10:25:19 GMT (envelope-from edwin@svn.freebsd.org)
Received: (from edwin@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8DAPIxb073773;
	Thu, 13 Sep 2012 10:25:18 GMT (envelope-from edwin@svn.freebsd.org)
Message-Id: <201209131025.q8DAPIxb073773@svn.freebsd.org>
From: Edwin Groothuis 
Date: Thu, 13 Sep 2012 10:25:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
X-SVN-Group: stable-7
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240459 - stable/7/share/zoneinfo
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Thu, 13 Sep 2012 10:25:19 -0000

Author: edwin
Date: Thu Sep 13 10:25:18 2012
New Revision: 240459
URL: http://svn.freebsd.org/changeset/base/240459

Log:
  iMFC of 240457, tzdata2012f
  
   - Pacific/Fiji will go into DST from 21 October 2012 till 20 January 2013.
   - Fix offset for Pacific/Tokelau.
   - Gaza and West Bank had DST from 29 March to 28 September 2012.
   - Syria has DST from April till October
   - Morocco had DST from April to September 2012 except for 20 July to 20 August.
   - Cuba changed to DST from 1 April 2012 only.
   - Haiti has DST between 8 March and 1 November in 2012.
  
  Obtained from:  ftp://ftp.iana.org/tz/releases/

Modified:
  stable/7/share/zoneinfo/africa
  stable/7/share/zoneinfo/antarctica
  stable/7/share/zoneinfo/asia
  stable/7/share/zoneinfo/australasia
  stable/7/share/zoneinfo/backward
  stable/7/share/zoneinfo/etcetera
  stable/7/share/zoneinfo/europe
  stable/7/share/zoneinfo/factory
  stable/7/share/zoneinfo/leapseconds
  stable/7/share/zoneinfo/northamerica
  stable/7/share/zoneinfo/southamerica
  stable/7/share/zoneinfo/systemv
  stable/7/share/zoneinfo/yearistype.sh
  stable/7/share/zoneinfo/zone.tab
Directory Properties:
  stable/7/share/zoneinfo/   (props changed)

Modified: stable/7/share/zoneinfo/africa
==============================================================================
--- stable/7/share/zoneinfo/africa	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/africa	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)africa	8.33
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -238,7 +237,7 @@ Rule	Egypt	2006	only	-	Sep	21	23:00s	0	-
 # I received a mail from an airline which says that the daylight
 # saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07.
 # From Jesper Norgaard Welen (2007-08-15): [The following agree:]
-# http://www.nentjes.info/Bill/bill5.htm 
+# http://www.nentjes.info/Bill/bill5.htm
 # http://www.timeanddate.com/worldclock/city.html?n=53
 # From Steffen Thorsen (2007-09-04): The official information...:
 # http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm
@@ -292,18 +291,18 @@ Rule	Egypt	2007	only	-	Sep	Thu>=1	23:00s
 # in September.
 
 # From Steffen Thorsen (2009-08-11):
-# We have been able to confirm the August change with the Egyptian Cabinet 
+# We have been able to confirm the August change with the Egyptian Cabinet
 # Information and Decision Support Center:
 # 
 # http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html
 # 
-# 
+#
 # The Middle East News Agency
 # 
 # http://www.mena.org.eg/index.aspx
 # 
 # also reports "Egypt starts winter time on August 21"
-# today in article numbered "71, 11/08/2009 12:25 GMT." 
+# today in article numbered "71, 11/08/2009 12:25 GMT."
 # Only the title above is available without a subscription to their service,
 # and can be found by searching for "winter" in their search engine
 # (at least today).
@@ -482,7 +481,7 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # From Steffen Thorsen (2008-06-25):
 # Mauritius plans to observe DST from 2008-11-01 to 2009-03-31 on a trial
 # basis....
-# It seems that Mauritius observed daylight saving time from 1982-10-10 to 
+# It seems that Mauritius observed daylight saving time from 1982-10-10 to
 # 1983-03-20 as well, but that was not successful....
 # http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html
 
@@ -506,12 +505,12 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # than previously announced (2008-11-01 to 2009-03-31).  The new start
 # date is 2008-10-26 at 02:00 and the new end date is 2009-03-27 (no time
 # given, but it is probably at either 2 or 3 wall clock time).
-# 
-# A little strange though, since the article says that they moved the date 
-# to align itself with Europe and USA which also change time on that date, 
-# but that means they have not paid attention to what happened in 
-# USA/Canada last year (DST ends first Sunday in November). I also wonder 
-# why that they end on a Friday, instead of aligning with Europe which 
+#
+# A little strange though, since the article says that they moved the date
+# to align itself with Europe and USA which also change time on that date,
+# but that means they have not paid attention to what happened in
+# USA/Canada last year (DST ends first Sunday in November). I also wonder
+# why that they end on a Friday, instead of aligning with Europe which
 # changes two days later.
 
 # From Alex Krivenyshev (2008-07-11):
@@ -570,7 +569,7 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # 
 
 # From Arthur David Olson (2009-07-11):
-# The "mauritius-dst-will-not-repeat" wrapup includes this: 
+# The "mauritius-dst-will-not-repeat" wrapup includes this:
 # "The trial ended on March 29, 2009, when the clocks moved back by one hour
 # at 2am (or 02:00) local time..."
 
@@ -664,8 +663,8 @@ Zone	Indian/Mayotte	3:00:56 -	LMT	1911 J
 # XXX--guess that it is only Morocco for now; guess only 2008 for now.
 
 # From Steffen Thorsen (2008-08-27):
-# Morocco will change the clocks back on the midnight between August 31 
-# and September 1. They originally planned to observe DST to near the end 
+# Morocco will change the clocks back on the midnight between August 31
+# and September 1. They originally planned to observe DST to near the end
 # of September:
 #
 # One article about it (in French):
@@ -768,6 +767,54 @@ Zone	Indian/Mayotte	3:00:56 -	LMT	1911 J
 # wall clock time (i.e. 11pm UTC), but that's what I would assume. It has
 # also been like that in the past.
 
+# From Alexander Krivenyshev (2012-03-09):
+# According to Infomédiaire web site from Morocco (infomediaire.ma),
+# on March 9, 2012, (in French) Heure légale:
+# Le Maroc adopte officiellement l'heure d'été
+# 
+# http://www.infomediaire.ma/news/maroc/heure-l%C3%A9gale-le-maroc-adopte-officiellement-lheure-d%C3%A9t%C3%A9
+# 
+# Governing Council adopted draft decree, that Morocco DST starts on
+# the last Sunday of March (March 25, 2012) and ends on
+# last Sunday of September (September 30, 2012)
+# except the month of Ramadan.
+# or (brief)
+# 
+# http://www.worldtimezone.com/dst_news/dst_news_morocco06.html
+# 
+
+# From Arthur David Olson (2012-03-10):
+# The infomediaire.ma source indicates that the system is to be in
+# effect every year. It gives 03H00 as the "fall back" time of day;
+# it lacks a "spring forward" time of day; assume 2:00 XXX.
+# Wait on specifying the Ramadan exception for details about
+# start date, start time of day, end date, and end time of day XXX.
+
+# From Christophe Tropamer (2012-03-16):
+# Seen Morocco change again:
+# 
+# http://www.le2uminutes.com/actualite.php
+# 
+# "...à partir du dernier dimance d'avril et non fins mars,
+# comme annoncé précédemment."
+
+# From Milamber Space Network (2012-07-17):
+# The official return to GMT is announced by the Moroccan government:
+# 
+# http://www.mmsp.gov.ma/fr/actualites.aspx?id=288 [in French]
+# 
+#
+# Google translation, lightly edited:
+# Back to the standard time of the Kingdom (GMT)
+# Pursuant to Decree No. 2-12-126 issued on 26 Jumada (I) 1433 (April 18,
+# 2012) and in accordance with the order of Mr. President of the
+# Government No. 3-47-12 issued on 24 Sha'ban (11 July 2012), the Ministry
+# of Public Service and Administration Modernization announces the return
+# of the legal time of the Kingdom (GMT) from Friday, July 20, 2012 until
+# Monday, August 20, 2012.  So the time will be delayed by 60 minutes from
+# 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes
+# August 20, 2012 from 2:00 am.
+
 # RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 
 Rule	Morocco	1939	only	-	Sep	12	 0:00	1:00	S
@@ -793,6 +840,11 @@ Rule	Morocco	2010	only	-	May	 2	 0:00	1:
 Rule	Morocco	2010	only	-	Aug	 8	 0:00	0	-
 Rule	Morocco	2011	only	-	Apr	 3	 0:00	1:00	S
 Rule	Morocco	2011	only	-	Jul	 31	 0	0	-
+Rule	Morocco	2012	max	-	Apr	 lastSun 2:00	1:00	S
+Rule	Morocco	2012	max	-	Sep	 lastSun 3:00	0	-
+Rule	Morocco	2012	only	-	Jul	 20	 3:00	0	-
+Rule	Morocco	2012	only	-	Aug	 20	 2:00	1:00	S
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
 			 0:00	Morocco	WE%sT	1984 Mar 16
@@ -820,7 +872,7 @@ Zone	Africa/Maputo	2:10:20 -	LMT	1903 Ma
 # Forecasting Riaan van Zyl explained that the far eastern parts of
 # the country are close to 40 minutes earlier in sunrise than the rest
 # of the country.
-# 
+#
 # From Paul Eggert (2007-03-31):
 # Apparently the Caprivi Strip informally observes Botswana time, but
 # we have no details.  In the meantime people there can use Africa/Gaborone.

Modified: stable/7/share/zoneinfo/antarctica
==============================================================================
--- stable/7/share/zoneinfo/antarctica	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/antarctica	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)antarctica	8.10
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/7/share/zoneinfo/asia
==============================================================================
--- stable/7/share/zoneinfo/asia	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/asia	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,4 +1,4 @@
-# @(#)asia	8.70
+# 
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -101,7 +101,7 @@ Zone	Asia/Kabul	4:36:48 -	LMT	1890
 # From Alexander Krivenyshev (2012-02-10):
 # According to News Armenia, on Feb 9, 2012,
 # http://newsarmenia.ru/society/20120209/42609695.html
-# 
+#
 # The Armenia National Assembly adopted final reading of Amendments to the
 # Law "On procedure of calculation time on the territory of the Republic of
 # Armenia" according to which Armenia [is] abolishing Daylight Saving Time.
@@ -181,15 +181,15 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 # 
 
 # From A. N. M. Kamrus Saadat (2009-06-15):
-# Finally we've got the official mail regarding DST start time where DST start 
-# time is mentioned as Jun 19 2009, 23:00 from BTRC (Bangladesh 
-# Telecommunication Regulatory Commission). 
+# Finally we've got the official mail regarding DST start time where DST start
+# time is mentioned as Jun 19 2009, 23:00 from BTRC (Bangladesh
+# Telecommunication Regulatory Commission).
 #
 # No DST end date has been announced yet.
 
 # From Alexander Krivenyshev (2009-09-25):
-# Bangladesh won't go back to Standard Time from October 1, 2009, 
-# instead it will continue DST measure till the cabinet makes a fresh decision. 
+# Bangladesh won't go back to Standard Time from October 1, 2009,
+# instead it will continue DST measure till the cabinet makes a fresh decision.
 #
 # Following report by same newspaper-"The Daily Star Friday":
 # "DST change awaits cabinet decision-Clock won't go back by 1-hr from Oct 1"
@@ -203,8 +203,8 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 
 # From Steffen Thorsen (2009-10-13):
 # IANS (Indo-Asian News Service) now reports:
-# Bangladesh has decided that the clock advanced by an hour to make 
-# maximum use of daylight hours as an energy saving measure would 
+# Bangladesh has decided that the clock advanced by an hour to make
+# maximum use of daylight hours as an energy saving measure would
 # "continue for an indefinite period."
 #
 # One of many places where it is published:
@@ -232,7 +232,7 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 
 # From Alexander Krivenyshev (2010-03-22):
 # According to Bangladesh newspaper "The Daily Star,"
-# Cabinet cancels Daylight Saving Time 
+# Cabinet cancels Daylight Saving Time
 # 
 # http://www.thedailystar.net/newDesign/latest_news.php?nid=22817
 # 
@@ -360,11 +360,11 @@ Rule	PRC	1987	1991	-	Apr	Sun>=10	0:00	1:
 # observing daylight saving time in 1986.
 #
 # From Thomas S. Mullaney (2008-02-11):
-# I think you're combining two subjects that need to treated 
-# separately: daylight savings (which, you're correct, wasn't 
-# implemented until the 1980s) and the unified time zone centered near 
-# Beijing (which was implemented in 1949). Briefly, there was also a 
-# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was 
+# I think you're combining two subjects that need to treated
+# separately: daylight savings (which, you're correct, wasn't
+# implemented until the 1980s) and the unified time zone centered near
+# Beijing (which was implemented in 1949). Briefly, there was also a
+# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was
 # ceased, and the second eventually recognized (again, in the 1980s).
 #
 # From Paul Eggert (2008-06-30):
@@ -501,7 +501,7 @@ Zone	Asia/Kashgar	5:03:56	-	LMT	1928 # o
 # as of 2009-10-28:
 # Year        Period
 # 1941        1 Apr to 30 Sep
-# 1942        Whole year 
+# 1942        Whole year
 # 1943        Whole year
 # 1944        Whole year
 # 1945        Whole year
@@ -592,16 +592,16 @@ Zone	Asia/Hong_Kong	7:36:36 -	LMT	1904 O
 # From Arthur David Olson (2010-04-07):
 # Here's Google's translation of the table at the bottom of the "summert.htm" page:
 # Decade 	                                                    Name                      Start and end date
-# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30 
-# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31 
-# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31 
-# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30 
-# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30 
-# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30 
-# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time 
-# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30 
-# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time 
-# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30 
+# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30
+# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31
+# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31
+# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30
+# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30
+# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30
+# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time
+# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30
+# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time
+# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30
 # Republic of China since 69 years (AD 1980)                  Stop Daylight Saving Time
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
@@ -1835,15 +1835,15 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
 # shown 8 per cent higher consumption of electricity.
 
 # From Alex Krivenyshev (2008-05-15):
-# 
-# Here is an article that Pakistan plan to introduce Daylight Saving Time 
+#
+# Here is an article that Pakistan plan to introduce Daylight Saving Time
 # on June 1, 2008 for 3 months.
-# 
-# "... The federal cabinet on Wednesday announced a new conservation plan to help 
-# reduce load shedding by approving the closure of commercial centres at 9pm and 
-# moving clocks forward by one hour for the next three months. 
+#
+# "... The federal cabinet on Wednesday announced a new conservation plan to help
+# reduce load shedding by approving the closure of commercial centres at 9pm and
+# moving clocks forward by one hour for the next three months.
 # ...."
-# 
+#
 # 
 # http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html
 # 
@@ -1903,7 +1903,7 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
 # Government has decided to restore the previous time by moving the
 # clocks backward by one hour from October 1. A formal announcement to
 # this effect will be made after the Prime Minister grants approval in
-# this regard." 
+# this regard."
 # 
 # http://www.thenews.com.pk/updates.asp?id=87168
 # 
@@ -2199,7 +2199,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # 
 # http://www.maannews.net/eng/ViewDetails.aspx?ID=306795
 # 
-# the clocks were set back one hour at 2010-08-11 00:00:00 local time in 
+# the clocks were set back one hour at 2010-08-11 00:00:00 local time in
 # Gaza and the West Bank.
 # Some more background info:
 # 
@@ -2238,7 +2238,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # The rules for Egypt are stolen from the `africa' file.
 
 # From Steffen Thorsen (2011-09-30):
-# West Bank did end Daylight Saving Time this morning/midnight (2011-09-30 
+# West Bank did end Daylight Saving Time this morning/midnight (2011-09-30
 # 00:00).
 # So West Bank and Gaza now have the same time again.
 #
@@ -2247,6 +2247,29 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # http://www.maannews.net/eng/ViewDetails.aspx?ID=424808
 # 
 
+# From Steffen Thorsen (2012-03-26):
+# Palestinian news sources tell that both Gaza and West Bank will start DST
+# on Friday (Thursday midnight, 2012-03-29 24:00).
+# Some of many sources in Arabic:
+# 
+# http://www.samanews.com/index.php?act=Show&id=122638
+# 
+#
+# 
+# http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html
+# 
+#
+# Our brief summary:
+# 
+# http://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-27):
+# The timeanddate article for 2012 says that "the end date has not yet been
+# announced" and that "Last year, both...paused daylight saving time during...
+# Ramadan. It is not yet known [for] 2012."
+# For now, assume both switch back on the last Friday in September. XXX
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule EgyptAsia	1957	only	-	May	10	0:00	1:00	S
 Rule EgyptAsia	1957	1958	-	Oct	 1	0:00	0	-
@@ -2279,6 +2302,8 @@ Zone	Asia/Gaza	2:17:52	-	LMT	1900 Oct
 			2:00	Jordan	EE%sT	1999
 			2:00 Palestine	EE%sT	2011 Apr  2 12:01
 			2:00	1:00	EEST	2011 Aug  1
+			2:00	-	EET	2012 Mar 30
+			2:00	1:00	EEST	2012 Sep 28
 			2:00	-	EET
 
 Zone	Asia/Hebron	2:20:23	-	LMT	1900 Oct
@@ -2292,6 +2317,8 @@ Zone	Asia/Hebron	2:20:23	-	LMT	1900 Oct
 			2:00	1:00	EEST	2011 Aug  1
 			2:00	-	EET	2011 Aug 30
 			2:00	1:00	EEST	2011 Sep 30 3:00
+			2:00	-	EET	2012 Mar 30
+			2:00	1:00	EEST	2012 Sep 28 3:00
 			2:00	-	EET
 
 # Paracel Is
@@ -2485,19 +2512,19 @@ Rule	Syria	2007	only	-	Mar	lastFri	0:00	
 # having it between Wednesday and Thursday (two workdays in Syria) since the
 # weekend in Syria is not Saturday and Sunday, but Friday and Saturday. So now
 # it is implemented at midnight of the last workday before weekend...
-# 
+#
 # From Steffen Thorsen (2007-10-27):
 # Jesper Norgaard Welen wrote:
-# 
+#
 # > "Winter local time in Syria will be observed at midnight of Thursday 1
 # > November 2007, and the clock will be put back 1 hour."
-# 
+#
 # I found confirmation on this in this gov.sy-article (Arabic):
 # http://wehda.alwehda.gov.sy/_print_veiw.asp?FileName=12521710520070926111247
-# 
+#
 # which using Google's translate tools says:
-# Council of Ministers also approved the commencement of work on 
-# identifying the winter time as of Friday, 2/11/2007 where the 60th 
+# Council of Ministers also approved the commencement of work on
+# identifying the winter time as of Friday, 2/11/2007 where the 60th
 # minute delay at midnight Thursday 1/11/2007.
 Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	0	-
 
@@ -2563,8 +2590,8 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	
 # 
 
 # From Steffen Thorsen (2009-10-27):
-# The Syrian Arab News Network on 2009-09-29 reported that Syria will 
-# revert back to winter (standard) time on midnight between Thursday 
+# The Syrian Arab News Network on 2009-09-29 reported that Syria will
+# revert back to winter (standard) time on midnight between Thursday
 # 2009-10-29 and Friday 2009-10-30:
 # 
 # http://www.sana.sy/ara/2/2009/09/29/247012.htm (Arabic)
@@ -2583,10 +2610,28 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	
 # http://sns.sy/sns/?path=news/read/11421 (Arabic)
 # 
 
+# From Steffen Thorsen (2012-03-26):
+# Today, Syria's government announced that they will start DST early on Friday
+# (00:00). This is a bit earlier than the past two years.
+#
+# From Syrian Arab News Agency, in Arabic:
+# 
+# http://www.sana.sy/ara/2/2012/03/26/408215.htm
+# 
+#
+# Our brief summary:
+# 
+# http://www.timeanddate.com/news/time/syria-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-27):
+# Assume last Friday in March going forward XXX.
+
 Rule	Syria	2008	only	-	Apr	Fri>=1	0:00	1:00	S
 Rule	Syria	2008	only	-	Nov	1	0:00	0	-
 Rule	Syria	2009	only	-	Mar	lastFri	0:00	1:00	S
-Rule	Syria	2010	max	-	Apr	Fri>=1	0:00	1:00	S
+Rule	Syria	2010	2011	-	Apr	Fri>=1	0:00	1:00	S
+Rule	Syria	2012	max	-	Mar	lastFri	0:00	1:00	S
 Rule	Syria	2009	max	-	Oct	lastFri	0:00	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]

Modified: stable/7/share/zoneinfo/australasia
==============================================================================
--- stable/7/share/zoneinfo/australasia	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/australasia	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)australasia	8.30
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -284,9 +283,9 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # 
 
 # From Alexander Krivenyshev (2010-10-24):
-# According to Radio Fiji and Fiji Times online, Fiji will end DST 3 
+# According to Radio Fiji and Fiji Times online, Fiji will end DST 3
 # weeks earlier than expected - on March 6, 2011, not March 27, 2011...
-# Here is confirmation from Government of the Republic of the Fiji Islands, 
+# Here is confirmation from Government of the Republic of the Fiji Islands,
 # Ministry of Information (fiji.gov.fj) web site:
 # 
 # http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=2608:daylight-savings&catid=71:press-releases&Itemid=155
@@ -297,15 +296,15 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # 
 
 # From Steffen Thorsen (2011-10-03):
-# Now the dates have been confirmed, and at least our start date 
+# Now the dates have been confirmed, and at least our start date
 # assumption was correct (end date was one week wrong).
 #
 # 
 # www.fiji.gov.fj/index.php?option=com_content&view=article&id=4966:daylight-saving-starts-in-fiji&catid=71:press-releases&Itemid=155
 # 
 # which says
-# Members of the public are reminded to change their time to one hour in 
-# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to 
+# Members of the public are reminded to change their time to one hour in
+# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to
 # 2am on February 26 next year.
 
 # From Ken Rylander (2011-10-24)
@@ -322,15 +321,23 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # The commencement of daylight saving will remain unchanged and start
 # on the  23rd of October, 2011.
 
+# From the Fiji Government Online Portal (2012-08-21) via Steffen Thorsen:
+# The Minister for Labour, Industrial Relations and Employment Mr Jone Usamate
+# today confirmed that Fiji will start daylight savings at 2 am on Sunday 21st
+# October 2012 and end at 3 am on Sunday 20th January 2013.
+# http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=6702&catid=71&Itemid=155
+#
+# From Paul Eggert (2012-08-31):
+# For now, guess a pattern of the penultimate Sundays in October and January.
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Fiji	1998	1999	-	Nov	Sun>=1	2:00	1:00	S
 Rule	Fiji	1999	2000	-	Feb	lastSun	3:00	0	-
 Rule	Fiji	2009	only	-	Nov	29	2:00	1:00	S
 Rule	Fiji	2010	only	-	Mar	lastSun	3:00	0	-
-Rule	Fiji	2010	only	-	Oct	24	2:00	1:00	S
+Rule	Fiji	2010	max	-	Oct	Sun>=18	2:00	1:00	S
 Rule	Fiji	2011	only	-	Mar	Sun>=1	3:00	0	-
-Rule	Fiji	2011	only	-	Oct	23	2:00	1:00	S
-Rule	Fiji	2012	only	-	Jan	22	3:00	0	-
+Rule	Fiji	2012	max	-	Jan	Sun>=18	3:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fiji	11:53:40 -	LMT	1915 Oct 26	# Suva
 			12:00	Fiji	FJ%sT	# Fiji Time
@@ -559,7 +566,7 @@ Zone Pacific/Pago_Pago	 12:37:12 -	LMT	1
 
 # From David Zuelke (2011-05-09):
 # Subject: Samoa to move timezone from east to west of international date line
-# 
+#
 # 
 # http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963
 # 
@@ -641,25 +648,25 @@ Zone Pacific/Guadalcanal 10:39:48 -	LMT	
 #
 # From Gwillim Law (2011-12-29)
 # A correspondent informed me that Tokelau, like Samoa, will be skipping
-# December 31 this year, thereby changing its time zone from UTC-10 to
-# UTC+14. When I tried to verify this statement, I found a confirming
-# article in Time magazine online
-# 
-# (http://www.time.com/time/world/article/0,8599,2103243,00.html).
-# 
+# December 31 this year ...
 #
-# From Jonathan Leffler (2011-12-29)
-# Information from the BBC to the same effect:
-# 
-# http://www.bbc.co.uk/news/world-asia-16351377
-# 
-#
-# Patch supplied by Tim Parenti (2011-12-29)
+# From Steffen Thorsen (2012-07-25)
+# ... we double checked by calling hotels and offices based in Tokelau asking
+# about the time there, and they all told a time that agrees with UTC+13....
+# Shanks says UTC-10 from 1901 [but] ... there is a good chance the change
+# actually was to UTC-11 back then.
+#
+# From Paul Eggert (2012-07-25)
+# A Google Books snippet of Appendix to the Journals of the House of
+# Representatives of New Zealand, Session 1948,
+# , page 65, says Tokelau
+# was "11 hours slow on G.M.T."  Go with Thorsen and assume Shanks & Pottenger
+# are off by an hour starting in 1901.
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fakaofo	-11:24:56 -	LMT	1901
-			-10:00	-	TKT 2011 Dec 30	# Tokelau Time
-			14:00	-	TKT
+			-11:00	-	TKT 2011 Dec 30	# Tokelau Time
+			13:00	-	TKT
 
 # Tonga
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
@@ -1340,22 +1347,22 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 # See "southeast Australia" above for 2008 and later.
 
 # From Steffen Thorsen (2009-04-28):
-# According to the official press release, South Australia's extended daylight 
-# saving period will continue with the same rules as used during the 2008-2009 
+# According to the official press release, South Australia's extended daylight
+# saving period will continue with the same rules as used during the 2008-2009
 # summer (southern hemisphere).
-# 
+#
 # From
 # 
 # http://www.safework.sa.gov.au/uploaded_files/DaylightDatesSet.pdf
 # 
-# The extended daylight saving period that South Australia has been trialling 
+# The extended daylight saving period that South Australia has been trialling
 # for over the last year is now set to be ongoing.
-# Daylight saving will continue to start on the first Sunday in October each 
+# Daylight saving will continue to start on the first Sunday in October each
 # year and finish on the first Sunday in April the following year.
-# Industrial Relations Minister, Paul Caica, says this provides South Australia 
-# with a consistent half hour time difference with NSW, Victoria, Tasmania and 
+# Industrial Relations Minister, Paul Caica, says this provides South Australia
+# with a consistent half hour time difference with NSW, Victoria, Tasmania and
 # the ACT for all 52 weeks of the year...
-# 
+#
 # We have a wrap-up here:
 # 
 # http://www.timeanddate.com/news/time/south-australia-extends-dst.html

Modified: stable/7/share/zoneinfo/backward
==============================================================================
--- stable/7/share/zoneinfo/backward	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/backward	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)backward	8.11
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/7/share/zoneinfo/etcetera
==============================================================================
--- stable/7/share/zoneinfo/etcetera	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/etcetera	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)etcetera	8.3
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/7/share/zoneinfo/europe
==============================================================================
--- stable/7/share/zoneinfo/europe	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/europe	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)europe	8.41
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -575,12 +574,12 @@ Rule	Russia	1996	2010	-	Oct	lastSun	 2:0
 # According to Kremlin press service, Russian President Dmitry Medvedev
 # signed a federal law "On calculation of time" on June 9, 2011.
 # According to the law Russia is abolishing daylight saving time.
-# 
-# Medvedev signed a law "On the Calculation of Time" (in russian): 
+#
+# Medvedev signed a law "On the Calculation of Time" (in russian):
 # 
 # http://bmockbe.ru/events/?ID=7583
 # 
-# 
+#
 # Medvedev signed a law on the calculation of the time (in russian):
 # 
 # http://www.regnum.ru/news/polit/1413906.html
@@ -1688,7 +1687,7 @@ Zone	Europe/Malta	0:58:04 -	LMT	1893 Nov
 # From Alexander Krivenyshev (2011-10-26)
 # NO need to divide Moldova into two timezones at this point.
 # As of today, Transnistria (Pridnestrovie)- Tiraspol reversed its own
-# decision to abolish DST this winter. 
+# decision to abolish DST this winter.
 # Following Moldova and neighboring Ukraine- Transnistria (Pridnestrovie)-
 # Tiraspol will go back to winter time on October 30, 2011.
 # News from Moldova (in russian):
@@ -2578,11 +2577,11 @@ Zone	Europe/Zurich	0:34:08 -	LMT	1848 Se
 # http://www.alomaliye.com/bkk_2002_3769.htm
 
 # From Gökdeniz Karadağ (2011-03-10):
-# 
+#
 # According to the articles linked below, Turkey will change into summer
 # time zone (GMT+3) on March 28, 2011 at 3:00 a.m. instead of March 27.
 # This change is due to a nationwide exam on 27th.
-# 
+#
 # 
 # http://www.worldbulletin.net/?aType=haber&ArticleID=70872
 # 
@@ -2699,7 +2698,7 @@ Link	Europe/Istanbul	Asia/Istanbul	# Ist
 # time this year after all.
 #
 # From Udo Schwedt (2011-10-18):
-# As far as I understand, the recent change to the Ukranian time zone 
+# As far as I understand, the recent change to the Ukranian time zone
 # (Europe/Kiev) to introduce permanent daylight saving time (similar
 # to Russia) was reverted today:
 #

Modified: stable/7/share/zoneinfo/factory
==============================================================================
--- stable/7/share/zoneinfo/factory	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/factory	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)factory	8.2
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/7/share/zoneinfo/leapseconds
==============================================================================
--- stable/7/share/zoneinfo/leapseconds	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/leapseconds	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)leapseconds	8.13
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -78,8 +77,8 @@ Leap	2012	Jun	30	23:59:60	+	S
 #
 #
 # A positive leap second will be introduced at the end of June 2012.
-# The sequence of dates of the UTC second markers will be:		
-# 		
+# The sequence of dates of the UTC second markers will be:
+#
 #                          2012 June 30,     23h 59m 59s
 #                          2012 June 30,     23h 59m 60s
 #                          2012 July  1,      0h  0m  0s
@@ -96,6 +95,6 @@ Leap	2012	Jun	30	23:59:60	+	S
 #
 #
 # Daniel GAMBIS
-# Head		
+# Head
 # Earth Orientation Center of IERS
 # Observatoire de Paris, France

Modified: stable/7/share/zoneinfo/northamerica
==============================================================================
--- stable/7/share/zoneinfo/northamerica	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/northamerica	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)northamerica	8.52
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -479,7 +478,7 @@ Zone America/Juneau	 15:02:19 -	LMT	1867
 			 -8:00	US	P%sT	1946
 			 -8:00	-	PST	1969
 			 -8:00	US	P%sT	1980 Apr 27 2:00
-			 -9:00	US	Y%sT	1980 Oct 26 2:00	
+			 -9:00	US	Y%sT	1980 Oct 26 2:00
 			 -8:00	US	P%sT	1983 Oct 30 2:00
 			 -9:00	US	Y%sT	1983 Nov 30
 			 -9:00	US	AK%sT
@@ -1844,7 +1843,7 @@ Zone America/Edmonton	-7:33:52 -	LMT	190
 # Here is a summary of the three clock change events in Creston's history:
 # 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
 # Exact date unknown
-# 2. Oct 1916: switch to Pacific Standard Time (GMT-8) 
+# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
 # Exact date in October unknown;  Sunday October 1 is a reasonable guess.
 # 3. June 1918: switch to Pacific Daylight Time (GMT-7)
 # Exact date in June unknown; Sunday June 2 is a reasonable guess.
@@ -2674,20 +2673,20 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # except that it switches at midnight standard time as usual.
 #
 # From Steffen Thorsen (2007-10-25):
-# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week 
+# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week
 # earlier - on the last Sunday of October, just like in 2006.
-# 
+#
 # He supplied these references:
-# 
+#
 # http://www.prensalatina.com.mx/article.asp?ID=%7B4CC32C1B-A9F7-42FB-8A07-8631AFC923AF%7D&language=ES
 # http://actualidad.terra.es/sociedad/articulo/cuba_llama_ahorrar_energia_cambio_1957044.htm
-# 
+#
 # From Alex Kryvenishev (2007-10-25):
 # Here is also article from Granma (Cuba):
-# 
+#
 # [Regira] el Horario Normal desde el [proximo] domingo 28 de octubre
 # http://www.granma.cubaweb.cu/2007/10/24/nacional/artic07.html
-# 
+#
 # http://www.worldtimezone.com/dst_news/dst_news_cuba03.html
 
 # From Arthur David Olson (2008-03-09):
@@ -2771,7 +2770,7 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # 
 #
 # From Steffen Thorsen (2011-10-30)
-# Cuba will end DST two weeks later this year. Instead of going back 
+# Cuba will end DST two weeks later this year. Instead of going back
 # tonight, it has been delayed to 2011-11-13 at 01:00.
 #
 # One source (Spanish)
@@ -2783,6 +2782,20 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # 
 # http://www.timeanddate.com/news/time/cuba-time-changes-2011.html
 # 
+#
+# From Steffen Thorsen (2012-03-01)
+# According to Radio Reloj, Cuba will start DST on Midnight between March
+# 31 and April 1.
+#
+# Radio Reloj has the following info (Spanish):
+# 
+# http://www.radioreloj.cu/index.php/noticias-radio-reloj/71-miscelaneas/7529-cuba-aplicara-el-horario-de-verano-desde-el-1-de-abril
+# 
+#
+# Our info on it:
+# 
+# http://www.timeanddate.com/news/time/cuba-starts-dst-2012.html
+# 
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Cuba	1928	only	-	Jun	10	0:00	1:00	D
@@ -2820,8 +2833,9 @@ Rule	Cuba	2008	only	-	Mar	Sun>=15	0:00s	
 Rule	Cuba	2009	2010	-	Mar	Sun>=8	0:00s	1:00	D
 Rule	Cuba	2011	only	-	Mar	Sun>=15	0:00s	1:00	D
 Rule	Cuba	2011	only	-	Nov	13	0:00s	0	S
-Rule	Cuba	2012	max	-	Mar	Sun>=8	0:00s	1:00	D
+Rule	Cuba	2012	only	-	Apr	1	0:00s	1:00	D
 Rule	Cuba	2012	max	-	Oct	lastSun	0:00s	0	S
+Rule	Cuba	2013	max	-	Mar	Sun>=8	0:00s	1:00	D
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	America/Havana	-5:29:28 -	LMT	1890
@@ -2955,6 +2969,29 @@ Zone America/Guatemala	-6:02:04 -	LMT	19
 # From Stephen Colebourne (2007-02-22):
 # Some IATA info: Haiti won't be having DST in 2007.
 
+# From Steffen Thorsen (2012-03-11):
+# According to several news sources, Haiti will observe DST this year,
+# apparently using the same start and end date as USA/Canada.
+# So this means they have already changed their time.
+#
+# (Sources in French):
+# 
+# http://www.alterpresse.org/spip.php?article12510
+# 
+# 
+# http://radiovision2000haiti.net/home/?p=13253
+# 
+#
+# Our coverage:
+# 
+# http://www.timeanddate.com/news/time/haiti-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-11):
+# The alterpresse.org source seems to show a US-style leap from 2:00 a.m. to
+# 3:00 a.m. rather than the traditional Haitian jump at midnight.
+# Assume a US-style fall back as well XXX.
+# Do not yet assume that the change carries forward past 2012 XXX.
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Haiti	1983	only	-	May	8	0:00	1:00	D
@@ -2966,6 +3003,8 @@ Rule	Haiti	1988	1997	-	Apr	Sun>=1	1:00s	
 Rule	Haiti	1988	1997	-	Oct	lastSun	1:00s	0	S
 Rule	Haiti	2005	2006	-	Apr	Sun>=1	0:00	1:00	D
 Rule	Haiti	2005	2006	-	Oct	lastSun	0:00	0	S
+Rule	Haiti	2012	only	-	Mar	Sun>=8	2:00	1:00	D
+Rule	Haiti	2012	only	-	Nov	Sun>=1	2:00	0	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone America/Port-au-Prince -4:49:20 -	LMT	1890
 			-4:49	-	PPMT	1917 Jan 24 12:00 # P-a-P MT

Modified: stable/7/share/zoneinfo/southamerica
==============================================================================
--- stable/7/share/zoneinfo/southamerica	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/southamerica	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)southamerica	8.53
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -232,7 +231,7 @@ Rule	Arg	2000	only	-	Mar	3	0:00	0	-
 Rule	Arg	2007	only	-	Dec	30	0:00	1:00	S
 Rule	Arg	2008	2009	-	Mar	Sun>=15	0:00	0	-
 Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:00	S
- 
+
 # From Mariano Absatz (2004-05-21):
 # Today it was officially published that the Province of Mendoza is changing
 # its timezone this winter... starting tomorrow night....
@@ -322,9 +321,9 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:
 # confirms what Alex Krivenyshev has earlier sent to the tz
 # emailing list about that San Luis plans to return to standard
 # time much earlier than the rest of the country. It also
-# confirms that upon request the provinces San Juan and Mendoza 
-# refused to follow San Luis in this change. 
-# 
+# confirms that upon request the provinces San Juan and Mendoza
+# refused to follow San Luis in this change.
+#
 # The change is supposed to take place Monday the 21.st at 0:00
 # hours. As far as I understand it if this goes ahead, we need
 # a new timezone for San Luis (although there are also documented
@@ -386,7 +385,7 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:
 # 
 # http://www.lanacion.com.ar/nota.asp?nota_id=1107912
 # 
-# 
+#
 # The press release says:
 #  (...) anunció que el próximo domingo a las 00:00 los puntanos deberán
 # atrasar una hora sus relojes.
@@ -800,8 +799,8 @@ Zone	America/La_Paz	-4:32:36 -	LMT	1890
 #
 # From Alexander Krivenyshev (2011-10-04):
 # State Bahia will return to Daylight savings time this year after 8 years off.
-# The announcement was made by Governor Jaques Wagner in an interview to a 
-# television station in Salvador. 
+# The announcement was made by Governor Jaques Wagner in an interview to a
+# television station in Salvador.
 
 # In Portuguese:
 # 
@@ -1160,7 +1159,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1
 # Due to drought, Chile extends Daylight Time in three weeks.  This
 # is one-time change (Saturday 3/29 at 24:00 for America/Santiago
 # and Saturday 3/29 at 22:00 for Pacific/Easter)
-# The Supreme Decree is located at 
+# The Supreme Decree is located at
 # 
 # http://www.shoa.cl/servicios/supremo316.pdf
 # 
@@ -1171,7 +1170,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1
 
 # From Jose Miguel Garrido (2008-03-05):
 # ...
-# You could see the announces of the change on 
+# You could see the announces of the change on
 # 
 # http://www.shoa.cl/noticias/2008/04hora/hora.htm
 # .

Modified: stable/7/share/zoneinfo/systemv
==============================================================================
--- stable/7/share/zoneinfo/systemv	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/systemv	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)systemv	8.2
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/7/share/zoneinfo/yearistype.sh
==============================================================================
--- stable/7/share/zoneinfo/yearistype.sh	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/yearistype.sh	Thu Sep 13 10:25:18 2012	(r240459)
@@ -3,8 +3,6 @@
 : 'This file is in the public domain, so clarified as of'
 : '2006-07-17 by Arthur David Olson.'
 
-: '@(#)yearistype.sh	8.2'
-
 case $#-$1 in
 	2-|2-0*|2-*[!0-9]*)
 		echo "$0: wild year - $1" >&2

Modified: stable/7/share/zoneinfo/zone.tab
==============================================================================
--- stable/7/share/zoneinfo/zone.tab	Thu Sep 13 10:24:59 2012	(r240458)
+++ stable/7/share/zoneinfo/zone.tab	Thu Sep 13 10:25:18 2012	(r240459)
@@ -1,5 +1,4 @@
 # 
-# @(#)zone.tab	8.54
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 #
@@ -131,7 +130,7 @@ CA	+5333-11328	America/Edmonton	Mountain
 CA	+690650-1050310	America/Cambridge_Bay	Mountain Time - west Nunavut
 CA	+6227-11421	America/Yellowknife	Mountain Time - central Northwest Territories
 CA	+682059-1334300	America/Inuvik	Mountain Time - west Northwest Territories
-CA	+4906-11631	America/Creston		Mountain Standard Time - Creston, British Columbia
+CA	+4906-11631	America/Creston	Mountain Standard Time - Creston, British Columbia
 CA	+5946-12014	America/Dawson_Creek	Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
 CA	+4916-12307	America/Vancouver	Pacific Time - west British Columbia
 CA	+6043-13503	America/Whitehorse	Pacific Time - south Yukon

From owner-svn-src-stable@FreeBSD.ORG  Thu Sep 13 10:25:31 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4C6FA10657D6;
	Thu, 13 Sep 2012 10:25:31 +0000 (UTC)
	(envelope-from edwin@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 341B98FC0A;
	Thu, 13 Sep 2012 10:25:31 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8DAPVob073872;
	Thu, 13 Sep 2012 10:25:31 GMT (envelope-from edwin@svn.freebsd.org)
Received: (from edwin@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8DAPUe2073855;
	Thu, 13 Sep 2012 10:25:30 GMT (envelope-from edwin@svn.freebsd.org)
Message-Id: <201209131025.q8DAPUe2073855@svn.freebsd.org>
From: Edwin Groothuis 
Date: Thu, 13 Sep 2012 10:25:30 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240460 - stable/8/share/zoneinfo
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Thu, 13 Sep 2012 10:25:31 -0000

Author: edwin
Date: Thu Sep 13 10:25:30 2012
New Revision: 240460
URL: http://svn.freebsd.org/changeset/base/240460

Log:
  MFC of 240457, tzdata2012f
  
   - Pacific/Fiji will go into DST from 21 October 2012 till 20 January 2013.
   - Fix offset for Pacific/Tokelau.
   - Gaza and West Bank had DST from 29 March to 28 September 2012.
   - Syria has DST from April till October
   - Morocco had DST from April to September 2012 except for 20 July to 20 August.
   - Cuba changed to DST from 1 April 2012 only.
   - Haiti has DST between 8 March and 1 November in 2012.
  
    Obtained from:  ftp://ftp.iana.org/tz/releases/

Modified:
  stable/8/share/zoneinfo/africa
  stable/8/share/zoneinfo/antarctica
  stable/8/share/zoneinfo/asia
  stable/8/share/zoneinfo/australasia
  stable/8/share/zoneinfo/backward
  stable/8/share/zoneinfo/etcetera
  stable/8/share/zoneinfo/europe
  stable/8/share/zoneinfo/factory
  stable/8/share/zoneinfo/leapseconds
  stable/8/share/zoneinfo/northamerica
  stable/8/share/zoneinfo/pacificnew
  stable/8/share/zoneinfo/southamerica
  stable/8/share/zoneinfo/systemv
  stable/8/share/zoneinfo/yearistype.sh
  stable/8/share/zoneinfo/zone.tab
Directory Properties:
  stable/8/share/zoneinfo/   (props changed)

Modified: stable/8/share/zoneinfo/africa
==============================================================================
--- stable/8/share/zoneinfo/africa	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/africa	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)africa	8.33
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -238,7 +237,7 @@ Rule	Egypt	2006	only	-	Sep	21	23:00s	0	-
 # I received a mail from an airline which says that the daylight
 # saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07.
 # From Jesper Norgaard Welen (2007-08-15): [The following agree:]
-# http://www.nentjes.info/Bill/bill5.htm 
+# http://www.nentjes.info/Bill/bill5.htm
 # http://www.timeanddate.com/worldclock/city.html?n=53
 # From Steffen Thorsen (2007-09-04): The official information...:
 # http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm
@@ -292,18 +291,18 @@ Rule	Egypt	2007	only	-	Sep	Thu>=1	23:00s
 # in September.
 
 # From Steffen Thorsen (2009-08-11):
-# We have been able to confirm the August change with the Egyptian Cabinet 
+# We have been able to confirm the August change with the Egyptian Cabinet
 # Information and Decision Support Center:
 # 
 # http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html
 # 
-# 
+#
 # The Middle East News Agency
 # 
 # http://www.mena.org.eg/index.aspx
 # 
 # also reports "Egypt starts winter time on August 21"
-# today in article numbered "71, 11/08/2009 12:25 GMT." 
+# today in article numbered "71, 11/08/2009 12:25 GMT."
 # Only the title above is available without a subscription to their service,
 # and can be found by searching for "winter" in their search engine
 # (at least today).
@@ -482,7 +481,7 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # From Steffen Thorsen (2008-06-25):
 # Mauritius plans to observe DST from 2008-11-01 to 2009-03-31 on a trial
 # basis....
-# It seems that Mauritius observed daylight saving time from 1982-10-10 to 
+# It seems that Mauritius observed daylight saving time from 1982-10-10 to
 # 1983-03-20 as well, but that was not successful....
 # http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html
 
@@ -506,12 +505,12 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # than previously announced (2008-11-01 to 2009-03-31).  The new start
 # date is 2008-10-26 at 02:00 and the new end date is 2009-03-27 (no time
 # given, but it is probably at either 2 or 3 wall clock time).
-# 
-# A little strange though, since the article says that they moved the date 
-# to align itself with Europe and USA which also change time on that date, 
-# but that means they have not paid attention to what happened in 
-# USA/Canada last year (DST ends first Sunday in November). I also wonder 
-# why that they end on a Friday, instead of aligning with Europe which 
+#
+# A little strange though, since the article says that they moved the date
+# to align itself with Europe and USA which also change time on that date,
+# but that means they have not paid attention to what happened in
+# USA/Canada last year (DST ends first Sunday in November). I also wonder
+# why that they end on a Friday, instead of aligning with Europe which
 # changes two days later.
 
 # From Alex Krivenyshev (2008-07-11):
@@ -570,7 +569,7 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # 
 
 # From Arthur David Olson (2009-07-11):
-# The "mauritius-dst-will-not-repeat" wrapup includes this: 
+# The "mauritius-dst-will-not-repeat" wrapup includes this:
 # "The trial ended on March 29, 2009, when the clocks moved back by one hour
 # at 2am (or 02:00) local time..."
 
@@ -664,8 +663,8 @@ Zone	Indian/Mayotte	3:00:56 -	LMT	1911 J
 # XXX--guess that it is only Morocco for now; guess only 2008 for now.
 
 # From Steffen Thorsen (2008-08-27):
-# Morocco will change the clocks back on the midnight between August 31 
-# and September 1. They originally planned to observe DST to near the end 
+# Morocco will change the clocks back on the midnight between August 31
+# and September 1. They originally planned to observe DST to near the end
 # of September:
 #
 # One article about it (in French):
@@ -768,6 +767,54 @@ Zone	Indian/Mayotte	3:00:56 -	LMT	1911 J
 # wall clock time (i.e. 11pm UTC), but that's what I would assume. It has
 # also been like that in the past.
 
+# From Alexander Krivenyshev (2012-03-09):
+# According to Infomédiaire web site from Morocco (infomediaire.ma),
+# on March 9, 2012, (in French) Heure légale:
+# Le Maroc adopte officiellement l'heure d'été
+# 
+# http://www.infomediaire.ma/news/maroc/heure-l%C3%A9gale-le-maroc-adopte-officiellement-lheure-d%C3%A9t%C3%A9
+# 
+# Governing Council adopted draft decree, that Morocco DST starts on
+# the last Sunday of March (March 25, 2012) and ends on
+# last Sunday of September (September 30, 2012)
+# except the month of Ramadan.
+# or (brief)
+# 
+# http://www.worldtimezone.com/dst_news/dst_news_morocco06.html
+# 
+
+# From Arthur David Olson (2012-03-10):
+# The infomediaire.ma source indicates that the system is to be in
+# effect every year. It gives 03H00 as the "fall back" time of day;
+# it lacks a "spring forward" time of day; assume 2:00 XXX.
+# Wait on specifying the Ramadan exception for details about
+# start date, start time of day, end date, and end time of day XXX.
+
+# From Christophe Tropamer (2012-03-16):
+# Seen Morocco change again:
+# 
+# http://www.le2uminutes.com/actualite.php
+# 
+# "...à partir du dernier dimance d'avril et non fins mars,
+# comme annoncé précédemment."
+
+# From Milamber Space Network (2012-07-17):
+# The official return to GMT is announced by the Moroccan government:
+# 
+# http://www.mmsp.gov.ma/fr/actualites.aspx?id=288 [in French]
+# 
+#
+# Google translation, lightly edited:
+# Back to the standard time of the Kingdom (GMT)
+# Pursuant to Decree No. 2-12-126 issued on 26 Jumada (I) 1433 (April 18,
+# 2012) and in accordance with the order of Mr. President of the
+# Government No. 3-47-12 issued on 24 Sha'ban (11 July 2012), the Ministry
+# of Public Service and Administration Modernization announces the return
+# of the legal time of the Kingdom (GMT) from Friday, July 20, 2012 until
+# Monday, August 20, 2012.  So the time will be delayed by 60 minutes from
+# 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes
+# August 20, 2012 from 2:00 am.
+
 # RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 
 Rule	Morocco	1939	only	-	Sep	12	 0:00	1:00	S
@@ -793,6 +840,11 @@ Rule	Morocco	2010	only	-	May	 2	 0:00	1:
 Rule	Morocco	2010	only	-	Aug	 8	 0:00	0	-
 Rule	Morocco	2011	only	-	Apr	 3	 0:00	1:00	S
 Rule	Morocco	2011	only	-	Jul	 31	 0	0	-
+Rule	Morocco	2012	max	-	Apr	 lastSun 2:00	1:00	S
+Rule	Morocco	2012	max	-	Sep	 lastSun 3:00	0	-
+Rule	Morocco	2012	only	-	Jul	 20	 3:00	0	-
+Rule	Morocco	2012	only	-	Aug	 20	 2:00	1:00	S
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
 			 0:00	Morocco	WE%sT	1984 Mar 16
@@ -820,7 +872,7 @@ Zone	Africa/Maputo	2:10:20 -	LMT	1903 Ma
 # Forecasting Riaan van Zyl explained that the far eastern parts of
 # the country are close to 40 minutes earlier in sunrise than the rest
 # of the country.
-# 
+#
 # From Paul Eggert (2007-03-31):
 # Apparently the Caprivi Strip informally observes Botswana time, but
 # we have no details.  In the meantime people there can use Africa/Gaborone.

Modified: stable/8/share/zoneinfo/antarctica
==============================================================================
--- stable/8/share/zoneinfo/antarctica	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/antarctica	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)antarctica	8.10
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/8/share/zoneinfo/asia
==============================================================================
--- stable/8/share/zoneinfo/asia	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/asia	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,4 +1,4 @@
-# @(#)asia	8.70
+# 
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -101,7 +101,7 @@ Zone	Asia/Kabul	4:36:48 -	LMT	1890
 # From Alexander Krivenyshev (2012-02-10):
 # According to News Armenia, on Feb 9, 2012,
 # http://newsarmenia.ru/society/20120209/42609695.html
-# 
+#
 # The Armenia National Assembly adopted final reading of Amendments to the
 # Law "On procedure of calculation time on the territory of the Republic of
 # Armenia" according to which Armenia [is] abolishing Daylight Saving Time.
@@ -181,15 +181,15 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 # 
 
 # From A. N. M. Kamrus Saadat (2009-06-15):
-# Finally we've got the official mail regarding DST start time where DST start 
-# time is mentioned as Jun 19 2009, 23:00 from BTRC (Bangladesh 
-# Telecommunication Regulatory Commission). 
+# Finally we've got the official mail regarding DST start time where DST start
+# time is mentioned as Jun 19 2009, 23:00 from BTRC (Bangladesh
+# Telecommunication Regulatory Commission).
 #
 # No DST end date has been announced yet.
 
 # From Alexander Krivenyshev (2009-09-25):
-# Bangladesh won't go back to Standard Time from October 1, 2009, 
-# instead it will continue DST measure till the cabinet makes a fresh decision. 
+# Bangladesh won't go back to Standard Time from October 1, 2009,
+# instead it will continue DST measure till the cabinet makes a fresh decision.
 #
 # Following report by same newspaper-"The Daily Star Friday":
 # "DST change awaits cabinet decision-Clock won't go back by 1-hr from Oct 1"
@@ -203,8 +203,8 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 
 # From Steffen Thorsen (2009-10-13):
 # IANS (Indo-Asian News Service) now reports:
-# Bangladesh has decided that the clock advanced by an hour to make 
-# maximum use of daylight hours as an energy saving measure would 
+# Bangladesh has decided that the clock advanced by an hour to make
+# maximum use of daylight hours as an energy saving measure would
 # "continue for an indefinite period."
 #
 # One of many places where it is published:
@@ -232,7 +232,7 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 
 # From Alexander Krivenyshev (2010-03-22):
 # According to Bangladesh newspaper "The Daily Star,"
-# Cabinet cancels Daylight Saving Time 
+# Cabinet cancels Daylight Saving Time
 # 
 # http://www.thedailystar.net/newDesign/latest_news.php?nid=22817
 # 
@@ -360,11 +360,11 @@ Rule	PRC	1987	1991	-	Apr	Sun>=10	0:00	1:
 # observing daylight saving time in 1986.
 #
 # From Thomas S. Mullaney (2008-02-11):
-# I think you're combining two subjects that need to treated 
-# separately: daylight savings (which, you're correct, wasn't 
-# implemented until the 1980s) and the unified time zone centered near 
-# Beijing (which was implemented in 1949). Briefly, there was also a 
-# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was 
+# I think you're combining two subjects that need to treated
+# separately: daylight savings (which, you're correct, wasn't
+# implemented until the 1980s) and the unified time zone centered near
+# Beijing (which was implemented in 1949). Briefly, there was also a
+# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was
 # ceased, and the second eventually recognized (again, in the 1980s).
 #
 # From Paul Eggert (2008-06-30):
@@ -501,7 +501,7 @@ Zone	Asia/Kashgar	5:03:56	-	LMT	1928 # o
 # as of 2009-10-28:
 # Year        Period
 # 1941        1 Apr to 30 Sep
-# 1942        Whole year 
+# 1942        Whole year
 # 1943        Whole year
 # 1944        Whole year
 # 1945        Whole year
@@ -592,16 +592,16 @@ Zone	Asia/Hong_Kong	7:36:36 -	LMT	1904 O
 # From Arthur David Olson (2010-04-07):
 # Here's Google's translation of the table at the bottom of the "summert.htm" page:
 # Decade 	                                                    Name                      Start and end date
-# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30 
-# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31 
-# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31 
-# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30 
-# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30 
-# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30 
-# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time 
-# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30 
-# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time 
-# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30 
+# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30
+# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31
+# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31
+# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30
+# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30
+# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30
+# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time
+# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30
+# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time
+# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30
 # Republic of China since 69 years (AD 1980)                  Stop Daylight Saving Time
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
@@ -1835,15 +1835,15 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
 # shown 8 per cent higher consumption of electricity.
 
 # From Alex Krivenyshev (2008-05-15):
-# 
-# Here is an article that Pakistan plan to introduce Daylight Saving Time 
+#
+# Here is an article that Pakistan plan to introduce Daylight Saving Time
 # on June 1, 2008 for 3 months.
-# 
-# "... The federal cabinet on Wednesday announced a new conservation plan to help 
-# reduce load shedding by approving the closure of commercial centres at 9pm and 
-# moving clocks forward by one hour for the next three months. 
+#
+# "... The federal cabinet on Wednesday announced a new conservation plan to help
+# reduce load shedding by approving the closure of commercial centres at 9pm and
+# moving clocks forward by one hour for the next three months.
 # ...."
-# 
+#
 # 
 # http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html
 # 
@@ -1903,7 +1903,7 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
 # Government has decided to restore the previous time by moving the
 # clocks backward by one hour from October 1. A formal announcement to
 # this effect will be made after the Prime Minister grants approval in
-# this regard." 
+# this regard."
 # 
 # http://www.thenews.com.pk/updates.asp?id=87168
 # 
@@ -2199,7 +2199,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # 
 # http://www.maannews.net/eng/ViewDetails.aspx?ID=306795
 # 
-# the clocks were set back one hour at 2010-08-11 00:00:00 local time in 
+# the clocks were set back one hour at 2010-08-11 00:00:00 local time in
 # Gaza and the West Bank.
 # Some more background info:
 # 
@@ -2238,7 +2238,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # The rules for Egypt are stolen from the `africa' file.
 
 # From Steffen Thorsen (2011-09-30):
-# West Bank did end Daylight Saving Time this morning/midnight (2011-09-30 
+# West Bank did end Daylight Saving Time this morning/midnight (2011-09-30
 # 00:00).
 # So West Bank and Gaza now have the same time again.
 #
@@ -2247,6 +2247,29 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # http://www.maannews.net/eng/ViewDetails.aspx?ID=424808
 # 
 
+# From Steffen Thorsen (2012-03-26):
+# Palestinian news sources tell that both Gaza and West Bank will start DST
+# on Friday (Thursday midnight, 2012-03-29 24:00).
+# Some of many sources in Arabic:
+# 
+# http://www.samanews.com/index.php?act=Show&id=122638
+# 
+#
+# 
+# http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html
+# 
+#
+# Our brief summary:
+# 
+# http://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-27):
+# The timeanddate article for 2012 says that "the end date has not yet been
+# announced" and that "Last year, both...paused daylight saving time during...
+# Ramadan. It is not yet known [for] 2012."
+# For now, assume both switch back on the last Friday in September. XXX
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule EgyptAsia	1957	only	-	May	10	0:00	1:00	S
 Rule EgyptAsia	1957	1958	-	Oct	 1	0:00	0	-
@@ -2279,6 +2302,8 @@ Zone	Asia/Gaza	2:17:52	-	LMT	1900 Oct
 			2:00	Jordan	EE%sT	1999
 			2:00 Palestine	EE%sT	2011 Apr  2 12:01
 			2:00	1:00	EEST	2011 Aug  1
+			2:00	-	EET	2012 Mar 30
+			2:00	1:00	EEST	2012 Sep 28
 			2:00	-	EET
 
 Zone	Asia/Hebron	2:20:23	-	LMT	1900 Oct
@@ -2292,6 +2317,8 @@ Zone	Asia/Hebron	2:20:23	-	LMT	1900 Oct
 			2:00	1:00	EEST	2011 Aug  1
 			2:00	-	EET	2011 Aug 30
 			2:00	1:00	EEST	2011 Sep 30 3:00
+			2:00	-	EET	2012 Mar 30
+			2:00	1:00	EEST	2012 Sep 28 3:00
 			2:00	-	EET
 
 # Paracel Is
@@ -2485,19 +2512,19 @@ Rule	Syria	2007	only	-	Mar	lastFri	0:00	
 # having it between Wednesday and Thursday (two workdays in Syria) since the
 # weekend in Syria is not Saturday and Sunday, but Friday and Saturday. So now
 # it is implemented at midnight of the last workday before weekend...
-# 
+#
 # From Steffen Thorsen (2007-10-27):
 # Jesper Norgaard Welen wrote:
-# 
+#
 # > "Winter local time in Syria will be observed at midnight of Thursday 1
 # > November 2007, and the clock will be put back 1 hour."
-# 
+#
 # I found confirmation on this in this gov.sy-article (Arabic):
 # http://wehda.alwehda.gov.sy/_print_veiw.asp?FileName=12521710520070926111247
-# 
+#
 # which using Google's translate tools says:
-# Council of Ministers also approved the commencement of work on 
-# identifying the winter time as of Friday, 2/11/2007 where the 60th 
+# Council of Ministers also approved the commencement of work on
+# identifying the winter time as of Friday, 2/11/2007 where the 60th
 # minute delay at midnight Thursday 1/11/2007.
 Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	0	-
 
@@ -2563,8 +2590,8 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	
 # 
 
 # From Steffen Thorsen (2009-10-27):
-# The Syrian Arab News Network on 2009-09-29 reported that Syria will 
-# revert back to winter (standard) time on midnight between Thursday 
+# The Syrian Arab News Network on 2009-09-29 reported that Syria will
+# revert back to winter (standard) time on midnight between Thursday
 # 2009-10-29 and Friday 2009-10-30:
 # 
 # http://www.sana.sy/ara/2/2009/09/29/247012.htm (Arabic)
@@ -2583,10 +2610,28 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	
 # http://sns.sy/sns/?path=news/read/11421 (Arabic)
 # 
 
+# From Steffen Thorsen (2012-03-26):
+# Today, Syria's government announced that they will start DST early on Friday
+# (00:00). This is a bit earlier than the past two years.
+#
+# From Syrian Arab News Agency, in Arabic:
+# 
+# http://www.sana.sy/ara/2/2012/03/26/408215.htm
+# 
+#
+# Our brief summary:
+# 
+# http://www.timeanddate.com/news/time/syria-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-27):
+# Assume last Friday in March going forward XXX.
+
 Rule	Syria	2008	only	-	Apr	Fri>=1	0:00	1:00	S
 Rule	Syria	2008	only	-	Nov	1	0:00	0	-
 Rule	Syria	2009	only	-	Mar	lastFri	0:00	1:00	S
-Rule	Syria	2010	max	-	Apr	Fri>=1	0:00	1:00	S
+Rule	Syria	2010	2011	-	Apr	Fri>=1	0:00	1:00	S
+Rule	Syria	2012	max	-	Mar	lastFri	0:00	1:00	S
 Rule	Syria	2009	max	-	Oct	lastFri	0:00	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]

Modified: stable/8/share/zoneinfo/australasia
==============================================================================
--- stable/8/share/zoneinfo/australasia	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/australasia	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)australasia	8.30
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -284,9 +283,9 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # 
 
 # From Alexander Krivenyshev (2010-10-24):
-# According to Radio Fiji and Fiji Times online, Fiji will end DST 3 
+# According to Radio Fiji and Fiji Times online, Fiji will end DST 3
 # weeks earlier than expected - on March 6, 2011, not March 27, 2011...
-# Here is confirmation from Government of the Republic of the Fiji Islands, 
+# Here is confirmation from Government of the Republic of the Fiji Islands,
 # Ministry of Information (fiji.gov.fj) web site:
 # 
 # http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=2608:daylight-savings&catid=71:press-releases&Itemid=155
@@ -297,15 +296,15 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # 
 
 # From Steffen Thorsen (2011-10-03):
-# Now the dates have been confirmed, and at least our start date 
+# Now the dates have been confirmed, and at least our start date
 # assumption was correct (end date was one week wrong).
 #
 # 
 # www.fiji.gov.fj/index.php?option=com_content&view=article&id=4966:daylight-saving-starts-in-fiji&catid=71:press-releases&Itemid=155
 # 
 # which says
-# Members of the public are reminded to change their time to one hour in 
-# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to 
+# Members of the public are reminded to change their time to one hour in
+# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to
 # 2am on February 26 next year.
 
 # From Ken Rylander (2011-10-24)
@@ -322,15 +321,23 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # The commencement of daylight saving will remain unchanged and start
 # on the  23rd of October, 2011.
 
+# From the Fiji Government Online Portal (2012-08-21) via Steffen Thorsen:
+# The Minister for Labour, Industrial Relations and Employment Mr Jone Usamate
+# today confirmed that Fiji will start daylight savings at 2 am on Sunday 21st
+# October 2012 and end at 3 am on Sunday 20th January 2013.
+# http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=6702&catid=71&Itemid=155
+#
+# From Paul Eggert (2012-08-31):
+# For now, guess a pattern of the penultimate Sundays in October and January.
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Fiji	1998	1999	-	Nov	Sun>=1	2:00	1:00	S
 Rule	Fiji	1999	2000	-	Feb	lastSun	3:00	0	-
 Rule	Fiji	2009	only	-	Nov	29	2:00	1:00	S
 Rule	Fiji	2010	only	-	Mar	lastSun	3:00	0	-
-Rule	Fiji	2010	only	-	Oct	24	2:00	1:00	S
+Rule	Fiji	2010	max	-	Oct	Sun>=18	2:00	1:00	S
 Rule	Fiji	2011	only	-	Mar	Sun>=1	3:00	0	-
-Rule	Fiji	2011	only	-	Oct	23	2:00	1:00	S
-Rule	Fiji	2012	only	-	Jan	22	3:00	0	-
+Rule	Fiji	2012	max	-	Jan	Sun>=18	3:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fiji	11:53:40 -	LMT	1915 Oct 26	# Suva
 			12:00	Fiji	FJ%sT	# Fiji Time
@@ -559,7 +566,7 @@ Zone Pacific/Pago_Pago	 12:37:12 -	LMT	1
 
 # From David Zuelke (2011-05-09):
 # Subject: Samoa to move timezone from east to west of international date line
-# 
+#
 # 
 # http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963
 # 
@@ -641,25 +648,25 @@ Zone Pacific/Guadalcanal 10:39:48 -	LMT	
 #
 # From Gwillim Law (2011-12-29)
 # A correspondent informed me that Tokelau, like Samoa, will be skipping
-# December 31 this year, thereby changing its time zone from UTC-10 to
-# UTC+14. When I tried to verify this statement, I found a confirming
-# article in Time magazine online
-# 
-# (http://www.time.com/time/world/article/0,8599,2103243,00.html).
-# 
+# December 31 this year ...
 #
-# From Jonathan Leffler (2011-12-29)
-# Information from the BBC to the same effect:
-# 
-# http://www.bbc.co.uk/news/world-asia-16351377
-# 
-#
-# Patch supplied by Tim Parenti (2011-12-29)
+# From Steffen Thorsen (2012-07-25)
+# ... we double checked by calling hotels and offices based in Tokelau asking
+# about the time there, and they all told a time that agrees with UTC+13....
+# Shanks says UTC-10 from 1901 [but] ... there is a good chance the change
+# actually was to UTC-11 back then.
+#
+# From Paul Eggert (2012-07-25)
+# A Google Books snippet of Appendix to the Journals of the House of
+# Representatives of New Zealand, Session 1948,
+# , page 65, says Tokelau
+# was "11 hours slow on G.M.T."  Go with Thorsen and assume Shanks & Pottenger
+# are off by an hour starting in 1901.
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fakaofo	-11:24:56 -	LMT	1901
-			-10:00	-	TKT 2011 Dec 30	# Tokelau Time
-			14:00	-	TKT
+			-11:00	-	TKT 2011 Dec 30	# Tokelau Time
+			13:00	-	TKT
 
 # Tonga
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
@@ -1340,22 +1347,22 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 # See "southeast Australia" above for 2008 and later.
 
 # From Steffen Thorsen (2009-04-28):
-# According to the official press release, South Australia's extended daylight 
-# saving period will continue with the same rules as used during the 2008-2009 
+# According to the official press release, South Australia's extended daylight
+# saving period will continue with the same rules as used during the 2008-2009
 # summer (southern hemisphere).
-# 
+#
 # From
 # 
 # http://www.safework.sa.gov.au/uploaded_files/DaylightDatesSet.pdf
 # 
-# The extended daylight saving period that South Australia has been trialling 
+# The extended daylight saving period that South Australia has been trialling
 # for over the last year is now set to be ongoing.
-# Daylight saving will continue to start on the first Sunday in October each 
+# Daylight saving will continue to start on the first Sunday in October each
 # year and finish on the first Sunday in April the following year.
-# Industrial Relations Minister, Paul Caica, says this provides South Australia 
-# with a consistent half hour time difference with NSW, Victoria, Tasmania and 
+# Industrial Relations Minister, Paul Caica, says this provides South Australia
+# with a consistent half hour time difference with NSW, Victoria, Tasmania and
 # the ACT for all 52 weeks of the year...
-# 
+#
 # We have a wrap-up here:
 # 
 # http://www.timeanddate.com/news/time/south-australia-extends-dst.html

Modified: stable/8/share/zoneinfo/backward
==============================================================================
--- stable/8/share/zoneinfo/backward	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/backward	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)backward	8.11
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/8/share/zoneinfo/etcetera
==============================================================================
--- stable/8/share/zoneinfo/etcetera	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/etcetera	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)etcetera	8.3
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/8/share/zoneinfo/europe
==============================================================================
--- stable/8/share/zoneinfo/europe	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/europe	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)europe	8.41
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -575,12 +574,12 @@ Rule	Russia	1996	2010	-	Oct	lastSun	 2:0
 # According to Kremlin press service, Russian President Dmitry Medvedev
 # signed a federal law "On calculation of time" on June 9, 2011.
 # According to the law Russia is abolishing daylight saving time.
-# 
-# Medvedev signed a law "On the Calculation of Time" (in russian): 
+#
+# Medvedev signed a law "On the Calculation of Time" (in russian):
 # 
 # http://bmockbe.ru/events/?ID=7583
 # 
-# 
+#
 # Medvedev signed a law on the calculation of the time (in russian):
 # 
 # http://www.regnum.ru/news/polit/1413906.html
@@ -1688,7 +1687,7 @@ Zone	Europe/Malta	0:58:04 -	LMT	1893 Nov
 # From Alexander Krivenyshev (2011-10-26)
 # NO need to divide Moldova into two timezones at this point.
 # As of today, Transnistria (Pridnestrovie)- Tiraspol reversed its own
-# decision to abolish DST this winter. 
+# decision to abolish DST this winter.
 # Following Moldova and neighboring Ukraine- Transnistria (Pridnestrovie)-
 # Tiraspol will go back to winter time on October 30, 2011.
 # News from Moldova (in russian):
@@ -2578,11 +2577,11 @@ Zone	Europe/Zurich	0:34:08 -	LMT	1848 Se
 # http://www.alomaliye.com/bkk_2002_3769.htm
 
 # From Gökdeniz Karadağ (2011-03-10):
-# 
+#
 # According to the articles linked below, Turkey will change into summer
 # time zone (GMT+3) on March 28, 2011 at 3:00 a.m. instead of March 27.
 # This change is due to a nationwide exam on 27th.
-# 
+#
 # 
 # http://www.worldbulletin.net/?aType=haber&ArticleID=70872
 # 
@@ -2699,7 +2698,7 @@ Link	Europe/Istanbul	Asia/Istanbul	# Ist
 # time this year after all.
 #
 # From Udo Schwedt (2011-10-18):
-# As far as I understand, the recent change to the Ukranian time zone 
+# As far as I understand, the recent change to the Ukranian time zone
 # (Europe/Kiev) to introduce permanent daylight saving time (similar
 # to Russia) was reverted today:
 #

Modified: stable/8/share/zoneinfo/factory
==============================================================================
--- stable/8/share/zoneinfo/factory	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/factory	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)factory	8.2
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/8/share/zoneinfo/leapseconds
==============================================================================
--- stable/8/share/zoneinfo/leapseconds	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/leapseconds	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)leapseconds	8.13
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -78,8 +77,8 @@ Leap	2012	Jun	30	23:59:60	+	S
 #
 #
 # A positive leap second will be introduced at the end of June 2012.
-# The sequence of dates of the UTC second markers will be:		
-# 		
+# The sequence of dates of the UTC second markers will be:
+#
 #                          2012 June 30,     23h 59m 59s
 #                          2012 June 30,     23h 59m 60s
 #                          2012 July  1,      0h  0m  0s
@@ -96,6 +95,6 @@ Leap	2012	Jun	30	23:59:60	+	S
 #
 #
 # Daniel GAMBIS
-# Head		
+# Head
 # Earth Orientation Center of IERS
 # Observatoire de Paris, France

Modified: stable/8/share/zoneinfo/northamerica
==============================================================================
--- stable/8/share/zoneinfo/northamerica	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/northamerica	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)northamerica	8.52
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -479,7 +478,7 @@ Zone America/Juneau	 15:02:19 -	LMT	1867
 			 -8:00	US	P%sT	1946
 			 -8:00	-	PST	1969
 			 -8:00	US	P%sT	1980 Apr 27 2:00
-			 -9:00	US	Y%sT	1980 Oct 26 2:00	
+			 -9:00	US	Y%sT	1980 Oct 26 2:00
 			 -8:00	US	P%sT	1983 Oct 30 2:00
 			 -9:00	US	Y%sT	1983 Nov 30
 			 -9:00	US	AK%sT
@@ -1844,7 +1843,7 @@ Zone America/Edmonton	-7:33:52 -	LMT	190
 # Here is a summary of the three clock change events in Creston's history:
 # 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
 # Exact date unknown
-# 2. Oct 1916: switch to Pacific Standard Time (GMT-8) 
+# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
 # Exact date in October unknown;  Sunday October 1 is a reasonable guess.
 # 3. June 1918: switch to Pacific Daylight Time (GMT-7)
 # Exact date in June unknown; Sunday June 2 is a reasonable guess.
@@ -2674,20 +2673,20 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # except that it switches at midnight standard time as usual.
 #
 # From Steffen Thorsen (2007-10-25):
-# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week 
+# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week
 # earlier - on the last Sunday of October, just like in 2006.
-# 
+#
 # He supplied these references:
-# 
+#
 # http://www.prensalatina.com.mx/article.asp?ID=%7B4CC32C1B-A9F7-42FB-8A07-8631AFC923AF%7D&language=ES
 # http://actualidad.terra.es/sociedad/articulo/cuba_llama_ahorrar_energia_cambio_1957044.htm
-# 
+#
 # From Alex Kryvenishev (2007-10-25):
 # Here is also article from Granma (Cuba):
-# 
+#
 # [Regira] el Horario Normal desde el [proximo] domingo 28 de octubre
 # http://www.granma.cubaweb.cu/2007/10/24/nacional/artic07.html
-# 
+#
 # http://www.worldtimezone.com/dst_news/dst_news_cuba03.html
 
 # From Arthur David Olson (2008-03-09):
@@ -2771,7 +2770,7 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # 
 #
 # From Steffen Thorsen (2011-10-30)
-# Cuba will end DST two weeks later this year. Instead of going back 
+# Cuba will end DST two weeks later this year. Instead of going back
 # tonight, it has been delayed to 2011-11-13 at 01:00.
 #
 # One source (Spanish)
@@ -2783,6 +2782,20 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # 
 # http://www.timeanddate.com/news/time/cuba-time-changes-2011.html
 # 
+#
+# From Steffen Thorsen (2012-03-01)
+# According to Radio Reloj, Cuba will start DST on Midnight between March
+# 31 and April 1.
+#
+# Radio Reloj has the following info (Spanish):
+# 
+# http://www.radioreloj.cu/index.php/noticias-radio-reloj/71-miscelaneas/7529-cuba-aplicara-el-horario-de-verano-desde-el-1-de-abril
+# 
+#
+# Our info on it:
+# 
+# http://www.timeanddate.com/news/time/cuba-starts-dst-2012.html
+# 
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Cuba	1928	only	-	Jun	10	0:00	1:00	D
@@ -2820,8 +2833,9 @@ Rule	Cuba	2008	only	-	Mar	Sun>=15	0:00s	
 Rule	Cuba	2009	2010	-	Mar	Sun>=8	0:00s	1:00	D
 Rule	Cuba	2011	only	-	Mar	Sun>=15	0:00s	1:00	D
 Rule	Cuba	2011	only	-	Nov	13	0:00s	0	S
-Rule	Cuba	2012	max	-	Mar	Sun>=8	0:00s	1:00	D
+Rule	Cuba	2012	only	-	Apr	1	0:00s	1:00	D
 Rule	Cuba	2012	max	-	Oct	lastSun	0:00s	0	S
+Rule	Cuba	2013	max	-	Mar	Sun>=8	0:00s	1:00	D
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	America/Havana	-5:29:28 -	LMT	1890
@@ -2955,6 +2969,29 @@ Zone America/Guatemala	-6:02:04 -	LMT	19
 # From Stephen Colebourne (2007-02-22):
 # Some IATA info: Haiti won't be having DST in 2007.
 
+# From Steffen Thorsen (2012-03-11):
+# According to several news sources, Haiti will observe DST this year,
+# apparently using the same start and end date as USA/Canada.
+# So this means they have already changed their time.
+#
+# (Sources in French):
+# 
+# http://www.alterpresse.org/spip.php?article12510
+# 
+# 
+# http://radiovision2000haiti.net/home/?p=13253
+# 
+#
+# Our coverage:
+# 
+# http://www.timeanddate.com/news/time/haiti-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-11):
+# The alterpresse.org source seems to show a US-style leap from 2:00 a.m. to
+# 3:00 a.m. rather than the traditional Haitian jump at midnight.
+# Assume a US-style fall back as well XXX.
+# Do not yet assume that the change carries forward past 2012 XXX.
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Haiti	1983	only	-	May	8	0:00	1:00	D
@@ -2966,6 +3003,8 @@ Rule	Haiti	1988	1997	-	Apr	Sun>=1	1:00s	
 Rule	Haiti	1988	1997	-	Oct	lastSun	1:00s	0	S
 Rule	Haiti	2005	2006	-	Apr	Sun>=1	0:00	1:00	D
 Rule	Haiti	2005	2006	-	Oct	lastSun	0:00	0	S
+Rule	Haiti	2012	only	-	Mar	Sun>=8	2:00	1:00	D
+Rule	Haiti	2012	only	-	Nov	Sun>=1	2:00	0	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone America/Port-au-Prince -4:49:20 -	LMT	1890
 			-4:49	-	PPMT	1917 Jan 24 12:00 # P-a-P MT

Modified: stable/8/share/zoneinfo/pacificnew
==============================================================================
--- stable/8/share/zoneinfo/pacificnew	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/pacificnew	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)pacificnew	8.2
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/8/share/zoneinfo/southamerica
==============================================================================
--- stable/8/share/zoneinfo/southamerica	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/southamerica	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)southamerica	8.53
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -232,7 +231,7 @@ Rule	Arg	2000	only	-	Mar	3	0:00	0	-
 Rule	Arg	2007	only	-	Dec	30	0:00	1:00	S
 Rule	Arg	2008	2009	-	Mar	Sun>=15	0:00	0	-
 Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:00	S
- 
+
 # From Mariano Absatz (2004-05-21):
 # Today it was officially published that the Province of Mendoza is changing
 # its timezone this winter... starting tomorrow night....
@@ -322,9 +321,9 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:
 # confirms what Alex Krivenyshev has earlier sent to the tz
 # emailing list about that San Luis plans to return to standard
 # time much earlier than the rest of the country. It also
-# confirms that upon request the provinces San Juan and Mendoza 
-# refused to follow San Luis in this change. 
-# 
+# confirms that upon request the provinces San Juan and Mendoza
+# refused to follow San Luis in this change.
+#
 # The change is supposed to take place Monday the 21.st at 0:00
 # hours. As far as I understand it if this goes ahead, we need
 # a new timezone for San Luis (although there are also documented
@@ -386,7 +385,7 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:
 # 
 # http://www.lanacion.com.ar/nota.asp?nota_id=1107912
 # 
-# 
+#
 # The press release says:
 #  (...) anunció que el próximo domingo a las 00:00 los puntanos deberán
 # atrasar una hora sus relojes.
@@ -800,8 +799,8 @@ Zone	America/La_Paz	-4:32:36 -	LMT	1890
 #
 # From Alexander Krivenyshev (2011-10-04):
 # State Bahia will return to Daylight savings time this year after 8 years off.
-# The announcement was made by Governor Jaques Wagner in an interview to a 
-# television station in Salvador. 
+# The announcement was made by Governor Jaques Wagner in an interview to a
+# television station in Salvador.
 
 # In Portuguese:
 # 
@@ -1160,7 +1159,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1
 # Due to drought, Chile extends Daylight Time in three weeks.  This
 # is one-time change (Saturday 3/29 at 24:00 for America/Santiago
 # and Saturday 3/29 at 22:00 for Pacific/Easter)
-# The Supreme Decree is located at 
+# The Supreme Decree is located at
 # 
 # http://www.shoa.cl/servicios/supremo316.pdf
 # 
@@ -1171,7 +1170,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1
 
 # From Jose Miguel Garrido (2008-03-05):
 # ...
-# You could see the announces of the change on 
+# You could see the announces of the change on
 # 
 # http://www.shoa.cl/noticias/2008/04hora/hora.htm
 # .

Modified: stable/8/share/zoneinfo/systemv
==============================================================================
--- stable/8/share/zoneinfo/systemv	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/systemv	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)systemv	8.2
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/8/share/zoneinfo/yearistype.sh
==============================================================================
--- stable/8/share/zoneinfo/yearistype.sh	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/yearistype.sh	Thu Sep 13 10:25:30 2012	(r240460)
@@ -3,8 +3,6 @@
 : 'This file is in the public domain, so clarified as of'
 : '2006-07-17 by Arthur David Olson.'
 
-: '@(#)yearistype.sh	8.2'
-
 case $#-$1 in
 	2-|2-0*|2-*[!0-9]*)
 		echo "$0: wild year - $1" >&2

Modified: stable/8/share/zoneinfo/zone.tab
==============================================================================
--- stable/8/share/zoneinfo/zone.tab	Thu Sep 13 10:25:18 2012	(r240459)
+++ stable/8/share/zoneinfo/zone.tab	Thu Sep 13 10:25:30 2012	(r240460)
@@ -1,5 +1,4 @@
 # 
-# @(#)zone.tab	8.54
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 #
@@ -131,7 +130,7 @@ CA	+5333-11328	America/Edmonton	Mountain
 CA	+690650-1050310	America/Cambridge_Bay	Mountain Time - west Nunavut
 CA	+6227-11421	America/Yellowknife	Mountain Time - central Northwest Territories
 CA	+682059-1334300	America/Inuvik	Mountain Time - west Northwest Territories
-CA	+4906-11631	America/Creston		Mountain Standard Time - Creston, British Columbia
+CA	+4906-11631	America/Creston	Mountain Standard Time - Creston, British Columbia
 CA	+5946-12014	America/Dawson_Creek	Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
 CA	+4916-12307	America/Vancouver	Pacific Time - west British Columbia
 CA	+6043-13503	America/Whitehorse	Pacific Time - south Yukon

From owner-svn-src-stable@FreeBSD.ORG  Thu Sep 13 10:25:43 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 7E3A01065937;
	Thu, 13 Sep 2012 10:25:43 +0000 (UTC)
	(envelope-from edwin@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 6609A8FC12;
	Thu, 13 Sep 2012 10:25:43 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8DAPhKA073957;
	Thu, 13 Sep 2012 10:25:43 GMT (envelope-from edwin@svn.freebsd.org)
Received: (from edwin@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8DAPgJT073941;
	Thu, 13 Sep 2012 10:25:42 GMT (envelope-from edwin@svn.freebsd.org)
Message-Id: <201209131025.q8DAPgJT073941@svn.freebsd.org>
From: Edwin Groothuis 
Date: Thu, 13 Sep 2012 10:25:42 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240461 - stable/9/contrib/tzdata
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Thu, 13 Sep 2012 10:25:43 -0000

Author: edwin
Date: Thu Sep 13 10:25:42 2012
New Revision: 240461
URL: http://svn.freebsd.org/changeset/base/240461

Log:
  MFC of 240457, tzdata2012f
  
   - Pacific/Fiji will go into DST from 21 October 2012 till 20 January 2013.
   - Fix offset for Pacific/Tokelau.
   - Gaza and West Bank had DST from 29 March to 28 September 2012.
   - Syria has DST from April till October
   - Morocco had DST from April to September 2012 except for 20 July to 20 August.
   - Cuba changed to DST from 1 April 2012 only.
   - Haiti has DST between 8 March and 1 November in 2012.
  
    Obtained from:  ftp://ftp.iana.org/tz/releases/

Modified:
  stable/9/contrib/tzdata/africa
  stable/9/contrib/tzdata/antarctica
  stable/9/contrib/tzdata/asia
  stable/9/contrib/tzdata/australasia
  stable/9/contrib/tzdata/backward
  stable/9/contrib/tzdata/etcetera
  stable/9/contrib/tzdata/europe
  stable/9/contrib/tzdata/factory
  stable/9/contrib/tzdata/leapseconds
  stable/9/contrib/tzdata/northamerica
  stable/9/contrib/tzdata/pacificnew
  stable/9/contrib/tzdata/southamerica
  stable/9/contrib/tzdata/systemv
  stable/9/contrib/tzdata/yearistype.sh
  stable/9/contrib/tzdata/zone.tab
Directory Properties:
  stable/9/contrib/tzdata/   (props changed)

Modified: stable/9/contrib/tzdata/africa
==============================================================================
--- stable/9/contrib/tzdata/africa	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/africa	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)africa	8.33
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -238,7 +237,7 @@ Rule	Egypt	2006	only	-	Sep	21	23:00s	0	-
 # I received a mail from an airline which says that the daylight
 # saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07.
 # From Jesper Norgaard Welen (2007-08-15): [The following agree:]
-# http://www.nentjes.info/Bill/bill5.htm 
+# http://www.nentjes.info/Bill/bill5.htm
 # http://www.timeanddate.com/worldclock/city.html?n=53
 # From Steffen Thorsen (2007-09-04): The official information...:
 # http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm
@@ -292,18 +291,18 @@ Rule	Egypt	2007	only	-	Sep	Thu>=1	23:00s
 # in September.
 
 # From Steffen Thorsen (2009-08-11):
-# We have been able to confirm the August change with the Egyptian Cabinet 
+# We have been able to confirm the August change with the Egyptian Cabinet
 # Information and Decision Support Center:
 # 
 # http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html
 # 
-# 
+#
 # The Middle East News Agency
 # 
 # http://www.mena.org.eg/index.aspx
 # 
 # also reports "Egypt starts winter time on August 21"
-# today in article numbered "71, 11/08/2009 12:25 GMT." 
+# today in article numbered "71, 11/08/2009 12:25 GMT."
 # Only the title above is available without a subscription to their service,
 # and can be found by searching for "winter" in their search engine
 # (at least today).
@@ -482,7 +481,7 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # From Steffen Thorsen (2008-06-25):
 # Mauritius plans to observe DST from 2008-11-01 to 2009-03-31 on a trial
 # basis....
-# It seems that Mauritius observed daylight saving time from 1982-10-10 to 
+# It seems that Mauritius observed daylight saving time from 1982-10-10 to
 # 1983-03-20 as well, but that was not successful....
 # http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html
 
@@ -506,12 +505,12 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # than previously announced (2008-11-01 to 2009-03-31).  The new start
 # date is 2008-10-26 at 02:00 and the new end date is 2009-03-27 (no time
 # given, but it is probably at either 2 or 3 wall clock time).
-# 
-# A little strange though, since the article says that they moved the date 
-# to align itself with Europe and USA which also change time on that date, 
-# but that means they have not paid attention to what happened in 
-# USA/Canada last year (DST ends first Sunday in November). I also wonder 
-# why that they end on a Friday, instead of aligning with Europe which 
+#
+# A little strange though, since the article says that they moved the date
+# to align itself with Europe and USA which also change time on that date,
+# but that means they have not paid attention to what happened in
+# USA/Canada last year (DST ends first Sunday in November). I also wonder
+# why that they end on a Friday, instead of aligning with Europe which
 # changes two days later.
 
 # From Alex Krivenyshev (2008-07-11):
@@ -570,7 +569,7 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	19
 # 
 
 # From Arthur David Olson (2009-07-11):
-# The "mauritius-dst-will-not-repeat" wrapup includes this: 
+# The "mauritius-dst-will-not-repeat" wrapup includes this:
 # "The trial ended on March 29, 2009, when the clocks moved back by one hour
 # at 2am (or 02:00) local time..."
 
@@ -664,8 +663,8 @@ Zone	Indian/Mayotte	3:00:56 -	LMT	1911 J
 # XXX--guess that it is only Morocco for now; guess only 2008 for now.
 
 # From Steffen Thorsen (2008-08-27):
-# Morocco will change the clocks back on the midnight between August 31 
-# and September 1. They originally planned to observe DST to near the end 
+# Morocco will change the clocks back on the midnight between August 31
+# and September 1. They originally planned to observe DST to near the end
 # of September:
 #
 # One article about it (in French):
@@ -768,6 +767,54 @@ Zone	Indian/Mayotte	3:00:56 -	LMT	1911 J
 # wall clock time (i.e. 11pm UTC), but that's what I would assume. It has
 # also been like that in the past.
 
+# From Alexander Krivenyshev (2012-03-09):
+# According to Infomédiaire web site from Morocco (infomediaire.ma),
+# on March 9, 2012, (in French) Heure légale:
+# Le Maroc adopte officiellement l'heure d'été
+# 
+# http://www.infomediaire.ma/news/maroc/heure-l%C3%A9gale-le-maroc-adopte-officiellement-lheure-d%C3%A9t%C3%A9
+# 
+# Governing Council adopted draft decree, that Morocco DST starts on
+# the last Sunday of March (March 25, 2012) and ends on
+# last Sunday of September (September 30, 2012)
+# except the month of Ramadan.
+# or (brief)
+# 
+# http://www.worldtimezone.com/dst_news/dst_news_morocco06.html
+# 
+
+# From Arthur David Olson (2012-03-10):
+# The infomediaire.ma source indicates that the system is to be in
+# effect every year. It gives 03H00 as the "fall back" time of day;
+# it lacks a "spring forward" time of day; assume 2:00 XXX.
+# Wait on specifying the Ramadan exception for details about
+# start date, start time of day, end date, and end time of day XXX.
+
+# From Christophe Tropamer (2012-03-16):
+# Seen Morocco change again:
+# 
+# http://www.le2uminutes.com/actualite.php
+# 
+# "...à partir du dernier dimance d'avril et non fins mars,
+# comme annoncé précédemment."
+
+# From Milamber Space Network (2012-07-17):
+# The official return to GMT is announced by the Moroccan government:
+# 
+# http://www.mmsp.gov.ma/fr/actualites.aspx?id=288 [in French]
+# 
+#
+# Google translation, lightly edited:
+# Back to the standard time of the Kingdom (GMT)
+# Pursuant to Decree No. 2-12-126 issued on 26 Jumada (I) 1433 (April 18,
+# 2012) and in accordance with the order of Mr. President of the
+# Government No. 3-47-12 issued on 24 Sha'ban (11 July 2012), the Ministry
+# of Public Service and Administration Modernization announces the return
+# of the legal time of the Kingdom (GMT) from Friday, July 20, 2012 until
+# Monday, August 20, 2012.  So the time will be delayed by 60 minutes from
+# 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes
+# August 20, 2012 from 2:00 am.
+
 # RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 
 Rule	Morocco	1939	only	-	Sep	12	 0:00	1:00	S
@@ -793,6 +840,11 @@ Rule	Morocco	2010	only	-	May	 2	 0:00	1:
 Rule	Morocco	2010	only	-	Aug	 8	 0:00	0	-
 Rule	Morocco	2011	only	-	Apr	 3	 0:00	1:00	S
 Rule	Morocco	2011	only	-	Jul	 31	 0	0	-
+Rule	Morocco	2012	max	-	Apr	 lastSun 2:00	1:00	S
+Rule	Morocco	2012	max	-	Sep	 lastSun 3:00	0	-
+Rule	Morocco	2012	only	-	Jul	 20	 3:00	0	-
+Rule	Morocco	2012	only	-	Aug	 20	 2:00	1:00	S
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
 			 0:00	Morocco	WE%sT	1984 Mar 16
@@ -820,7 +872,7 @@ Zone	Africa/Maputo	2:10:20 -	LMT	1903 Ma
 # Forecasting Riaan van Zyl explained that the far eastern parts of
 # the country are close to 40 minutes earlier in sunrise than the rest
 # of the country.
-# 
+#
 # From Paul Eggert (2007-03-31):
 # Apparently the Caprivi Strip informally observes Botswana time, but
 # we have no details.  In the meantime people there can use Africa/Gaborone.

Modified: stable/9/contrib/tzdata/antarctica
==============================================================================
--- stable/9/contrib/tzdata/antarctica	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/antarctica	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)antarctica	8.10
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/9/contrib/tzdata/asia
==============================================================================
--- stable/9/contrib/tzdata/asia	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/asia	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,4 +1,4 @@
-# @(#)asia	8.70
+# 
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -101,7 +101,7 @@ Zone	Asia/Kabul	4:36:48 -	LMT	1890
 # From Alexander Krivenyshev (2012-02-10):
 # According to News Armenia, on Feb 9, 2012,
 # http://newsarmenia.ru/society/20120209/42609695.html
-# 
+#
 # The Armenia National Assembly adopted final reading of Amendments to the
 # Law "On procedure of calculation time on the territory of the Republic of
 # Armenia" according to which Armenia [is] abolishing Daylight Saving Time.
@@ -181,15 +181,15 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 # 
 
 # From A. N. M. Kamrus Saadat (2009-06-15):
-# Finally we've got the official mail regarding DST start time where DST start 
-# time is mentioned as Jun 19 2009, 23:00 from BTRC (Bangladesh 
-# Telecommunication Regulatory Commission). 
+# Finally we've got the official mail regarding DST start time where DST start
+# time is mentioned as Jun 19 2009, 23:00 from BTRC (Bangladesh
+# Telecommunication Regulatory Commission).
 #
 # No DST end date has been announced yet.
 
 # From Alexander Krivenyshev (2009-09-25):
-# Bangladesh won't go back to Standard Time from October 1, 2009, 
-# instead it will continue DST measure till the cabinet makes a fresh decision. 
+# Bangladesh won't go back to Standard Time from October 1, 2009,
+# instead it will continue DST measure till the cabinet makes a fresh decision.
 #
 # Following report by same newspaper-"The Daily Star Friday":
 # "DST change awaits cabinet decision-Clock won't go back by 1-hr from Oct 1"
@@ -203,8 +203,8 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 
 # From Steffen Thorsen (2009-10-13):
 # IANS (Indo-Asian News Service) now reports:
-# Bangladesh has decided that the clock advanced by an hour to make 
-# maximum use of daylight hours as an energy saving measure would 
+# Bangladesh has decided that the clock advanced by an hour to make
+# maximum use of daylight hours as an energy saving measure would
 # "continue for an indefinite period."
 #
 # One of many places where it is published:
@@ -232,7 +232,7 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# 
 
 # From Alexander Krivenyshev (2010-03-22):
 # According to Bangladesh newspaper "The Daily Star,"
-# Cabinet cancels Daylight Saving Time 
+# Cabinet cancels Daylight Saving Time
 # 
 # http://www.thedailystar.net/newDesign/latest_news.php?nid=22817
 # 
@@ -360,11 +360,11 @@ Rule	PRC	1987	1991	-	Apr	Sun>=10	0:00	1:
 # observing daylight saving time in 1986.
 #
 # From Thomas S. Mullaney (2008-02-11):
-# I think you're combining two subjects that need to treated 
-# separately: daylight savings (which, you're correct, wasn't 
-# implemented until the 1980s) and the unified time zone centered near 
-# Beijing (which was implemented in 1949). Briefly, there was also a 
-# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was 
+# I think you're combining two subjects that need to treated
+# separately: daylight savings (which, you're correct, wasn't
+# implemented until the 1980s) and the unified time zone centered near
+# Beijing (which was implemented in 1949). Briefly, there was also a
+# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was
 # ceased, and the second eventually recognized (again, in the 1980s).
 #
 # From Paul Eggert (2008-06-30):
@@ -501,7 +501,7 @@ Zone	Asia/Kashgar	5:03:56	-	LMT	1928 # o
 # as of 2009-10-28:
 # Year        Period
 # 1941        1 Apr to 30 Sep
-# 1942        Whole year 
+# 1942        Whole year
 # 1943        Whole year
 # 1944        Whole year
 # 1945        Whole year
@@ -592,16 +592,16 @@ Zone	Asia/Hong_Kong	7:36:36 -	LMT	1904 O
 # From Arthur David Olson (2010-04-07):
 # Here's Google's translation of the table at the bottom of the "summert.htm" page:
 # Decade 	                                                    Name                      Start and end date
-# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30 
-# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31 
-# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31 
-# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30 
-# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30 
-# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30 
-# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time 
-# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30 
-# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time 
-# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30 
+# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30
+# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31
+# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31
+# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30
+# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30
+# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30
+# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time
+# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30
+# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time
+# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30
 # Republic of China since 69 years (AD 1980)                  Stop Daylight Saving Time
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
@@ -1835,15 +1835,15 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
 # shown 8 per cent higher consumption of electricity.
 
 # From Alex Krivenyshev (2008-05-15):
-# 
-# Here is an article that Pakistan plan to introduce Daylight Saving Time 
+#
+# Here is an article that Pakistan plan to introduce Daylight Saving Time
 # on June 1, 2008 for 3 months.
-# 
-# "... The federal cabinet on Wednesday announced a new conservation plan to help 
-# reduce load shedding by approving the closure of commercial centres at 9pm and 
-# moving clocks forward by one hour for the next three months. 
+#
+# "... The federal cabinet on Wednesday announced a new conservation plan to help
+# reduce load shedding by approving the closure of commercial centres at 9pm and
+# moving clocks forward by one hour for the next three months.
 # ...."
-# 
+#
 # 
 # http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html
 # 
@@ -1903,7 +1903,7 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
 # Government has decided to restore the previous time by moving the
 # clocks backward by one hour from October 1. A formal announcement to
 # this effect will be made after the Prime Minister grants approval in
-# this regard." 
+# this regard."
 # 
 # http://www.thenews.com.pk/updates.asp?id=87168
 # 
@@ -2199,7 +2199,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # 
 # http://www.maannews.net/eng/ViewDetails.aspx?ID=306795
 # 
-# the clocks were set back one hour at 2010-08-11 00:00:00 local time in 
+# the clocks were set back one hour at 2010-08-11 00:00:00 local time in
 # Gaza and the West Bank.
 # Some more background info:
 # 
@@ -2238,7 +2238,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # The rules for Egypt are stolen from the `africa' file.
 
 # From Steffen Thorsen (2011-09-30):
-# West Bank did end Daylight Saving Time this morning/midnight (2011-09-30 
+# West Bank did end Daylight Saving Time this morning/midnight (2011-09-30
 # 00:00).
 # So West Bank and Gaza now have the same time again.
 #
@@ -2247,6 +2247,29 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
 # http://www.maannews.net/eng/ViewDetails.aspx?ID=424808
 # 
 
+# From Steffen Thorsen (2012-03-26):
+# Palestinian news sources tell that both Gaza and West Bank will start DST
+# on Friday (Thursday midnight, 2012-03-29 24:00).
+# Some of many sources in Arabic:
+# 
+# http://www.samanews.com/index.php?act=Show&id=122638
+# 
+#
+# 
+# http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html
+# 
+#
+# Our brief summary:
+# 
+# http://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-27):
+# The timeanddate article for 2012 says that "the end date has not yet been
+# announced" and that "Last year, both...paused daylight saving time during...
+# Ramadan. It is not yet known [for] 2012."
+# For now, assume both switch back on the last Friday in September. XXX
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule EgyptAsia	1957	only	-	May	10	0:00	1:00	S
 Rule EgyptAsia	1957	1958	-	Oct	 1	0:00	0	-
@@ -2279,6 +2302,8 @@ Zone	Asia/Gaza	2:17:52	-	LMT	1900 Oct
 			2:00	Jordan	EE%sT	1999
 			2:00 Palestine	EE%sT	2011 Apr  2 12:01
 			2:00	1:00	EEST	2011 Aug  1
+			2:00	-	EET	2012 Mar 30
+			2:00	1:00	EEST	2012 Sep 28
 			2:00	-	EET
 
 Zone	Asia/Hebron	2:20:23	-	LMT	1900 Oct
@@ -2292,6 +2317,8 @@ Zone	Asia/Hebron	2:20:23	-	LMT	1900 Oct
 			2:00	1:00	EEST	2011 Aug  1
 			2:00	-	EET	2011 Aug 30
 			2:00	1:00	EEST	2011 Sep 30 3:00
+			2:00	-	EET	2012 Mar 30
+			2:00	1:00	EEST	2012 Sep 28 3:00
 			2:00	-	EET
 
 # Paracel Is
@@ -2485,19 +2512,19 @@ Rule	Syria	2007	only	-	Mar	lastFri	0:00	
 # having it between Wednesday and Thursday (two workdays in Syria) since the
 # weekend in Syria is not Saturday and Sunday, but Friday and Saturday. So now
 # it is implemented at midnight of the last workday before weekend...
-# 
+#
 # From Steffen Thorsen (2007-10-27):
 # Jesper Norgaard Welen wrote:
-# 
+#
 # > "Winter local time in Syria will be observed at midnight of Thursday 1
 # > November 2007, and the clock will be put back 1 hour."
-# 
+#
 # I found confirmation on this in this gov.sy-article (Arabic):
 # http://wehda.alwehda.gov.sy/_print_veiw.asp?FileName=12521710520070926111247
-# 
+#
 # which using Google's translate tools says:
-# Council of Ministers also approved the commencement of work on 
-# identifying the winter time as of Friday, 2/11/2007 where the 60th 
+# Council of Ministers also approved the commencement of work on
+# identifying the winter time as of Friday, 2/11/2007 where the 60th
 # minute delay at midnight Thursday 1/11/2007.
 Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	0	-
 
@@ -2563,8 +2590,8 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	
 # 
 
 # From Steffen Thorsen (2009-10-27):
-# The Syrian Arab News Network on 2009-09-29 reported that Syria will 
-# revert back to winter (standard) time on midnight between Thursday 
+# The Syrian Arab News Network on 2009-09-29 reported that Syria will
+# revert back to winter (standard) time on midnight between Thursday
 # 2009-10-29 and Friday 2009-10-30:
 # 
 # http://www.sana.sy/ara/2/2009/09/29/247012.htm (Arabic)
@@ -2583,10 +2610,28 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	
 # http://sns.sy/sns/?path=news/read/11421 (Arabic)
 # 
 
+# From Steffen Thorsen (2012-03-26):
+# Today, Syria's government announced that they will start DST early on Friday
+# (00:00). This is a bit earlier than the past two years.
+#
+# From Syrian Arab News Agency, in Arabic:
+# 
+# http://www.sana.sy/ara/2/2012/03/26/408215.htm
+# 
+#
+# Our brief summary:
+# 
+# http://www.timeanddate.com/news/time/syria-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-27):
+# Assume last Friday in March going forward XXX.
+
 Rule	Syria	2008	only	-	Apr	Fri>=1	0:00	1:00	S
 Rule	Syria	2008	only	-	Nov	1	0:00	0	-
 Rule	Syria	2009	only	-	Mar	lastFri	0:00	1:00	S
-Rule	Syria	2010	max	-	Apr	Fri>=1	0:00	1:00	S
+Rule	Syria	2010	2011	-	Apr	Fri>=1	0:00	1:00	S
+Rule	Syria	2012	max	-	Mar	lastFri	0:00	1:00	S
 Rule	Syria	2009	max	-	Oct	lastFri	0:00	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]

Modified: stable/9/contrib/tzdata/australasia
==============================================================================
--- stable/9/contrib/tzdata/australasia	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/australasia	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)australasia	8.30
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -284,9 +283,9 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # 
 
 # From Alexander Krivenyshev (2010-10-24):
-# According to Radio Fiji and Fiji Times online, Fiji will end DST 3 
+# According to Radio Fiji and Fiji Times online, Fiji will end DST 3
 # weeks earlier than expected - on March 6, 2011, not March 27, 2011...
-# Here is confirmation from Government of the Republic of the Fiji Islands, 
+# Here is confirmation from Government of the Republic of the Fiji Islands,
 # Ministry of Information (fiji.gov.fj) web site:
 # 
 # http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=2608:daylight-savings&catid=71:press-releases&Itemid=155
@@ -297,15 +296,15 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # 
 
 # From Steffen Thorsen (2011-10-03):
-# Now the dates have been confirmed, and at least our start date 
+# Now the dates have been confirmed, and at least our start date
 # assumption was correct (end date was one week wrong).
 #
 # 
 # www.fiji.gov.fj/index.php?option=com_content&view=article&id=4966:daylight-saving-starts-in-fiji&catid=71:press-releases&Itemid=155
 # 
 # which says
-# Members of the public are reminded to change their time to one hour in 
-# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to 
+# Members of the public are reminded to change their time to one hour in
+# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to
 # 2am on February 26 next year.
 
 # From Ken Rylander (2011-10-24)
@@ -322,15 +321,23 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # The commencement of daylight saving will remain unchanged and start
 # on the  23rd of October, 2011.
 
+# From the Fiji Government Online Portal (2012-08-21) via Steffen Thorsen:
+# The Minister for Labour, Industrial Relations and Employment Mr Jone Usamate
+# today confirmed that Fiji will start daylight savings at 2 am on Sunday 21st
+# October 2012 and end at 3 am on Sunday 20th January 2013.
+# http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=6702&catid=71&Itemid=155
+#
+# From Paul Eggert (2012-08-31):
+# For now, guess a pattern of the penultimate Sundays in October and January.
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Fiji	1998	1999	-	Nov	Sun>=1	2:00	1:00	S
 Rule	Fiji	1999	2000	-	Feb	lastSun	3:00	0	-
 Rule	Fiji	2009	only	-	Nov	29	2:00	1:00	S
 Rule	Fiji	2010	only	-	Mar	lastSun	3:00	0	-
-Rule	Fiji	2010	only	-	Oct	24	2:00	1:00	S
+Rule	Fiji	2010	max	-	Oct	Sun>=18	2:00	1:00	S
 Rule	Fiji	2011	only	-	Mar	Sun>=1	3:00	0	-
-Rule	Fiji	2011	only	-	Oct	23	2:00	1:00	S
-Rule	Fiji	2012	only	-	Jan	22	3:00	0	-
+Rule	Fiji	2012	max	-	Jan	Sun>=18	3:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fiji	11:53:40 -	LMT	1915 Oct 26	# Suva
 			12:00	Fiji	FJ%sT	# Fiji Time
@@ -559,7 +566,7 @@ Zone Pacific/Pago_Pago	 12:37:12 -	LMT	1
 
 # From David Zuelke (2011-05-09):
 # Subject: Samoa to move timezone from east to west of international date line
-# 
+#
 # 
 # http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963
 # 
@@ -641,25 +648,25 @@ Zone Pacific/Guadalcanal 10:39:48 -	LMT	
 #
 # From Gwillim Law (2011-12-29)
 # A correspondent informed me that Tokelau, like Samoa, will be skipping
-# December 31 this year, thereby changing its time zone from UTC-10 to
-# UTC+14. When I tried to verify this statement, I found a confirming
-# article in Time magazine online
-# 
-# (http://www.time.com/time/world/article/0,8599,2103243,00.html).
-# 
+# December 31 this year ...
 #
-# From Jonathan Leffler (2011-12-29)
-# Information from the BBC to the same effect:
-# 
-# http://www.bbc.co.uk/news/world-asia-16351377
-# 
-#
-# Patch supplied by Tim Parenti (2011-12-29)
+# From Steffen Thorsen (2012-07-25)
+# ... we double checked by calling hotels and offices based in Tokelau asking
+# about the time there, and they all told a time that agrees with UTC+13....
+# Shanks says UTC-10 from 1901 [but] ... there is a good chance the change
+# actually was to UTC-11 back then.
+#
+# From Paul Eggert (2012-07-25)
+# A Google Books snippet of Appendix to the Journals of the House of
+# Representatives of New Zealand, Session 1948,
+# , page 65, says Tokelau
+# was "11 hours slow on G.M.T."  Go with Thorsen and assume Shanks & Pottenger
+# are off by an hour starting in 1901.
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fakaofo	-11:24:56 -	LMT	1901
-			-10:00	-	TKT 2011 Dec 30	# Tokelau Time
-			14:00	-	TKT
+			-11:00	-	TKT 2011 Dec 30	# Tokelau Time
+			13:00	-	TKT
 
 # Tonga
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
@@ -1340,22 +1347,22 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 # See "southeast Australia" above for 2008 and later.
 
 # From Steffen Thorsen (2009-04-28):
-# According to the official press release, South Australia's extended daylight 
-# saving period will continue with the same rules as used during the 2008-2009 
+# According to the official press release, South Australia's extended daylight
+# saving period will continue with the same rules as used during the 2008-2009
 # summer (southern hemisphere).
-# 
+#
 # From
 # 
 # http://www.safework.sa.gov.au/uploaded_files/DaylightDatesSet.pdf
 # 
-# The extended daylight saving period that South Australia has been trialling 
+# The extended daylight saving period that South Australia has been trialling
 # for over the last year is now set to be ongoing.
-# Daylight saving will continue to start on the first Sunday in October each 
+# Daylight saving will continue to start on the first Sunday in October each
 # year and finish on the first Sunday in April the following year.
-# Industrial Relations Minister, Paul Caica, says this provides South Australia 
-# with a consistent half hour time difference with NSW, Victoria, Tasmania and 
+# Industrial Relations Minister, Paul Caica, says this provides South Australia
+# with a consistent half hour time difference with NSW, Victoria, Tasmania and
 # the ACT for all 52 weeks of the year...
-# 
+#
 # We have a wrap-up here:
 # 
 # http://www.timeanddate.com/news/time/south-australia-extends-dst.html

Modified: stable/9/contrib/tzdata/backward
==============================================================================
--- stable/9/contrib/tzdata/backward	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/backward	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)backward	8.11
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/9/contrib/tzdata/etcetera
==============================================================================
--- stable/9/contrib/tzdata/etcetera	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/etcetera	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)etcetera	8.3
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/9/contrib/tzdata/europe
==============================================================================
--- stable/9/contrib/tzdata/europe	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/europe	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)europe	8.41
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -575,12 +574,12 @@ Rule	Russia	1996	2010	-	Oct	lastSun	 2:0
 # According to Kremlin press service, Russian President Dmitry Medvedev
 # signed a federal law "On calculation of time" on June 9, 2011.
 # According to the law Russia is abolishing daylight saving time.
-# 
-# Medvedev signed a law "On the Calculation of Time" (in russian): 
+#
+# Medvedev signed a law "On the Calculation of Time" (in russian):
 # 
 # http://bmockbe.ru/events/?ID=7583
 # 
-# 
+#
 # Medvedev signed a law on the calculation of the time (in russian):
 # 
 # http://www.regnum.ru/news/polit/1413906.html
@@ -1688,7 +1687,7 @@ Zone	Europe/Malta	0:58:04 -	LMT	1893 Nov
 # From Alexander Krivenyshev (2011-10-26)
 # NO need to divide Moldova into two timezones at this point.
 # As of today, Transnistria (Pridnestrovie)- Tiraspol reversed its own
-# decision to abolish DST this winter. 
+# decision to abolish DST this winter.
 # Following Moldova and neighboring Ukraine- Transnistria (Pridnestrovie)-
 # Tiraspol will go back to winter time on October 30, 2011.
 # News from Moldova (in russian):
@@ -2578,11 +2577,11 @@ Zone	Europe/Zurich	0:34:08 -	LMT	1848 Se
 # http://www.alomaliye.com/bkk_2002_3769.htm
 
 # From Gökdeniz Karadağ (2011-03-10):
-# 
+#
 # According to the articles linked below, Turkey will change into summer
 # time zone (GMT+3) on March 28, 2011 at 3:00 a.m. instead of March 27.
 # This change is due to a nationwide exam on 27th.
-# 
+#
 # 
 # http://www.worldbulletin.net/?aType=haber&ArticleID=70872
 # 
@@ -2699,7 +2698,7 @@ Link	Europe/Istanbul	Asia/Istanbul	# Ist
 # time this year after all.
 #
 # From Udo Schwedt (2011-10-18):
-# As far as I understand, the recent change to the Ukranian time zone 
+# As far as I understand, the recent change to the Ukranian time zone
 # (Europe/Kiev) to introduce permanent daylight saving time (similar
 # to Russia) was reverted today:
 #

Modified: stable/9/contrib/tzdata/factory
==============================================================================
--- stable/9/contrib/tzdata/factory	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/factory	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)factory	8.2
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/9/contrib/tzdata/leapseconds
==============================================================================
--- stable/9/contrib/tzdata/leapseconds	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/leapseconds	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)leapseconds	8.13
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -78,8 +77,8 @@ Leap	2012	Jun	30	23:59:60	+	S
 #
 #
 # A positive leap second will be introduced at the end of June 2012.
-# The sequence of dates of the UTC second markers will be:		
-# 		
+# The sequence of dates of the UTC second markers will be:
+#
 #                          2012 June 30,     23h 59m 59s
 #                          2012 June 30,     23h 59m 60s
 #                          2012 July  1,      0h  0m  0s
@@ -96,6 +95,6 @@ Leap	2012	Jun	30	23:59:60	+	S
 #
 #
 # Daniel GAMBIS
-# Head		
+# Head
 # Earth Orientation Center of IERS
 # Observatoire de Paris, France

Modified: stable/9/contrib/tzdata/northamerica
==============================================================================
--- stable/9/contrib/tzdata/northamerica	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/northamerica	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)northamerica	8.52
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -479,7 +478,7 @@ Zone America/Juneau	 15:02:19 -	LMT	1867
 			 -8:00	US	P%sT	1946
 			 -8:00	-	PST	1969
 			 -8:00	US	P%sT	1980 Apr 27 2:00
-			 -9:00	US	Y%sT	1980 Oct 26 2:00	
+			 -9:00	US	Y%sT	1980 Oct 26 2:00
 			 -8:00	US	P%sT	1983 Oct 30 2:00
 			 -9:00	US	Y%sT	1983 Nov 30
 			 -9:00	US	AK%sT
@@ -1844,7 +1843,7 @@ Zone America/Edmonton	-7:33:52 -	LMT	190
 # Here is a summary of the three clock change events in Creston's history:
 # 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
 # Exact date unknown
-# 2. Oct 1916: switch to Pacific Standard Time (GMT-8) 
+# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
 # Exact date in October unknown;  Sunday October 1 is a reasonable guess.
 # 3. June 1918: switch to Pacific Daylight Time (GMT-7)
 # Exact date in June unknown; Sunday June 2 is a reasonable guess.
@@ -2674,20 +2673,20 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # except that it switches at midnight standard time as usual.
 #
 # From Steffen Thorsen (2007-10-25):
-# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week 
+# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week
 # earlier - on the last Sunday of October, just like in 2006.
-# 
+#
 # He supplied these references:
-# 
+#
 # http://www.prensalatina.com.mx/article.asp?ID=%7B4CC32C1B-A9F7-42FB-8A07-8631AFC923AF%7D&language=ES
 # http://actualidad.terra.es/sociedad/articulo/cuba_llama_ahorrar_energia_cambio_1957044.htm
-# 
+#
 # From Alex Kryvenishev (2007-10-25):
 # Here is also article from Granma (Cuba):
-# 
+#
 # [Regira] el Horario Normal desde el [proximo] domingo 28 de octubre
 # http://www.granma.cubaweb.cu/2007/10/24/nacional/artic07.html
-# 
+#
 # http://www.worldtimezone.com/dst_news/dst_news_cuba03.html
 
 # From Arthur David Olson (2008-03-09):
@@ -2771,7 +2770,7 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # 
 #
 # From Steffen Thorsen (2011-10-30)
-# Cuba will end DST two weeks later this year. Instead of going back 
+# Cuba will end DST two weeks later this year. Instead of going back
 # tonight, it has been delayed to 2011-11-13 at 01:00.
 #
 # One source (Spanish)
@@ -2783,6 +2782,20 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1
 # 
 # http://www.timeanddate.com/news/time/cuba-time-changes-2011.html
 # 
+#
+# From Steffen Thorsen (2012-03-01)
+# According to Radio Reloj, Cuba will start DST on Midnight between March
+# 31 and April 1.
+#
+# Radio Reloj has the following info (Spanish):
+# 
+# http://www.radioreloj.cu/index.php/noticias-radio-reloj/71-miscelaneas/7529-cuba-aplicara-el-horario-de-verano-desde-el-1-de-abril
+# 
+#
+# Our info on it:
+# 
+# http://www.timeanddate.com/news/time/cuba-starts-dst-2012.html
+# 
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Cuba	1928	only	-	Jun	10	0:00	1:00	D
@@ -2820,8 +2833,9 @@ Rule	Cuba	2008	only	-	Mar	Sun>=15	0:00s	
 Rule	Cuba	2009	2010	-	Mar	Sun>=8	0:00s	1:00	D
 Rule	Cuba	2011	only	-	Mar	Sun>=15	0:00s	1:00	D
 Rule	Cuba	2011	only	-	Nov	13	0:00s	0	S
-Rule	Cuba	2012	max	-	Mar	Sun>=8	0:00s	1:00	D
+Rule	Cuba	2012	only	-	Apr	1	0:00s	1:00	D
 Rule	Cuba	2012	max	-	Oct	lastSun	0:00s	0	S
+Rule	Cuba	2013	max	-	Mar	Sun>=8	0:00s	1:00	D
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	America/Havana	-5:29:28 -	LMT	1890
@@ -2955,6 +2969,29 @@ Zone America/Guatemala	-6:02:04 -	LMT	19
 # From Stephen Colebourne (2007-02-22):
 # Some IATA info: Haiti won't be having DST in 2007.
 
+# From Steffen Thorsen (2012-03-11):
+# According to several news sources, Haiti will observe DST this year,
+# apparently using the same start and end date as USA/Canada.
+# So this means they have already changed their time.
+#
+# (Sources in French):
+# 
+# http://www.alterpresse.org/spip.php?article12510
+# 
+# 
+# http://radiovision2000haiti.net/home/?p=13253
+# 
+#
+# Our coverage:
+# 
+# http://www.timeanddate.com/news/time/haiti-dst-2012.html
+# 
+
+# From Arthur David Olson (2012-03-11):
+# The alterpresse.org source seems to show a US-style leap from 2:00 a.m. to
+# 3:00 a.m. rather than the traditional Haitian jump at midnight.
+# Assume a US-style fall back as well XXX.
+# Do not yet assume that the change carries forward past 2012 XXX.
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Haiti	1983	only	-	May	8	0:00	1:00	D
@@ -2966,6 +3003,8 @@ Rule	Haiti	1988	1997	-	Apr	Sun>=1	1:00s	
 Rule	Haiti	1988	1997	-	Oct	lastSun	1:00s	0	S
 Rule	Haiti	2005	2006	-	Apr	Sun>=1	0:00	1:00	D
 Rule	Haiti	2005	2006	-	Oct	lastSun	0:00	0	S
+Rule	Haiti	2012	only	-	Mar	Sun>=8	2:00	1:00	D
+Rule	Haiti	2012	only	-	Nov	Sun>=1	2:00	0	S
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone America/Port-au-Prince -4:49:20 -	LMT	1890
 			-4:49	-	PPMT	1917 Jan 24 12:00 # P-a-P MT

Modified: stable/9/contrib/tzdata/pacificnew
==============================================================================
--- stable/9/contrib/tzdata/pacificnew	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/pacificnew	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)pacificnew	8.2
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/9/contrib/tzdata/southamerica
==============================================================================
--- stable/9/contrib/tzdata/southamerica	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/southamerica	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)southamerica	8.53
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -232,7 +231,7 @@ Rule	Arg	2000	only	-	Mar	3	0:00	0	-
 Rule	Arg	2007	only	-	Dec	30	0:00	1:00	S
 Rule	Arg	2008	2009	-	Mar	Sun>=15	0:00	0	-
 Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:00	S
- 
+
 # From Mariano Absatz (2004-05-21):
 # Today it was officially published that the Province of Mendoza is changing
 # its timezone this winter... starting tomorrow night....
@@ -322,9 +321,9 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:
 # confirms what Alex Krivenyshev has earlier sent to the tz
 # emailing list about that San Luis plans to return to standard
 # time much earlier than the rest of the country. It also
-# confirms that upon request the provinces San Juan and Mendoza 
-# refused to follow San Luis in this change. 
-# 
+# confirms that upon request the provinces San Juan and Mendoza
+# refused to follow San Luis in this change.
+#
 # The change is supposed to take place Monday the 21.st at 0:00
 # hours. As far as I understand it if this goes ahead, we need
 # a new timezone for San Luis (although there are also documented
@@ -386,7 +385,7 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:
 # 
 # http://www.lanacion.com.ar/nota.asp?nota_id=1107912
 # 
-# 
+#
 # The press release says:
 #  (...) anunció que el próximo domingo a las 00:00 los puntanos deberán
 # atrasar una hora sus relojes.
@@ -800,8 +799,8 @@ Zone	America/La_Paz	-4:32:36 -	LMT	1890
 #
 # From Alexander Krivenyshev (2011-10-04):
 # State Bahia will return to Daylight savings time this year after 8 years off.
-# The announcement was made by Governor Jaques Wagner in an interview to a 
-# television station in Salvador. 
+# The announcement was made by Governor Jaques Wagner in an interview to a
+# television station in Salvador.
 
 # In Portuguese:
 # 
@@ -1160,7 +1159,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1
 # Due to drought, Chile extends Daylight Time in three weeks.  This
 # is one-time change (Saturday 3/29 at 24:00 for America/Santiago
 # and Saturday 3/29 at 22:00 for Pacific/Easter)
-# The Supreme Decree is located at 
+# The Supreme Decree is located at
 # 
 # http://www.shoa.cl/servicios/supremo316.pdf
 # 
@@ -1171,7 +1170,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1
 
 # From Jose Miguel Garrido (2008-03-05):
 # ...
-# You could see the announces of the change on 
+# You could see the announces of the change on
 # 
 # http://www.shoa.cl/noticias/2008/04hora/hora.htm
 # .

Modified: stable/9/contrib/tzdata/systemv
==============================================================================
--- stable/9/contrib/tzdata/systemv	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/systemv	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)systemv	8.2
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 

Modified: stable/9/contrib/tzdata/yearistype.sh
==============================================================================
--- stable/9/contrib/tzdata/yearistype.sh	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/yearistype.sh	Thu Sep 13 10:25:42 2012	(r240461)
@@ -3,8 +3,6 @@
 : 'This file is in the public domain, so clarified as of'
 : '2006-07-17 by Arthur David Olson.'
 
-: '@(#)yearistype.sh	8.2'
-
 case $#-$1 in
 	2-|2-0*|2-*[!0-9]*)
 		echo "$0: wild year - $1" >&2

Modified: stable/9/contrib/tzdata/zone.tab
==============================================================================
--- stable/9/contrib/tzdata/zone.tab	Thu Sep 13 10:25:30 2012	(r240460)
+++ stable/9/contrib/tzdata/zone.tab	Thu Sep 13 10:25:42 2012	(r240461)
@@ -1,5 +1,4 @@
 # 
-# @(#)zone.tab	8.54
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 #
@@ -131,7 +130,7 @@ CA	+5333-11328	America/Edmonton	Mountain
 CA	+690650-1050310	America/Cambridge_Bay	Mountain Time - west Nunavut
 CA	+6227-11421	America/Yellowknife	Mountain Time - central Northwest Territories
 CA	+682059-1334300	America/Inuvik	Mountain Time - west Northwest Territories
-CA	+4906-11631	America/Creston		Mountain Standard Time - Creston, British Columbia
+CA	+4906-11631	America/Creston	Mountain Standard Time - Creston, British Columbia
 CA	+5946-12014	America/Dawson_Creek	Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
 CA	+4916-12307	America/Vancouver	Pacific Time - west British Columbia
 CA	+6043-13503	America/Whitehorse	Pacific Time - south Yukon

From owner-svn-src-stable@FreeBSD.ORG  Thu Sep 13 18:47:25 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id ED0C5106566C;
	Thu, 13 Sep 2012 18:47:24 +0000 (UTC) (envelope-from np@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id BE2058FC14;
	Thu, 13 Sep 2012 18:47:24 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8DIlOJU053960;
	Thu, 13 Sep 2012 18:47:24 GMT (envelope-from np@svn.freebsd.org)
Received: (from np@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8DIlO6v053958;
	Thu, 13 Sep 2012 18:47:24 GMT (envelope-from np@svn.freebsd.org)
Message-Id: <201209131847.q8DIlO6v053958@svn.freebsd.org>
From: Navdeep Parhar 
Date: Thu, 13 Sep 2012 18:47:24 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240472 - stable/9/sys/kern
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Thu, 13 Sep 2012 18:47:25 -0000

Author: np
Date: Thu Sep 13 18:47:24 2012
New Revision: 240472
URL: http://svn.freebsd.org/changeset/base/240472

Log:
  MFC r227689:
  
  Do not increment the parent firmware's reference count when any other
  firmware image in the module is registered.  Instead, do it when the
  other image is itself referenced.
  
  This allows a module with multiple firmware images to be automatically
  unloaded when none of the firmware images are in use.

Modified:
  stable/9/sys/kern/subr_firmware.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/kern/subr_firmware.c
==============================================================================
--- stable/9/sys/kern/subr_firmware.c	Thu Sep 13 18:24:13 2012	(r240471)
+++ stable/9/sys/kern/subr_firmware.c	Thu Sep 13 18:47:24 2012	(r240472)
@@ -198,10 +198,8 @@ firmware_register(const char *imagename,
 	frp->fw.data = data;
 	frp->fw.datasize = datasize;
 	frp->fw.version = version;
-	if (parent != NULL) {
+	if (parent != NULL)
 		frp->parent = PRIV_FW(parent);
-		frp->parent->refcnt++;
-	}
 	mtx_unlock(&firmware_mtx);
 	if (bootverbose)
 		printf("firmware: '%s' version %u: %zu bytes loaded at %p\n",
@@ -235,8 +233,6 @@ firmware_unregister(const char *imagenam
 	}  else {
 		linker_file_t x = fp->file;	/* save value */
 
-		if (fp->parent != NULL)	/* release parent reference */
-			fp->parent->refcnt--;
 		/*
 		 * Clear the whole entry with bzero to make sure we
 		 * do not forget anything. Then restore 'file' which is
@@ -341,6 +337,8 @@ firmware_get(const char *imagename)
 		return NULL;
 	}
 found:				/* common exit point on success */
+	if (fp->refcnt == 0 && fp->parent != NULL)
+		fp->parent->refcnt++;
 	fp->refcnt++;
 	mtx_unlock(&firmware_mtx);
 	return &fp->fw;
@@ -363,6 +361,8 @@ firmware_put(const struct firmware *p, i
 	mtx_lock(&firmware_mtx);
 	fp->refcnt--;
 	if (fp->refcnt == 0) {
+		if (fp->parent != NULL)
+			fp->parent->refcnt--;
 		if (flags & FIRMWARE_UNLOAD)
 			fp->flags |= FW_UNLOAD;
 		if (fp->file)

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 00:37:12 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 8D3671065670;
	Fri, 14 Sep 2012 00:37:12 +0000 (UTC)
	(envelope-from eadler@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 7844E8FC08;
	Fri, 14 Sep 2012 00:37:12 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8E0bChR007808;
	Fri, 14 Sep 2012 00:37:12 GMT (envelope-from eadler@svn.freebsd.org)
Received: (from eadler@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8E0bCPl007805;
	Fri, 14 Sep 2012 00:37:12 GMT (envelope-from eadler@svn.freebsd.org)
Message-Id: <201209140037.q8E0bCPl007805@svn.freebsd.org>
From: Eitan Adler 
Date: Fri, 14 Sep 2012 00:37:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240477 - stable/9/share/misc
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 00:37:12 -0000

Author: eadler
Date: Fri Sep 14 00:37:11 2012
New Revision: 240477
URL: http://svn.freebsd.org/changeset/base/240477

Log:
  MFC r240328:
  	Follow up to doc r39516:
  
  		Update the Vendor Relations Team information to reflect that
  		incoming email is now handled by core@ and the Foundation.
  
  Approved by:	cperciva (implicit)

Modified:
  stable/9/share/misc/organization.dot
Directory Properties:
  stable/9/share/misc/   (props changed)

Modified: stable/9/share/misc/organization.dot
==============================================================================
--- stable/9/share/misc/organization.dot	Fri Sep 14 00:19:06 2012	(r240476)
+++ stable/9/share/misc/organization.dot	Fri Sep 14 00:37:11 2012	(r240477)
@@ -59,7 +59,7 @@ webmaster [label="Webmaster Team\nwebmas
 
 donations [label="Donations Team\ndonations@FreeBSD.org\ngjb, wilko, gahr, pgolluci,\nobrien, trhodes, ds,\nrwatson"]
 marketing [label="Marketing Team\nmarketing@FreeBSD.org\nSteven Beedle, Denise Ebery, deb,\njkoshy, Dru Lavigne, mwlucas, imp,\nKris Moore, murray, mattt,\nJeremy C. Reed, rwatson"]
-vendorrelations [label="Vendor Relations Team\nvendor-relations@FreeBSD.org\ngioria, jmg, rik,\nphilip, hmp, marks,\nmurray"]
+vendorrelations [label="Vendor Relations\nvendor-relations@FreeBSD.org\ncore, FreeBSD Foundation"]
 
 # Here are the team relationships.
 # Group together all the entries for the superior team.

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 00:37:12 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id AA8381065672;
	Fri, 14 Sep 2012 00:37:12 +0000 (UTC)
	(envelope-from eadler@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 950AD8FC0A;
	Fri, 14 Sep 2012 00:37:12 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8E0bCjj007812;
	Fri, 14 Sep 2012 00:37:12 GMT (envelope-from eadler@svn.freebsd.org)
Received: (from eadler@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8E0bCe6007810;
	Fri, 14 Sep 2012 00:37:12 GMT (envelope-from eadler@svn.freebsd.org)
Message-Id: <201209140037.q8E0bCe6007810@svn.freebsd.org>
From: Eitan Adler 
Date: Fri, 14 Sep 2012 00:37:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240478 - stable/8/share/misc
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 00:37:12 -0000

Author: eadler
Date: Fri Sep 14 00:37:12 2012
New Revision: 240478
URL: http://svn.freebsd.org/changeset/base/240478

Log:
  MFC r240328:
  	Follow up to doc r39516:
  
  		Update the Vendor Relations Team information to reflect that
  		incoming email is now handled by core@ and the Foundation.
  
  Approved by:	cperciva (implicit)

Modified:
  stable/8/share/misc/organization.dot
Directory Properties:
  stable/8/share/misc/   (props changed)

Modified: stable/8/share/misc/organization.dot
==============================================================================
--- stable/8/share/misc/organization.dot	Fri Sep 14 00:37:11 2012	(r240477)
+++ stable/8/share/misc/organization.dot	Fri Sep 14 00:37:12 2012	(r240478)
@@ -59,7 +59,7 @@ webmaster [label="Webmaster Team\nwebmas
 
 donations [label="Donations Team\ndonations@FreeBSD.org\ngjb, wilko, gahr, pgolluci,\nobrien, trhodes, ds,\nrwatson"]
 marketing [label="Marketing Team\nmarketing@FreeBSD.org\nSteven Beedle, Denise Ebery, deb,\njkoshy, Dru Lavigne, mwlucas, imp,\nKris Moore, murray, mattt,\nJeremy C. Reed, rwatson"]
-vendorrelations [label="Vendor Relations Team\nvendor-relations@FreeBSD.org\ngioria, jmg, rik,\nphilip, hmp, marks,\nmurray"]
+vendorrelations [label="Vendor Relations\nvendor-relations@FreeBSD.org\ncore, FreeBSD Foundation"]
 
 # Here are the team relationships.
 # Group together all the entries for the superior team.

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 00:37:13 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 313E11065673;
	Fri, 14 Sep 2012 00:37:13 +0000 (UTC)
	(envelope-from eadler@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 1C9778FC0C;
	Fri, 14 Sep 2012 00:37:13 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8E0bC4I007829;
	Fri, 14 Sep 2012 00:37:12 GMT (envelope-from eadler@svn.freebsd.org)
Received: (from eadler@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8E0bCVR007827;
	Fri, 14 Sep 2012 00:37:12 GMT (envelope-from eadler@svn.freebsd.org)
Message-Id: <201209140037.q8E0bCVR007827@svn.freebsd.org>
From: Eitan Adler 
Date: Fri, 14 Sep 2012 00:37:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
X-SVN-Group: stable-7
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240479 - stable/7/share/misc
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 00:37:13 -0000

Author: eadler
Date: Fri Sep 14 00:37:12 2012
New Revision: 240479
URL: http://svn.freebsd.org/changeset/base/240479

Log:
  MFC r240328:
  	Follow up to doc r39516:
  
  		Update the Vendor Relations Team information to reflect that
  		incoming email is now handled by core@ and the Foundation.
  
  Approved by:	cperciva (implicit)

Modified:
  stable/7/share/misc/organization.dot
Directory Properties:
  stable/7/share/misc/   (props changed)

Modified: stable/7/share/misc/organization.dot
==============================================================================
--- stable/7/share/misc/organization.dot	Fri Sep 14 00:37:12 2012	(r240478)
+++ stable/7/share/misc/organization.dot	Fri Sep 14 00:37:12 2012	(r240479)
@@ -59,7 +59,7 @@ webmaster [label="Webmaster Team\nwebmas
 
 donations [label="Donations Team\ndonations@FreeBSD.org\ngjb, wilko, gahr, pgolluci,\nobrien, trhodes, ds,\nrwatson"]
 marketing [label="Marketing Team\nmarketing@FreeBSD.org\nSteven Beedle, Denise Ebery, deb,\njkoshy, Dru Lavigne, mwlucas, imp,\nKris Moore, murray, mattt,\nJeremy C. Reed, rwatson"]
-vendorrelations [label="Vendor Relations Team\nvendor-relations@FreeBSD.org\ngioria, jmg, rik,\nphilip, hmp, marks,\nmurray"]
+vendorrelations [label="Vendor Relations\nvendor-relations@FreeBSD.org\ncore, FreeBSD Foundation"]
 
 # Here are the team relationships.
 # Group together all the entries for the superior team.

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 13:56:51 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7C846106566C;
	Fri, 14 Sep 2012 13:56:51 +0000 (UTC)
	(envelope-from zont@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 4D30E8FC16;
	Fri, 14 Sep 2012 13:56:51 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8EDupaL034982;
	Fri, 14 Sep 2012 13:56:51 GMT (envelope-from zont@svn.freebsd.org)
Received: (from zont@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8EDupI4034980;
	Fri, 14 Sep 2012 13:56:51 GMT (envelope-from zont@svn.freebsd.org)
Message-Id: <201209141356.q8EDupI4034980@svn.freebsd.org>
From: Andrey Zonov 
Date: Fri, 14 Sep 2012 13:56:51 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240499 - stable/9/sys/vm
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 13:56:51 -0000

Author: zont
Date: Fri Sep 14 13:56:50 2012
New Revision: 240499
URL: http://svn.freebsd.org/changeset/base/240499

Log:
  MFC r239818:
  - Don't take an account of locked memory for current process in vslock(9).
  
  There are two consumers of vslock(9): sysctl code and drm driver.  These
  consumers are using locked memory as transient memory, it doesn't belong
  to a process's memory.
  
  MFC r239895:
  - Remove accounting of locked memory from vsunlock(9) that I missed in r239818.

Modified:
  stable/9/sys/vm/vm_glue.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/vm/vm_glue.c
==============================================================================
--- stable/9/sys/vm/vm_glue.c	Fri Sep 14 13:41:49 2012	(r240498)
+++ stable/9/sys/vm/vm_glue.c	Fri Sep 14 13:56:50 2012	(r240499)
@@ -183,7 +183,6 @@ int
 vslock(void *addr, size_t len)
 {
 	vm_offset_t end, last, start;
-	unsigned long nsize;
 	vm_size_t npages;
 	int error;
 
@@ -195,18 +194,6 @@ vslock(void *addr, size_t len)
 	npages = atop(end - start);
 	if (npages > vm_page_max_wired)
 		return (ENOMEM);
-	PROC_LOCK(curproc);
-	nsize = ptoa(npages +
-	    pmap_wired_count(vm_map_pmap(&curproc->p_vmspace->vm_map)));
-	if (nsize > lim_cur(curproc, RLIMIT_MEMLOCK)) {
-		PROC_UNLOCK(curproc);
-		return (ENOMEM);
-	}
-	if (racct_set(curproc, RACCT_MEMLOCK, nsize)) {
-		PROC_UNLOCK(curproc);
-		return (ENOMEM);
-	}
-	PROC_UNLOCK(curproc);
 #if 0
 	/*
 	 * XXX - not yet
@@ -222,14 +209,6 @@ vslock(void *addr, size_t len)
 #endif
 	error = vm_map_wire(&curproc->p_vmspace->vm_map, start, end,
 	    VM_MAP_WIRE_SYSTEM | VM_MAP_WIRE_NOHOLES);
-#ifdef RACCT
-	if (error != KERN_SUCCESS) {
-		PROC_LOCK(curproc);
-		racct_set(curproc, RACCT_MEMLOCK, 
-		    ptoa(pmap_wired_count(vm_map_pmap(&curproc->p_vmspace->vm_map))));
-		PROC_UNLOCK(curproc);
-	}
-#endif
 	/*
 	 * Return EFAULT on error to match copy{in,out}() behaviour
 	 * rather than returning ENOMEM like mlock() would.
@@ -245,13 +224,6 @@ vsunlock(void *addr, size_t len)
 	(void)vm_map_unwire(&curproc->p_vmspace->vm_map,
 	    trunc_page((vm_offset_t)addr), round_page((vm_offset_t)addr + len),
 	    VM_MAP_WIRE_SYSTEM | VM_MAP_WIRE_NOHOLES);
-
-#ifdef RACCT
-	PROC_LOCK(curproc);
-	racct_set(curproc, RACCT_MEMLOCK,
-	    ptoa(pmap_wired_count(vm_map_pmap(&curproc->p_vmspace->vm_map))));
-	PROC_UNLOCK(curproc);
-#endif
 }
 
 /*

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 13:57:35 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 815DA106566C;
	Fri, 14 Sep 2012 13:57:35 +0000 (UTC)
	(envelope-from zont@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 6C6498FC12;
	Fri, 14 Sep 2012 13:57:35 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8EDvZdB035135;
	Fri, 14 Sep 2012 13:57:35 GMT (envelope-from zont@svn.freebsd.org)
Received: (from zont@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8EDvZoc035133;
	Fri, 14 Sep 2012 13:57:35 GMT (envelope-from zont@svn.freebsd.org)
Message-Id: <201209141357.q8EDvZoc035133@svn.freebsd.org>
From: Andrey Zonov 
Date: Fri, 14 Sep 2012 13:57:35 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240500 - stable/8/sys/vm
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 13:57:35 -0000

Author: zont
Date: Fri Sep 14 13:57:34 2012
New Revision: 240500
URL: http://svn.freebsd.org/changeset/base/240500

Log:
  MFC r239818:
  - Don't take an account of locked memory for current process in vslock(9).
  
  There are two consumers of vslock(9): sysctl code and drm driver.  These
  consumers are using locked memory as transient memory, it doesn't belong
  to a process's memory.
  
  MFC r239895:
  - Remove accounting of locked memory from vsunlock(9) that I missed in r239818.

Modified:
  stable/8/sys/vm/vm_glue.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/vm/   (props changed)

Modified: stable/8/sys/vm/vm_glue.c
==============================================================================
--- stable/8/sys/vm/vm_glue.c	Fri Sep 14 13:56:50 2012	(r240499)
+++ stable/8/sys/vm/vm_glue.c	Fri Sep 14 13:57:34 2012	(r240500)
@@ -199,14 +199,6 @@ vslock(void *addr, size_t len)
 	npages = atop(end - start);
 	if (npages > vm_page_max_wired)
 		return (ENOMEM);
-	PROC_LOCK(curproc);
-	if (ptoa(npages +
-	    pmap_wired_count(vm_map_pmap(&curproc->p_vmspace->vm_map))) >
-	    lim_cur(curproc, RLIMIT_MEMLOCK)) {
-		PROC_UNLOCK(curproc);
-		return (ENOMEM);
-	}
-	PROC_UNLOCK(curproc);
 #if 0
 	/*
 	 * XXX - not yet

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 14:23:18 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 8BC88106564A;
	Fri, 14 Sep 2012 14:23:18 +0000 (UTC)
	(envelope-from zont@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 75D638FC0C;
	Fri, 14 Sep 2012 14:23:18 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8EENIBh039598;
	Fri, 14 Sep 2012 14:23:18 GMT (envelope-from zont@svn.freebsd.org)
Received: (from zont@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8EENISl039595;
	Fri, 14 Sep 2012 14:23:18 GMT (envelope-from zont@svn.freebsd.org)
Message-Id: <201209141423.q8EENISl039595@svn.freebsd.org>
From: Andrey Zonov 
Date: Fri, 14 Sep 2012 14:23:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240501 - in stable/9/sys: kern vm
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 14:23:18 -0000

Author: zont
Date: Fri Sep 14 14:23:17 2012
New Revision: 240501
URL: http://svn.freebsd.org/changeset/base/240501

Log:
  MFC r240026:
  - Make kern.maxtsiz, kern.dfldsiz, kern.maxdsiz, kern.dflssiz, kern.maxssiz
    and kern.sgrowsiz sysctls writable.
  
  MFC r240068:
  - Mark some sysctls with CTLFLAG_TUN flag instead of CTLFLAG_RDTUN.
  
  MFC r240069:
  - After r240026 sgrowsiz should be used in a safer maner.

Modified:
  stable/9/sys/kern/subr_param.c
  stable/9/sys/vm/vm_map.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/kern/subr_param.c
==============================================================================
--- stable/9/sys/kern/subr_param.c	Fri Sep 14 13:57:34 2012	(r240500)
+++ stable/9/sys/kern/subr_param.c	Fri Sep 14 14:23:17 2012	(r240501)
@@ -119,17 +119,17 @@ SYSCTL_LONG(_kern, OID_AUTO, maxswzone, 
     "Maximum memory for swap metadata");
 SYSCTL_LONG(_kern, OID_AUTO, maxbcache, CTLFLAG_RDTUN, &maxbcache, 0,
     "Maximum value of vfs.maxbufspace");
-SYSCTL_ULONG(_kern, OID_AUTO, maxtsiz, CTLFLAG_RDTUN, &maxtsiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, maxtsiz, CTLFLAG_RW | CTLFLAG_TUN, &maxtsiz, 0,
     "Maximum text size");
-SYSCTL_ULONG(_kern, OID_AUTO, dfldsiz, CTLFLAG_RDTUN, &dfldsiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, dfldsiz, CTLFLAG_RW | CTLFLAG_TUN, &dfldsiz, 0,
     "Initial data size limit");
-SYSCTL_ULONG(_kern, OID_AUTO, maxdsiz, CTLFLAG_RDTUN, &maxdsiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, maxdsiz, CTLFLAG_RW | CTLFLAG_TUN, &maxdsiz, 0,
     "Maximum data size");
-SYSCTL_ULONG(_kern, OID_AUTO, dflssiz, CTLFLAG_RDTUN, &dflssiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, dflssiz, CTLFLAG_RW | CTLFLAG_TUN, &dflssiz, 0,
     "Initial stack size limit");
-SYSCTL_ULONG(_kern, OID_AUTO, maxssiz, CTLFLAG_RDTUN, &maxssiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, maxssiz, CTLFLAG_RW | CTLFLAG_TUN, &maxssiz, 0,
     "Maximum stack size");
-SYSCTL_ULONG(_kern, OID_AUTO, sgrowsiz, CTLFLAG_RDTUN, &sgrowsiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, sgrowsiz, CTLFLAG_RW | CTLFLAG_TUN, &sgrowsiz, 0,
     "Amount to grow stack on a stack fault");
 SYSCTL_PROC(_kern, OID_AUTO, vm_guest, CTLFLAG_RD | CTLTYPE_STRING,
     NULL, 0, sysctl_kern_vm_guest, "A",

Modified: stable/9/sys/vm/vm_map.c
==============================================================================
--- stable/9/sys/vm/vm_map.c	Fri Sep 14 13:57:34 2012	(r240500)
+++ stable/9/sys/vm/vm_map.c	Fri Sep 14 14:23:17 2012	(r240501)
@@ -3245,7 +3245,7 @@ vm_map_stack(vm_map_t map, vm_offset_t a
 {
 	vm_map_entry_t new_entry, prev_entry;
 	vm_offset_t bot, top;
-	vm_size_t init_ssize;
+	vm_size_t growsize, init_ssize;
 	int orient, rv;
 	rlim_t vmemlim;
 
@@ -3264,7 +3264,8 @@ vm_map_stack(vm_map_t map, vm_offset_t a
 	    addrbos + max_ssize < addrbos)
 		return (KERN_NO_SPACE);
 
-	init_ssize = (max_ssize < sgrowsiz) ? max_ssize : sgrowsiz;
+	growsize = sgrowsiz;
+	init_ssize = (max_ssize < growsize) ? max_ssize : growsize;
 
 	PROC_LOCK(curthread->td_proc);
 	vmemlim = lim_cur(curthread->td_proc, RLIMIT_VMEM);
@@ -3357,6 +3358,7 @@ vm_map_growstack(struct proc *p, vm_offs
 	struct vmspace *vm = p->p_vmspace;
 	vm_map_t map = &vm->vm_map;
 	vm_offset_t end;
+	vm_size_t growsize;
 	size_t grow_amount, max_grow;
 	rlim_t stacklim, vmemlim;
 	int is_procstack, rv;
@@ -3476,8 +3478,9 @@ Retry:
 	PROC_UNLOCK(p);
 #endif
 
-	/* Round up the grow amount modulo SGROWSIZ */
-	grow_amount = roundup (grow_amount, sgrowsiz);
+	/* Round up the grow amount modulo sgrowsiz */
+	growsize = sgrowsiz;
+	grow_amount = roundup(grow_amount, growsize);
 	if (grow_amount > stack_entry->avail_ssize)
 		grow_amount = stack_entry->avail_ssize;
 	if (is_procstack && (ctob(vm->vm_ssize) + grow_amount > stacklim)) {

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 14:24:22 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 1F7D51065670;
	Fri, 14 Sep 2012 14:24:22 +0000 (UTC)
	(envelope-from zont@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 0ACBE8FC0A;
	Fri, 14 Sep 2012 14:24:22 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8EEOLha039834;
	Fri, 14 Sep 2012 14:24:21 GMT (envelope-from zont@svn.freebsd.org)
Received: (from zont@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8EEOLkA039832;
	Fri, 14 Sep 2012 14:24:21 GMT (envelope-from zont@svn.freebsd.org)
Message-Id: <201209141424.q8EEOLkA039832@svn.freebsd.org>
From: Andrey Zonov 
Date: Fri, 14 Sep 2012 14:24:21 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240502 - in stable/8/sys: kern vm
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 14:24:22 -0000

Author: zont
Date: Fri Sep 14 14:24:21 2012
New Revision: 240502
URL: http://svn.freebsd.org/changeset/base/240502

Log:
  MFC r240026:
  - Make kern.maxtsiz, kern.dfldsiz, kern.maxdsiz, kern.dflssiz, kern.maxssiz
    and kern.sgrowsiz sysctls writable.
  
  MFC r240068:
  - Mark some sysctls with CTLFLAG_TUN flag instead of CTLFLAG_RDTUN.
  
  MFC r240069:
  - After r240026 sgrowsiz should be used in a safer maner.

Modified:
  stable/8/sys/kern/subr_param.c
  stable/8/sys/vm/vm_map.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/kern/   (props changed)
  stable/8/sys/vm/   (props changed)

Modified: stable/8/sys/kern/subr_param.c
==============================================================================
--- stable/8/sys/kern/subr_param.c	Fri Sep 14 14:23:17 2012	(r240501)
+++ stable/8/sys/kern/subr_param.c	Fri Sep 14 14:24:21 2012	(r240502)
@@ -115,17 +115,17 @@ SYSCTL_LONG(_kern, OID_AUTO, maxswzone, 
     "Maximum memory for swap metadata");
 SYSCTL_LONG(_kern, OID_AUTO, maxbcache, CTLFLAG_RDTUN, &maxbcache, 0,
     "Maximum value of vfs.maxbufspace");
-SYSCTL_ULONG(_kern, OID_AUTO, maxtsiz, CTLFLAG_RDTUN, &maxtsiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, maxtsiz, CTLFLAG_RW | CTLFLAG_TUN, &maxtsiz, 0,
     "Maximum text size");
-SYSCTL_ULONG(_kern, OID_AUTO, dfldsiz, CTLFLAG_RDTUN, &dfldsiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, dfldsiz, CTLFLAG_RW | CTLFLAG_TUN, &dfldsiz, 0,
     "Initial data size limit");
-SYSCTL_ULONG(_kern, OID_AUTO, maxdsiz, CTLFLAG_RDTUN, &maxdsiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, maxdsiz, CTLFLAG_RW | CTLFLAG_TUN, &maxdsiz, 0,
     "Maximum data size");
-SYSCTL_ULONG(_kern, OID_AUTO, dflssiz, CTLFLAG_RDTUN, &dflssiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, dflssiz, CTLFLAG_RW | CTLFLAG_TUN, &dflssiz, 0,
     "Initial stack size limit");
-SYSCTL_ULONG(_kern, OID_AUTO, maxssiz, CTLFLAG_RDTUN, &maxssiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, maxssiz, CTLFLAG_RW | CTLFLAG_TUN, &maxssiz, 0,
     "Maximum stack size");
-SYSCTL_ULONG(_kern, OID_AUTO, sgrowsiz, CTLFLAG_RDTUN, &sgrowsiz, 0,
+SYSCTL_ULONG(_kern, OID_AUTO, sgrowsiz, CTLFLAG_RW | CTLFLAG_TUN, &sgrowsiz, 0,
     "Amount to grow stack on a stack fault");
 SYSCTL_PROC(_kern, OID_AUTO, vm_guest, CTLFLAG_RD | CTLTYPE_STRING,
     NULL, 0, sysctl_kern_vm_guest, "A",

Modified: stable/8/sys/vm/vm_map.c
==============================================================================
--- stable/8/sys/vm/vm_map.c	Fri Sep 14 14:23:17 2012	(r240501)
+++ stable/8/sys/vm/vm_map.c	Fri Sep 14 14:24:21 2012	(r240502)
@@ -3178,7 +3178,7 @@ vm_map_stack(vm_map_t map, vm_offset_t a
 {
 	vm_map_entry_t new_entry, prev_entry;
 	vm_offset_t bot, top;
-	vm_size_t init_ssize;
+	vm_size_t growsize, init_ssize;
 	int orient, rv;
 	rlim_t vmemlim;
 
@@ -3197,7 +3197,8 @@ vm_map_stack(vm_map_t map, vm_offset_t a
 	    addrbos + max_ssize < addrbos)
 		return (KERN_NO_SPACE);
 
-	init_ssize = (max_ssize < sgrowsiz) ? max_ssize : sgrowsiz;
+	growsize = sgrowsiz;
+	init_ssize = (max_ssize < growsize) ? max_ssize : growsize;
 
 	PROC_LOCK(curthread->td_proc);
 	vmemlim = lim_cur(curthread->td_proc, RLIMIT_VMEM);
@@ -3290,6 +3291,7 @@ vm_map_growstack(struct proc *p, vm_offs
 	struct vmspace *vm = p->p_vmspace;
 	vm_map_t map = &vm->vm_map;
 	vm_offset_t end;
+	vm_size_t growsize;
 	size_t grow_amount, max_grow;
 	rlim_t stacklim, vmemlim;
 	int is_procstack, rv;
@@ -3393,8 +3395,9 @@ Retry:
 		return (KERN_NO_SPACE);
 	}
 
-	/* Round up the grow amount modulo SGROWSIZ */
-	grow_amount = roundup (grow_amount, sgrowsiz);
+	/* Round up the grow amount modulo sgrowsiz */
+	growsize = sgrowsiz;
+	grow_amount = roundup(grow_amount, growsize);
 	if (grow_amount > stack_entry->avail_ssize)
 		grow_amount = stack_entry->avail_ssize;
 	if (is_procstack && (ctob(vm->vm_ssize) + grow_amount > stacklim)) {

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 15:09:45 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 5F5E91065673;
	Fri, 14 Sep 2012 15:09:45 +0000 (UTC)
	(envelope-from pluknet@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 495FD8FC22;
	Fri, 14 Sep 2012 15:09:45 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8EF9jU2047793;
	Fri, 14 Sep 2012 15:09:45 GMT (envelope-from pluknet@svn.freebsd.org)
Received: (from pluknet@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8EF9jrC047791;
	Fri, 14 Sep 2012 15:09:45 GMT (envelope-from pluknet@svn.freebsd.org)
Message-Id: <201209141509.q8EF9jrC047791@svn.freebsd.org>
From: Sergey Kandaurov 
Date: Fri, 14 Sep 2012 15:09:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240503 - stable/9/share/man/man9
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 15:09:45 -0000

Author: pluknet
Date: Fri Sep 14 15:09:44 2012
New Revision: 240503
URL: http://svn.freebsd.org/changeset/base/240503

Log:
  MFC r239829:
    Follow r239818 and remove no more relevant vslock() ENOMEM error.

Modified:
  stable/9/share/man/man9/vslock.9
Directory Properties:
  stable/9/share/man/man9/   (props changed)

Modified: stable/9/share/man/man9/vslock.9
==============================================================================
--- stable/9/share/man/man9/vslock.9	Fri Sep 14 14:24:21 2012	(r240502)
+++ stable/9/share/man/man9/vslock.9	Fri Sep 14 15:09:44 2012	(r240503)
@@ -29,7 +29,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 10, 2004
+.Dd August 29, 2012
 .Dt VSLOCK 9
 .Os
 .Sh NAME
@@ -82,9 +82,6 @@ machine address space.
 .It Bq Er ENOMEM
 The size of the specified address range exceeds the system
 limit on locked memory.
-.It Bq Er ENOMEM
-Locking the requested address range would cause the process to exceed
-its per-process locked memory limit.
 .It Bq Er EFAULT
 Some portion of the indicated address range is not allocated.
 There was an error faulting/mapping a page.

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 15:10:00 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 039E310657F1;
	Fri, 14 Sep 2012 15:10:00 +0000 (UTC)
	(envelope-from pluknet@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id E24BC8FC08;
	Fri, 14 Sep 2012 15:09:59 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8EF9xXm047869;
	Fri, 14 Sep 2012 15:09:59 GMT (envelope-from pluknet@svn.freebsd.org)
Received: (from pluknet@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8EF9xb5047867;
	Fri, 14 Sep 2012 15:09:59 GMT (envelope-from pluknet@svn.freebsd.org)
Message-Id: <201209141509.q8EF9xb5047867@svn.freebsd.org>
From: Sergey Kandaurov 
Date: Fri, 14 Sep 2012 15:09:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
X-SVN-Group: stable-8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240504 - stable/8/share/man/man9
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 15:10:00 -0000

Author: pluknet
Date: Fri Sep 14 15:09:59 2012
New Revision: 240504
URL: http://svn.freebsd.org/changeset/base/240504

Log:
  MFC r239829:
    Follow r239818 and remove no more relevant vslock() ENOMEM error.

Modified:
  stable/8/share/man/man9/vslock.9
Directory Properties:
  stable/8/share/man/man9/   (props changed)

Modified: stable/8/share/man/man9/vslock.9
==============================================================================
--- stable/8/share/man/man9/vslock.9	Fri Sep 14 15:09:44 2012	(r240503)
+++ stable/8/share/man/man9/vslock.9	Fri Sep 14 15:09:59 2012	(r240504)
@@ -36,7 +36,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 10, 2004
+.Dd August 29, 2012
 .Dt VSLOCK 9
 .Os
 .Sh NAME
@@ -89,9 +89,6 @@ machine address space.
 .It Bq Er ENOMEM
 The size of the specified address range exceeds the system
 limit on locked memory.
-.It Bq Er ENOMEM
-Locking the requested address range would cause the process to exceed
-its per-process locked memory limit.
 .It Bq Er EFAULT
 Some portion of the indicated address range is not allocated.
 There was an error faulting/mapping a page.

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 18:44:24 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 01E771065670;
	Fri, 14 Sep 2012 18:44:24 +0000 (UTC)
	(envelope-from trociny@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id DFDAD8FC15;
	Fri, 14 Sep 2012 18:44:23 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8EIiNb8084412;
	Fri, 14 Sep 2012 18:44:23 GMT (envelope-from trociny@svn.freebsd.org)
Received: (from trociny@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8EIiNYo084411;
	Fri, 14 Sep 2012 18:44:23 GMT (envelope-from trociny@svn.freebsd.org)
Message-Id: <201209141844.q8EIiNYo084411@svn.freebsd.org>
From: Mikolaj Golub 
Date: Fri, 14 Sep 2012 18:44:23 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240509 - stable/9/lib/libprocstat
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 18:44:24 -0000

Author: trociny
Date: Fri Sep 14 18:44:23 2012
New Revision: 240509
URL: http://svn.freebsd.org/changeset/base/240509

Log:
  MFC r240080:
  
  Add __BEGIN_DECLS and __END_DECLS to make libprocstat more C++-friendly.
  
  Submitted by:	Daniel Dettlaff 

Modified:
  stable/9/lib/libprocstat/libprocstat.h
Directory Properties:
  stable/9/lib/libprocstat/   (props changed)

Modified: stable/9/lib/libprocstat/libprocstat.h
==============================================================================
--- stable/9/lib/libprocstat/libprocstat.h	Fri Sep 14 18:33:12 2012	(r240508)
+++ stable/9/lib/libprocstat/libprocstat.h	Fri Sep 14 18:44:23 2012	(r240509)
@@ -144,6 +144,7 @@ struct sockstat {
 
 STAILQ_HEAD(filestat_list, filestat);
 
+__BEGIN_DECLS
 void	procstat_close(struct procstat *procstat);
 void	procstat_freeprocs(struct procstat *procstat, struct kinfo_proc *p);
 void	procstat_freefiles(struct procstat *procstat,
@@ -164,5 +165,6 @@ int	procstat_get_vnode_info(struct procs
     struct vnstat *vn, char *errbuf);
 struct procstat	*procstat_open_sysctl(void);
 struct procstat	*procstat_open_kvm(const char *nlistf, const char *memf);
+__END_DECLS
 
 #endif	/* !_LIBPROCSTAT_H_ */

From owner-svn-src-stable@FreeBSD.ORG  Fri Sep 14 18:45:15 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 26B951065670;
	Fri, 14 Sep 2012 18:45:15 +0000 (UTC)
	(envelope-from trociny@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 0F7278FC08;
	Fri, 14 Sep 2012 18:45:15 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8EIjETS084607;
	Fri, 14 Sep 2012 18:45:14 GMT (envelope-from trociny@svn.freebsd.org)
Received: (from trociny@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8EIjElp084605;
	Fri, 14 Sep 2012 18:45:14 GMT (envelope-from trociny@svn.freebsd.org)
Message-Id: <201209141845.q8EIjElp084605@svn.freebsd.org>
From: Mikolaj Golub 
Date: Fri, 14 Sep 2012 18:45:14 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240510 - stable/9/usr.bin/procstat
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 14 Sep 2012 18:45:15 -0000

Author: trociny
Date: Fri Sep 14 18:45:14 2012
New Revision: 240510
URL: http://svn.freebsd.org/changeset/base/240510

Log:
  MFC r240081:
  
  Free memory allocated by procstat_getfiles(), which may make difference
  when procstat(1) is run with -a option.
  
  Submitted by:	Daniel Dettlaff 

Modified:
  stable/9/usr.bin/procstat/procstat_files.c
Directory Properties:
  stable/9/usr.bin/procstat/   (props changed)

Modified: stable/9/usr.bin/procstat/procstat_files.c
==============================================================================
--- stable/9/usr.bin/procstat/procstat_files.c	Fri Sep 14 18:44:23 2012	(r240509)
+++ stable/9/usr.bin/procstat/procstat_files.c	Fri Sep 14 18:45:14 2012	(r240510)
@@ -476,4 +476,5 @@ procstat_files(struct procstat *procstat
 
 		printf("\n");
 	}
+	procstat_freefiles(procstat, head);
 }

From owner-svn-src-stable@FreeBSD.ORG  Sat Sep 15 02:52:20 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 6ADD5106566C;
	Sat, 15 Sep 2012 02:52:20 +0000 (UTC)
	(envelope-from emaste@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 55DED8FC08;
	Sat, 15 Sep 2012 02:52:20 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8F2qKuf063577;
	Sat, 15 Sep 2012 02:52:20 GMT (envelope-from emaste@svn.freebsd.org)
Received: (from emaste@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8F2qKRb063575;
	Sat, 15 Sep 2012 02:52:20 GMT (envelope-from emaste@svn.freebsd.org)
Message-Id: <201209150252.q8F2qKRb063575@svn.freebsd.org>
From: Ed Maste 
Date: Sat, 15 Sep 2012 02:52:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240528 - stable/9/lib/libc/stdlib
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Sat, 15 Sep 2012 02:52:20 -0000

Author: emaste
Date: Sat Sep 15 02:52:19 2012
New Revision: 240528
URL: http://svn.freebsd.org/changeset/base/240528

Log:
  MFC r240410:
  
    Avoid mapping ENOENT to ENOTDIR for non-existent path components.
  
    The ENOTDIR mapping was introduced in r235266 for kern/128933 based on
    an interpretation of the somewhat ambiguous language in the POSIX realpath
    specification.  The interpretation is inconsistent with Solaris and Linux,
    a regression from 9.0, and does not appear to be permitted by the
    description of ENOTDIR:
  
         20 ENOTDIR Not a directory.  A component of the specified pathname
                 existed, but it was not a directory, when a directory was
                 expected.
  
  PR: standards/171577

Modified:
  stable/9/lib/libc/stdlib/realpath.c
Directory Properties:
  stable/9/lib/libc/   (props changed)

Modified: stable/9/lib/libc/stdlib/realpath.c
==============================================================================
--- stable/9/lib/libc/stdlib/realpath.c	Fri Sep 14 23:47:23 2012	(r240527)
+++ stable/9/lib/libc/stdlib/realpath.c	Sat Sep 15 02:52:19 2012	(r240528)
@@ -181,8 +181,6 @@ realpath(const char * __restrict path, c
 			return (NULL);
 		}
 		if (lstat(resolved, &sb) != 0) {
-			if (errno != ENOENT || p != NULL)
-				errno = ENOTDIR;
 			if (m)
 				free(resolved);
 			return (NULL);

From owner-svn-src-stable@FreeBSD.ORG  Sat Sep 15 02:58:03 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id F2D581065673;
	Sat, 15 Sep 2012 02:58:02 +0000 (UTC)
	(envelope-from emaste@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id DD8468FC1D;
	Sat, 15 Sep 2012 02:58:02 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8F2w2dv064595;
	Sat, 15 Sep 2012 02:58:02 GMT (envelope-from emaste@svn.freebsd.org)
Received: (from emaste@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8F2w2VT064592;
	Sat, 15 Sep 2012 02:58:02 GMT (envelope-from emaste@svn.freebsd.org)
Message-Id: <201209150258.q8F2w2VT064592@svn.freebsd.org>
From: Ed Maste 
Date: Sat, 15 Sep 2012 02:58:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240529 - stable/9/lib/libc/stdlib
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Sat, 15 Sep 2012 02:58:03 -0000

Author: emaste
Date: Sat Sep 15 02:58:02 2012
New Revision: 240529
URL: http://svn.freebsd.org/changeset/base/240529

Log:
  MFC r240412:
  
    According to a clarification at http://austingroupbugs.net/view.php?id=503
    ptsname may set errno, so avoid saving and restoring errno across the
    function.
  
  PR: standards/171572

Modified:
  stable/9/lib/libc/stdlib/ptsname.3
  stable/9/lib/libc/stdlib/ptsname.c
Directory Properties:
  stable/9/lib/libc/   (props changed)

Modified: stable/9/lib/libc/stdlib/ptsname.3
==============================================================================
--- stable/9/lib/libc/stdlib/ptsname.3	Sat Sep 15 02:52:19 2012	(r240528)
+++ stable/9/lib/libc/stdlib/ptsname.3	Sat Sep 15 02:58:02 2012	(r240529)
@@ -102,7 +102,8 @@ of the slave device on success; otherwis
 pointer is returned.
 .Sh ERRORS
 The
-.Fn grantpt
+.Fn grantpt ,
+.Fn ptsname
 and
 .Fn unlockpt
 functions may fail and set

Modified: stable/9/lib/libc/stdlib/ptsname.c
==============================================================================
--- stable/9/lib/libc/stdlib/ptsname.c	Sat Sep 15 02:52:19 2012	(r240528)
+++ stable/9/lib/libc/stdlib/ptsname.c	Sat Sep 15 02:58:02 2012	(r240529)
@@ -77,7 +77,6 @@ ptsname(int fildes)
 {
 	static char pt_slave[sizeof _PATH_DEV + SPECNAMELEN] = _PATH_DEV;
 	char *ret = NULL;
-	int sverrno = errno;
 
 	/* Make sure fildes points to a master device. */
 	if (__isptmaster(fildes) != 0)
@@ -87,7 +86,6 @@ ptsname(int fildes)
 	    sizeof pt_slave - (sizeof _PATH_DEV - 1)) != NULL)
 		ret = pt_slave;
 
-done:	/* Make sure ptsname() does not overwrite errno. */
-	errno = sverrno;
+done:
 	return (ret);
 }

From owner-svn-src-stable@FreeBSD.ORG  Sat Sep 15 17:47:45 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 3B976106566C;
	Sat, 15 Sep 2012 17:47:45 +0000 (UTC)
	(envelope-from andreast@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 258D38FC08;
	Sat, 15 Sep 2012 17:47:45 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8FHljh0098966;
	Sat, 15 Sep 2012 17:47:45 GMT
	(envelope-from andreast@svn.freebsd.org)
Received: (from andreast@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8FHlikD098964;
	Sat, 15 Sep 2012 17:47:44 GMT
	(envelope-from andreast@svn.freebsd.org)
Message-Id: <201209151747.q8FHlikD098964@svn.freebsd.org>
From: Andreas Tobler 
Date: Sat, 15 Sep 2012 17:47:44 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240533 - stable/9/sys/boot/common
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Sat, 15 Sep 2012 17:47:45 -0000

Author: andreast
Date: Sat Sep 15 17:47:44 2012
New Revision: 240533
URL: http://svn.freebsd.org/changeset/base/240533

Log:
  MFC: r240249
  Fix loading of kernel modules at boot time for powerpc64.
  
  Reported by:	Mathias Breuninger

Modified:
  stable/9/sys/boot/common/load_elf.c

Modified: stable/9/sys/boot/common/load_elf.c
==============================================================================
--- stable/9/sys/boot/common/load_elf.c	Sat Sep 15 17:32:19 2012	(r240532)
+++ stable/9/sys/boot/common/load_elf.c	Sat Sep 15 17:47:44 2012	(r240533)
@@ -588,7 +588,7 @@ fake_modname(const char *name)
     return fp;
 }
 
-#if defined(__i386__) && __ELF_WORD_SIZE == 64
+#if (defined(__i386__) || defined(__powerpc__)) && __ELF_WORD_SIZE == 64
 struct mod_metadata64 {
 	int		md_version;	/* structure version MDTV_* */  
 	int		md_type;	/* type of entry MDT_* */
@@ -601,7 +601,7 @@ int
 __elfN(parse_modmetadata)(struct preloaded_file *fp, elf_file_t ef)
 {
     struct mod_metadata md;
-#if defined(__i386__) && __ELF_WORD_SIZE == 64
+#if (defined(__i386__) || defined(__powerpc__)) && __ELF_WORD_SIZE == 64
     struct mod_metadata64 md64;
 #endif
     struct mod_depend *mdepend;
@@ -626,7 +626,7 @@ __elfN(parse_modmetadata)(struct preload
 	    v += ef->off;
 	else if (error != 0)
 	    return (error);
-#if defined(__i386__) && __ELF_WORD_SIZE == 64
+#if (defined(__i386__) || defined(__powerpc__)) && __ELF_WORD_SIZE == 64
 	COPYOUT(v, &md64, sizeof(md64));
 	error = __elfN(reloc_ptr)(fp, ef, v, &md64, sizeof(md64));
 	if (error == EOPNOTSUPP) {

From owner-svn-src-stable@FreeBSD.ORG  Sat Sep 15 18:53:01 2012
Return-Path: 
Delivered-To: svn-src-stable@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 72E551065675;
	Sat, 15 Sep 2012 18:53:01 +0000 (UTC) (envelope-from dim@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 5D3158FC08;
	Sat, 15 Sep 2012 18:53:01 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8FIr1fv009785;
	Sat, 15 Sep 2012 18:53:01 GMT (envelope-from dim@svn.freebsd.org)
Received: (from dim@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8FIr16a009782;
	Sat, 15 Sep 2012 18:53:01 GMT (envelope-from dim@svn.freebsd.org)
Message-Id: <201209151853.q8FIr16a009782@svn.freebsd.org>
From: Dimitry Andric 
Date: Sat, 15 Sep 2012 18:53:01 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
X-SVN-Group: stable-9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r240537 - in stable/9/usr.bin: mkcsmapper mkesdb
X-BeenThere: svn-src-stable@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: SVN commit messages for all the -stable branches of the src tree
	
List-Unsubscribe: , 
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Sat, 15 Sep 2012 18:53:01 -0000

Author: dim
Date: Sat Sep 15 18:53:00 2012
New Revision: 240537
URL: http://svn.freebsd.org/changeset/base/240537

Log:
  MFC r238197:
  
    Fix spelling
  
    PR:		bin/167480
    Submitted by:	zeising
    Approved by:	cperciva
  
  MFC r240365:
  
    Ensure mkcsmapper and mkesdb compile with clang, if WITH_ICONV is
    defined.
  
    PR:		bin/167481
    Submitted by:	zeising

Modified:
  stable/9/usr.bin/mkcsmapper/lex.l
  stable/9/usr.bin/mkesdb/lex.l
Directory Properties:
  stable/9/usr.bin/mkcsmapper/   (props changed)
  stable/9/usr.bin/mkesdb/   (props changed)

Modified: stable/9/usr.bin/mkcsmapper/lex.l
==============================================================================
--- stable/9/usr.bin/mkcsmapper/lex.l	Sat Sep 15 18:34:12 2012	(r240536)
+++ stable/9/usr.bin/mkcsmapper/lex.l	Sat Sep 15 18:53:00 2012	(r240537)
@@ -43,6 +43,7 @@
 
 int line_number = 1;
 %}
+%option	noinput
 %option	nounput
 
 %x	COMMENT
@@ -57,7 +58,7 @@ int line_number = 1;
 [\n]	{ line_number++; }
 .	{ }
 <>	{
-		yyerror("unexpected file end (unterminate comment)\n");
+		yyerror("unexpected file end (unterminated comment)\n");
 		exit(1);
 	}
 

Modified: stable/9/usr.bin/mkesdb/lex.l
==============================================================================
--- stable/9/usr.bin/mkesdb/lex.l	Sat Sep 15 18:34:12 2012	(r240536)
+++ stable/9/usr.bin/mkesdb/lex.l	Sat Sep 15 18:53:00 2012	(r240537)
@@ -45,6 +45,7 @@
 
 int line_number = 1;
 %}
+%option	noinput
 %option	nounput
 
 %x	COMMENT
@@ -59,7 +60,7 @@ int line_number = 1;
 [\n]	{ line_number++; }
 .	{ }
 <>	{
-		yyerror("unexpected file end (unterminate comment)\n");
+		yyerror("unexpected file end (unterminated comment)\n");
 		exit(1);
 	}