From owner-svn-src-all@freebsd.org Sun Apr 2 01:21:37 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6BD7FD1ECC6; Sun, 2 Apr 2017 01:21:37 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3CE1DE8D; Sun, 2 Apr 2017 01:21:37 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v321La98086029; Sun, 2 Apr 2017 01:21:36 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v321La1V086025; Sun, 2 Apr 2017 01:21:36 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201704020121.v321La1V086025@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Sun, 2 Apr 2017 01:21:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316380 - in head/sys: conf powerpc/conf powerpc/mpc85xx X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 01:21:37 -0000 Author: jhibbits Date: Sun Apr 2 01:21:35 2017 New Revision: 316380 URL: https://svnweb.freebsd.org/changeset/base/316380 Log: Add Freescale eSPI driver found on QorIQ SoCs Added: head/sys/powerpc/mpc85xx/fsl_espi.c (contents, props changed) Modified: head/sys/conf/files.powerpc head/sys/powerpc/conf/MPC85XX head/sys/powerpc/conf/MPC85XXSPE Modified: head/sys/conf/files.powerpc ============================================================================== --- head/sys/conf/files.powerpc Sat Apr 1 22:35:03 2017 (r316379) +++ head/sys/conf/files.powerpc Sun Apr 2 01:21:35 2017 (r316380) @@ -139,6 +139,7 @@ powerpc/mpc85xx/atpic.c optional mpc85x powerpc/mpc85xx/ds1553_bus_fdt.c optional ds1553 fdt powerpc/mpc85xx/ds1553_core.c optional ds1553 powerpc/mpc85xx/fsl_diu.c optional mpc85xx diu +powerpc/mpc85xx/fsl_espi.c optional mpc85xx spibus powerpc/mpc85xx/i2c.c optional iicbus fdt powerpc/mpc85xx/isa.c optional mpc85xx isa powerpc/mpc85xx/lbc.c optional mpc85xx Modified: head/sys/powerpc/conf/MPC85XX ============================================================================== --- head/sys/powerpc/conf/MPC85XX Sat Apr 1 22:35:03 2017 (r316379) +++ head/sys/powerpc/conf/MPC85XX Sun Apr 2 01:21:35 2017 (r316380) @@ -93,6 +93,8 @@ device random device scbus device scc device sec +device spibus +device spigen device tsec device dpaa device tun Modified: head/sys/powerpc/conf/MPC85XXSPE ============================================================================== --- head/sys/powerpc/conf/MPC85XXSPE Sat Apr 1 22:35:03 2017 (r316379) +++ head/sys/powerpc/conf/MPC85XXSPE Sun Apr 2 01:21:35 2017 (r316380) @@ -94,6 +94,8 @@ device scbus device scc device sdhci device sec +device spibus +device spigen device tsec device dpaa device tun Added: head/sys/powerpc/mpc85xx/fsl_espi.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/powerpc/mpc85xx/fsl_espi.c Sun Apr 2 01:21:35 2017 (r316380) @@ -0,0 +1,434 @@ +/*- + * Copyright (c) 2017 Justin Hibbits + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +#include +#include + +#include + +#include "spibus_if.h" + +/* TODO: + * + * Optimize FIFO reads and writes to do word-at-a-time instead of byte-at-a-time + */ +#define ESPI_SPMODE 0x0 +#define ESPI_SPMODE_EN 0x80000000 +#define ESPI_SPMODE_LOOP 0x40000000 +#define ESPI_SPMODE_HO_ADJ_M 0x00070000 +#define ESPI_SPMODE_TXTHR_M 0x00003f00 +#define ESPI_SPMODE_TXTHR_S 8 +#define ESPI_SPMODE_RXTHR_M 0x0000001f +#define ESPI_SPMODE_RXTHR_S 0 +#define ESPI_SPIE 0x4 +#define ESPI_SPIE_RXCNT_M 0x3f000000 +#define ESPI_SPIE_RXCNT_S 24 +#define ESPI_SPIE_TXCNT_M 0x003f0000 +#define ESPI_SPIE_TXCNT_S 16 +#define ESPI_SPIE_TXE 0x00008000 +#define ESPI_SPIE_DON 0x00004000 +#define ESPI_SPIE_RXT 0x00002000 +#define ESPI_SPIE_RXF 0x00001000 +#define ESPI_SPIE_TXT 0x00000800 +#define ESPI_SPIE_RNE 0x00000200 +#define ESPI_SPIE_TNF 0x00000100 +#define ESPI_SPIM 0x8 +#define ESPI_SPCOM 0xc +#define ESPI_SPCOM_CS_M 0xc0000000 +#define ESPI_SPCOM_CS_S 30 +#define ESPI_SPCOM_RXDELAY 0x20000000 +#define ESPI_SPCOM_DO 0x10000000 +#define ESPI_SPCOM_TO 0x08000000 +#define ESPI_SPCOM_HLD 0x04000000 +#define ESPI_SPCOM_RXSKIP_M 0x00ff0000 +#define ESPI_SPCOM_TRANLEN_M 0x0000ffff +#define ESPI_SPITF 0x10 +#define ESPI_SPIRF 0x14 +#define ESPI_SPMODE0 0x20 +#define ESPI_SPMODE1 0x24 +#define ESPI_SPMODE2 0x28 +#define ESPI_SPMODE3 0x2c +#define ESPI_CSMODE_CI 0x80000000 +#define ESPI_CSMODE_CP 0x40000000 +#define ESPI_CSMODE_REV 0x20000000 +#define ESPI_CSMODE_DIV16 0x10000000 +#define ESPI_CSMODE_PM_M 0x0f000000 +#define ESPI_CSMODE_PM_S 24 +#define ESPI_CSMODE_ODD 0x00800000 +#define ESPI_CSMODE_POL 0x00100000 +#define ESPI_CSMODE_LEN_M 0x000f0000 +#define ESPI_CSMODE_LEN(x) (x << 16) +#define ESPI_CSMODE_CSBEF_M 0x0000f000 +#define ESPI_CSMODE_CSAFT_M 0x00000f00 +#define ESPI_CSMODE_CSCG_M 0x000000f8 +#define ESPI_CSMODE_CSCG(x) (x << 3) +#define ESPI_CSMODE(n) (ESPI_SPMODE0 + n * 4) + +#define FSL_ESPI_WRITE(sc,off,val) bus_write_4(sc->sc_mem_res, off, val) +#define FSL_ESPI_READ(sc,off) bus_read_4(sc->sc_mem_res, off) +#define FSL_ESPI_WRITE_FIFO(sc,off,val) bus_write_1(sc->sc_mem_res, off, val) +#define FSL_ESPI_READ_FIFO(sc,off) bus_read_1(sc->sc_mem_res, off) + +#define FSL_ESPI_LOCK(_sc) \ + mtx_lock(&(_sc)->sc_mtx) +#define FSL_ESPI_UNLOCK(_sc) \ + mtx_unlock(&(_sc)->sc_mtx) + +struct fsl_espi_softc +{ + device_t sc_dev; + struct resource *sc_mem_res; + struct resource *sc_irq_res; + struct mtx sc_mtx; + int sc_num_cs; + struct spi_command *sc_cmd; + uint32_t sc_len; + uint32_t sc_read; + uint32_t sc_flags; +#define FSL_ESPI_BUSY 0x00000001 + uint32_t sc_written; + void * sc_intrhand; +}; + +static void fsl_espi_intr(void *); + +static int +fsl_espi_probe(device_t dev) +{ + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + if (!ofw_bus_is_compatible(dev, "fsl,mpc8536-espi")) + return (ENXIO); + + device_set_desc(dev, "Freescale eSPI controller"); + + return (BUS_PROBE_DEFAULT); +} + +static int +fsl_espi_attach(device_t dev) +{ + struct fsl_espi_softc *sc; + int rid; + phandle_t node; + + sc = device_get_softc(dev); + sc->sc_dev = dev; + node = ofw_bus_get_node(dev); + + rid = 0; + sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, + RF_ACTIVE); + if (!sc->sc_mem_res) { + device_printf(dev, "cannot allocate memory resource\n"); + return (ENXIO); + } + + rid = 0; + sc->sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, + RF_ACTIVE); + if (!sc->sc_irq_res) { + bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->sc_mem_res); + device_printf(dev, "cannot allocate interrupt\n"); + return (ENXIO); + } + + /* Hook up our interrupt handler. */ + if (bus_setup_intr(dev, sc->sc_irq_res, INTR_TYPE_MISC | INTR_MPSAFE, + NULL, fsl_espi_intr, sc, &sc->sc_intrhand)) { + bus_release_resource(dev, SYS_RES_IRQ, 0, sc->sc_irq_res); + bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->sc_mem_res); + device_printf(dev, "cannot setup the interrupt handler\n"); + return (ENXIO); + } + if (OF_getencprop(node, "fsl,espi-num-chipselects", + &sc->sc_num_cs, sizeof(sc->sc_num_cs)) < 0 ) + sc->sc_num_cs = 4; + + mtx_init(&sc->sc_mtx, "fsl_espi", NULL, MTX_DEF); + + /* Enable the SPI controller. */ + FSL_ESPI_WRITE(sc, ESPI_SPMODE, ESPI_SPMODE_EN | + (16 << ESPI_SPMODE_TXTHR_S) | (15 << ESPI_SPMODE_RXTHR_S)); + + /* Disable all interrupts until we start transfers */ + FSL_ESPI_WRITE(sc, ESPI_SPIM, 0); + + device_add_child(dev, "spibus", -1); + + return (bus_generic_attach(dev)); +} + +static int +fsl_espi_detach(device_t dev) +{ + struct fsl_espi_softc *sc; + + bus_generic_detach(dev); + + sc = device_get_softc(dev); + FSL_ESPI_WRITE(sc, ESPI_SPMODE, 0); + + sc = device_get_softc(dev); + mtx_destroy(&sc->sc_mtx); + if (sc->sc_intrhand) + bus_teardown_intr(dev, sc->sc_irq_res, sc->sc_intrhand); + if (sc->sc_irq_res) + bus_release_resource(dev, SYS_RES_IRQ, 0, sc->sc_irq_res); + if (sc->sc_mem_res) + bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->sc_mem_res); + + return (0); +} + +static void +fsl_espi_fill_fifo(struct fsl_espi_softc *sc) +{ + struct spi_command *cmd; + uint32_t spier, written; + uint8_t *data; + + cmd = sc->sc_cmd; + spier = FSL_ESPI_READ(sc, ESPI_SPIE); + while (sc->sc_written < sc->sc_len && + (spier & ESPI_SPIE_TNF)) { + data = (uint8_t *)cmd->tx_cmd; + written = sc->sc_written++; + if (written >= cmd->tx_cmd_sz) { + data = (uint8_t *)cmd->tx_data; + written -= cmd->tx_cmd_sz; + } + FSL_ESPI_WRITE_FIFO(sc, ESPI_SPITF, data[written]); + spier = FSL_ESPI_READ(sc, ESPI_SPIE); + } +} + +static void +fsl_espi_drain_fifo(struct fsl_espi_softc *sc) +{ + struct spi_command *cmd; + uint32_t spier, read; + uint8_t *data; + uint8_t r; + + cmd = sc->sc_cmd; + spier = FSL_ESPI_READ(sc, ESPI_SPIE); + while (sc->sc_read < sc->sc_len && (spier & ESPI_SPIE_RNE)) { + data = (uint8_t *)cmd->rx_cmd; + read = sc->sc_read++; + if (read >= cmd->rx_cmd_sz) { + data = (uint8_t *)cmd->rx_data; + read -= cmd->rx_cmd_sz; + } + r = FSL_ESPI_READ_FIFO(sc, ESPI_SPIRF); + data[read] = r; + spier = FSL_ESPI_READ(sc, ESPI_SPIE); + } +} + +static void +fsl_espi_intr(void *arg) +{ + struct fsl_espi_softc *sc; + uint32_t spie; + + sc = (struct fsl_espi_softc *)arg; + FSL_ESPI_LOCK(sc); + + /* Filter stray interrupts. */ + if ((sc->sc_flags & FSL_ESPI_BUSY) == 0) { + FSL_ESPI_UNLOCK(sc); + return; + } + spie = FSL_ESPI_READ(sc, ESPI_SPIE); + FSL_ESPI_WRITE(sc, ESPI_SPIE, spie); + + /* TX - Fill up the FIFO. */ + fsl_espi_fill_fifo(sc); + + /* RX - Drain the FIFO. */ + fsl_espi_drain_fifo(sc); + + /* Check for end of transfer. */ + if (spie & ESPI_SPIE_DON) + wakeup(sc->sc_dev); + + FSL_ESPI_UNLOCK(sc); +} + +static int +fsl_espi_transfer(device_t dev, device_t child, struct spi_command *cmd) +{ + struct fsl_espi_softc *sc; + u_long plat_clk; + uint32_t csmode, spi_clk, spi_mode; + int cs, err, pm; + + sc = device_get_softc(dev); + + KASSERT(cmd->tx_cmd_sz == cmd->rx_cmd_sz, + ("TX/RX command sizes should be equal")); + KASSERT(cmd->tx_data_sz == cmd->rx_data_sz, + ("TX/RX data sizes should be equal")); + + /* Restrict transmit length to command max length */ + if (cmd->tx_cmd_sz + cmd->tx_data_sz > ESPI_SPCOM_TRANLEN_M + 1) { + return (EINVAL); + } + + /* Get the proper chip select for this child. */ + spibus_get_cs(child, &cs); + if (cs < 0 || cs > sc->sc_num_cs) { + device_printf(dev, + "Invalid chip select %d requested by %s\n", cs, + device_get_nameunit(child)); + return (EINVAL); + } + spibus_get_clock(child, &spi_clk); + spibus_get_mode(child, &spi_mode); + + FSL_ESPI_LOCK(sc); + + /* If the controller is in use wait until it is available. */ + while (sc->sc_flags & FSL_ESPI_BUSY) + mtx_sleep(dev, &sc->sc_mtx, 0, "fsl_espi", 0); + + /* Now we have control over SPI controller. */ + sc->sc_flags = FSL_ESPI_BUSY; + + /* Save a pointer to the SPI command. */ + sc->sc_cmd = cmd; + sc->sc_read = 0; + sc->sc_written = 0; + sc->sc_len = cmd->tx_cmd_sz + cmd->tx_data_sz; + + plat_clk = mpc85xx_get_system_clock(); + spi_clk = max(spi_clk, plat_clk / (16 * 16)); + if (plat_clk == 0) { + device_printf(dev, + "unable to get platform clock, giving up.\n"); + return (EINVAL); + } + csmode = 0; + if (plat_clk > spi_clk * 16 * 2) { + csmode |= ESPI_CSMODE_DIV16; + plat_clk /= 16; + } + pm = howmany(plat_clk, spi_clk * 2) - 1; + if (pm < 0) + pm = 1; + if (pm > 15) + pm = 15; + + csmode |= (pm << ESPI_CSMODE_PM_S); + csmode |= ESPI_CSMODE_REV; + if (spi_mode == SPIBUS_MODE_CPOL || spi_mode == SPIBUS_MODE_CPOL_CPHA) + csmode |= ESPI_CSMODE_CI; + if (spi_mode == SPIBUS_MODE_CPHA || spi_mode == SPIBUS_MODE_CPOL_CPHA) + csmode |= ESPI_CSMODE_CP; + if (!(cs & SPIBUS_CS_HIGH)) + csmode |= ESPI_CSMODE_POL; + csmode |= ESPI_CSMODE_LEN(7);/* Only deal with 8-bit characters. */ + csmode |= ESPI_CSMODE_CSCG(1); /* XXX: Make this configurable? */ + /* Configure transaction */ + FSL_ESPI_WRITE(sc, ESPI_SPCOM, (cs << ESPI_SPCOM_CS_S) | (sc->sc_len - 1)); + FSL_ESPI_WRITE(sc, ESPI_CSMODE(cs), csmode); + /* Enable interrupts we need. */ + FSL_ESPI_WRITE(sc, ESPI_SPIM, + ESPI_SPIE_TXE | ESPI_SPIE_DON | ESPI_SPIE_RXF); + + /* Wait for the transaction to complete. */ + err = mtx_sleep(dev, &sc->sc_mtx, 0, "fsl_espi", hz * 2); + FSL_ESPI_WRITE(sc, ESPI_SPIM, 0); + + /* Release the controller and wakeup the next thread waiting for it. */ + sc->sc_flags = 0; + wakeup_one(dev); + FSL_ESPI_UNLOCK(sc); + + /* + * Check for transfer timeout. The SPI controller doesn't + * return errors. + */ + if (err == EWOULDBLOCK) { + device_printf(sc->sc_dev, "SPI error\n"); + err = EIO; + } + + return (err); +} + +static phandle_t +fsl_espi_get_node(device_t bus, device_t dev) +{ + + /* We only have one child, the SPI bus, which needs our own node. */ + return (ofw_bus_get_node(bus)); +} + +static device_method_t fsl_espi_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, fsl_espi_probe), + DEVMETHOD(device_attach, fsl_espi_attach), + DEVMETHOD(device_detach, fsl_espi_detach), + + /* SPI interface */ + DEVMETHOD(spibus_transfer, fsl_espi_transfer), + + /* ofw_bus interface */ + DEVMETHOD(ofw_bus_get_node, fsl_espi_get_node), + + DEVMETHOD_END +}; + +static devclass_t fsl_espi_devclass; + +static driver_t fsl_espi_driver = { + "spi", + fsl_espi_methods, + sizeof(struct fsl_espi_softc), +}; + +DRIVER_MODULE(fsl_espi, simplebus, fsl_espi_driver, fsl_espi_devclass, 0, 0); From owner-svn-src-all@freebsd.org Sun Apr 2 02:09:40 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E8FBBD1E94E; Sun, 2 Apr 2017 02:09:40 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B7DA56DD; Sun, 2 Apr 2017 02:09:40 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3229dTa003311; Sun, 2 Apr 2017 02:09:39 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3229d5l003310; Sun, 2 Apr 2017 02:09:39 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020209.v3229d5l003310@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 02:09:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316381 - stable/11/lib/libc/tests/iconv X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 02:09:41 -0000 Author: asomers Date: Sun Apr 2 02:09:39 2017 New Revision: 316381 URL: https://svnweb.freebsd.org/changeset/base/316381 Log: MFC r315032 Increase WARNS for iconv tests ATF tests have a default WARNS of 0, unlike other usermode programs. Reviewed by: ngie MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Differential Revision: https://reviews.freebsd.org/D9933 Modified: stable/11/lib/libc/tests/iconv/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/tests/iconv/Makefile ============================================================================== --- stable/11/lib/libc/tests/iconv/Makefile Sun Apr 2 01:21:35 2017 (r316380) +++ stable/11/lib/libc/tests/iconv/Makefile Sun Apr 2 02:09:39 2017 (r316381) @@ -3,5 +3,6 @@ TESTSDIR= ${TESTSBASE}/lib/libc/iconv ATF_TESTS_C+= iconvctl_test +WARNS?= 2 .include From owner-svn-src-all@freebsd.org Sun Apr 2 02:10:21 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2B1ADD1EA3D; Sun, 2 Apr 2017 02:10:21 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EF523886; Sun, 2 Apr 2017 02:10:20 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v322AK8E003441; Sun, 2 Apr 2017 02:10:20 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v322AKbF003440; Sun, 2 Apr 2017 02:10:20 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020210.v322AKbF003440@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 02:10:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316382 - stable/11/lib/libc/tests/nss X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 02:10:21 -0000 Author: asomers Date: Sun Apr 2 02:10:19 2017 New Revision: 316382 URL: https://svnweb.freebsd.org/changeset/base/316382 Log: MFC r315033 Increase WARNS for nss tests ATF tests have a default WARNS of 0, unlike other usermode programs. Reviewed by: ngie MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Differential Revision: https://reviews.freebsd.org/D9933 Modified: stable/11/lib/libc/tests/nss/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/tests/nss/Makefile ============================================================================== --- stable/11/lib/libc/tests/nss/Makefile Sun Apr 2 02:09:39 2017 (r316381) +++ stable/11/lib/libc/tests/nss/Makefile Sun Apr 2 02:10:19 2017 (r316382) @@ -10,6 +10,7 @@ BINDIR= ${TESTSDIR} ${PACKAGE}FILES+= mach +WARNS?= 1 CFLAGS+= -I${SRCTOP}/tests ATF_TESTS_C+= getaddrinfo_test From owner-svn-src-all@freebsd.org Sun Apr 2 02:11:14 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B6FC7D1EBEA; Sun, 2 Apr 2017 02:11:14 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 83610A2F; Sun, 2 Apr 2017 02:11:14 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v322BD6L004235; Sun, 2 Apr 2017 02:11:13 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v322BDv7004234; Sun, 2 Apr 2017 02:11:13 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020211.v322BDv7004234@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 02:11:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316383 - stable/11/lib/msun/tests X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 02:11:14 -0000 Author: asomers Date: Sun Apr 2 02:11:13 2017 New Revision: 316383 URL: https://svnweb.freebsd.org/changeset/base/316383 Log: MFC r315034 Document that the msun tests require WARNS=0 ATF tests have a default WARNS of 0, unlike other usermode programs. This change is technically a noop, but it documents that the msun tests don't work with any warnings enabled, at least not on all architectures. Reviewed by: ngie MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Differential Revision: https://reviews.freebsd.org/D9933 Modified: stable/11/lib/msun/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/msun/tests/Makefile ============================================================================== --- stable/11/lib/msun/tests/Makefile Sun Apr 2 02:10:19 2017 (r316382) +++ stable/11/lib/msun/tests/Makefile Sun Apr 2 02:11:13 2017 (r316383) @@ -4,6 +4,8 @@ TESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libm +WARNS?= 0 + # All architectures on FreeBSD have fenv.h CFLAGS+= -DHAVE_FENV_H From owner-svn-src-all@freebsd.org Sun Apr 2 02:11:54 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 550E8D1EC67; Sun, 2 Apr 2017 02:11:54 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 24D49BD7; Sun, 2 Apr 2017 02:11:54 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v322BrY0005100; Sun, 2 Apr 2017 02:11:53 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v322Br60005099; Sun, 2 Apr 2017 02:11:53 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020211.v322Br60005099@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 02:11:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316384 - stable/11/lib/libcrypt/tests X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 02:11:54 -0000 Author: asomers Date: Sun Apr 2 02:11:53 2017 New Revision: 316384 URL: https://svnweb.freebsd.org/changeset/base/316384 Log: MFC r315035 Increase WARNS for libcrypt tests ATF tests have a default WARNS of 0, unlike other usermode programs. Reviewed by: ngie, julian MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Differential Revision: https://reviews.freebsd.org/D9933 Modified: stable/11/lib/libcrypt/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libcrypt/tests/Makefile ============================================================================== --- stable/11/lib/libcrypt/tests/Makefile Sun Apr 2 02:11:13 2017 (r316383) +++ stable/11/lib/libcrypt/tests/Makefile Sun Apr 2 02:11:53 2017 (r316384) @@ -4,6 +4,7 @@ ATF_TESTS_C+= crypt_tests NETBSD_ATF_TESTS_C+= crypt_test +WARNS?= 6 CFLAGS+= -I${.CURDIR:H} LIBADD= crypt From owner-svn-src-all@freebsd.org Sun Apr 2 02:12:28 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B7CCFD1ECCC; Sun, 2 Apr 2017 02:12:28 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 89815EB4; Sun, 2 Apr 2017 02:12:28 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v322CR3n005221; Sun, 2 Apr 2017 02:12:27 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v322CRwH005220; Sun, 2 Apr 2017 02:12:27 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020212.v322CRwH005220@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 02:12:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316385 - stable/11/lib/libmp/tests X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 02:12:28 -0000 Author: asomers Date: Sun Apr 2 02:12:27 2017 New Revision: 316385 URL: https://svnweb.freebsd.org/changeset/base/316385 Log: MFC r315036 Increase WARNS for libmp tests ATF tests have a default WARNS of 0, unlike other usermode programs. Reviewed by: ngie, julian MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Differential Revision: https://reviews.freebsd.org/D9933 Modified: stable/11/lib/libmp/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libmp/tests/Makefile ============================================================================== --- stable/11/lib/libmp/tests/Makefile Sun Apr 2 02:11:53 2017 (r316384) +++ stable/11/lib/libmp/tests/Makefile Sun Apr 2 02:12:27 2017 (r316385) @@ -2,6 +2,7 @@ TAP_TESTS_C+= legacy_test +WARNS?= 3 LIBADD+= mp .include From owner-svn-src-all@freebsd.org Sun Apr 2 02:14:46 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3D847D1ED77; Sun, 2 Apr 2017 02:14:46 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0D6CE85; Sun, 2 Apr 2017 02:14:45 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v322EjoO007674; Sun, 2 Apr 2017 02:14:45 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v322EjDq007673; Sun, 2 Apr 2017 02:14:45 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020214.v322EjDq007673@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 02:14:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316386 - stable/11/lib/libproc/tests X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 02:14:46 -0000 Author: asomers Date: Sun Apr 2 02:14:44 2017 New Revision: 316386 URL: https://svnweb.freebsd.org/changeset/base/316386 Log: MFC r315038 Increase WARNS for libproc tests ATF tests have a default WARNS of 0, unlike other usermode programs. Reviewed by: ngie, julian MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Differential Revision: https://reviews.freebsd.org/D9933 Modified: stable/11/lib/libproc/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libproc/tests/Makefile ============================================================================== --- stable/11/lib/libproc/tests/Makefile Sun Apr 2 02:12:27 2017 (r316385) +++ stable/11/lib/libproc/tests/Makefile Sun Apr 2 02:14:44 2017 (r316386) @@ -6,6 +6,7 @@ PROGS= target_prog SRCS_target_prog= target_prog.c BINDIR_target_prog= ${TESTSDIR} +WARNS?= 6 LIBADD= elf proc rtld_db util # Ensure that symbols aren't stripped from the test program, as they're needed From owner-svn-src-all@freebsd.org Sun Apr 2 02:15:26 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B3540D1EDE0; Sun, 2 Apr 2017 02:15:26 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 824BC1C3; Sun, 2 Apr 2017 02:15:26 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v322FP5g007770; Sun, 2 Apr 2017 02:15:25 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v322FPcD007769; Sun, 2 Apr 2017 02:15:25 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020215.v322FPcD007769@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 02:15:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316387 - stable/11/lib/libutil/tests X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 02:15:26 -0000 Author: asomers Date: Sun Apr 2 02:15:25 2017 New Revision: 316387 URL: https://svnweb.freebsd.org/changeset/base/316387 Log: MFC r315039 Increase WARNS for libutil tests ATF tests have a default WARNS of 0, unlike other usermode programs. Reviewed by: ngie, julian MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Differential Revision: https://reviews.freebsd.org/D9933 Modified: stable/11/lib/libutil/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libutil/tests/Makefile ============================================================================== --- stable/11/lib/libutil/tests/Makefile Sun Apr 2 02:14:44 2017 (r316386) +++ stable/11/lib/libutil/tests/Makefile Sun Apr 2 02:15:25 2017 (r316387) @@ -9,6 +9,7 @@ TAP_TESTS_C+= pidfile_test TAP_TESTS_C+= trimdomain_test TAP_TESTS_C+= trimdomain-nodomain_test +WARNS?= 2 LIBADD+= util .include From owner-svn-src-all@freebsd.org Sun Apr 2 02:16:03 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7436FD1EE51; Sun, 2 Apr 2017 02:16:03 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 27B47327; Sun, 2 Apr 2017 02:16:03 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v322G2qx007858; Sun, 2 Apr 2017 02:16:02 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v322G1pw007855; Sun, 2 Apr 2017 02:16:01 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020216.v322G1pw007855@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 02:16:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316388 - in stable/11/libexec/rtld-elf/tests: . libpythagoras target X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 02:16:03 -0000 Author: asomers Date: Sun Apr 2 02:16:01 2017 New Revision: 316388 URL: https://svnweb.freebsd.org/changeset/base/316388 Log: MFC r315040 Increase WARNS for rtld-elf tests ATF tests have a default WARNS of 0, unlike other usermode programs. Reviewed by: ngie, julian MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Differential Revision: https://reviews.freebsd.org/D9933 Modified: stable/11/libexec/rtld-elf/tests/Makefile stable/11/libexec/rtld-elf/tests/libpythagoras/Makefile stable/11/libexec/rtld-elf/tests/target/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/libexec/rtld-elf/tests/Makefile ============================================================================== --- stable/11/libexec/rtld-elf/tests/Makefile Sun Apr 2 02:15:25 2017 (r316387) +++ stable/11/libexec/rtld-elf/tests/Makefile Sun Apr 2 02:16:01 2017 (r316388) @@ -4,5 +4,6 @@ SUBDIR+= libpythagoras target SUBDIR_DEPEND_target= libpythagoras ATF_TESTS_C= ld_library_pathfds +WARNS?= 3 .include Modified: stable/11/libexec/rtld-elf/tests/libpythagoras/Makefile ============================================================================== --- stable/11/libexec/rtld-elf/tests/libpythagoras/Makefile Sun Apr 2 02:15:25 2017 (r316387) +++ stable/11/libexec/rtld-elf/tests/libpythagoras/Makefile Sun Apr 2 02:16:01 2017 (r316388) @@ -10,6 +10,7 @@ SHLIBDIR= ${TESTSBASE}/libexec/rtld-elf SRCS= pythagoras.c +WARNS?= 6 LIBADD= m .include Modified: stable/11/libexec/rtld-elf/tests/target/Makefile ============================================================================== --- stable/11/libexec/rtld-elf/tests/target/Makefile Sun Apr 2 02:15:25 2017 (r316387) +++ stable/11/libexec/rtld-elf/tests/target/Makefile Sun Apr 2 02:16:01 2017 (r316388) @@ -5,6 +5,7 @@ PROG= target BINDIR= ${TESTSBASE}/libexec/rtld-elf +WARNS?= 3 CFLAGS+= -I${.CURDIR}/../libpythagoras LDFLAGS+= -L${.OBJDIR}/../libpythagoras From owner-svn-src-all@freebsd.org Sun Apr 2 02:16:40 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F19CDD1EEBE; Sun, 2 Apr 2017 02:16:40 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C17CD68A; Sun, 2 Apr 2017 02:16:40 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v322GdD6007941; Sun, 2 Apr 2017 02:16:39 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v322GdTu007940; Sun, 2 Apr 2017 02:16:39 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020216.v322GdTu007940@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 02:16:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316389 - stable/11/usr.sbin/pw/tests X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 02:16:41 -0000 Author: asomers Date: Sun Apr 2 02:16:39 2017 New Revision: 316389 URL: https://svnweb.freebsd.org/changeset/base/316389 Log: MFC r315041 Increase WARNS for pw tests ATF tests have a default WARNS of 0, unlike other usermode programs. Reviewed by: ngie, julian MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Differential Revision: https://reviews.freebsd.org/D9933 Modified: stable/11/usr.sbin/pw/tests/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/pw/tests/Makefile ============================================================================== --- stable/11/usr.sbin/pw/tests/Makefile Sun Apr 2 02:16:01 2017 (r316388) +++ stable/11/usr.sbin/pw/tests/Makefile Sun Apr 2 02:16:39 2017 (r316389) @@ -5,6 +5,7 @@ PACKAGE= tests BINDIR= ${TESTSDIR} PROGS+= crypt +WARNS?= 6 LIBADD+= crypt ATF_TESTS_SH= pw_etcdir_test \ From owner-svn-src-all@freebsd.org Sun Apr 2 03:00:52 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F3AAED28A31; Sun, 2 Apr 2017 03:00:51 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B555E1CD; Sun, 2 Apr 2017 03:00:51 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3230oti027531; Sun, 2 Apr 2017 03:00:50 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3230oep027529; Sun, 2 Apr 2017 03:00:50 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020300.v3230oep027529@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 03:00:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316390 - in stable/11: share/doc/pjdfstest tests/sys/pjdfstest/tests X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 03:00:52 -0000 Author: asomers Date: Sun Apr 2 03:00:50 2017 New Revision: 316390 URL: https://svnweb.freebsd.org/changeset/base/316390 Log: MFC r314056: Improve pjdfstest run instructions In the Kyua era, it's no longer necessary to set PJDFSTEST_TEST_PATH. Just use TMPDIR instead. Reviewed by: ngie MFC after: 3 weeks Relnotes: yes Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D9340 Modified: stable/11/share/doc/pjdfstest/README stable/11/tests/sys/pjdfstest/tests/conf Directory Properties: stable/11/ (props changed) Modified: stable/11/share/doc/pjdfstest/README ============================================================================== --- stable/11/share/doc/pjdfstest/README Sun Apr 2 02:16:39 2017 (r316389) +++ stable/11/share/doc/pjdfstest/README Sun Apr 2 03:00:50 2017 (r316390) @@ -1,6 +1,6 @@ -pjdfstest test suite execution is integrated into kyua. This README describes -how to use pjdfstest in the default configuration (kyua work directory), and -with a specific filesystem path. +The pjdfstest test suite is normally run by kyua. It requires kyua 0.11 or +newer. This README describes how to use pjdfstest in the default configuration +(kyua work directory), with a specific filesystem path, and with prove(1). Method 1. Executing with default configuration (kyua work directory) @@ -23,14 +23,17 @@ Method 2. Executing with a specific file 2. cd to the tests directory: % cd /usr/tests/sys/pjdfstest 3. Run kyua: - % env PJDFSTEST_TEST_PATH=/mnt kyua test + % env TMPDIR=/mnt kyua test - WARNING: the above method violates the test program isolation algorithm - described in kyua(1); as such, $PJDFSTEST_TEST_PATH must be cleaned up after - executing the testcases. - - It's highly recommended that $PJDFSTEST_TEST_PATH be pointed to a sandboxed - filesystem, e.g. a small UFS-formatted memory disk or ZFS dataset with - quotas enabled, so the filesystem can be easily destroyed after the test - execution is complete, and the testcases are properly bounded both in terms - of time and space. + Note that if HOME is undefined, this will result in kyua's logfile being + placed in TMPDIR, which may not be what you want. You can always use + --logfile to explicitly select the log location. + +Method 3. Executing pjdfstest with prove + + 1. Elevate privileges: + % su - + 2. cd to the temporary directory of your choice + % cd /mnt + 3. Invoke a specific test manually + % prove -rv /usr/tests/sys/pjdfstest/chmod/00 Modified: stable/11/tests/sys/pjdfstest/tests/conf ============================================================================== --- stable/11/tests/sys/pjdfstest/tests/conf Sun Apr 2 02:16:39 2017 (r316389) +++ stable/11/tests/sys/pjdfstest/tests/conf Sun Apr 2 03:00:50 2017 (r316390) @@ -2,13 +2,6 @@ # # $FreeBSD$ -: ${PJDFSTEST_TEST_PATH=.} -if ! cd ${PJDFSTEST_TEST_PATH}/; then - echo 'Please set PJDFSTEST_TEST_PATH to a valid filesystem path' - echo 'Bail out!' - exit 1 -fi - GREP=grep mountpoint=$(df . | tail -1 | awk '{print $6}') fs=$(mount -p | awk '$2 == "'$mountpoint'" { print toupper($3) }') From owner-svn-src-all@freebsd.org Sun Apr 2 03:08:26 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B3143D28EB5; Sun, 2 Apr 2017 03:08:26 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6873EE88; Sun, 2 Apr 2017 03:08:26 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3238PIN030353; Sun, 2 Apr 2017 03:08:25 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3238Phr030351; Sun, 2 Apr 2017 03:08:25 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704020308.v3238Phr030351@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sun, 2 Apr 2017 03:08:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316391 - in stable/11/sys/cddl/contrib/opensolaris/uts/common: fs/zfs sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 03:08:26 -0000 Author: asomers Date: Sun Apr 2 03:08:25 2017 New Revision: 316391 URL: https://svnweb.freebsd.org/changeset/base/316391 Log: MFC r313483: Fix setting birthtime in ZFS sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c * In zfs_freebsd_setattr, if the caller wants to set the birthtime, set the bits that zfs_settattr expects * In zfs_setattr, if XAT_CREATETIME is set, set xoa_createtime, expected by zfs_xvattr_set. The two levels of indirection seem excessive, but it minimizes diffs vs OpenZFS. * In zfs_setattr, check for overflow of va_birthtime (from delphij) * Remove red herring in zfs_getattr sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h * Un-booby-trap some macros New tests are under review at https://github.com/pjd/pjdfstest/pull/6 Reviewed by: avg MFC after: 3 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D9353 Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c stable/11/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Sun Apr 2 03:00:50 2017 (r316390) +++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Sun Apr 2 03:08:25 2017 (r316391) @@ -2797,15 +2797,6 @@ zfs_getattr(vnode_t *vp, vattr_t *vap, i zfs_sa_get_scanstamp(zp, xvap); } - if (XVA_ISSET_REQ(xvap, XAT_CREATETIME)) { - uint64_t times[2]; - - (void) sa_lookup(zp->z_sa_hdl, SA_ZPL_CRTIME(zfsvfs), - times, sizeof (times)); - ZFS_TIME_DECODE(&xoap->xoa_createtime, times); - XVA_SET_RTN(xvap, XAT_CREATETIME); - } - if (XVA_ISSET_REQ(xvap, XAT_REPARSE)) { xoap->xoa_reparse = ((zp->z_pflags & ZFS_REPARSE) != 0); XVA_SET_RTN(xvap, XAT_REPARSE); @@ -2967,6 +2958,11 @@ zfs_setattr(vnode_t *vp, vattr_t *vap, i return (SET_ERROR(EOVERFLOW)); } } + if (xoap && (mask & AT_XVATTR) && XVA_ISSET_REQ(xvap, XAT_CREATETIME) && + TIMESPEC_OVERFLOW(&vap->va_birthtime)) { + ZFS_EXIT(zfsvfs); + return (SET_ERROR(EOVERFLOW)); + } attrzp = NULL; aclp = NULL; @@ -3411,6 +3407,8 @@ zfs_setattr(vnode_t *vp, vattr_t *vap, i if (xoap && (mask & AT_XVATTR)) { + if (XVA_ISSET_REQ(xvap, XAT_CREATETIME)) + xoap->xoa_createtime = vap->va_birthtime; /* * restore trimmed off masks * so that return masks can be set for caller. @@ -5262,6 +5260,10 @@ zfs_freebsd_setattr(ap) xvap.xva_xoptattrs.xoa_sparse); #undef FLAG_CHANGE } + if (vap->va_birthtime.tv_sec != VNOVAL) { + xvap.xva_vattr.va_mask |= AT_XVATTR; + XVA_SET_REQ(&xvap, XAT_CREATETIME); + } return (zfs_setattr(vp, (vattr_t *)&xvap, 0, cred, NULL)); } Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h ============================================================================== --- stable/11/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h Sun Apr 2 03:00:50 2017 (r316390) +++ stable/11/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h Sun Apr 2 03:08:25 2017 (r316391) @@ -268,27 +268,30 @@ typedef struct xvattr { * XVA_SET_REQ() sets an attribute bit in the proper element in the bitmap * of requested attributes (xva_reqattrmap[]). */ -#define XVA_SET_REQ(xvap, attr) \ +#define XVA_SET_REQ(xvap, attr) { \ ASSERT((xvap)->xva_vattr.va_mask | AT_XVATTR); \ ASSERT((xvap)->xva_magic == XVA_MAGIC); \ - (xvap)->xva_reqattrmap[XVA_INDEX(attr)] |= XVA_ATTRBIT(attr) + (xvap)->xva_reqattrmap[XVA_INDEX(attr)] |= XVA_ATTRBIT(attr); \ +} /* * XVA_CLR_REQ() clears an attribute bit in the proper element in the bitmap * of requested attributes (xva_reqattrmap[]). */ -#define XVA_CLR_REQ(xvap, attr) \ +#define XVA_CLR_REQ(xvap, attr) { \ ASSERT((xvap)->xva_vattr.va_mask | AT_XVATTR); \ ASSERT((xvap)->xva_magic == XVA_MAGIC); \ - (xvap)->xva_reqattrmap[XVA_INDEX(attr)] &= ~XVA_ATTRBIT(attr) + (xvap)->xva_reqattrmap[XVA_INDEX(attr)] &= ~XVA_ATTRBIT(attr); \ +} /* * XVA_SET_RTN() sets an attribute bit in the proper element in the bitmap * of returned attributes (xva_rtnattrmap[]). */ -#define XVA_SET_RTN(xvap, attr) \ +#define XVA_SET_RTN(xvap, attr) { \ ASSERT((xvap)->xva_vattr.va_mask | AT_XVATTR); \ ASSERT((xvap)->xva_magic == XVA_MAGIC); \ - (XVA_RTNATTRMAP(xvap))[XVA_INDEX(attr)] |= XVA_ATTRBIT(attr) + (XVA_RTNATTRMAP(xvap))[XVA_INDEX(attr)] |= XVA_ATTRBIT(attr); \ +} /* * XVA_ISSET_REQ() checks the requested attribute bitmap (xva_reqattrmap[]) From owner-svn-src-all@freebsd.org Sun Apr 2 07:11:16 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8A088D2A36B; Sun, 2 Apr 2017 07:11:16 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5BC5389E; Sun, 2 Apr 2017 07:11:16 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v327BFtr029001; Sun, 2 Apr 2017 07:11:15 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v327BFTh029000; Sun, 2 Apr 2017 07:11:15 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704020711.v327BFTh029000@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 2 Apr 2017 07:11:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316392 - stable/11/sys/x86/iommu X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 07:11:16 -0000 Author: kib Date: Sun Apr 2 07:11:15 2017 New Revision: 316392 URL: https://svnweb.freebsd.org/changeset/base/316392 Log: MFC r315968: Provide less laborius way to enable busdma DMAR to only short list of devices. Modified: stable/11/sys/x86/iommu/busdma_dmar.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/x86/iommu/busdma_dmar.c ============================================================================== --- stable/11/sys/x86/iommu/busdma_dmar.c Sun Apr 2 03:08:25 2017 (r316391) +++ stable/11/sys/x86/iommu/busdma_dmar.c Sun Apr 2 07:11:15 2017 (r316392) @@ -74,14 +74,34 @@ static bool dmar_bus_dma_is_dev_disabled(int domain, int bus, int slot, int func) { char str[128], *env; + int default_bounce; + bool ret; + static const char bounce_str[] = "bounce"; + static const char dmar_str[] = "dmar"; + + default_bounce = 0; + env = kern_getenv("hw.busdma.default"); + if (env != NULL) { + if (strcmp(env, bounce_str) == 0) + default_bounce = 1; + else if (strcmp(env, dmar_str) == 0) + default_bounce = 0; + freeenv(env); + } - snprintf(str, sizeof(str), "hw.busdma.pci%d.%d.%d.%d.bounce", + snprintf(str, sizeof(str), "hw.busdma.pci%d.%d.%d.%d", domain, bus, slot, func); env = kern_getenv(str); if (env == NULL) - return (false); + return (default_bounce != 0); + if (strcmp(env, bounce_str) == 0) + ret = true; + else if (strcmp(env, dmar_str) == 0) + ret = false; + else + ret = default_bounce != 0; freeenv(env); - return (true); + return (ret); } /* From owner-svn-src-all@freebsd.org Sun Apr 2 07:46:14 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5D21DD2ACD4; Sun, 2 Apr 2017 07:46:14 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2F10F900; Sun, 2 Apr 2017 07:46:14 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v327kD4i042841; Sun, 2 Apr 2017 07:46:13 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v327kDSN042840; Sun, 2 Apr 2017 07:46:13 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201704020746.v327kDSN042840@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 2 Apr 2017 07:46:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316393 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 07:46:14 -0000 Author: dchagin Date: Sun Apr 2 07:46:13 2017 New Revision: 316393 URL: https://svnweb.freebsd.org/changeset/base/316393 Log: As noted by bde@ negative tv_sec values are not checked for overflow, so overflow can still occur. Fix that. Also remove the extra check for tv_sec size as under COMPAT_LINUX32 it is always true. Pointed out by: bde@ MFC after: 1 week Modified: head/sys/compat/linux/linux_time.c Modified: head/sys/compat/linux/linux_time.c ============================================================================== --- head/sys/compat/linux/linux_time.c Sun Apr 2 07:11:15 2017 (r316392) +++ head/sys/compat/linux/linux_time.c Sun Apr 2 07:46:13 2017 (r316393) @@ -125,8 +125,7 @@ native_to_linux_timespec(struct l_timesp LIN_SDT_PROBE2(time, native_to_linux_timespec, entry, ltp, ntp); #ifdef COMPAT_LINUX32 - if (ntp->tv_sec > INT_MAX && - sizeof(ltp->tv_sec) != sizeof(ntp->tv_sec)) + if (ntp->tv_sec > INT_MAX || ntp->tv_sec < INT_MIN) return (EOVERFLOW); #endif ltp->tv_sec = ntp->tv_sec; From owner-svn-src-all@freebsd.org Sun Apr 2 07:47:29 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 71300D2AD47; Sun, 2 Apr 2017 07:47:29 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 41845A47; Sun, 2 Apr 2017 07:47:29 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v327lSoQ042970; Sun, 2 Apr 2017 07:47:28 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v327lS5p042969; Sun, 2 Apr 2017 07:47:28 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201704020747.v327lS5p042969@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 2 Apr 2017 07:47:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316394 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 07:47:29 -0000 Author: dchagin Date: Sun Apr 2 07:47:28 2017 New Revision: 316394 URL: https://svnweb.freebsd.org/changeset/base/316394 Log: The value in the tv_nsec field should be in the range 0 to 999999999. Pointed out by: bde@ MFC after: 1 week Modified: head/sys/compat/linux/linux_time.c Modified: head/sys/compat/linux/linux_time.c ============================================================================== --- head/sys/compat/linux/linux_time.c Sun Apr 2 07:46:13 2017 (r316393) +++ head/sys/compat/linux/linux_time.c Sun Apr 2 07:47:28 2017 (r316394) @@ -141,7 +141,7 @@ linux_to_native_timespec(struct timespec LIN_SDT_PROBE2(time, linux_to_native_timespec, entry, ntp, ltp); - if (ltp->tv_sec < 0 || (l_ulong)ltp->tv_nsec > 999999999L) { + if (ltp->tv_sec < 0 || ltp->tv_nsec < 0 || ltp->tv_nsec > 999999999) { LIN_SDT_PROBE1(time, linux_to_native_timespec, return, EINVAL); return (EINVAL); } From owner-svn-src-all@freebsd.org Sun Apr 2 07:49:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 660E9D2ADE3; Sun, 2 Apr 2017 07:49:06 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 37A84C92; Sun, 2 Apr 2017 07:49:06 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v327n5WE043294; Sun, 2 Apr 2017 07:49:05 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v327n5Nr043293; Sun, 2 Apr 2017 07:49:05 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201704020749.v327n5Nr043293@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 2 Apr 2017 07:49:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316395 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 07:49:06 -0000 Author: dchagin Date: Sun Apr 2 07:49:05 2017 New Revision: 316395 URL: https://svnweb.freebsd.org/changeset/base/316395 Log: Remove excess tv_nsec test as this is done by linux_to_native_timespec(). MFC after: 1 week Modified: head/sys/compat/linux/linux_futex.c Modified: head/sys/compat/linux/linux_futex.c ============================================================================== --- head/sys/compat/linux/linux_futex.c Sun Apr 2 07:47:28 2017 (r316394) +++ head/sys/compat/linux/linux_futex.c Sun Apr 2 07:49:05 2017 (r316395) @@ -294,9 +294,6 @@ futex_copyin_timeout(int op, struct l_ti error = linux_to_native_timespec(ts, <s); if (error) return (error); - if (ts->tv_nsec < 0 || ts->tv_nsec >= 1000000000) - return (EINVAL); - if (clockrt) { nanotime(&kts); timespecsub(ts, &kts); From owner-svn-src-all@freebsd.org Sun Apr 2 08:39:33 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 842F5D2A053; Sun, 2 Apr 2017 08:39:33 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 613F1D20; Sun, 2 Apr 2017 08:39:33 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v328dWgr064422; Sun, 2 Apr 2017 08:39:32 GMT (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v328dWrF064421; Sun, 2 Apr 2017 08:39:32 GMT (envelope-from bde@FreeBSD.org) Message-Id: <201704020839.v328dWrF064421@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bde set sender to bde@FreeBSD.org using -f From: Bruce Evans Date: Sun, 2 Apr 2017 08:39:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316396 - head/sys/dev/fb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 08:39:33 -0000 Author: bde Date: Sun Apr 2 08:39:32 2017 New Revision: 316396 URL: https://svnweb.freebsd.org/changeset/base/316396 Log: Reset the DAC to 6-bit mode before calling the BIOS to set the screen mode. This works around bugs in at least 2 Intel BIOSes for our subsequent setting of the DAC back to 8-bit mode. The bug caused dark (mostly 1/4-intensity) colors for all except the first setting to a VESA graphics mode (including for settings to the current mode). Remove restoration (with less bits) of the palette in vesa_unload() after resetting the DAC to 6-bit mode. Depend on the BIOS to keep the palette consistent with the DAC for the simpler reset case like we do everywhere else in places that are actually important. Setting the video mode should reset everything to defaults, although we usually don't want that. Even the buggy BIOSes set the DAC to the default 6-bit mode, and set the palette to a default that matches the DAC. We don't undo the reset for most things, but we do undo it for the DAC (more precisely, we change to an 8-bit DAC if possible, and this is the only way that we set to an 8-bit DAC; it is accidental that if the DAC was in 8-bit mode from a previous mode switch then setting it to 8-bit mode is an undo). The buggy BIOSes are confused by our setting of the DAC to 8-bit mode in the "undo" case. They should multiply palette entries by 4 to match, but they actually leave all palette entries except #2 (green) and #248-255 (unused) untouched. Green is mysteriously scaled from 0x2a to 0x6a, and #248-255 are scaled correctly. Our support for the 8-bit DAC had almost no effect except to enable bugs. Syscons barely supports 16 colors, so it doesn't benefit much from having a palette with 16 million colors instead of only 256K. Applications can manage the palette using FBIO_{GET,SET}PALETTE, but the palette managed by this is only used in the less interesting modes (text and non-truecolor graphics modes up to 8 bits wide), and the kernel loses the changes on any mode switch (including to another vt in a different mode). Modified: head/sys/dev/fb/vesa.c Modified: head/sys/dev/fb/vesa.c ============================================================================== --- head/sys/dev/fb/vesa.c Sun Apr 2 07:49:05 2017 (r316395) +++ head/sys/dev/fb/vesa.c Sun Apr 2 08:39:32 2017 (r316396) @@ -1322,6 +1322,16 @@ vesa_set_mode(video_adapter_t *adp, int #if VESA_DEBUG > 0 printf("VESA: about to set a VESA mode...\n"); #endif + /* + * The mode change should reset the palette format to 6 bits, so + * we must reset V_ADP_DAC8. Some BIOSes do an incomplete reset + * if we call them with an 8-bit palette, so reset directly. + */ + if (adp->va_flags & V_ADP_DAC8) { + vesa_bios_set_dac(6); + adp->va_flags &= ~V_ADP_DAC8; + } + /* don't use the linear frame buffer for text modes. XXX */ if (!(info.vi_flags & V_INFO_GRAPHICS)) info.vi_flags &= ~V_INFO_LINEAR; @@ -1331,9 +1341,6 @@ vesa_set_mode(video_adapter_t *adp, int if (vesa_bios_set_mode(mode | 0x8000)) return (1); - /* Palette format is reset by the above VBE function call. */ - adp->va_flags &= ~V_ADP_DAC8; - if ((vesa_adp_info->v_flags & V_DAC8) != 0 && (info.vi_flags & V_INFO_GRAPHICS) != 0 && vesa_bios_set_dac(8) > 6) @@ -1928,7 +1935,6 @@ vesa_load(void) static int vesa_unload(void) { - u_char palette[256*3]; int error; /* if the adapter is currently in a VESA mode, don't unload */ @@ -1942,10 +1948,8 @@ vesa_unload(void) if ((error = vesa_unload_ioctl()) == 0) { if (vesa_adp != NULL) { if ((vesa_adp->va_flags & V_ADP_DAC8) != 0) { - vesa_bios_save_palette(0, 256, palette, 8); vesa_bios_set_dac(6); vesa_adp->va_flags &= ~V_ADP_DAC8; - vesa_bios_load_palette(0, 256, palette, 6); } vesa_adp->va_flags &= ~V_ADP_VESA; vidsw[vesa_adp->va_index] = prevvidsw; From owner-svn-src-all@freebsd.org Sun Apr 2 09:24:59 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6B3B1D2946C; Sun, 2 Apr 2017 09:24:59 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2B6DF25C; Sun, 2 Apr 2017 09:24:59 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v329Owmn003266; Sun, 2 Apr 2017 09:24:58 GMT (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v329Owlx003265; Sun, 2 Apr 2017 09:24:58 GMT (envelope-from bde@FreeBSD.org) Message-Id: <201704020924.v329Owlx003265@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bde set sender to bde@FreeBSD.org using -f From: Bruce Evans Date: Sun, 2 Apr 2017 09:24:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316397 - head/tests/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 09:24:59 -0000 Author: bde Date: Sun Apr 2 09:24:58 2017 New Revision: 316397 URL: https://svnweb.freebsd.org/changeset/base/316397 Log: Remove the unportable -msse4 here too after fixing crc32_sse42.c to not depend on it. This should have been part of r315983. Modified: head/tests/sys/kern/Makefile Modified: head/tests/sys/kern/Makefile ============================================================================== --- head/tests/sys/kern/Makefile Sun Apr 2 08:39:32 2017 (r316396) +++ head/tests/sys/kern/Makefile Sun Apr 2 09:24:58 2017 (r316397) @@ -32,7 +32,7 @@ LIBADD.mqueue_test+= rt .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" ATF_TESTS_C+= libkern_crc32 -CFLAGS.libkern_crc32+= -msse4 -DUSERSPACE_TESTING +CFLAGS.libkern_crc32+= -DUSERSPACE_TESTING LDADD.libkern_crc32+= ${SRCTOP}/sys/libkern/x86/crc32_sse42.c .endif From owner-svn-src-all@freebsd.org Sun Apr 2 10:50:51 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5E7E8D1D13E; Sun, 2 Apr 2017 10:50:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 365C6CFA; Sun, 2 Apr 2017 10:50:51 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32AoooR037422; Sun, 2 Apr 2017 10:50:50 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32Aonmw037415; Sun, 2 Apr 2017 10:50:49 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021050.v32Aonmw037415@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:50:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316398 - stable/11/sys/dev/isp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:50:51 -0000 Author: mav Date: Sun Apr 2 10:50:49 2017 New Revision: 316398 URL: https://svnweb.freebsd.org/changeset/base/316398 Log: MFC r315579, r315670: Add initial support for multiple MSI-X vectors. For 24xx and above use 2 vectors (default and response queue). For 26xx and above use 3 vectors (default, response and ATIO queues). Due to global lock interrupt hardlers never run simultaneously now, but at least this allows to save one regitster read per interrupt. Modified: stable/11/sys/dev/isp/isp.c stable/11/sys/dev/isp/isp_freebsd.c stable/11/sys/dev/isp/isp_freebsd.h stable/11/sys/dev/isp/isp_pci.c stable/11/sys/dev/isp/isp_sbus.c stable/11/sys/dev/isp/ispmbox.h stable/11/sys/dev/isp/ispvar.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/isp/isp.c ============================================================================== --- stable/11/sys/dev/isp/isp.c Sun Apr 2 09:24:58 2017 (r316397) +++ stable/11/sys/dev/isp/isp.c Sun Apr 2 10:50:49 2017 (r316398) @@ -2089,7 +2089,7 @@ isp_fibre_init_2400(ispsoftc_t *isp) } if (IS_26XX(isp)) { - /* We don't support MSI-X yet, so set this unconditionally. */ + /* Use handshake to reduce global lock congestion. */ icbp->icb_fwoptions2 |= ICB2400_OPT2_ENA_IHR; icbp->icb_fwoptions2 |= ICB2400_OPT2_ENA_IHA; } @@ -2187,6 +2187,12 @@ isp_fibre_init_2400(ispsoftc_t *isp) DMA_WD1(isp->isp_atioq_dma), DMA_WD0(isp->isp_atioq_dma)); #endif + if (ISP_CAP_MSIX(isp) && isp->isp_nirq >= 2) { + icbp->icb_msixresp = 1; + if (IS_26XX(isp) && isp->isp_nirq >= 3) + icbp->icb_msixatio = 2; + } + isp_prt(isp, ISP_LOGDEBUG0, "isp_fibre_init_2400: fwopt1 0x%x fwopt2 0x%x fwopt3 0x%x", icbp->icb_fwoptions1, icbp->icb_fwoptions2, icbp->icb_fwoptions3); isp_prt(isp, ISP_LOGDEBUG0, "isp_fibre_init_2400: rqst %04x%04x%04x%04x rsp %04x%04x%04x%04x", DMA_WD3(isp->isp_rquest_dma), DMA_WD2(isp->isp_rquest_dma), Modified: stable/11/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/11/sys/dev/isp/isp_freebsd.c Sun Apr 2 09:24:58 2017 (r316397) +++ stable/11/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:50:49 2017 (r316398) @@ -4160,6 +4160,34 @@ isp_platform_intr(void *arg) } void +isp_platform_intr_resp(void *arg) +{ + ispsoftc_t *isp = arg; + + ISP_LOCK(isp); + isp_intr_respq(isp); + ISP_UNLOCK(isp); + + /* We have handshake enabled, so explicitly complete interrupt */ + ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_CLEAR_RISC_INT); +} + +void +isp_platform_intr_atio(void *arg) +{ + ispsoftc_t *isp = arg; + + ISP_LOCK(isp); +#ifdef ISP_TARGET_MODE + isp_intr_atioq(isp); +#endif + ISP_UNLOCK(isp); + + /* We have handshake enabled, so explicitly complete interrupt */ + ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_CLEAR_RISC_INT); +} + +void isp_common_dmateardown(ispsoftc_t *isp, struct ccb_scsiio *csio, uint32_t hdl) { if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { Modified: stable/11/sys/dev/isp/isp_freebsd.h ============================================================================== --- stable/11/sys/dev/isp/isp_freebsd.h Sun Apr 2 09:24:58 2017 (r316397) +++ stable/11/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:50:49 2017 (r316398) @@ -722,6 +722,8 @@ void isp_mbox_release(ispsoftc_t *); int isp_fc_scratch_acquire(ispsoftc_t *, int); int isp_mstohz(int); void isp_platform_intr(void *); +void isp_platform_intr_resp(void *); +void isp_platform_intr_atio(void *); void isp_common_dmateardown(ispsoftc_t *, struct ccb_scsiio *, uint32_t); void isp_fcp_reset_crn(ispsoftc_t *, int, uint32_t, int); int isp_fcp_next_crn(ispsoftc_t *, uint8_t *, XS_T *); @@ -734,8 +736,6 @@ int isp_fcp_next_crn(ispsoftc_t *, uint8 bus_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, \ busdma_lock_mutex, &isp->isp_osinfo.lock, z) -#define isp_setup_intr bus_setup_intr - #define isp_sim_alloc(a, b, c, d, e, f, g, h) \ cam_sim_alloc(a, b, c, d, e, &(d)->isp_osinfo.lock, f, g, h) Modified: stable/11/sys/dev/isp/isp_pci.c ============================================================================== --- stable/11/sys/dev/isp/isp_pci.c Sun Apr 2 09:24:58 2017 (r316397) +++ stable/11/sys/dev/isp/isp_pci.c Sun Apr 2 10:50:49 2017 (r316398) @@ -364,15 +364,17 @@ struct isp_pcisoftc { struct resource * regs; struct resource * regs1; struct resource * regs2; - void * irq; - int iqd; + struct { + int iqd; + struct resource * irq; + void * ih; + } irq[ISP_MAX_IRQS]; int rtp; int rgd; int rtp1; int rgd1; int rtp2; int rgd2; - void * ih; int16_t pci_poff[_NREG_BLKS]; bus_dma_tag_t dmat; int msicount; @@ -691,8 +693,8 @@ isp_pci_attach(device_t dev) isp_get_generic_options(dev, isp); linesz = PCI_DFLT_LNSZ; - pcs->irq = pcs->regs = pcs->regs2 = NULL; - pcs->rgd = pcs->rtp = pcs->iqd = 0; + pcs->regs = pcs->regs2 = NULL; + pcs->rgd = pcs->rtp = 0; pcs->pci_dev = dev; pcs->pci_poff[BIU_BLOCK >> _BLK_REG_SHFT] = BIU_REGS_OFF; @@ -932,41 +934,6 @@ isp_pci_attach(device_t dev) data &= ~1; pci_write_config(dev, PCIR_ROMADDR, data, 4); - if (IS_26XX(isp)) { - /* 26XX chips support only MSI-X, so start from them. */ - pcs->msicount = imin(pci_msix_count(dev), 1); - if (pcs->msicount > 0 && - (i = pci_alloc_msix(dev, &pcs->msicount)) == 0) { - pcs->iqd = 1; - } else { - pcs->msicount = 0; - } - } - if (pcs->msicount == 0 && (IS_24XX(isp) || IS_2322(isp))) { - /* - * Older chips support both MSI and MSI-X, but I have - * feeling that older firmware may not support MSI-X, - * but we have no way to check the firmware flag here. - */ - pcs->msicount = imin(pci_msi_count(dev), 1); - if (pcs->msicount > 0 && - pci_alloc_msi(dev, &pcs->msicount) == 0) { - pcs->iqd = 1; - } else { - pcs->msicount = 0; - } - } - pcs->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &pcs->iqd, RF_ACTIVE | RF_SHAREABLE); - if (pcs->irq == NULL) { - device_printf(dev, "could not allocate interrupt\n"); - goto bad; - } - - if (isp_setup_intr(dev, pcs->irq, ISP_IFLAGS, NULL, isp_platform_intr, isp, &pcs->ih)) { - device_printf(dev, "could not setup interrupt\n"); - goto bad; - } - /* * Last minute checks... */ @@ -992,11 +959,10 @@ isp_pci_attach(device_t dev) return (0); bad: - if (pcs->ih) { - (void) bus_teardown_intr(dev, pcs->irq, pcs->ih); - } - if (pcs->irq) { - (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->iqd, pcs->irq); + for (i = 0; i < isp->isp_nirq; i++) { + (void) bus_teardown_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih); + (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->irq[i].iqd, + pcs->irq[0].irq); } if (pcs->msicount) { pci_release_msi(dev); @@ -1024,7 +990,7 @@ isp_pci_detach(device_t dev) { struct isp_pcisoftc *pcs = device_get_softc(dev); ispsoftc_t *isp = &pcs->pci_isp; - int status; + int i, status; status = isp_detach(isp); if (status) @@ -1032,9 +998,11 @@ isp_pci_detach(device_t dev) ISP_LOCK(isp); isp_shutdown(isp); ISP_UNLOCK(isp); - if (pcs->ih) - (void) bus_teardown_intr(dev, pcs->irq, pcs->ih); - (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->iqd, pcs->irq); + for (i = 0; i < isp->isp_nirq; i++) { + (void) bus_teardown_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih); + (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->irq[i].iqd, + pcs->irq[i].irq); + } if (pcs->msicount) pci_release_msi(dev); (void) bus_release_resource(dev, pcs->rtp, pcs->rgd, pcs->regs); @@ -2077,8 +2045,59 @@ isp_pci_dmasetup(ispsoftc_t *isp, struct static int isp_pci_irqsetup(ispsoftc_t *isp) { + device_t dev = isp->isp_osinfo.dev; + struct isp_pcisoftc *pcs = device_get_softc(dev); + driver_intr_t *f; + int i, max_irq; - return (0); + /* Allocate IRQs only once. */ + if (isp->isp_nirq > 0) + return (0); + + ISP_UNLOCK(isp); + if (ISP_CAP_MSIX(isp)) { + max_irq = min(ISP_MAX_IRQS, IS_26XX(isp) ? 3 : 2); + pcs->msicount = imin(pci_msix_count(dev), max_irq); + if (pcs->msicount > 0 && + pci_alloc_msix(dev, &pcs->msicount) != 0) + pcs->msicount = 0; + } + if (pcs->msicount == 0) { + pcs->msicount = imin(pci_msi_count(dev), 1); + if (pcs->msicount > 0 && + pci_alloc_msi(dev, &pcs->msicount) != 0) + pcs->msicount = 0; + } + for (i = 0; i < MAX(1, pcs->msicount); i++) { + pcs->irq[i].iqd = i + (pcs->msicount > 0); + pcs->irq[i].irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, + &pcs->irq[i].iqd, RF_ACTIVE | RF_SHAREABLE); + if (pcs->irq[i].irq == NULL) { + device_printf(dev, "could not allocate interrupt\n"); + break; + } + if (i == 0) + f = isp_platform_intr; + else if (i == 1) + f = isp_platform_intr_resp; + else + f = isp_platform_intr_atio; + if (bus_setup_intr(dev, pcs->irq[i].irq, ISP_IFLAGS, NULL, + f, isp, &pcs->irq[i].ih)) { + device_printf(dev, "could not setup interrupt\n"); + (void) bus_release_resource(dev, SYS_RES_IRQ, + pcs->irq[i].iqd, pcs->irq[i].irq); + break; + } + if (pcs->msicount > 1) { + bus_describe_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih, + "%d", i); + } + isp->isp_nirq = i + 1; + } + ISP_LOCK(isp); + + return (isp->isp_nirq == 0); } static void Modified: stable/11/sys/dev/isp/isp_sbus.c ============================================================================== --- stable/11/sys/dev/isp/isp_sbus.c Sun Apr 2 09:24:58 2017 (r316397) +++ stable/11/sys/dev/isp/isp_sbus.c Sun Apr 2 10:50:49 2017 (r316398) @@ -139,7 +139,6 @@ isp_sbus_attach(device_t dev) struct isp_sbussoftc *sbs = device_get_softc(dev); ispsoftc_t *isp = &sbs->sbus_isp; int tval, isp_debug, role, ispburst, default_id; - int ints_setup = 0; sbs->sbus_dev = dev; sbs->sbus_mdvec = mdvec; @@ -262,12 +261,14 @@ isp_sbus_attach(device_t dev) goto bad; } - if (isp_setup_intr(dev, sbs->irq, ISP_IFLAGS, NULL, isp_platform_intr, + if (bus_setup_intr(dev, sbs->irq, ISP_IFLAGS, NULL, isp_platform_intr, isp, &sbs->ih)) { device_printf(dev, "could not setup interrupt\n"); + (void) bus_release_resource(dev, SYS_RES_IRQ, + sbs->iqd, sbs->irq); goto bad; } - ints_setup++; + isp->isp_nirq = 1; /* * Set up logging levels. @@ -299,13 +300,10 @@ isp_sbus_attach(device_t dev) return (0); bad: - - if (sbs && ints_setup) { + if (isp->isp_nirq > 0) { (void) bus_teardown_intr(dev, sbs->irq, sbs->ih); - } - - if (sbs && sbs->irq) { - bus_release_resource(dev, SYS_RES_IRQ, sbs->iqd, sbs->irq); + (void) bus_release_resource(dev, SYS_RES_IRQ, sbs->iqd, + sbs->irq); } if (sbs->regs) { @@ -329,9 +327,11 @@ isp_sbus_detach(device_t dev) ISP_LOCK(isp); isp_shutdown(isp); ISP_UNLOCK(isp); - if (sbs->ih) + if (isp->isp_nirq > 0) { (void) bus_teardown_intr(dev, sbs->irq, sbs->ih); - (void) bus_release_resource(dev, SYS_RES_IRQ, sbs->iqd, sbs->irq); + (void) bus_release_resource(dev, SYS_RES_IRQ, sbs->iqd, + sbs->irq); + } (void) bus_release_resource(dev, SYS_RES_MEMORY, sbs->rgd, sbs->regs); isp_sbus_mbxdmafree(isp); mtx_destroy(&isp->isp_osinfo.lock); Modified: stable/11/sys/dev/isp/ispmbox.h ============================================================================== --- stable/11/sys/dev/isp/ispmbox.h Sun Apr 2 09:24:58 2017 (r316397) +++ stable/11/sys/dev/isp/ispmbox.h Sun Apr 2 10:50:49 2017 (r316398) @@ -895,6 +895,8 @@ typedef struct { (IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_MULTIID) : 0) #define ISP_GET_VPIDX(isp, tag) \ (ISP_CAP_MULTI_ID(isp) ? tag : 0) +#define ISP_CAP_MSIX(isp) \ + (IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_MSIX) : 0) #define ISP_CAP_VP0(isp) \ (IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_VP0) : 0) Modified: stable/11/sys/dev/isp/ispvar.h ============================================================================== --- stable/11/sys/dev/isp/ispvar.h Sun Apr 2 09:24:58 2017 (r316397) +++ stable/11/sys/dev/isp/ispvar.h Sun Apr 2 10:50:49 2017 (r316398) @@ -80,6 +80,7 @@ struct ispmdvec { #endif #define ISP_MAX_TARGETS(isp) (IS_FC(isp)? MAX_FC_TARG : MAX_TARGETS) #define ISP_MAX_LUNS(isp) (isp)->isp_maxluns +#define ISP_MAX_IRQS 3 /* * Macros to access ISP registers through bus specific layers- @@ -526,6 +527,7 @@ struct ispsoftc { uint16_t isp_maxcmds; /* max possible I/O cmds */ uint8_t isp_type; /* HBA Chip Type */ uint8_t isp_revision; /* HBA Chip H/W Revision */ + uint8_t isp_nirq; /* number of IRQs */ uint16_t isp_nchan; /* number of channels */ uint32_t isp_maxluns; /* maximum luns supported */ From owner-svn-src-all@freebsd.org Sun Apr 2 10:52:02 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A1A10D1D21C; Sun, 2 Apr 2017 10:52:02 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 701E1F49; Sun, 2 Apr 2017 10:52:02 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32Aq1KX040637; Sun, 2 Apr 2017 10:52:01 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32Aq0Sf040629; Sun, 2 Apr 2017 10:52:00 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021052.v32Aq0Sf040629@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:52:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316399 - in stable/10/sys: dev/isp modules/isp X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:52:02 -0000 Author: mav Date: Sun Apr 2 10:52:00 2017 New Revision: 316399 URL: https://svnweb.freebsd.org/changeset/base/316399 Log: MFC r315579, r315670: Add initial support for multiple MSI-X vectors. For 24xx and above use 2 vectors (default and response queue). For 26xx and above use 3 vectors (default, response and ATIO queues). Due to global lock interrupt hardlers never run simultaneously now, but at least this allows to save one regitster read per interrupt. Modified: stable/10/sys/dev/isp/isp.c stable/10/sys/dev/isp/isp_freebsd.c stable/10/sys/dev/isp/isp_freebsd.h stable/10/sys/dev/isp/isp_pci.c stable/10/sys/dev/isp/isp_sbus.c stable/10/sys/dev/isp/ispmbox.h stable/10/sys/dev/isp/ispvar.h stable/10/sys/modules/isp/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/isp/isp.c ============================================================================== --- stable/10/sys/dev/isp/isp.c Sun Apr 2 10:50:49 2017 (r316398) +++ stable/10/sys/dev/isp/isp.c Sun Apr 2 10:52:00 2017 (r316399) @@ -2089,7 +2089,7 @@ isp_fibre_init_2400(ispsoftc_t *isp) } if (IS_26XX(isp)) { - /* We don't support MSI-X yet, so set this unconditionally. */ + /* Use handshake to reduce global lock congestion. */ icbp->icb_fwoptions2 |= ICB2400_OPT2_ENA_IHR; icbp->icb_fwoptions2 |= ICB2400_OPT2_ENA_IHA; } @@ -2187,6 +2187,12 @@ isp_fibre_init_2400(ispsoftc_t *isp) DMA_WD1(isp->isp_atioq_dma), DMA_WD0(isp->isp_atioq_dma)); #endif + if (ISP_CAP_MSIX(isp) && isp->isp_nirq >= 2) { + icbp->icb_msixresp = 1; + if (IS_26XX(isp) && isp->isp_nirq >= 3) + icbp->icb_msixatio = 2; + } + isp_prt(isp, ISP_LOGDEBUG0, "isp_fibre_init_2400: fwopt1 0x%x fwopt2 0x%x fwopt3 0x%x", icbp->icb_fwoptions1, icbp->icb_fwoptions2, icbp->icb_fwoptions3); isp_prt(isp, ISP_LOGDEBUG0, "isp_fibre_init_2400: rqst %04x%04x%04x%04x rsp %04x%04x%04x%04x", DMA_WD3(isp->isp_rquest_dma), DMA_WD2(isp->isp_rquest_dma), Modified: stable/10/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:50:49 2017 (r316398) +++ stable/10/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:52:00 2017 (r316399) @@ -4159,6 +4159,34 @@ isp_platform_intr(void *arg) } void +isp_platform_intr_resp(void *arg) +{ + ispsoftc_t *isp = arg; + + ISP_LOCK(isp); + isp_intr_respq(isp); + ISP_UNLOCK(isp); + + /* We have handshake enabled, so explicitly complete interrupt */ + ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_CLEAR_RISC_INT); +} + +void +isp_platform_intr_atio(void *arg) +{ + ispsoftc_t *isp = arg; + + ISP_LOCK(isp); +#ifdef ISP_TARGET_MODE + isp_intr_atioq(isp); +#endif + ISP_UNLOCK(isp); + + /* We have handshake enabled, so explicitly complete interrupt */ + ISP_WRITE(isp, BIU2400_HCCR, HCCR_2400_CMD_CLEAR_RISC_INT); +} + +void isp_common_dmateardown(ispsoftc_t *isp, struct ccb_scsiio *csio, uint32_t hdl) { if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { Modified: stable/10/sys/dev/isp/isp_freebsd.h ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:50:49 2017 (r316398) +++ stable/10/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:52:00 2017 (r316399) @@ -722,6 +722,8 @@ void isp_mbox_release(ispsoftc_t *); int isp_fc_scratch_acquire(ispsoftc_t *, int); int isp_mstohz(int); void isp_platform_intr(void *); +void isp_platform_intr_resp(void *); +void isp_platform_intr_atio(void *); void isp_common_dmateardown(ispsoftc_t *, struct ccb_scsiio *, uint32_t); void isp_fcp_reset_crn(ispsoftc_t *, int, uint32_t, int); int isp_fcp_next_crn(ispsoftc_t *, uint8_t *, XS_T *); @@ -734,8 +736,6 @@ int isp_fcp_next_crn(ispsoftc_t *, uint8 bus_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, \ busdma_lock_mutex, &isp->isp_osinfo.lock, z) -#define isp_setup_intr bus_setup_intr - #define isp_sim_alloc(a, b, c, d, e, f, g, h) \ cam_sim_alloc(a, b, c, d, e, &(d)->isp_osinfo.lock, f, g, h) Modified: stable/10/sys/dev/isp/isp_pci.c ============================================================================== --- stable/10/sys/dev/isp/isp_pci.c Sun Apr 2 10:50:49 2017 (r316398) +++ stable/10/sys/dev/isp/isp_pci.c Sun Apr 2 10:52:00 2017 (r316399) @@ -364,15 +364,17 @@ struct isp_pcisoftc { struct resource * regs; struct resource * regs1; struct resource * regs2; - void * irq; - int iqd; + struct { + int iqd; + struct resource * irq; + void * ih; + } irq[ISP_MAX_IRQS]; int rtp; int rgd; int rtp1; int rgd1; int rtp2; int rgd2; - void * ih; int16_t pci_poff[_NREG_BLKS]; bus_dma_tag_t dmat; int msicount; @@ -691,8 +693,8 @@ isp_pci_attach(device_t dev) isp_get_generic_options(dev, isp); linesz = PCI_DFLT_LNSZ; - pcs->irq = pcs->regs = pcs->regs2 = NULL; - pcs->rgd = pcs->rtp = pcs->iqd = 0; + pcs->regs = pcs->regs2 = NULL; + pcs->rgd = pcs->rtp = 0; pcs->pci_dev = dev; pcs->pci_poff[BIU_BLOCK >> _BLK_REG_SHFT] = BIU_REGS_OFF; @@ -932,41 +934,6 @@ isp_pci_attach(device_t dev) data &= ~1; pci_write_config(dev, PCIR_ROMADDR, data, 4); - if (IS_26XX(isp)) { - /* 26XX chips support only MSI-X, so start from them. */ - pcs->msicount = imin(pci_msix_count(dev), 1); - if (pcs->msicount > 0 && - (i = pci_alloc_msix(dev, &pcs->msicount)) == 0) { - pcs->iqd = 1; - } else { - pcs->msicount = 0; - } - } - if (pcs->msicount == 0 && (IS_24XX(isp) || IS_2322(isp))) { - /* - * Older chips support both MSI and MSI-X, but I have - * feeling that older firmware may not support MSI-X, - * but we have no way to check the firmware flag here. - */ - pcs->msicount = imin(pci_msi_count(dev), 1); - if (pcs->msicount > 0 && - pci_alloc_msi(dev, &pcs->msicount) == 0) { - pcs->iqd = 1; - } else { - pcs->msicount = 0; - } - } - pcs->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &pcs->iqd, RF_ACTIVE | RF_SHAREABLE); - if (pcs->irq == NULL) { - device_printf(dev, "could not allocate interrupt\n"); - goto bad; - } - - if (isp_setup_intr(dev, pcs->irq, ISP_IFLAGS, NULL, isp_platform_intr, isp, &pcs->ih)) { - device_printf(dev, "could not setup interrupt\n"); - goto bad; - } - /* * Last minute checks... */ @@ -992,11 +959,10 @@ isp_pci_attach(device_t dev) return (0); bad: - if (pcs->ih) { - (void) bus_teardown_intr(dev, pcs->irq, pcs->ih); - } - if (pcs->irq) { - (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->iqd, pcs->irq); + for (i = 0; i < isp->isp_nirq; i++) { + (void) bus_teardown_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih); + (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->irq[i].iqd, + pcs->irq[0].irq); } if (pcs->msicount) { pci_release_msi(dev); @@ -1024,7 +990,7 @@ isp_pci_detach(device_t dev) { struct isp_pcisoftc *pcs = device_get_softc(dev); ispsoftc_t *isp = &pcs->pci_isp; - int status; + int i, status; status = isp_detach(isp); if (status) @@ -1032,9 +998,11 @@ isp_pci_detach(device_t dev) ISP_LOCK(isp); isp_shutdown(isp); ISP_UNLOCK(isp); - if (pcs->ih) - (void) bus_teardown_intr(dev, pcs->irq, pcs->ih); - (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->iqd, pcs->irq); + for (i = 0; i < isp->isp_nirq; i++) { + (void) bus_teardown_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih); + (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->irq[i].iqd, + pcs->irq[i].irq); + } if (pcs->msicount) pci_release_msi(dev); (void) bus_release_resource(dev, pcs->rtp, pcs->rgd, pcs->regs); @@ -2077,8 +2045,59 @@ isp_pci_dmasetup(ispsoftc_t *isp, struct static int isp_pci_irqsetup(ispsoftc_t *isp) { + device_t dev = isp->isp_osinfo.dev; + struct isp_pcisoftc *pcs = device_get_softc(dev); + driver_intr_t *f; + int i, max_irq; - return (0); + /* Allocate IRQs only once. */ + if (isp->isp_nirq > 0) + return (0); + + ISP_UNLOCK(isp); + if (ISP_CAP_MSIX(isp)) { + max_irq = min(ISP_MAX_IRQS, IS_26XX(isp) ? 3 : 2); + pcs->msicount = imin(pci_msix_count(dev), max_irq); + if (pcs->msicount > 0 && + pci_alloc_msix(dev, &pcs->msicount) != 0) + pcs->msicount = 0; + } + if (pcs->msicount == 0) { + pcs->msicount = imin(pci_msi_count(dev), 1); + if (pcs->msicount > 0 && + pci_alloc_msi(dev, &pcs->msicount) != 0) + pcs->msicount = 0; + } + for (i = 0; i < MAX(1, pcs->msicount); i++) { + pcs->irq[i].iqd = i + (pcs->msicount > 0); + pcs->irq[i].irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, + &pcs->irq[i].iqd, RF_ACTIVE | RF_SHAREABLE); + if (pcs->irq[i].irq == NULL) { + device_printf(dev, "could not allocate interrupt\n"); + break; + } + if (i == 0) + f = isp_platform_intr; + else if (i == 1) + f = isp_platform_intr_resp; + else + f = isp_platform_intr_atio; + if (bus_setup_intr(dev, pcs->irq[i].irq, ISP_IFLAGS, NULL, + f, isp, &pcs->irq[i].ih)) { + device_printf(dev, "could not setup interrupt\n"); + (void) bus_release_resource(dev, SYS_RES_IRQ, + pcs->irq[i].iqd, pcs->irq[i].irq); + break; + } + if (pcs->msicount > 1) { + bus_describe_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih, + "%d", i); + } + isp->isp_nirq = i + 1; + } + ISP_LOCK(isp); + + return (isp->isp_nirq == 0); } static void Modified: stable/10/sys/dev/isp/isp_sbus.c ============================================================================== --- stable/10/sys/dev/isp/isp_sbus.c Sun Apr 2 10:50:49 2017 (r316398) +++ stable/10/sys/dev/isp/isp_sbus.c Sun Apr 2 10:52:00 2017 (r316399) @@ -139,7 +139,6 @@ isp_sbus_attach(device_t dev) struct isp_sbussoftc *sbs = device_get_softc(dev); ispsoftc_t *isp = &sbs->sbus_isp; int tval, isp_debug, role, ispburst, default_id; - int ints_setup = 0; sbs->sbus_dev = dev; sbs->sbus_mdvec = mdvec; @@ -262,12 +261,14 @@ isp_sbus_attach(device_t dev) goto bad; } - if (isp_setup_intr(dev, sbs->irq, ISP_IFLAGS, NULL, isp_platform_intr, + if (bus_setup_intr(dev, sbs->irq, ISP_IFLAGS, NULL, isp_platform_intr, isp, &sbs->ih)) { device_printf(dev, "could not setup interrupt\n"); + (void) bus_release_resource(dev, SYS_RES_IRQ, + sbs->iqd, sbs->irq); goto bad; } - ints_setup++; + isp->isp_nirq = 1; /* * Set up logging levels. @@ -299,13 +300,10 @@ isp_sbus_attach(device_t dev) return (0); bad: - - if (sbs && ints_setup) { + if (isp->isp_nirq > 0) { (void) bus_teardown_intr(dev, sbs->irq, sbs->ih); - } - - if (sbs && sbs->irq) { - bus_release_resource(dev, SYS_RES_IRQ, sbs->iqd, sbs->irq); + (void) bus_release_resource(dev, SYS_RES_IRQ, sbs->iqd, + sbs->irq); } if (sbs->regs) { @@ -329,9 +327,11 @@ isp_sbus_detach(device_t dev) ISP_LOCK(isp); isp_shutdown(isp); ISP_UNLOCK(isp); - if (sbs->ih) + if (isp->isp_nirq > 0) { (void) bus_teardown_intr(dev, sbs->irq, sbs->ih); - (void) bus_release_resource(dev, SYS_RES_IRQ, sbs->iqd, sbs->irq); + (void) bus_release_resource(dev, SYS_RES_IRQ, sbs->iqd, + sbs->irq); + } (void) bus_release_resource(dev, SYS_RES_MEMORY, sbs->rgd, sbs->regs); isp_sbus_mbxdmafree(isp); mtx_destroy(&isp->isp_osinfo.lock); Modified: stable/10/sys/dev/isp/ispmbox.h ============================================================================== --- stable/10/sys/dev/isp/ispmbox.h Sun Apr 2 10:50:49 2017 (r316398) +++ stable/10/sys/dev/isp/ispmbox.h Sun Apr 2 10:52:00 2017 (r316399) @@ -895,6 +895,8 @@ typedef struct { (IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_MULTIID) : 0) #define ISP_GET_VPIDX(isp, tag) \ (ISP_CAP_MULTI_ID(isp) ? tag : 0) +#define ISP_CAP_MSIX(isp) \ + (IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_MSIX) : 0) #define ISP_CAP_VP0(isp) \ (IS_24XX(isp)? (isp->isp_fwattr & ISP2400_FW_ATTR_VP0) : 0) Modified: stable/10/sys/dev/isp/ispvar.h ============================================================================== --- stable/10/sys/dev/isp/ispvar.h Sun Apr 2 10:50:49 2017 (r316398) +++ stable/10/sys/dev/isp/ispvar.h Sun Apr 2 10:52:00 2017 (r316399) @@ -80,6 +80,7 @@ struct ispmdvec { #endif #define ISP_MAX_TARGETS(isp) (IS_FC(isp)? MAX_FC_TARG : MAX_TARGETS) #define ISP_MAX_LUNS(isp) (isp)->isp_maxluns +#define ISP_MAX_IRQS 3 /* * Macros to access ISP registers through bus specific layers- @@ -526,6 +527,7 @@ struct ispsoftc { uint16_t isp_maxcmds; /* max possible I/O cmds */ uint8_t isp_type; /* HBA Chip Type */ uint8_t isp_revision; /* HBA Chip H/W Revision */ + uint8_t isp_nirq; /* number of IRQs */ uint16_t isp_nchan; /* number of channels */ uint32_t isp_maxluns; /* maximum luns supported */ Modified: stable/10/sys/modules/isp/Makefile ============================================================================== --- stable/10/sys/modules/isp/Makefile Sun Apr 2 10:50:49 2017 (r316398) +++ stable/10/sys/modules/isp/Makefile Sun Apr 2 10:52:00 2017 (r316399) @@ -10,5 +10,6 @@ SRCS= bus_if.h device_if.h pci_if.h \ .if ${MACHINE} == sparc64 SRCS+= isp_sbus.c ofw_bus_if.h .endif +CFLAGS+= -Wformat -Wall -Werror .include From owner-svn-src-all@freebsd.org Sun Apr 2 10:53:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D5276D1D411; Sun, 2 Apr 2017 10:53:04 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 95CA825C; Sun, 2 Apr 2017 10:53:04 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32Ar387041399; Sun, 2 Apr 2017 10:53:03 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32Ar3sr041395; Sun, 2 Apr 2017 10:53:03 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021053.v32Ar3sr041395@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:53:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316400 - stable/11/sys/dev/isp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:53:04 -0000 Author: mav Date: Sun Apr 2 10:53:03 2017 New Revision: 316400 URL: https://svnweb.freebsd.org/changeset/base/316400 Log: MFC r315587, r315652: Remove some dead/useless code. Modified: stable/11/sys/dev/isp/isp.c stable/11/sys/dev/isp/isp_freebsd.c stable/11/sys/dev/isp/isp_freebsd.h stable/11/sys/dev/isp/ispvar.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/isp/isp.c ============================================================================== --- stable/11/sys/dev/isp/isp.c Sun Apr 2 10:52:00 2017 (r316399) +++ stable/11/sys/dev/isp/isp.c Sun Apr 2 10:53:03 2017 (r316400) @@ -4530,7 +4530,6 @@ isp_start(XS_T *xs) return (dmaresult); } isp_xs_prt(isp, xs, ISP_LOGDEBUG0, "START cmd cdb[0]=0x%x datalen %ld", XS_CDBP(xs)[0], (long) XS_XFRLEN(xs)); - isp->isp_nactive++; return (CMD_QUEUED); } @@ -5359,9 +5358,6 @@ isp_intr_respq(ispsoftc_t *isp) } isp_destroy_handle(isp, sp->req_handle); - if (isp->isp_nactive > 0) { - isp->isp_nactive--; - } complist[ndone++] = xs; /* defer completion call until later */ ISP_MEMZERO(hp, QENTRY_LEN); /* PERF */ last_etype = etype; @@ -5932,9 +5928,6 @@ isp_handle_other_response(ispsoftc_t *is void *ptr; switch (type) { - case RQSTYPE_STATUS_CONT: - isp_prt(isp, ISP_LOG_WARN1, "Ignored Continuation Response"); - return (1); case RQSTYPE_MARKER: isp_prt(isp, ISP_LOG_WARN1, "Marker Response"); return (1); @@ -6536,9 +6529,6 @@ isp_fastpost_complete(ispsoftc_t *isp, u if (XS_XFRLEN(xs)) { ISP_DMAFREE(isp, xs, fph); } - if (isp->isp_nactive) { - isp->isp_nactive--; - } isp_done(xs); } @@ -7579,7 +7569,6 @@ isp_reinit(ispsoftc_t *isp, int do_load_ } cleanup: - isp->isp_nactive = 0; isp_clear_commands(isp); if (IS_FC(isp)) { for (i = 0; i < isp->isp_nchan; i++) Modified: stable/11/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/11/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:52:00 2017 (r316399) +++ stable/11/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:53:03 2017 (r316400) @@ -294,7 +294,6 @@ isp_attach(ispsoftc_t *isp) callout_init_mtx(&isp->isp_osinfo.tmo, &isp->isp_osinfo.lock, 0); isp_timer_count = hz >> 2; callout_reset(&isp->isp_osinfo.tmo, isp_timer_count, isp_timer, isp); - isp->isp_osinfo.timer_active = 1; isp->isp_osinfo.cdev = make_dev(&isp_cdevsw, du, UID_ROOT, GID_OPERATOR, 0600, "%s", nu); if (isp->isp_osinfo.cdev) { @@ -315,10 +314,6 @@ unwind: ISP_UNLOCK(isp); cam_sim_free(sim, FALSE); } - if (isp->isp_osinfo.cdev) { - destroy_dev(isp->isp_osinfo.cdev); - isp->isp_osinfo.cdev = NULL; - } cam_simq_free(isp->isp_osinfo.devq); isp->isp_osinfo.devq = NULL; return (-1); @@ -327,35 +322,20 @@ unwind: int isp_detach(ispsoftc_t *isp) { - struct cam_sim *sim; int chan; - ISP_LOCK(isp); - for (chan = isp->isp_nchan - 1; chan >= 0; chan -= 1) { - ISP_GET_PC(isp, chan, sim, sim); - if (sim->refcount > 2) { - ISP_UNLOCK(isp); - return (EBUSY); - } + if (isp->isp_osinfo.cdev) { + destroy_dev(isp->isp_osinfo.cdev); + isp->isp_osinfo.cdev = NULL; } + ISP_LOCK(isp); /* Tell spawned threads that we're exiting. */ isp->isp_osinfo.is_exiting = 1; - if (isp->isp_osinfo.timer_active) { - callout_stop(&isp->isp_osinfo.tmo); - isp->isp_osinfo.timer_active = 0; - } for (chan = isp->isp_nchan - 1; chan >= 0; chan -= 1) isp_detach_chan(isp, chan); ISP_UNLOCK(isp); - - if (isp->isp_osinfo.cdev) { - destroy_dev(isp->isp_osinfo.cdev); - isp->isp_osinfo.cdev = NULL; - } - if (isp->isp_osinfo.devq != NULL) { - cam_simq_free(isp->isp_osinfo.devq); - isp->isp_osinfo.devq = NULL; - } + callout_drain(&isp->isp_osinfo.tmo); + cam_simq_free(isp->isp_osinfo.devq); return (0); } @@ -1591,7 +1571,6 @@ isp_target_start_ctio(ispsoftc_t *isp, u xpt_done(ccb); continue; } - isp->isp_nactive++; ccb->ccb_h.status = CAM_REQ_INPROG | CAM_SIM_QUEUED; if (xfrlen) { ccb->ccb_h.spriv_field0 = atp->bytes_xfered; @@ -2113,9 +2092,6 @@ isp_handle_platform_ctio(ispsoftc_t *isp isp_destroy_handle(isp, handle); resid = data_requested = PISP_PCMD(ccb)->datalen; isp_free_pcmd(isp, ccb); - if (isp->isp_nactive) { - isp->isp_nactive--; - } bus = XS_CHANNEL(ccb); if (IS_24XX(isp)) { Modified: stable/11/sys/dev/isp/isp_freebsd.h ============================================================================== --- stable/11/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:52:00 2017 (r316399) +++ stable/11/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:53:03 2017 (r316400) @@ -297,16 +297,7 @@ struct isposinfo { struct isp_pcmd * pcmd_pool; struct isp_pcmd * pcmd_free; - uint32_t -#ifdef ISP_TARGET_MODE - tmwanted : 1, - tmbusy : 1, -#else - : 2, -#endif - sixtyfourbit : 1, /* sixtyfour bit platform */ - timer_active : 1, - autoconf : 1; + int sixtyfourbit; /* sixtyfour bit platform */ int mbox_sleeping; int mbox_sleep_ok; int mboxbsy; Modified: stable/11/sys/dev/isp/ispvar.h ============================================================================== --- stable/11/sys/dev/isp/ispvar.h Sun Apr 2 10:52:00 2017 (r316399) +++ stable/11/sys/dev/isp/ispvar.h Sun Apr 2 10:53:03 2017 (r316400) @@ -532,9 +532,8 @@ struct ispsoftc { uint32_t isp_maxluns; /* maximum luns supported */ uint32_t isp_clock : 8, /* input clock */ - : 4, + : 5, isp_port : 1, /* 23XX/24XX only */ - isp_open : 1, /* opened (ioctl) */ isp_bustype : 1, /* SBus or PCI */ isp_loaded_fw : 1, /* loaded firmware */ isp_dblev : 16; /* debug log mask */ @@ -553,7 +552,6 @@ struct ispsoftc { volatile u_int isp_mboxbsy; /* mailbox command active */ volatile u_int isp_state; - volatile u_int isp_nactive; /* how many commands active */ volatile mbreg_t isp_curmbx; /* currently active mailbox command */ volatile uint32_t isp_reqodx; /* index of last ISP pickup */ volatile uint32_t isp_reqidx; /* index of next request */ From owner-svn-src-all@freebsd.org Sun Apr 2 10:53:39 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6185CD1D4C1; Sun, 2 Apr 2017 10:53:39 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2474A3D4; Sun, 2 Apr 2017 10:53:39 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32Arc9S041477; Sun, 2 Apr 2017 10:53:38 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32Arb2B041473; Sun, 2 Apr 2017 10:53:37 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021053.v32Arb2B041473@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:53:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316401 - stable/10/sys/dev/isp X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:53:39 -0000 Author: mav Date: Sun Apr 2 10:53:37 2017 New Revision: 316401 URL: https://svnweb.freebsd.org/changeset/base/316401 Log: MFC r315587, r315652: Remove some dead/useless code. Modified: stable/10/sys/dev/isp/isp.c stable/10/sys/dev/isp/isp_freebsd.c stable/10/sys/dev/isp/isp_freebsd.h stable/10/sys/dev/isp/ispvar.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/isp/isp.c ============================================================================== --- stable/10/sys/dev/isp/isp.c Sun Apr 2 10:53:03 2017 (r316400) +++ stable/10/sys/dev/isp/isp.c Sun Apr 2 10:53:37 2017 (r316401) @@ -4530,7 +4530,6 @@ isp_start(XS_T *xs) return (dmaresult); } isp_xs_prt(isp, xs, ISP_LOGDEBUG0, "START cmd cdb[0]=0x%x datalen %ld", XS_CDBP(xs)[0], (long) XS_XFRLEN(xs)); - isp->isp_nactive++; return (CMD_QUEUED); } @@ -5359,9 +5358,6 @@ isp_intr_respq(ispsoftc_t *isp) } isp_destroy_handle(isp, sp->req_handle); - if (isp->isp_nactive > 0) { - isp->isp_nactive--; - } complist[ndone++] = xs; /* defer completion call until later */ ISP_MEMZERO(hp, QENTRY_LEN); /* PERF */ last_etype = etype; @@ -5932,9 +5928,6 @@ isp_handle_other_response(ispsoftc_t *is void *ptr; switch (type) { - case RQSTYPE_STATUS_CONT: - isp_prt(isp, ISP_LOG_WARN1, "Ignored Continuation Response"); - return (1); case RQSTYPE_MARKER: isp_prt(isp, ISP_LOG_WARN1, "Marker Response"); return (1); @@ -6536,9 +6529,6 @@ isp_fastpost_complete(ispsoftc_t *isp, u if (XS_XFRLEN(xs)) { ISP_DMAFREE(isp, xs, fph); } - if (isp->isp_nactive) { - isp->isp_nactive--; - } isp_done(xs); } @@ -7579,7 +7569,6 @@ isp_reinit(ispsoftc_t *isp, int do_load_ } cleanup: - isp->isp_nactive = 0; isp_clear_commands(isp); if (IS_FC(isp)) { for (i = 0; i < isp->isp_nchan; i++) Modified: stable/10/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:53:03 2017 (r316400) +++ stable/10/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:53:37 2017 (r316401) @@ -294,7 +294,6 @@ isp_attach(ispsoftc_t *isp) callout_init_mtx(&isp->isp_osinfo.tmo, &isp->isp_osinfo.lock, 0); isp_timer_count = hz >> 2; callout_reset(&isp->isp_osinfo.tmo, isp_timer_count, isp_timer, isp); - isp->isp_osinfo.timer_active = 1; isp->isp_osinfo.cdev = make_dev(&isp_cdevsw, du, UID_ROOT, GID_OPERATOR, 0600, "%s", nu); if (isp->isp_osinfo.cdev) { @@ -315,10 +314,6 @@ unwind: ISP_UNLOCK(isp); cam_sim_free(sim, FALSE); } - if (isp->isp_osinfo.cdev) { - destroy_dev(isp->isp_osinfo.cdev); - isp->isp_osinfo.cdev = NULL; - } cam_simq_free(isp->isp_osinfo.devq); isp->isp_osinfo.devq = NULL; return (-1); @@ -327,35 +322,20 @@ unwind: int isp_detach(ispsoftc_t *isp) { - struct cam_sim *sim; int chan; - ISP_LOCK(isp); - for (chan = isp->isp_nchan - 1; chan >= 0; chan -= 1) { - ISP_GET_PC(isp, chan, sim, sim); - if (sim->refcount > 2) { - ISP_UNLOCK(isp); - return (EBUSY); - } + if (isp->isp_osinfo.cdev) { + destroy_dev(isp->isp_osinfo.cdev); + isp->isp_osinfo.cdev = NULL; } + ISP_LOCK(isp); /* Tell spawned threads that we're exiting. */ isp->isp_osinfo.is_exiting = 1; - if (isp->isp_osinfo.timer_active) { - callout_stop(&isp->isp_osinfo.tmo); - isp->isp_osinfo.timer_active = 0; - } for (chan = isp->isp_nchan - 1; chan >= 0; chan -= 1) isp_detach_chan(isp, chan); ISP_UNLOCK(isp); - - if (isp->isp_osinfo.cdev) { - destroy_dev(isp->isp_osinfo.cdev); - isp->isp_osinfo.cdev = NULL; - } - if (isp->isp_osinfo.devq != NULL) { - cam_simq_free(isp->isp_osinfo.devq); - isp->isp_osinfo.devq = NULL; - } + callout_drain(&isp->isp_osinfo.tmo); + cam_simq_free(isp->isp_osinfo.devq); return (0); } @@ -1591,7 +1571,6 @@ isp_target_start_ctio(ispsoftc_t *isp, u xpt_done(ccb); continue; } - isp->isp_nactive++; ccb->ccb_h.status = CAM_REQ_INPROG | CAM_SIM_QUEUED; if (xfrlen) { ccb->ccb_h.spriv_field0 = atp->bytes_xfered; @@ -2113,9 +2092,6 @@ isp_handle_platform_ctio(ispsoftc_t *isp isp_destroy_handle(isp, handle); resid = data_requested = PISP_PCMD(ccb)->datalen; isp_free_pcmd(isp, ccb); - if (isp->isp_nactive) { - isp->isp_nactive--; - } bus = XS_CHANNEL(ccb); if (IS_24XX(isp)) { Modified: stable/10/sys/dev/isp/isp_freebsd.h ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:53:03 2017 (r316400) +++ stable/10/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:53:37 2017 (r316401) @@ -297,16 +297,7 @@ struct isposinfo { struct isp_pcmd * pcmd_pool; struct isp_pcmd * pcmd_free; - uint32_t -#ifdef ISP_TARGET_MODE - tmwanted : 1, - tmbusy : 1, -#else - : 2, -#endif - sixtyfourbit : 1, /* sixtyfour bit platform */ - timer_active : 1, - autoconf : 1; + int sixtyfourbit; /* sixtyfour bit platform */ int mbox_sleeping; int mbox_sleep_ok; int mboxbsy; Modified: stable/10/sys/dev/isp/ispvar.h ============================================================================== --- stable/10/sys/dev/isp/ispvar.h Sun Apr 2 10:53:03 2017 (r316400) +++ stable/10/sys/dev/isp/ispvar.h Sun Apr 2 10:53:37 2017 (r316401) @@ -532,9 +532,8 @@ struct ispsoftc { uint32_t isp_maxluns; /* maximum luns supported */ uint32_t isp_clock : 8, /* input clock */ - : 4, + : 5, isp_port : 1, /* 23XX/24XX only */ - isp_open : 1, /* opened (ioctl) */ isp_bustype : 1, /* SBus or PCI */ isp_loaded_fw : 1, /* loaded firmware */ isp_dblev : 16; /* debug log mask */ @@ -553,7 +552,6 @@ struct ispsoftc { volatile u_int isp_mboxbsy; /* mailbox command active */ volatile u_int isp_state; - volatile u_int isp_nactive; /* how many commands active */ volatile mbreg_t isp_curmbx; /* currently active mailbox command */ volatile uint32_t isp_reqodx; /* index of last ISP pickup */ volatile uint32_t isp_reqidx; /* index of next request */ From owner-svn-src-all@freebsd.org Sun Apr 2 10:54:30 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 695D5D1D56A; Sun, 2 Apr 2017 10:54:30 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 38C14783; Sun, 2 Apr 2017 10:54:30 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32AsTCr041565; Sun, 2 Apr 2017 10:54:29 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32AsThf041561; Sun, 2 Apr 2017 10:54:29 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021054.v32AsThf041561@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:54:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316402 - stable/11/sys/dev/isp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:54:30 -0000 Author: mav Date: Sun Apr 2 10:54:28 2017 New Revision: 316402 URL: https://svnweb.freebsd.org/changeset/base/316402 Log: MFC r315677: Clean/unify some macro usage. Modified: stable/11/sys/dev/isp/isp_freebsd.c stable/11/sys/dev/isp/isp_freebsd.h stable/11/sys/dev/isp/isp_pci.c stable/11/sys/dev/isp/isp_sbus.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/11/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:53:37 2017 (r316401) +++ stable/11/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:54:28 2017 (r316402) @@ -112,14 +112,11 @@ isp_attach_chan(ispsoftc_t *isp, struct int i; #endif - /* - * Construct our SIM entry. - */ - sim = cam_sim_alloc(isp_action, isp_poll, "isp", isp, device_get_unit(isp->isp_dev), &isp->isp_osinfo.lock, isp->isp_maxcmds, isp->isp_maxcmds, devq); - - if (sim == NULL) { + sim = cam_sim_alloc(isp_action, isp_poll, "isp", isp, + device_get_unit(isp->isp_dev), &isp->isp_lock, + isp->isp_maxcmds, isp->isp_maxcmds, devq); + if (sim == NULL) return (ENOMEM); - } ISP_LOCK(isp); if (xpt_bus_register(sim, isp->isp_dev, chan) != CAM_SUCCESS) { @@ -173,7 +170,7 @@ isp_attach_chan(ispsoftc_t *isp, struct fc->isp = isp; fc->ready = 1; - callout_init_mtx(&fc->gdt, &isp->isp_osinfo.lock, 0); + callout_init_mtx(&fc->gdt, &isp->isp_lock, 0); TASK_INIT(&fc->gtask, 1, isp_gdt_task, fc); #ifdef ISP_TARGET_MODE TAILQ_INIT(&fc->waitq); @@ -267,7 +264,7 @@ isp_detach_chan(ispsoftc_t *isp, int cha /* Wait for the channel's spawned threads to exit. */ wakeup(isp->isp_osinfo.pc.ptr); while (*num_threads != 0) - mtx_sleep(isp, &isp->isp_osinfo.lock, PRIBIO, "isp_reap", 100); + mtx_sleep(isp, &isp->isp_lock, PRIBIO, "isp_reap", 100); } int @@ -291,7 +288,7 @@ isp_attach(ispsoftc_t *isp) } } - callout_init_mtx(&isp->isp_osinfo.tmo, &isp->isp_osinfo.lock, 0); + callout_init_mtx(&isp->isp_osinfo.tmo, &isp->isp_lock, 0); isp_timer_count = hz >> 2; callout_reset(&isp->isp_osinfo.tmo, isp_timer_count, isp_timer, isp); @@ -2805,8 +2802,7 @@ isp_kthread(void *arg) int slp = 0, d; int lb, lim; - mtx_lock(&isp->isp_osinfo.lock); - + ISP_LOCK(isp); while (isp->isp_osinfo.is_exiting == 0) { isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGDEBUG0, "Chan %d Checking FC state", chan); @@ -2860,10 +2856,10 @@ isp_kthread(void *arg) isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGDEBUG0, "Chan %d sleep for %d seconds", chan, slp); - msleep(fc, &isp->isp_osinfo.lock, PRIBIO, "ispf", slp * hz); + msleep(fc, &isp->isp_lock, PRIBIO, "ispf", slp * hz); } fc->num_threads -= 1; - mtx_unlock(&isp->isp_osinfo.lock); + ISP_UNLOCK(isp); kthread_exit(); } @@ -2969,13 +2965,13 @@ isp_action(struct cam_sim *sim, union cc CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, ("isp_action\n")); isp = (ispsoftc_t *)cam_sim_softc(sim); - mtx_assert(&isp->isp_lock, MA_OWNED); + ISP_ASSERT_LOCKED(isp); + bus = cam_sim_bus(sim); isp_prt(isp, ISP_LOGDEBUG2, "isp_action code %x", ccb->ccb_h.func_code); ISP_PCMD(ccb) = NULL; switch (ccb->ccb_h.func_code) { case XPT_SCSI_IO: /* Execute the requested I/O operation */ - bus = XS_CHANNEL(ccb); /* * Do a couple of preliminary checks... */ @@ -3133,7 +3129,6 @@ isp_action(struct cam_sim *sim, union cc break; #endif case XPT_RESET_DEV: /* BDR the specified SCSI device */ - bus = cam_sim_bus(xpt_path_sim(ccb->ccb_h.path)); tgt = ccb->ccb_h.target_id; tgt |= (bus << 16); @@ -3192,7 +3187,6 @@ isp_action(struct cam_sim *sim, union cc break; } tgt = cts->ccb_h.target_id; - bus = cam_sim_bus(xpt_path_sim(cts->ccb_h.path)); if (IS_SCSI(isp)) { struct ccb_trans_settings_scsi *scsi = &cts->proto_specific.scsi; struct ccb_trans_settings_spi *spi = &cts->xport_specific.spi; @@ -3257,7 +3251,6 @@ isp_action(struct cam_sim *sim, union cc case XPT_GET_TRAN_SETTINGS: cts = &ccb->cts; tgt = cts->ccb_h.target_id; - bus = cam_sim_bus(xpt_path_sim(cts->ccb_h.path)); if (IS_FC(isp)) { fcparam *fcp = FCPARAM(isp, bus); struct ccb_trans_settings_scsi *scsi = &cts->proto_specific.scsi; @@ -3346,7 +3339,6 @@ isp_action(struct cam_sim *sim, union cc break; case XPT_RESET_BUS: /* Reset the specified bus */ - bus = cam_sim_bus(sim); error = isp_control(isp, ISPCTL_RESET_BUS, bus); if (error) { ccb->ccb_h.status = CAM_REQ_CMP_ERR; @@ -3381,7 +3373,6 @@ isp_action(struct cam_sim *sim, union cc break; } - bus = cam_sim_bus(xpt_path_sim(kp->ccb_h.path)); fcp = FCPARAM(isp, bus); if (kp->xport_specific.fc.valid & KNOB_VALID_ADDRESS) { @@ -3441,7 +3432,6 @@ isp_action(struct cam_sim *sim, union cc if (IS_FC(isp)) { fcparam *fcp; - bus = cam_sim_bus(xpt_path_sim(kp->ccb_h.path)); fcp = FCPARAM(isp, bus); kp->xport_specific.fc.wwnn = fcp->isp_wwnn; @@ -3489,7 +3479,6 @@ isp_action(struct cam_sim *sim, union cc else cpi->maxio = (ISP_NSEG_MAX - 1) * PAGE_SIZE; - bus = cam_sim_bus(xpt_path_sim(cpi->ccb_h.path)); if (IS_FC(isp)) { fcparam *fcp = FCPARAM(isp, bus); @@ -4059,7 +4048,7 @@ isp_mbox_wait_complete(ispsoftc_t *isp, if (isp->isp_osinfo.mbox_sleep_ok) { isp->isp_osinfo.mbox_sleep_ok = 0; isp->isp_osinfo.mbox_sleeping = 1; - msleep_sbt(&isp->isp_osinfo.mboxcmd_done, &isp->isp_osinfo.lock, + msleep_sbt(&isp->isp_osinfo.mboxcmd_done, &isp->isp_lock, PRIBIO, "ispmbx_sleep", to * SBT_1US, 0, 0); isp->isp_osinfo.mbox_sleep_ok = 1; isp->isp_osinfo.mbox_sleeping = 0; Modified: stable/11/sys/dev/isp/isp_freebsd.h ============================================================================== --- stable/11/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:53:37 2017 (r316401) +++ stable/11/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:54:28 2017 (r316402) @@ -356,9 +356,9 @@ struct isposinfo { /* * Locking macros... */ -#define ISP_LOCK(isp) mtx_lock(&(isp)->isp_osinfo.lock) -#define ISP_UNLOCK(isp) mtx_unlock(&(isp)->isp_osinfo.lock) -#define ISP_ASSERT_LOCKED(isp) mtx_assert(&(isp)->isp_osinfo.lock, MA_OWNED) +#define ISP_LOCK(isp) mtx_lock(&(isp)->isp_lock) +#define ISP_UNLOCK(isp) mtx_unlock(&(isp)->isp_lock) +#define ISP_ASSERT_LOCKED(isp) mtx_assert(&(isp)->isp_lock, MA_OWNED) /* * Required Macros/Defines @@ -370,7 +370,7 @@ struct isposinfo { #define ISP_SNPRINTF snprintf #define ISP_DELAY(x) DELAY(x) #define ISP_SLEEP(isp, x) msleep_sbt(&(isp)->isp_osinfo.is_exiting, \ - &(isp)->isp_osinfo.lock, 0, "isp_sleep", (x) * SBT_1US, 0, 0) + &(isp)->isp_lock, 0, "isp_sleep", (x) * SBT_1US, 0, 0) #define ISP_MIN imin @@ -722,14 +722,6 @@ int isp_fcp_next_crn(ispsoftc_t *, uint8 /* * Platform Version specific defines */ -#define BUS_DMA_ROOTARG(x) bus_get_dma_tag(x) -#define isp_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, z) \ - bus_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, \ - busdma_lock_mutex, &isp->isp_osinfo.lock, z) - -#define isp_sim_alloc(a, b, c, d, e, f, g, h) \ - cam_sim_alloc(a, b, c, d, e, &(d)->isp_osinfo.lock, f, g, h) - #define ISP_PATH_PRT(i, l, p, ...) \ if ((l) == ISP_LOGALL || ((l)& (i)->isp_dblev) != 0) { \ xpt_print(p, __VA_ARGS__); \ Modified: stable/11/sys/dev/isp/isp_pci.c ============================================================================== --- stable/11/sys/dev/isp/isp_pci.c Sun Apr 2 10:53:37 2017 (r316401) +++ stable/11/sys/dev/isp/isp_pci.c Sun Apr 2 10:54:28 2017 (r316402) @@ -684,7 +684,7 @@ isp_pci_attach(device_t dev) isp->isp_nchan = 1; if (sizeof (bus_addr_t) > 4) isp->isp_osinfo.sixtyfourbit = 1; - mtx_init(&isp->isp_osinfo.lock, "isp", NULL, MTX_DEF); + mtx_init(&isp->isp_lock, "isp", NULL, MTX_DEF); /* * Get Generic Options @@ -981,7 +981,7 @@ bad: free(pcs->pci_isp.isp_osinfo.pc.ptr, M_DEVBUF); pcs->pci_isp.isp_osinfo.pc.ptr = NULL; } - mtx_destroy(&isp->isp_osinfo.lock); + mtx_destroy(&isp->isp_lock); return (ENXIO); } @@ -1019,7 +1019,7 @@ isp_pci_detach(device_t dev) free(pcs->pci_isp.isp_osinfo.pc.ptr, M_DEVBUF); pcs->pci_isp.isp_osinfo.pc.ptr = NULL; } - mtx_destroy(&isp->isp_osinfo.lock); + mtx_destroy(&isp->isp_lock); return (0); } @@ -1532,9 +1532,9 @@ isp_pci_mbxdma(ispsoftc_t *isp) else nsegs = ISP_NSEG_MAX; - if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_PCD(isp)), 1, + if (bus_dma_tag_create(bus_get_dma_tag(ISP_PCD(isp)), 1, slim, llim, hlim, NULL, NULL, BUS_SPACE_MAXSIZE, nsegs, slim, 0, - &isp->isp_osinfo.dmat)) { + busdma_lock_mutex, &isp->isp_lock, &isp->isp_osinfo.dmat)) { ISP_LOCK(isp); isp_prt(isp, ISP_LOGERR, "could not create master dma tag"); return (1); @@ -1547,9 +1547,10 @@ isp_pci_mbxdma(ispsoftc_t *isp) len = ISP_QUEUE_SIZE(RQUEST_QUEUE_LEN(isp)); if (isp->isp_type >= ISP_HA_FC_2200) len += (N_XCMDS * XCMD_SIZE); - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, - len, 1, len, 0, &isp->isp_osinfo.reqdmat)) { + len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock, + &isp->isp_osinfo.reqdmat)) { isp_prt(isp, ISP_LOGERR, "cannot create request DMA tag"); goto bad; } @@ -1588,9 +1589,10 @@ isp_pci_mbxdma(ispsoftc_t *isp) * Allocate and map the result queue. */ len = ISP_QUEUE_SIZE(RESULT_QUEUE_LEN(isp)); - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, - len, 1, len, 0, &isp->isp_osinfo.respdmat)) { + len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock, + &isp->isp_osinfo.respdmat)) { isp_prt(isp, ISP_LOGERR, "cannot create response DMA tag"); goto bad; } @@ -1617,9 +1619,10 @@ isp_pci_mbxdma(ispsoftc_t *isp) */ if (IS_24XX(isp)) { len = ISP_QUEUE_SIZE(RESULT_QUEUE_LEN(isp)); - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, - len, 1, len, 0, &isp->isp_osinfo.atiodmat)) { + len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock, + &isp->isp_osinfo.atiodmat)) { isp_prt(isp, ISP_LOGERR, "cannot create ATIO DMA tag"); goto bad; } @@ -1643,9 +1646,10 @@ isp_pci_mbxdma(ispsoftc_t *isp) #endif if (IS_FC(isp)) { - if (isp_dma_tag_create(isp->isp_osinfo.dmat, 64, slim, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, 64, slim, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, - 2*QENTRY_LEN, 1, 2*QENTRY_LEN, 0, &isp->isp_osinfo.iocbdmat)) { + 2*QENTRY_LEN, 1, 2*QENTRY_LEN, 0, busdma_lock_mutex, + &isp->isp_lock, &isp->isp_osinfo.iocbdmat)) { goto bad; } if (bus_dmamem_alloc(isp->isp_osinfo.iocbdmat, @@ -1658,9 +1662,10 @@ isp_pci_mbxdma(ispsoftc_t *isp) goto bad; isp->isp_iocb_dma = im.maddr; - if (isp_dma_tag_create(isp->isp_osinfo.dmat, 64, slim, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, 64, slim, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, - ISP_FC_SCRLEN, 1, ISP_FC_SCRLEN, 0, &isp->isp_osinfo.scdmat)) + ISP_FC_SCRLEN, 1, ISP_FC_SCRLEN, 0, busdma_lock_mutex, + &isp->isp_lock, &isp->isp_osinfo.scdmat)) goto bad; for (cmap = 0; cmap < isp->isp_nchan; cmap++) { struct isp_fc *fc = ISP_FC_PC(isp, cmap); @@ -1715,7 +1720,7 @@ gotmaxcmds: } goto bad; } - callout_init_mtx(&pcmd->wdog, &isp->isp_osinfo.lock, 0); + callout_init_mtx(&pcmd->wdog, &isp->isp_lock, 0); if (i == isp->isp_maxcmds-1) pcmd->next = NULL; else Modified: stable/11/sys/dev/isp/isp_sbus.c ============================================================================== --- stable/11/sys/dev/isp/isp_sbus.c Sun Apr 2 10:53:37 2017 (r316401) +++ stable/11/sys/dev/isp/isp_sbus.c Sun Apr 2 10:54:28 2017 (r316402) @@ -143,7 +143,7 @@ isp_sbus_attach(device_t dev) sbs->sbus_dev = dev; sbs->sbus_mdvec = mdvec; isp->isp_dev = dev; - mtx_init(&isp->isp_osinfo.lock, "isp", NULL, MTX_DEF); + mtx_init(&isp->isp_lock, "isp", NULL, MTX_DEF); role = 0; if (resource_int_value(device_get_name(dev), device_get_unit(dev), @@ -310,7 +310,7 @@ bad: (void) bus_release_resource(dev, SYS_RES_MEMORY, sbs->rgd, sbs->regs); } - mtx_destroy(&isp->isp_osinfo.lock); + mtx_destroy(&isp->isp_lock); return (ENXIO); } @@ -334,7 +334,7 @@ isp_sbus_detach(device_t dev) } (void) bus_release_resource(dev, SYS_RES_MEMORY, sbs->rgd, sbs->regs); isp_sbus_mbxdmafree(isp); - mtx_destroy(&isp->isp_osinfo.lock); + mtx_destroy(&isp->isp_lock); return (0); } @@ -429,10 +429,11 @@ isp_sbus_mbxdma(ispsoftc_t *isp) if (isp->isp_rquest != NULL) goto gotmaxcmds; - if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_SBD(isp)), 1, + if (bus_dma_tag_create(bus_get_dma_tag(ISP_SBD(isp)), 1, BUS_SPACE_MAXADDR_24BIT+1, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR_32BIT, NULL, NULL, BUS_SPACE_MAXSIZE_32BIT, - ISP_NSEG_MAX, BUS_SPACE_MAXADDR_24BIT, 0, &isp->isp_osinfo.dmat)) { + ISP_NSEG_MAX, BUS_SPACE_MAXADDR_24BIT, 0, + busdma_lock_mutex, &isp->isp_lock, &isp->isp_osinfo.dmat)) { isp_prt(isp, ISP_LOGERR, "could not create master dma tag"); goto bad; } @@ -441,9 +442,10 @@ isp_sbus_mbxdma(ispsoftc_t *isp) * Allocate and map the request queue. */ len = ISP_QUEUE_SIZE(RQUEST_QUEUE_LEN(isp)); - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, - len, 1, len, 0, &isp->isp_osinfo.reqdmat)) { + len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock, + &isp->isp_osinfo.reqdmat)) { isp_prt(isp, ISP_LOGERR, "cannot create request DMA tag"); goto bad; } @@ -468,9 +470,10 @@ isp_sbus_mbxdma(ispsoftc_t *isp) * Allocate and map the result queue. */ len = ISP_QUEUE_SIZE(RESULT_QUEUE_LEN(isp)); - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, - len, 1, len, 0, &isp->isp_osinfo.respdmat)) { + len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock, + &isp->isp_osinfo.respdmat)) { isp_prt(isp, ISP_LOGERR, "cannot create response DMA tag"); goto bad; } @@ -512,7 +515,7 @@ gotmaxcmds: } goto bad; } - callout_init_mtx(&pcmd->wdog, &isp->isp_osinfo.lock, 0); + callout_init_mtx(&pcmd->wdog, &isp->isp_lock, 0); if (i == isp->isp_maxcmds-1) { pcmd->next = NULL; } else { From owner-svn-src-all@freebsd.org Sun Apr 2 10:55:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4D9B6D1D5D4; Sun, 2 Apr 2017 10:55:00 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1A1B18BC; Sun, 2 Apr 2017 10:55:00 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32Asx0F041641; Sun, 2 Apr 2017 10:54:59 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32AswYY041637; Sun, 2 Apr 2017 10:54:58 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021054.v32AswYY041637@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:54:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316403 - stable/10/sys/dev/isp X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:55:00 -0000 Author: mav Date: Sun Apr 2 10:54:58 2017 New Revision: 316403 URL: https://svnweb.freebsd.org/changeset/base/316403 Log: MFC r315677: Clean/unify some macro usage. Modified: stable/10/sys/dev/isp/isp_freebsd.c stable/10/sys/dev/isp/isp_freebsd.h stable/10/sys/dev/isp/isp_pci.c stable/10/sys/dev/isp/isp_sbus.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:54:28 2017 (r316402) +++ stable/10/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:54:58 2017 (r316403) @@ -112,14 +112,11 @@ isp_attach_chan(ispsoftc_t *isp, struct int i; #endif - /* - * Construct our SIM entry. - */ - sim = cam_sim_alloc(isp_action, isp_poll, "isp", isp, device_get_unit(isp->isp_dev), &isp->isp_osinfo.lock, isp->isp_maxcmds, isp->isp_maxcmds, devq); - - if (sim == NULL) { + sim = cam_sim_alloc(isp_action, isp_poll, "isp", isp, + device_get_unit(isp->isp_dev), &isp->isp_lock, + isp->isp_maxcmds, isp->isp_maxcmds, devq); + if (sim == NULL) return (ENOMEM); - } ISP_LOCK(isp); if (xpt_bus_register(sim, isp->isp_dev, chan) != CAM_SUCCESS) { @@ -173,7 +170,7 @@ isp_attach_chan(ispsoftc_t *isp, struct fc->isp = isp; fc->ready = 1; - callout_init_mtx(&fc->gdt, &isp->isp_osinfo.lock, 0); + callout_init_mtx(&fc->gdt, &isp->isp_lock, 0); TASK_INIT(&fc->gtask, 1, isp_gdt_task, fc); #ifdef ISP_TARGET_MODE TAILQ_INIT(&fc->waitq); @@ -267,7 +264,7 @@ isp_detach_chan(ispsoftc_t *isp, int cha /* Wait for the channel's spawned threads to exit. */ wakeup(isp->isp_osinfo.pc.ptr); while (*num_threads != 0) - mtx_sleep(isp, &isp->isp_osinfo.lock, PRIBIO, "isp_reap", 100); + mtx_sleep(isp, &isp->isp_lock, PRIBIO, "isp_reap", 100); } int @@ -291,7 +288,7 @@ isp_attach(ispsoftc_t *isp) } } - callout_init_mtx(&isp->isp_osinfo.tmo, &isp->isp_osinfo.lock, 0); + callout_init_mtx(&isp->isp_osinfo.tmo, &isp->isp_lock, 0); isp_timer_count = hz >> 2; callout_reset(&isp->isp_osinfo.tmo, isp_timer_count, isp_timer, isp); @@ -2805,8 +2802,7 @@ isp_kthread(void *arg) int slp = 0, d; int lb, lim; - mtx_lock(&isp->isp_osinfo.lock); - + ISP_LOCK(isp); while (isp->isp_osinfo.is_exiting == 0) { isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGDEBUG0, "Chan %d Checking FC state", chan); @@ -2860,10 +2856,10 @@ isp_kthread(void *arg) isp_prt(isp, ISP_LOG_SANCFG|ISP_LOGDEBUG0, "Chan %d sleep for %d seconds", chan, slp); - msleep(fc, &isp->isp_osinfo.lock, PRIBIO, "ispf", slp * hz); + msleep(fc, &isp->isp_lock, PRIBIO, "ispf", slp * hz); } fc->num_threads -= 1; - mtx_unlock(&isp->isp_osinfo.lock); + ISP_UNLOCK(isp); kthread_exit(); } @@ -2969,13 +2965,13 @@ isp_action(struct cam_sim *sim, union cc CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, ("isp_action\n")); isp = (ispsoftc_t *)cam_sim_softc(sim); - mtx_assert(&isp->isp_lock, MA_OWNED); + ISP_ASSERT_LOCKED(isp); + bus = cam_sim_bus(sim); isp_prt(isp, ISP_LOGDEBUG2, "isp_action code %x", ccb->ccb_h.func_code); ISP_PCMD(ccb) = NULL; switch (ccb->ccb_h.func_code) { case XPT_SCSI_IO: /* Execute the requested I/O operation */ - bus = XS_CHANNEL(ccb); /* * Do a couple of preliminary checks... */ @@ -3133,7 +3129,6 @@ isp_action(struct cam_sim *sim, union cc break; #endif case XPT_RESET_DEV: /* BDR the specified SCSI device */ - bus = cam_sim_bus(xpt_path_sim(ccb->ccb_h.path)); tgt = ccb->ccb_h.target_id; tgt |= (bus << 16); @@ -3192,7 +3187,6 @@ isp_action(struct cam_sim *sim, union cc break; } tgt = cts->ccb_h.target_id; - bus = cam_sim_bus(xpt_path_sim(cts->ccb_h.path)); if (IS_SCSI(isp)) { struct ccb_trans_settings_scsi *scsi = &cts->proto_specific.scsi; struct ccb_trans_settings_spi *spi = &cts->xport_specific.spi; @@ -3257,7 +3251,6 @@ isp_action(struct cam_sim *sim, union cc case XPT_GET_TRAN_SETTINGS: cts = &ccb->cts; tgt = cts->ccb_h.target_id; - bus = cam_sim_bus(xpt_path_sim(cts->ccb_h.path)); if (IS_FC(isp)) { fcparam *fcp = FCPARAM(isp, bus); struct ccb_trans_settings_scsi *scsi = &cts->proto_specific.scsi; @@ -3346,7 +3339,6 @@ isp_action(struct cam_sim *sim, union cc break; case XPT_RESET_BUS: /* Reset the specified bus */ - bus = cam_sim_bus(sim); error = isp_control(isp, ISPCTL_RESET_BUS, bus); if (error) { ccb->ccb_h.status = CAM_REQ_CMP_ERR; @@ -3381,7 +3373,6 @@ isp_action(struct cam_sim *sim, union cc break; } - bus = cam_sim_bus(xpt_path_sim(kp->ccb_h.path)); fcp = FCPARAM(isp, bus); if (kp->xport_specific.fc.valid & KNOB_VALID_ADDRESS) { @@ -3440,7 +3431,6 @@ isp_action(struct cam_sim *sim, union cc if (IS_FC(isp)) { fcparam *fcp; - bus = cam_sim_bus(xpt_path_sim(kp->ccb_h.path)); fcp = FCPARAM(isp, bus); kp->xport_specific.fc.wwnn = fcp->isp_wwnn; @@ -3488,7 +3478,6 @@ isp_action(struct cam_sim *sim, union cc else cpi->maxio = (ISP_NSEG_MAX - 1) * PAGE_SIZE; - bus = cam_sim_bus(xpt_path_sim(cpi->ccb_h.path)); if (IS_FC(isp)) { fcparam *fcp = FCPARAM(isp, bus); @@ -4058,7 +4047,7 @@ isp_mbox_wait_complete(ispsoftc_t *isp, if (isp->isp_osinfo.mbox_sleep_ok) { isp->isp_osinfo.mbox_sleep_ok = 0; isp->isp_osinfo.mbox_sleeping = 1; - msleep_sbt(&isp->isp_osinfo.mboxcmd_done, &isp->isp_osinfo.lock, + msleep_sbt(&isp->isp_osinfo.mboxcmd_done, &isp->isp_lock, PRIBIO, "ispmbx_sleep", to * SBT_1US, 0, 0); isp->isp_osinfo.mbox_sleep_ok = 1; isp->isp_osinfo.mbox_sleeping = 0; Modified: stable/10/sys/dev/isp/isp_freebsd.h ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:54:28 2017 (r316402) +++ stable/10/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:54:58 2017 (r316403) @@ -356,9 +356,9 @@ struct isposinfo { /* * Locking macros... */ -#define ISP_LOCK(isp) mtx_lock(&(isp)->isp_osinfo.lock) -#define ISP_UNLOCK(isp) mtx_unlock(&(isp)->isp_osinfo.lock) -#define ISP_ASSERT_LOCKED(isp) mtx_assert(&(isp)->isp_osinfo.lock, MA_OWNED) +#define ISP_LOCK(isp) mtx_lock(&(isp)->isp_lock) +#define ISP_UNLOCK(isp) mtx_unlock(&(isp)->isp_lock) +#define ISP_ASSERT_LOCKED(isp) mtx_assert(&(isp)->isp_lock, MA_OWNED) /* * Required Macros/Defines @@ -370,7 +370,7 @@ struct isposinfo { #define ISP_SNPRINTF snprintf #define ISP_DELAY(x) DELAY(x) #define ISP_SLEEP(isp, x) msleep_sbt(&(isp)->isp_osinfo.is_exiting, \ - &(isp)->isp_osinfo.lock, 0, "isp_sleep", (x) * SBT_1US, 0, 0) + &(isp)->isp_lock, 0, "isp_sleep", (x) * SBT_1US, 0, 0) #define ISP_MIN imin @@ -722,14 +722,6 @@ int isp_fcp_next_crn(ispsoftc_t *, uint8 /* * Platform Version specific defines */ -#define BUS_DMA_ROOTARG(x) bus_get_dma_tag(x) -#define isp_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, z) \ - bus_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, \ - busdma_lock_mutex, &isp->isp_osinfo.lock, z) - -#define isp_sim_alloc(a, b, c, d, e, f, g, h) \ - cam_sim_alloc(a, b, c, d, e, &(d)->isp_osinfo.lock, f, g, h) - #define ISP_PATH_PRT(i, l, p, ...) \ if ((l) == ISP_LOGALL || ((l)& (i)->isp_dblev) != 0) { \ xpt_print(p, __VA_ARGS__); \ Modified: stable/10/sys/dev/isp/isp_pci.c ============================================================================== --- stable/10/sys/dev/isp/isp_pci.c Sun Apr 2 10:54:28 2017 (r316402) +++ stable/10/sys/dev/isp/isp_pci.c Sun Apr 2 10:54:58 2017 (r316403) @@ -684,7 +684,7 @@ isp_pci_attach(device_t dev) isp->isp_nchan = 1; if (sizeof (bus_addr_t) > 4) isp->isp_osinfo.sixtyfourbit = 1; - mtx_init(&isp->isp_osinfo.lock, "isp", NULL, MTX_DEF); + mtx_init(&isp->isp_lock, "isp", NULL, MTX_DEF); /* * Get Generic Options @@ -981,7 +981,7 @@ bad: free(pcs->pci_isp.isp_osinfo.pc.ptr, M_DEVBUF); pcs->pci_isp.isp_osinfo.pc.ptr = NULL; } - mtx_destroy(&isp->isp_osinfo.lock); + mtx_destroy(&isp->isp_lock); return (ENXIO); } @@ -1019,7 +1019,7 @@ isp_pci_detach(device_t dev) free(pcs->pci_isp.isp_osinfo.pc.ptr, M_DEVBUF); pcs->pci_isp.isp_osinfo.pc.ptr = NULL; } - mtx_destroy(&isp->isp_osinfo.lock); + mtx_destroy(&isp->isp_lock); return (0); } @@ -1532,9 +1532,9 @@ isp_pci_mbxdma(ispsoftc_t *isp) else nsegs = ISP_NSEG_MAX; - if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_PCD(isp)), 1, + if (bus_dma_tag_create(bus_get_dma_tag(ISP_PCD(isp)), 1, slim, llim, hlim, NULL, NULL, BUS_SPACE_MAXSIZE, nsegs, slim, 0, - &isp->isp_osinfo.dmat)) { + busdma_lock_mutex, &isp->isp_lock, &isp->isp_osinfo.dmat)) { ISP_LOCK(isp); isp_prt(isp, ISP_LOGERR, "could not create master dma tag"); return (1); @@ -1547,9 +1547,10 @@ isp_pci_mbxdma(ispsoftc_t *isp) len = ISP_QUEUE_SIZE(RQUEST_QUEUE_LEN(isp)); if (isp->isp_type >= ISP_HA_FC_2200) len += (N_XCMDS * XCMD_SIZE); - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, - len, 1, len, 0, &isp->isp_osinfo.reqdmat)) { + len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock, + &isp->isp_osinfo.reqdmat)) { isp_prt(isp, ISP_LOGERR, "cannot create request DMA tag"); goto bad; } @@ -1588,9 +1589,10 @@ isp_pci_mbxdma(ispsoftc_t *isp) * Allocate and map the result queue. */ len = ISP_QUEUE_SIZE(RESULT_QUEUE_LEN(isp)); - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, - len, 1, len, 0, &isp->isp_osinfo.respdmat)) { + len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock, + &isp->isp_osinfo.respdmat)) { isp_prt(isp, ISP_LOGERR, "cannot create response DMA tag"); goto bad; } @@ -1617,9 +1619,10 @@ isp_pci_mbxdma(ispsoftc_t *isp) */ if (IS_24XX(isp)) { len = ISP_QUEUE_SIZE(RESULT_QUEUE_LEN(isp)); - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, slim, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, - len, 1, len, 0, &isp->isp_osinfo.atiodmat)) { + len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock, + &isp->isp_osinfo.atiodmat)) { isp_prt(isp, ISP_LOGERR, "cannot create ATIO DMA tag"); goto bad; } @@ -1643,9 +1646,10 @@ isp_pci_mbxdma(ispsoftc_t *isp) #endif if (IS_FC(isp)) { - if (isp_dma_tag_create(isp->isp_osinfo.dmat, 64, slim, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, 64, slim, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, - 2*QENTRY_LEN, 1, 2*QENTRY_LEN, 0, &isp->isp_osinfo.iocbdmat)) { + 2*QENTRY_LEN, 1, 2*QENTRY_LEN, 0, busdma_lock_mutex, + &isp->isp_lock, &isp->isp_osinfo.iocbdmat)) { goto bad; } if (bus_dmamem_alloc(isp->isp_osinfo.iocbdmat, @@ -1658,9 +1662,10 @@ isp_pci_mbxdma(ispsoftc_t *isp) goto bad; isp->isp_iocb_dma = im.maddr; - if (isp_dma_tag_create(isp->isp_osinfo.dmat, 64, slim, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, 64, slim, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, - ISP_FC_SCRLEN, 1, ISP_FC_SCRLEN, 0, &isp->isp_osinfo.scdmat)) + ISP_FC_SCRLEN, 1, ISP_FC_SCRLEN, 0, busdma_lock_mutex, + &isp->isp_lock, &isp->isp_osinfo.scdmat)) goto bad; for (cmap = 0; cmap < isp->isp_nchan; cmap++) { struct isp_fc *fc = ISP_FC_PC(isp, cmap); @@ -1715,7 +1720,7 @@ gotmaxcmds: } goto bad; } - callout_init_mtx(&pcmd->wdog, &isp->isp_osinfo.lock, 0); + callout_init_mtx(&pcmd->wdog, &isp->isp_lock, 0); if (i == isp->isp_maxcmds-1) pcmd->next = NULL; else Modified: stable/10/sys/dev/isp/isp_sbus.c ============================================================================== --- stable/10/sys/dev/isp/isp_sbus.c Sun Apr 2 10:54:28 2017 (r316402) +++ stable/10/sys/dev/isp/isp_sbus.c Sun Apr 2 10:54:58 2017 (r316403) @@ -143,7 +143,7 @@ isp_sbus_attach(device_t dev) sbs->sbus_dev = dev; sbs->sbus_mdvec = mdvec; isp->isp_dev = dev; - mtx_init(&isp->isp_osinfo.lock, "isp", NULL, MTX_DEF); + mtx_init(&isp->isp_lock, "isp", NULL, MTX_DEF); role = 0; if (resource_int_value(device_get_name(dev), device_get_unit(dev), @@ -310,7 +310,7 @@ bad: (void) bus_release_resource(dev, SYS_RES_MEMORY, sbs->rgd, sbs->regs); } - mtx_destroy(&isp->isp_osinfo.lock); + mtx_destroy(&isp->isp_lock); return (ENXIO); } @@ -334,7 +334,7 @@ isp_sbus_detach(device_t dev) } (void) bus_release_resource(dev, SYS_RES_MEMORY, sbs->rgd, sbs->regs); isp_sbus_mbxdmafree(isp); - mtx_destroy(&isp->isp_osinfo.lock); + mtx_destroy(&isp->isp_lock); return (0); } @@ -429,10 +429,11 @@ isp_sbus_mbxdma(ispsoftc_t *isp) if (isp->isp_rquest != NULL) goto gotmaxcmds; - if (isp_dma_tag_create(BUS_DMA_ROOTARG(ISP_SBD(isp)), 1, + if (bus_dma_tag_create(bus_get_dma_tag(ISP_SBD(isp)), 1, BUS_SPACE_MAXADDR_24BIT+1, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR_32BIT, NULL, NULL, BUS_SPACE_MAXSIZE_32BIT, - ISP_NSEG_MAX, BUS_SPACE_MAXADDR_24BIT, 0, &isp->isp_osinfo.dmat)) { + ISP_NSEG_MAX, BUS_SPACE_MAXADDR_24BIT, 0, + busdma_lock_mutex, &isp->isp_lock, &isp->isp_osinfo.dmat)) { isp_prt(isp, ISP_LOGERR, "could not create master dma tag"); goto bad; } @@ -441,9 +442,10 @@ isp_sbus_mbxdma(ispsoftc_t *isp) * Allocate and map the request queue. */ len = ISP_QUEUE_SIZE(RQUEST_QUEUE_LEN(isp)); - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, - len, 1, len, 0, &isp->isp_osinfo.reqdmat)) { + len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock, + &isp->isp_osinfo.reqdmat)) { isp_prt(isp, ISP_LOGERR, "cannot create request DMA tag"); goto bad; } @@ -468,9 +470,10 @@ isp_sbus_mbxdma(ispsoftc_t *isp) * Allocate and map the result queue. */ len = ISP_QUEUE_SIZE(RESULT_QUEUE_LEN(isp)); - if (isp_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1, + if (bus_dma_tag_create(isp->isp_osinfo.dmat, QENTRY_LEN, BUS_SPACE_MAXADDR_24BIT+1, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, - len, 1, len, 0, &isp->isp_osinfo.respdmat)) { + len, 1, len, 0, busdma_lock_mutex, &isp->isp_lock, + &isp->isp_osinfo.respdmat)) { isp_prt(isp, ISP_LOGERR, "cannot create response DMA tag"); goto bad; } @@ -512,7 +515,7 @@ gotmaxcmds: } goto bad; } - callout_init_mtx(&pcmd->wdog, &isp->isp_osinfo.lock, 0); + callout_init_mtx(&pcmd->wdog, &isp->isp_lock, 0); if (i == isp->isp_maxcmds-1) { pcmd->next = NULL; } else { From owner-svn-src-all@freebsd.org Sun Apr 2 10:55:42 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 205AAD1D6A2; Sun, 2 Apr 2017 10:55:42 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E6558A56; Sun, 2 Apr 2017 10:55:41 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32AtfO5041870; Sun, 2 Apr 2017 10:55:41 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32AtfT6041869; Sun, 2 Apr 2017 10:55:41 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021055.v32AtfT6041869@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:55:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316404 - stable/11/sys/dev/isp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:55:42 -0000 Author: mav Date: Sun Apr 2 10:55:40 2017 New Revision: 316404 URL: https://svnweb.freebsd.org/changeset/base/316404 Log: MFC r315678: Remove questionable reqp->req_time access. Modified: stable/11/sys/dev/isp/isp.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/isp/isp.c ============================================================================== --- stable/11/sys/dev/isp/isp.c Sun Apr 2 10:54:58 2017 (r316403) +++ stable/11/sys/dev/isp/isp.c Sun Apr 2 10:55:40 2017 (r316404) @@ -4424,8 +4424,6 @@ isp_start(XS_T *xs) } } - tptr = &reqp->req_time; - /* * NB: we do not support long CDBs (yet) */ @@ -4439,8 +4437,9 @@ isp_start(XS_T *xs) } reqp->req_target = target | (XS_CHANNEL(xs) << 7); reqp->req_lun_trn = XS_LUN(xs); - cdbp = reqp->req_cdb; reqp->req_cdblen = cdblen; + tptr = &reqp->req_time; + cdbp = reqp->req_cdb; } else if (IS_24XX(isp)) { ispreqt7_t *t7 = (ispreqt7_t *)local; @@ -4487,15 +4486,17 @@ isp_start(XS_T *xs) ispreqt2e_t *t2e = (ispreqt2e_t *)local; t2e->req_target = lp->handle; t2e->req_scclun = XS_LUN(xs); + tptr = &t2e->req_time; cdbp = t2e->req_cdb; } else if (ISP_CAP_SCCFW(isp)) { - ispreqt2_t *t2 = (ispreqt2_t *)local; t2->req_target = lp->handle; t2->req_scclun = XS_LUN(xs); + tptr = &t2->req_time; cdbp = t2->req_cdb; } else { t2->req_target = lp->handle; t2->req_lun_trn = XS_LUN(xs); + tptr = &t2->req_time; cdbp = t2->req_cdb; } } From owner-svn-src-all@freebsd.org Sun Apr 2 10:56:10 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C5FE6D1D710; Sun, 2 Apr 2017 10:56:10 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 97AB5C12; Sun, 2 Apr 2017 10:56:10 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32Au9gn041942; Sun, 2 Apr 2017 10:56:09 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32Au9eY041941; Sun, 2 Apr 2017 10:56:09 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021056.v32Au9eY041941@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:56:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316405 - stable/10/sys/dev/isp X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:56:10 -0000 Author: mav Date: Sun Apr 2 10:56:09 2017 New Revision: 316405 URL: https://svnweb.freebsd.org/changeset/base/316405 Log: MFC r315678: Remove questionable reqp->req_time access. Modified: stable/10/sys/dev/isp/isp.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/isp/isp.c ============================================================================== --- stable/10/sys/dev/isp/isp.c Sun Apr 2 10:55:40 2017 (r316404) +++ stable/10/sys/dev/isp/isp.c Sun Apr 2 10:56:09 2017 (r316405) @@ -4424,8 +4424,6 @@ isp_start(XS_T *xs) } } - tptr = &reqp->req_time; - /* * NB: we do not support long CDBs (yet) */ @@ -4439,8 +4437,9 @@ isp_start(XS_T *xs) } reqp->req_target = target | (XS_CHANNEL(xs) << 7); reqp->req_lun_trn = XS_LUN(xs); - cdbp = reqp->req_cdb; reqp->req_cdblen = cdblen; + tptr = &reqp->req_time; + cdbp = reqp->req_cdb; } else if (IS_24XX(isp)) { ispreqt7_t *t7 = (ispreqt7_t *)local; @@ -4487,15 +4486,17 @@ isp_start(XS_T *xs) ispreqt2e_t *t2e = (ispreqt2e_t *)local; t2e->req_target = lp->handle; t2e->req_scclun = XS_LUN(xs); + tptr = &t2e->req_time; cdbp = t2e->req_cdb; } else if (ISP_CAP_SCCFW(isp)) { - ispreqt2_t *t2 = (ispreqt2_t *)local; t2->req_target = lp->handle; t2->req_scclun = XS_LUN(xs); + tptr = &t2->req_time; cdbp = t2->req_cdb; } else { t2->req_target = lp->handle; t2->req_lun_trn = XS_LUN(xs); + tptr = &t2->req_time; cdbp = t2->req_cdb; } } From owner-svn-src-all@freebsd.org Sun Apr 2 10:57:20 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F16C3D1D7A2; Sun, 2 Apr 2017 10:57:20 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B5439D5D; Sun, 2 Apr 2017 10:57:20 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32AvJhj042044; Sun, 2 Apr 2017 10:57:19 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32AvJDp042039; Sun, 2 Apr 2017 10:57:19 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021057.v32AvJDp042039@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:57:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316406 - stable/11/sys/dev/isp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:57:21 -0000 Author: mav Date: Sun Apr 2 10:57:19 2017 New Revision: 316406 URL: https://svnweb.freebsd.org/changeset/base/316406 Log: MFC r315681: Improve command timeout handling. Let firmware do its best first, and if it can't, try software recovery. I would remove software timeout handler completely, but found bunch of complains on command timeout on sparc64 mailing list few years ago, so better be safe in case of interrupt loss. Modified: stable/11/sys/dev/isp/isp.c stable/11/sys/dev/isp/isp_freebsd.c stable/11/sys/dev/isp/isp_freebsd.h stable/11/sys/dev/isp/ispvar.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/isp/isp.c ============================================================================== --- stable/11/sys/dev/isp/isp.c Sun Apr 2 10:56:09 2017 (r316405) +++ stable/11/sys/dev/isp/isp.c Sun Apr 2 10:57:19 2017 (r316406) @@ -4500,13 +4500,9 @@ isp_start(XS_T *xs) cdbp = t2->req_cdb; } } + *tptr = XS_TIME(xs); ISP_MEMCPY(cdbp, XS_CDBP(xs), cdblen); - *tptr = (XS_TIME(xs) + 999) / 1000; - if (IS_24XX(isp) && *tptr > 0x1999) { - *tptr = 0x1999; - } - /* Whew. Thankfully the same for type 7 requests */ reqp->req_handle = isp_allocate_handle(isp, xs, ISP_HANDLE_INITIATOR); if (reqp->req_handle == 0) { Modified: stable/11/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/11/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:56:09 2017 (r316405) +++ stable/11/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:57:19 2017 (r316406) @@ -1241,7 +1241,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u cto->ct_iid_hi = atp->sid >> 16; cto->ct_oxid = atp->oxid; cto->ct_vpidx = ISP_GET_VPIDX(isp, XS_CHANNEL(ccb)); - cto->ct_timeout = (XS_TIME(ccb) + 999) / 1000; + cto->ct_timeout = XS_TIME(ccb); cto->ct_flags = atp->tattr << CT7_TASK_ATTR_SHIFT; /* @@ -1390,7 +1390,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u cto->ct_lun = ccb->ccb_h.target_lun; } } - cto->ct_timeout = (XS_TIME(ccb) + 999) / 1000; + cto->ct_timeout = XS_TIME(ccb); cto->ct_rxid = cso->tag_id; /* @@ -2958,9 +2958,10 @@ isp_abort_inot(ispsoftc_t *isp, union cc static void isp_action(struct cam_sim *sim, union ccb *ccb) { - int bus, tgt, ts, error; + int bus, tgt, error; ispsoftc_t *isp; struct ccb_trans_settings *cts; + sbintime_t ts; CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, ("isp_action\n")); @@ -3010,15 +3011,12 @@ isp_action(struct cam_sim *sim, union cc switch (error) { case CMD_QUEUED: ccb->ccb_h.status |= CAM_SIM_QUEUED; - if (ccb->ccb_h.timeout == CAM_TIME_INFINITY) { + if (ccb->ccb_h.timeout == CAM_TIME_INFINITY) break; - } - ts = ccb->ccb_h.timeout; - if (ts == CAM_TIME_DEFAULT) { - ts = 60*1000; - } - ts = isp_mstohz(ts); - callout_reset(&PISP_PCMD(ccb)->wdog, ts, isp_watchdog, ccb); + /* Give firmware extra 10s to handle timeout. */ + ts = SBT_1MS * ccb->ccb_h.timeout + 10 * SBT_1S; + callout_reset_sbt(&PISP_PCMD(ccb)->wdog, ts, 0, + isp_watchdog, ccb, 0); break; case CMD_RQLATER: isp_prt(isp, ISP_LOGDEBUG0, "%d.%jx retry later", @@ -4097,23 +4095,6 @@ isp_fc_scratch_acquire(ispsoftc_t *isp, return (ret); } -int -isp_mstohz(int ms) -{ - int hz; - struct timeval t; - t.tv_sec = ms / 1000; - t.tv_usec = (ms % 1000) * 1000; - hz = tvtohz(&t); - if (hz < 0) { - hz = 0x7fffffff; - } - if (hz == 0) { - hz = 1; - } - return (hz); -} - void isp_platform_intr(void *arg) { Modified: stable/11/sys/dev/isp/isp_freebsd.h ============================================================================== --- stable/11/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:56:09 2017 (r316405) +++ stable/11/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:57:19 2017 (r316406) @@ -520,7 +520,9 @@ default: \ #define XS_CDBLEN(ccb) (ccb)->cdb_len #define XS_XFRLEN(ccb) (ccb)->dxfer_len -#define XS_TIME(ccb) (ccb)->ccb_h.timeout +#define XS_TIME(ccb) \ + (((ccb)->ccb_h.timeout > 0xffff * 1000 - 999) ? 0 : \ + (((ccb)->ccb_h.timeout + 999) / 1000)) #define XS_GET_RESID(ccb) (ccb)->resid #define XS_SET_RESID(ccb, r) (ccb)->resid = r #define XS_STSP(ccb) (&(ccb)->scsi_status) @@ -711,7 +713,6 @@ void isp_mbox_wait_complete(ispsoftc_t * void isp_mbox_notify_done(ispsoftc_t *); void isp_mbox_release(ispsoftc_t *); int isp_fc_scratch_acquire(ispsoftc_t *, int); -int isp_mstohz(int); void isp_platform_intr(void *); void isp_platform_intr_resp(void *); void isp_platform_intr_atio(void *); Modified: stable/11/sys/dev/isp/ispvar.h ============================================================================== --- stable/11/sys/dev/isp/ispvar.h Sun Apr 2 10:56:09 2017 (r316405) +++ stable/11/sys/dev/isp/ispvar.h Sun Apr 2 10:57:19 2017 (r316406) @@ -1011,7 +1011,7 @@ void isp_prt_endcmd(ispsoftc_t *, XS_T * * XS_CDBP(xs) gets a pointer to the scsi CDB "" * XS_CDBLEN(xs) gets the CDB's length "" * XS_XFRLEN(xs) gets the associated data transfer length "" - * XS_TIME(xs) gets the time (in milliseconds) for this command + * XS_TIME(xs) gets the time (in seconds) for this command * XS_GET_RESID(xs) gets the current residual count * XS_GET_RESID(xs, resid) sets the current residual count * XS_STSP(xs) gets a pointer to the SCSI status byte "" From owner-svn-src-all@freebsd.org Sun Apr 2 10:57:50 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F17DED1D81D; Sun, 2 Apr 2017 10:57:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B218BE93; Sun, 2 Apr 2017 10:57:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32Avnfv042117; Sun, 2 Apr 2017 10:57:49 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32AvnAb042113; Sun, 2 Apr 2017 10:57:49 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021057.v32AvnAb042113@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:57:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316407 - stable/10/sys/dev/isp X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:57:51 -0000 Author: mav Date: Sun Apr 2 10:57:49 2017 New Revision: 316407 URL: https://svnweb.freebsd.org/changeset/base/316407 Log: MFC r315681: Improve command timeout handling. Let firmware do its best first, and if it can't, try software recovery. I would remove software timeout handler completely, but found bunch of complains on command timeout on sparc64 mailing list few years ago, so better be safe in case of interrupt loss. Modified: stable/10/sys/dev/isp/isp.c stable/10/sys/dev/isp/isp_freebsd.c stable/10/sys/dev/isp/isp_freebsd.h stable/10/sys/dev/isp/ispvar.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/isp/isp.c ============================================================================== --- stable/10/sys/dev/isp/isp.c Sun Apr 2 10:57:19 2017 (r316406) +++ stable/10/sys/dev/isp/isp.c Sun Apr 2 10:57:49 2017 (r316407) @@ -4500,13 +4500,9 @@ isp_start(XS_T *xs) cdbp = t2->req_cdb; } } + *tptr = XS_TIME(xs); ISP_MEMCPY(cdbp, XS_CDBP(xs), cdblen); - *tptr = (XS_TIME(xs) + 999) / 1000; - if (IS_24XX(isp) && *tptr > 0x1999) { - *tptr = 0x1999; - } - /* Whew. Thankfully the same for type 7 requests */ reqp->req_handle = isp_allocate_handle(isp, xs, ISP_HANDLE_INITIATOR); if (reqp->req_handle == 0) { Modified: stable/10/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:57:19 2017 (r316406) +++ stable/10/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:57:49 2017 (r316407) @@ -1241,7 +1241,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u cto->ct_iid_hi = atp->sid >> 16; cto->ct_oxid = atp->oxid; cto->ct_vpidx = ISP_GET_VPIDX(isp, XS_CHANNEL(ccb)); - cto->ct_timeout = (XS_TIME(ccb) + 999) / 1000; + cto->ct_timeout = XS_TIME(ccb); cto->ct_flags = atp->tattr << CT7_TASK_ATTR_SHIFT; /* @@ -1390,7 +1390,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u cto->ct_lun = ccb->ccb_h.target_lun; } } - cto->ct_timeout = (XS_TIME(ccb) + 999) / 1000; + cto->ct_timeout = XS_TIME(ccb); cto->ct_rxid = cso->tag_id; /* @@ -2958,9 +2958,10 @@ isp_abort_inot(ispsoftc_t *isp, union cc static void isp_action(struct cam_sim *sim, union ccb *ccb) { - int bus, tgt, ts, error; + int bus, tgt, error; ispsoftc_t *isp; struct ccb_trans_settings *cts; + sbintime_t ts; CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, ("isp_action\n")); @@ -3010,15 +3011,12 @@ isp_action(struct cam_sim *sim, union cc switch (error) { case CMD_QUEUED: ccb->ccb_h.status |= CAM_SIM_QUEUED; - if (ccb->ccb_h.timeout == CAM_TIME_INFINITY) { + if (ccb->ccb_h.timeout == CAM_TIME_INFINITY) break; - } - ts = ccb->ccb_h.timeout; - if (ts == CAM_TIME_DEFAULT) { - ts = 60*1000; - } - ts = isp_mstohz(ts); - callout_reset(&PISP_PCMD(ccb)->wdog, ts, isp_watchdog, ccb); + /* Give firmware extra 10s to handle timeout. */ + ts = SBT_1MS * ccb->ccb_h.timeout + 10 * SBT_1S; + callout_reset_sbt(&PISP_PCMD(ccb)->wdog, ts, 0, + isp_watchdog, ccb, 0); break; case CMD_RQLATER: isp_prt(isp, ISP_LOGDEBUG0, "%d.%jx retry later", @@ -4096,23 +4094,6 @@ isp_fc_scratch_acquire(ispsoftc_t *isp, return (ret); } -int -isp_mstohz(int ms) -{ - int hz; - struct timeval t; - t.tv_sec = ms / 1000; - t.tv_usec = (ms % 1000) * 1000; - hz = tvtohz(&t); - if (hz < 0) { - hz = 0x7fffffff; - } - if (hz == 0) { - hz = 1; - } - return (hz); -} - void isp_platform_intr(void *arg) { Modified: stable/10/sys/dev/isp/isp_freebsd.h ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:57:19 2017 (r316406) +++ stable/10/sys/dev/isp/isp_freebsd.h Sun Apr 2 10:57:49 2017 (r316407) @@ -520,7 +520,9 @@ default: \ #define XS_CDBLEN(ccb) (ccb)->cdb_len #define XS_XFRLEN(ccb) (ccb)->dxfer_len -#define XS_TIME(ccb) (ccb)->ccb_h.timeout +#define XS_TIME(ccb) \ + (((ccb)->ccb_h.timeout > 0xffff * 1000 - 999) ? 0 : \ + (((ccb)->ccb_h.timeout + 999) / 1000)) #define XS_GET_RESID(ccb) (ccb)->resid #define XS_SET_RESID(ccb, r) (ccb)->resid = r #define XS_STSP(ccb) (&(ccb)->scsi_status) @@ -711,7 +713,6 @@ void isp_mbox_wait_complete(ispsoftc_t * void isp_mbox_notify_done(ispsoftc_t *); void isp_mbox_release(ispsoftc_t *); int isp_fc_scratch_acquire(ispsoftc_t *, int); -int isp_mstohz(int); void isp_platform_intr(void *); void isp_platform_intr_resp(void *); void isp_platform_intr_atio(void *); Modified: stable/10/sys/dev/isp/ispvar.h ============================================================================== --- stable/10/sys/dev/isp/ispvar.h Sun Apr 2 10:57:19 2017 (r316406) +++ stable/10/sys/dev/isp/ispvar.h Sun Apr 2 10:57:49 2017 (r316407) @@ -1011,7 +1011,7 @@ void isp_prt_endcmd(ispsoftc_t *, XS_T * * XS_CDBP(xs) gets a pointer to the scsi CDB "" * XS_CDBLEN(xs) gets the CDB's length "" * XS_XFRLEN(xs) gets the associated data transfer length "" - * XS_TIME(xs) gets the time (in milliseconds) for this command + * XS_TIME(xs) gets the time (in seconds) for this command * XS_GET_RESID(xs) gets the current residual count * XS_GET_RESID(xs, resid) sets the current residual count * XS_STSP(xs) gets a pointer to the SCSI status byte "" From owner-svn-src-all@freebsd.org Sun Apr 2 10:58:57 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 18118D1D8CA; Sun, 2 Apr 2017 10:58:57 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E6AB9FDC; Sun, 2 Apr 2017 10:58:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32AwuhT042216; Sun, 2 Apr 2017 10:58:56 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32AwtBj042214; Sun, 2 Apr 2017 10:58:55 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021058.v32AwtBj042214@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:58:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316408 - stable/11/sys/dev/isp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:58:57 -0000 Author: mav Date: Sun Apr 2 10:58:55 2017 New Revision: 316408 URL: https://svnweb.freebsd.org/changeset/base/316408 Log: MFC r315682, r315683: Remove some dead code left after r246713. Modified: stable/11/sys/dev/isp/isp_pci.c stable/11/sys/dev/isp/isp_sbus.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/isp/isp_pci.c ============================================================================== --- stable/11/sys/dev/isp/isp_pci.c Sun Apr 2 10:57:49 2017 (r316407) +++ stable/11/sys/dev/isp/isp_pci.c Sun Apr 2 10:58:55 2017 (r316408) @@ -1835,24 +1835,11 @@ typedef struct { void *cmd_token; void *rq; /* original request */ int error; - bus_size_t mapsize; } mush_t; #define MUSHERR_NOQENTRIES -2 #ifdef ISP_TARGET_MODE -static void tdma2_2(void *, bus_dma_segment_t *, int, bus_size_t, int); -static void tdma2(void *, bus_dma_segment_t *, int, int); - -static void -tdma2_2(void *arg, bus_dma_segment_t *dm_segs, int nseg, bus_size_t mapsize, int error) -{ - mush_t *mp; - mp = (mush_t *)arg; - mp->mapsize = mapsize; - tdma2(arg, dm_segs, nseg, error); -} - static void tdma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) { @@ -1916,18 +1903,6 @@ tdma2(void *arg, bus_dma_segment_t *dm_s } #endif -static void dma2_2(void *, bus_dma_segment_t *, int, bus_size_t, int); -static void dma2(void *, bus_dma_segment_t *, int, int); - -static void -dma2_2(void *arg, bus_dma_segment_t *dm_segs, int nseg, bus_size_t mapsize, int error) -{ - mush_t *mp; - mp = (mush_t *)arg; - mp->mapsize = mapsize; - dma2(arg, dm_segs, nseg, error); -} - static void dma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) { @@ -1997,7 +1972,6 @@ isp_pci_dmasetup(ispsoftc_t *isp, struct { mush_t mush, *mp; void (*eptr)(void *, bus_dma_segment_t *, int, int); - void (*eptr2)(void *, bus_dma_segment_t *, int, bus_size_t, int); int error; mp = &mush; @@ -2005,19 +1979,13 @@ isp_pci_dmasetup(ispsoftc_t *isp, struct mp->cmd_token = csio; mp->rq = ff; mp->error = 0; - mp->mapsize = 0; #ifdef ISP_TARGET_MODE - if (csio->ccb_h.func_code == XPT_CONT_TARGET_IO) { + if (csio->ccb_h.func_code == XPT_CONT_TARGET_IO) eptr = tdma2; - eptr2 = tdma2_2; - } else + else #endif - { eptr = dma2; - eptr2 = dma2_2; - } - error = bus_dmamap_load_ccb(isp->isp_osinfo.dmat, PISP_PCMD(csio)->dmap, (union ccb *)csio, eptr, mp, 0); Modified: stable/11/sys/dev/isp/isp_sbus.c ============================================================================== --- stable/11/sys/dev/isp/isp_sbus.c Sun Apr 2 10:57:49 2017 (r316407) +++ stable/11/sys/dev/isp/isp_sbus.c Sun Apr 2 10:58:55 2017 (r316408) @@ -585,13 +585,10 @@ typedef struct { void *cmd_token; void *rq; /* original request */ int error; - bus_size_t mapsize; } mush_t; #define MUSHERR_NOQENTRIES -2 -static void dma2(void *, bus_dma_segment_t *, int, int); - static void dma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) { @@ -634,7 +631,6 @@ static int isp_sbus_dmasetup(ispsoftc_t *isp, struct ccb_scsiio *csio, void *ff) { mush_t mush, *mp; - void (*eptr)(void *, bus_dma_segment_t *, int, int); int error; mp = &mush; @@ -642,12 +638,9 @@ isp_sbus_dmasetup(ispsoftc_t *isp, struc mp->cmd_token = csio; mp->rq = ff; mp->error = 0; - mp->mapsize = 0; - - eptr = dma2; error = bus_dmamap_load_ccb(isp->isp_osinfo.dmat, - PISP_PCMD(csio)->dmap, (union ccb *)csio, eptr, mp, 0); + PISP_PCMD(csio)->dmap, (union ccb *)csio, dma2, mp, 0); if (error == EINPROGRESS) { bus_dmamap_unload(isp->isp_osinfo.dmat, PISP_PCMD(csio)->dmap); mp->error = EINVAL; From owner-svn-src-all@freebsd.org Sun Apr 2 10:59:32 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 190B5D1D96B; Sun, 2 Apr 2017 10:59:32 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EA4B1175; Sun, 2 Apr 2017 10:59:31 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32AxVGT042293; Sun, 2 Apr 2017 10:59:31 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32AxUNM042291; Sun, 2 Apr 2017 10:59:30 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021059.v32AxUNM042291@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 10:59:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316409 - stable/10/sys/dev/isp X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 10:59:32 -0000 Author: mav Date: Sun Apr 2 10:59:30 2017 New Revision: 316409 URL: https://svnweb.freebsd.org/changeset/base/316409 Log: MFC r315682, r315683: Remove some dead code left after r246713. Modified: stable/10/sys/dev/isp/isp_pci.c stable/10/sys/dev/isp/isp_sbus.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/isp/isp_pci.c ============================================================================== --- stable/10/sys/dev/isp/isp_pci.c Sun Apr 2 10:58:55 2017 (r316408) +++ stable/10/sys/dev/isp/isp_pci.c Sun Apr 2 10:59:30 2017 (r316409) @@ -1835,24 +1835,11 @@ typedef struct { void *cmd_token; void *rq; /* original request */ int error; - bus_size_t mapsize; } mush_t; #define MUSHERR_NOQENTRIES -2 #ifdef ISP_TARGET_MODE -static void tdma2_2(void *, bus_dma_segment_t *, int, bus_size_t, int); -static void tdma2(void *, bus_dma_segment_t *, int, int); - -static void -tdma2_2(void *arg, bus_dma_segment_t *dm_segs, int nseg, bus_size_t mapsize, int error) -{ - mush_t *mp; - mp = (mush_t *)arg; - mp->mapsize = mapsize; - tdma2(arg, dm_segs, nseg, error); -} - static void tdma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) { @@ -1916,18 +1903,6 @@ tdma2(void *arg, bus_dma_segment_t *dm_s } #endif -static void dma2_2(void *, bus_dma_segment_t *, int, bus_size_t, int); -static void dma2(void *, bus_dma_segment_t *, int, int); - -static void -dma2_2(void *arg, bus_dma_segment_t *dm_segs, int nseg, bus_size_t mapsize, int error) -{ - mush_t *mp; - mp = (mush_t *)arg; - mp->mapsize = mapsize; - dma2(arg, dm_segs, nseg, error); -} - static void dma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) { @@ -1997,7 +1972,6 @@ isp_pci_dmasetup(ispsoftc_t *isp, struct { mush_t mush, *mp; void (*eptr)(void *, bus_dma_segment_t *, int, int); - void (*eptr2)(void *, bus_dma_segment_t *, int, bus_size_t, int); int error; mp = &mush; @@ -2005,19 +1979,13 @@ isp_pci_dmasetup(ispsoftc_t *isp, struct mp->cmd_token = csio; mp->rq = ff; mp->error = 0; - mp->mapsize = 0; #ifdef ISP_TARGET_MODE - if (csio->ccb_h.func_code == XPT_CONT_TARGET_IO) { + if (csio->ccb_h.func_code == XPT_CONT_TARGET_IO) eptr = tdma2; - eptr2 = tdma2_2; - } else + else #endif - { eptr = dma2; - eptr2 = dma2_2; - } - error = bus_dmamap_load_ccb(isp->isp_osinfo.dmat, PISP_PCMD(csio)->dmap, (union ccb *)csio, eptr, mp, 0); Modified: stable/10/sys/dev/isp/isp_sbus.c ============================================================================== --- stable/10/sys/dev/isp/isp_sbus.c Sun Apr 2 10:58:55 2017 (r316408) +++ stable/10/sys/dev/isp/isp_sbus.c Sun Apr 2 10:59:30 2017 (r316409) @@ -585,13 +585,10 @@ typedef struct { void *cmd_token; void *rq; /* original request */ int error; - bus_size_t mapsize; } mush_t; #define MUSHERR_NOQENTRIES -2 -static void dma2(void *, bus_dma_segment_t *, int, int); - static void dma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) { @@ -634,7 +631,6 @@ static int isp_sbus_dmasetup(ispsoftc_t *isp, struct ccb_scsiio *csio, void *ff) { mush_t mush, *mp; - void (*eptr)(void *, bus_dma_segment_t *, int, int); int error; mp = &mush; @@ -642,12 +638,9 @@ isp_sbus_dmasetup(ispsoftc_t *isp, struc mp->cmd_token = csio; mp->rq = ff; mp->error = 0; - mp->mapsize = 0; - - eptr = dma2; error = bus_dmamap_load_ccb(isp->isp_osinfo.dmat, - PISP_PCMD(csio)->dmap, (union ccb *)csio, eptr, mp, 0); + PISP_PCMD(csio)->dmap, (union ccb *)csio, dma2, mp, 0); if (error == EINPROGRESS) { bus_dmamap_unload(isp->isp_osinfo.dmat, PISP_PCMD(csio)->dmap); mp->error = EINVAL; From owner-svn-src-all@freebsd.org Sun Apr 2 11:00:20 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 16314D1D9EC; Sun, 2 Apr 2017 11:00:20 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E5A192E5; Sun, 2 Apr 2017 11:00:19 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32B0JuZ042423; Sun, 2 Apr 2017 11:00:19 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32B0JY9042422; Sun, 2 Apr 2017 11:00:19 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021100.v32B0JY9042422@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 11:00:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316410 - stable/10/sys/dev/isp X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 11:00:20 -0000 Author: mav Date: Sun Apr 2 11:00:18 2017 New Revision: 316410 URL: https://svnweb.freebsd.org/changeset/base/316410 Log: MFC r315709: Switch from using periph_links to sim_links. periph_links field belongs to periph drivers and must not be used here. Modified: stable/10/sys/dev/isp/isp_freebsd.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.c Sun Apr 2 10:59:30 2017 (r316409) +++ stable/10/sys/dev/isp/isp_freebsd.c Sun Apr 2 11:00:18 2017 (r316410) @@ -841,7 +841,7 @@ isp_tmcmd_restart(ispsoftc_t *isp) ISP_GET_PC_ADDR(isp, bus, waitq, waitq); ccb = (union ccb *)TAILQ_FIRST(waitq); if (ccb != NULL) { - TAILQ_REMOVE(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_REMOVE(waitq, &ccb->ccb_h, sim_links.tqe); isp_target_start_ctio(isp, ccb, FROM_TIMER); } } @@ -1097,17 +1097,17 @@ isp_target_start_ctio(ispsoftc_t *isp, u /* * Insert at the tail of the list, if any, waiting CTIO CCBs */ - TAILQ_INSERT_TAIL(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_TAIL(waitq, &ccb->ccb_h, sim_links.tqe); break; case FROM_TIMER: case FROM_SRR: case FROM_CTIO_DONE: - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } while ((ccb = (union ccb *) TAILQ_FIRST(waitq)) != NULL) { - TAILQ_REMOVE(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_REMOVE(waitq, &ccb->ccb_h, sim_links.tqe); cso = &ccb->csio; xfrlen = cso->dxfer_len; @@ -1156,7 +1156,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u */ if (atp->ctcnt >= ATPD_CCB_OUTSTANDING) { isp_prt(isp, ISP_LOGTINFO, "[0x%x] handling only %d CCBs at a time (flags for this ccb: 0x%x)", cso->tag_id, ATPD_CCB_OUTSTANDING, ccb->ccb_h.flags); - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } @@ -1281,7 +1281,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u if (atp->ests == NULL) { atp->ests = isp_get_ecmd(isp); if (atp->ests == NULL) { - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } } @@ -1436,7 +1436,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u if (atp->ests == NULL) { atp->ests = isp_get_ecmd(isp); if (atp->ests == NULL) { - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } } @@ -1525,13 +1525,13 @@ isp_target_start_ctio(ispsoftc_t *isp, u if (isp_get_pcmd(isp, ccb)) { ISP_PATH_PRT(isp, ISP_LOGWARN, ccb->ccb_h.path, "out of PCMDs\n"); - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } handle = isp_allocate_handle(isp, ccb, ISP_HANDLE_TARGET); if (handle == 0) { ISP_PATH_PRT(isp, ISP_LOGWARN, ccb->ccb_h.path, "No XFLIST pointers for %s\n", __func__); - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); isp_free_pcmd(isp, ccb); break; } @@ -1561,7 +1561,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u isp_destroy_handle(isp, handle); isp_free_pcmd(isp, ccb); if (dmaresult == CMD_EAGAIN) { - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } ccb->ccb_h.status = CAM_REQ_CMP_ERR; From owner-svn-src-all@freebsd.org Sun Apr 2 11:00:48 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E583BD1DA86; Sun, 2 Apr 2017 11:00:48 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C0CF0663; Sun, 2 Apr 2017 11:00:48 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32B0lG8042497; Sun, 2 Apr 2017 11:00:47 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32B0lBA042496; Sun, 2 Apr 2017 11:00:47 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021100.v32B0lBA042496@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 11:00:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316411 - stable/11/sys/dev/isp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 11:00:49 -0000 Author: mav Date: Sun Apr 2 11:00:47 2017 New Revision: 316411 URL: https://svnweb.freebsd.org/changeset/base/316411 Log: MFC r315709: Switch from using periph_links to sim_links. periph_links field belongs to periph drivers and must not be used here. Modified: stable/11/sys/dev/isp/isp_freebsd.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/11/sys/dev/isp/isp_freebsd.c Sun Apr 2 11:00:18 2017 (r316410) +++ stable/11/sys/dev/isp/isp_freebsd.c Sun Apr 2 11:00:47 2017 (r316411) @@ -841,7 +841,7 @@ isp_tmcmd_restart(ispsoftc_t *isp) ISP_GET_PC_ADDR(isp, bus, waitq, waitq); ccb = (union ccb *)TAILQ_FIRST(waitq); if (ccb != NULL) { - TAILQ_REMOVE(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_REMOVE(waitq, &ccb->ccb_h, sim_links.tqe); isp_target_start_ctio(isp, ccb, FROM_TIMER); } } @@ -1097,17 +1097,17 @@ isp_target_start_ctio(ispsoftc_t *isp, u /* * Insert at the tail of the list, if any, waiting CTIO CCBs */ - TAILQ_INSERT_TAIL(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_TAIL(waitq, &ccb->ccb_h, sim_links.tqe); break; case FROM_TIMER: case FROM_SRR: case FROM_CTIO_DONE: - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } while ((ccb = (union ccb *) TAILQ_FIRST(waitq)) != NULL) { - TAILQ_REMOVE(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_REMOVE(waitq, &ccb->ccb_h, sim_links.tqe); cso = &ccb->csio; xfrlen = cso->dxfer_len; @@ -1156,7 +1156,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u */ if (atp->ctcnt >= ATPD_CCB_OUTSTANDING) { isp_prt(isp, ISP_LOGTINFO, "[0x%x] handling only %d CCBs at a time (flags for this ccb: 0x%x)", cso->tag_id, ATPD_CCB_OUTSTANDING, ccb->ccb_h.flags); - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } @@ -1281,7 +1281,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u if (atp->ests == NULL) { atp->ests = isp_get_ecmd(isp); if (atp->ests == NULL) { - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } } @@ -1436,7 +1436,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u if (atp->ests == NULL) { atp->ests = isp_get_ecmd(isp); if (atp->ests == NULL) { - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } } @@ -1525,13 +1525,13 @@ isp_target_start_ctio(ispsoftc_t *isp, u if (isp_get_pcmd(isp, ccb)) { ISP_PATH_PRT(isp, ISP_LOGWARN, ccb->ccb_h.path, "out of PCMDs\n"); - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } handle = isp_allocate_handle(isp, ccb, ISP_HANDLE_TARGET); if (handle == 0) { ISP_PATH_PRT(isp, ISP_LOGWARN, ccb->ccb_h.path, "No XFLIST pointers for %s\n", __func__); - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); isp_free_pcmd(isp, ccb); break; } @@ -1561,7 +1561,7 @@ isp_target_start_ctio(ispsoftc_t *isp, u isp_destroy_handle(isp, handle); isp_free_pcmd(isp, ccb); if (dmaresult == CMD_EAGAIN) { - TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, periph_links.tqe); + TAILQ_INSERT_HEAD(waitq, &ccb->ccb_h, sim_links.tqe); break; } ccb->ccb_h.status = CAM_REQ_CMP_ERR; From owner-svn-src-all@freebsd.org Sun Apr 2 11:15:29 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A1E73D2A0DE; Sun, 2 Apr 2017 11:15:29 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 652B6E37; Sun, 2 Apr 2017 11:15:29 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.86 (FreeBSD)) (envelope-from ) id 1cudTd-0000YX-L2; Sun, 02 Apr 2017 14:15:21 +0300 Date: Sun, 2 Apr 2017 14:15:21 +0300 From: Slawa Olhovchenkov To: Alan Somers Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r316372 - stable/11/etc Message-ID: <20170402111521.GL86500@zxy.spb.ru> References: <201704012051.v31KpM9f069344@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201704012051.v31KpM9f069344@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 11:15:29 -0000 On Sat, Apr 01, 2017 at 08:51:22PM +0000, Alan Somers wrote: > Author: asomers > Date: Sat Apr 1 20:51:22 2017 > New Revision: 316372 > URL: https://svnweb.freebsd.org/changeset/base/316372 > > Log: > MFC r314341: > > Update devd.conf for ports change 421360 > > Ports change 421360 changed the name and UID of the postgres user This is not good solution, IMHO. System w/ PostgreSQL installed before 421360 after update to r314341 will be break. IMHO best is to have (some time) both rules: for uid 70 and 770. > Reviewed by: trasz, imp, girgen > MFC after: 3 weeks > Sponsored by: Spectra Logic Corp > Differential Revision: https://reviews.freebsd.org/D9746 > > Modified: > stable/11/etc/devd.conf > Directory Properties: > stable/11/ (props changed) > > Modified: stable/11/etc/devd.conf > ============================================================================== > --- stable/11/etc/devd.conf Sat Apr 1 20:38:12 2017 (r316371) > +++ stable/11/etc/devd.conf Sat Apr 1 20:51:22 2017 (r316372) > @@ -312,10 +312,10 @@ notify 10 { > }; > > # This example works around a memory leak in PostgreSQL, restarting > -# it when the "user:pgsql:swap:devctl=1G" rctl(8) rule gets triggered. > +# it when the "user:postgres:swap:devctl=1G" rctl(8) rule gets triggered. > notify 0 { > match "system" "RCTL"; > - match "rule" "user:70:swap:.*"; > + match "rule" "user:770:swap:.*"; > action "/usr/local/etc/rc.d/postgresql restart"; > }; > > _______________________________________________ > svn-src-all@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-svn-src-all@freebsd.org Sun Apr 2 11:32:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4A479D2A927; Sun, 2 Apr 2017 11:32:06 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1AB4FAC7; Sun, 2 Apr 2017 11:32:06 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32BW59j058756; Sun, 2 Apr 2017 11:32:05 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32BW5Y4058755; Sun, 2 Apr 2017 11:32:05 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704021132.v32BW5Y4058755@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 11:32:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316412 - head/sys/dev/usb/controller X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 11:32:06 -0000 Author: mav Date: Sun Apr 2 11:32:05 2017 New Revision: 316412 URL: https://svnweb.freebsd.org/changeset/base/316412 Log: Add IDs for Intel Cougar Point USB 2.0 controller. MFC after: 1 week Modified: head/sys/dev/usb/controller/ehci_pci.c Modified: head/sys/dev/usb/controller/ehci_pci.c ============================================================================== --- head/sys/dev/usb/controller/ehci_pci.c Sun Apr 2 11:00:47 2017 (r316411) +++ head/sys/dev/usb/controller/ehci_pci.c Sun Apr 2 11:32:05 2017 (r316412) @@ -124,6 +124,10 @@ ehci_pci_match(device_t self) case 0x0f348086: return ("Intel BayTrail USB 2.0 controller"); + case 0x1c268086: + return ("Intel Cougar Point USB 2.0 controller"); + case 0x1c2d8086: + return ("Intel Cougar Point USB 2.0 controller"); case 0x1d268086: return ("Intel Patsburg USB 2.0 controller"); case 0x1d2d8086: From owner-svn-src-all@freebsd.org Sun Apr 2 11:36:27 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 31E26D2AA28; Sun, 2 Apr 2017 11:36:27 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DCB36CC7; Sun, 2 Apr 2017 11:36:26 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32BaQ5o058960; Sun, 2 Apr 2017 11:36:26 GMT (envelope-from gavin@FreeBSD.org) Received: (from gavin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32BaQqA058959; Sun, 2 Apr 2017 11:36:26 GMT (envelope-from gavin@FreeBSD.org) Message-Id: <201704021136.v32BaQqA058959@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gavin set sender to gavin@FreeBSD.org using -f From: Gavin Atkinson Date: Sun, 2 Apr 2017 11:36:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316413 - head/sys/dev/ichsmb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 11:36:27 -0000 Author: gavin Date: Sun Apr 2 11:36:25 2017 New Revision: 316413 URL: https://svnweb.freebsd.org/changeset/base/316413 Log: Add IDs for several missing Intel SMBus controllers. Obtained from: Data sheets, Linux defines, local hardware MFH: 2 weeks Modified: head/sys/dev/ichsmb/ichsmb_pci.c Modified: head/sys/dev/ichsmb/ichsmb_pci.c ============================================================================== --- head/sys/dev/ichsmb/ichsmb_pci.c Sun Apr 2 11:32:05 2017 (r316412) +++ head/sys/dev/ichsmb/ichsmb_pci.c Sun Apr 2 11:36:25 2017 (r316413) @@ -78,7 +78,9 @@ __FBSDID("$FreeBSD$"); #define ID_82801GB 0x27da #define ID_82801H 0x283e #define ID_82801I 0x2930 +#define ID_EP80579 0x5032 #define ID_82801JI 0x3a30 +#define ID_82801JD 0x3a60 #define ID_PCH 0x3b30 #define ID_6300ESB 0x25a4 #define ID_631xESB 0x269b @@ -92,9 +94,16 @@ __FBSDID("$FreeBSD$"); #define ID_LPTLP 0x9c22 #define ID_WCPT 0x8ca2 #define ID_WCPTLP 0x9ca2 +#define ID_BAYTRAIL 0x0f12 +#define ID_BRASWELL 0x2292 #define ID_WELLSBURG 0x8d22 #define ID_SRPT 0xa123 #define ID_SRPTLP 0x9d23 +#define ID_DENVERTON 0x19df +#define ID_BROXTON 0x5ad4 +#define ID_LEWISBURG 0xa1a3 +#define ID_LEWISBURG2 0xa223 +#define ID_KABYLAKE 0xa2a3 static const struct ichsmb_device { uint16_t id; @@ -113,7 +122,9 @@ static const struct ichsmb_device { { ID_82801GB, "Intel 82801GB (ICH7) SMBus controller" }, { ID_82801H, "Intel 82801H (ICH8) SMBus controller" }, { ID_82801I, "Intel 82801I (ICH9) SMBus controller" }, + { ID_EP80579, "Intel EP80579 SMBus controller" }, { ID_82801JI, "Intel 82801JI (ICH10) SMBus controller" }, + { ID_82801JD, "Intel 82801JD (ICH10) SMBus controller" }, { ID_PCH, "Intel PCH SMBus controller" }, { ID_6300ESB, "Intel 6300ESB (ICH) SMBus controller" }, { ID_631xESB, "Intel 631xESB/6321ESB (ESB2) SMBus controller" }, @@ -126,10 +137,17 @@ static const struct ichsmb_device { { ID_LPTLP, "Intel Lynx Point-LP SMBus controller" }, { ID_WCPT, "Intel Wildcat Point SMBus controller" }, { ID_WCPTLP, "Intel Wildcat Point-LP SMBus controller" }, + { ID_BAYTRAIL, "Intel Baytrail SMBus controller" }, + { ID_BRASWELL, "Intel Braswell SMBus controller" }, { ID_COLETOCRK, "Intel Coleto Creek SMBus controller" }, { ID_WELLSBURG, "Intel Wellsburg SMBus controller" }, { ID_SRPT, "Intel Sunrise Point-H SMBus controller" }, { ID_SRPTLP, "Intel Sunrise Point-LP SMBus controller" }, + { ID_DENVERTON, "Intel Denverton SMBus controller" }, + { ID_BROXTON, "Intel Broxton SMBus controller" }, + { ID_LEWISBURG, "Intel Lewisburg SMBus controller" }, + { ID_LEWISBURG2,"Intel Lewisburg SMBus controller" }, + { ID_KABYLAKE, "Intel Kaby Lake SMBus controller" }, { 0, NULL }, }; From owner-svn-src-all@freebsd.org Sun Apr 2 12:37:44 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 731EFD29440; Sun, 2 Apr 2017 12:37:44 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4010E9CE; Sun, 2 Apr 2017 12:37:44 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32Cbhqj082872; Sun, 2 Apr 2017 12:37:43 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32CbhUV082871; Sun, 2 Apr 2017 12:37:43 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201704021237.v32CbhUV082871@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 2 Apr 2017 12:37:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316414 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 12:37:44 -0000 Author: jilles Date: Sun Apr 2 12:37:43 2017 New Revision: 316414 URL: https://svnweb.freebsd.org/changeset/base/316414 Log: sh: Don't scan word twice in ${param+-word}. There is no longer a case where argbackq has already been advanced but the string pointer needs to be advanced. Modified: head/bin/sh/expand.c Modified: head/bin/sh/expand.c ============================================================================== --- head/bin/sh/expand.c Sun Apr 2 11:36:25 2017 (r316413) +++ head/bin/sh/expand.c Sun Apr 2 12:37:43 2017 (r316414) @@ -753,15 +753,14 @@ again: /* jump here after setting a vari break; case VSNORMAL: - break; + return p; case VSPLUS: case VSMINUS: if (!set) { - argstr(p, argbackq, + return argstr(p, argbackq, flag | (flag & EXP_SPLIT ? EXP_SPLIT_LIT : 0) | (varflags & VSQUOTE ? EXP_LIT_QUOTED : 0), dst); - break; } break; @@ -769,10 +768,8 @@ again: /* jump here after setting a vari case VSTRIMLEFTMAX: case VSTRIMRIGHT: case VSTRIMRIGHTMAX: - if (!set) { - set = 1; + if (!set) break; - } /* * Terminate the string and start recording the pattern * right after it @@ -805,15 +802,14 @@ again: /* jump here after setting a vari abort(); } - if (subtype != VSNORMAL) { /* skip to end of alternative */ + { /* skip to end of alternative */ int nesting = 1; for (;;) { if ((c = *p++) == CTLESC) p++; - else if (c == CTLBACKQ || c == (CTLBACKQ|CTLQUOTE)) { - if (set) - *argbackq = (*argbackq)->next; - } else if (c == CTLVAR) { + else if (c == CTLBACKQ || c == (CTLBACKQ|CTLQUOTE)) + *argbackq = (*argbackq)->next; + else if (c == CTLVAR) { if ((*p++ & VSTYPE) != VSNORMAL) nesting++; } else if (c == CTLENDVAR) { From owner-svn-src-all@freebsd.org Sun Apr 2 13:24:59 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9118D2A6C7; Sun, 2 Apr 2017 13:24:59 +0000 (UTC) (envelope-from avos@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 903C338A; Sun, 2 Apr 2017 13:24:59 +0000 (UTC) (envelope-from avos@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32DOwG2003553; Sun, 2 Apr 2017 13:24:58 GMT (envelope-from avos@FreeBSD.org) Received: (from avos@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32DOwYb003552; Sun, 2 Apr 2017 13:24:58 GMT (envelope-from avos@FreeBSD.org) Message-Id: <201704021324.v32DOwYb003552@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avos set sender to avos@FreeBSD.org using -f From: Andriy Voskoboinyk Date: Sun, 2 Apr 2017 13:24:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316415 - head/sys/dev/iwn X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 13:24:59 -0000 Author: avos Date: Sun Apr 2 13:24:58 2017 New Revision: 316415 URL: https://svnweb.freebsd.org/changeset/base/316415 Log: iwn: use correct mask for queue ids (0xf -> 0x1f). Modified: head/sys/dev/iwn/if_iwn.c Modified: head/sys/dev/iwn/if_iwn.c ============================================================================== --- head/sys/dev/iwn/if_iwn.c Sun Apr 2 12:37:43 2017 (r316414) +++ head/sys/dev/iwn/if_iwn.c Sun Apr 2 13:24:58 2017 (r316415) @@ -3501,7 +3501,7 @@ iwn4965_tx_done(struct iwn_softc *sc, st struct iwn_rx_data *data) { struct iwn4965_tx_stat *stat = (struct iwn4965_tx_stat *)(desc + 1); - int qid = desc->qid & 0xf; + int qid = desc->qid & IWN_RX_DESC_QID_MSK; DPRINTF(sc, IWN_DEBUG_XMIT, "%s: " "qid %d idx %d RTS retries %d ACK retries %d nkill %d rate %x duration %d status %x\n", @@ -3526,7 +3526,7 @@ iwn5000_tx_done(struct iwn_softc *sc, st struct iwn_rx_data *data) { struct iwn5000_tx_stat *stat = (struct iwn5000_tx_stat *)(desc + 1); - int qid = desc->qid & 0xf; + int qid = desc->qid & IWN_RX_DESC_QID_MSK; DPRINTF(sc, IWN_DEBUG_XMIT, "%s: " "qid %d idx %d RTS retries %d ACK retries %d nkill %d rate %x duration %d status %x\n", @@ -3539,7 +3539,7 @@ iwn5000_tx_done(struct iwn_softc *sc, st #ifdef notyet /* Reset TX scheduler slot. */ - iwn5000_reset_sched(sc, desc->qid & 0xf, desc->idx); + iwn5000_reset_sched(sc, qid, desc->idx); #endif if (qid >= sc->firstaggqueue) { @@ -3559,7 +3559,7 @@ iwn_tx_done(struct iwn_softc *sc, struct int ackfailcnt, uint8_t status) { struct ieee80211_ratectl_tx_status *txs = &sc->sc_txs; - struct iwn_tx_ring *ring = &sc->txq[desc->qid & 0xf]; + struct iwn_tx_ring *ring = &sc->txq[desc->qid & IWN_RX_DESC_QID_MSK]; struct iwn_tx_data *data = &ring->data[desc->idx]; struct mbuf *m; struct ieee80211_node *ni; @@ -3833,9 +3833,9 @@ iwn_notif_intr(struct iwn_softc *sc) DPRINTF(sc, IWN_DEBUG_RECV, "%s: cur=%d; qid %x idx %d flags %x type %d(%s) len %d\n", - __func__, sc->rxq.cur, desc->qid & 0xf, desc->idx, desc->flags, - desc->type, iwn_intr_str(desc->type), - le16toh(desc->len)); + __func__, sc->rxq.cur, desc->qid & IWN_RX_DESC_QID_MSK, + desc->idx, desc->flags, desc->type, + iwn_intr_str(desc->type), le16toh(desc->len)); if (!(desc->qid & IWN_UNSOLICITED_RX_NOTIF)) /* Reply to a command. */ iwn_cmd_done(sc, desc); From owner-svn-src-all@freebsd.org Sun Apr 2 13:29:29 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0B237D2A792; Sun, 2 Apr 2017 13:29:29 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BD6F0798; Sun, 2 Apr 2017 13:29:28 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32DTRVK003836; Sun, 2 Apr 2017 13:29:27 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32DTRVk003835; Sun, 2 Apr 2017 13:29:27 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201704021329.v32DTRVk003835@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 2 Apr 2017 13:29:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316416 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 13:29:29 -0000 Author: jilles Date: Sun Apr 2 13:29:27 2017 New Revision: 316416 URL: https://svnweb.freebsd.org/changeset/base/316416 Log: sh: Don't scan word twice in ${param#%##%%word}. If word is expanded, use the found end instead of iterating over the data again. Modified: head/bin/sh/expand.c Modified: head/bin/sh/expand.c ============================================================================== --- head/bin/sh/expand.c Sun Apr 2 13:24:58 2017 (r316415) +++ head/bin/sh/expand.c Sun Apr 2 13:29:27 2017 (r316416) @@ -96,7 +96,8 @@ static const char *exptilde(const char * static const char *expari(const char *, struct nodelist **restrict, int, struct worddest *); static void expbackq(union node *, int, int, struct worddest *); -static void subevalvar_trim(const char *, struct nodelist *, int, int, int); +static const char *subevalvar_trim(const char *, struct nodelist **restrict, + int, int, int); static void subevalvar_misc(const char *, struct nodelist *, const char *, int, int, int); static const char *evalvar(const char *, struct nodelist **restrict, int, @@ -540,18 +541,17 @@ recordleft(const char *str, const char * *startp++ = *loc++; } -static void -subevalvar_trim(const char *p, struct nodelist *argbackq, int strloc, +static const char * +subevalvar_trim(const char *p, struct nodelist **restrict argbackq, int strloc, int subtype, int startloc) { char *startp; char *loc = NULL; char *str; int c = 0; - struct nodelist *argbackqcopy = argbackq; int amount; - argstr(p, &argbackqcopy, EXP_CASE | EXP_TILDE, NULL); + p = argstr(p, argbackq, EXP_CASE | EXP_TILDE, NULL); STACKSTRNUL(expdest); startp = stackblock() + startloc; str = stackblock() + strloc; @@ -564,7 +564,7 @@ subevalvar_trim(const char *p, struct no if (patmatch(str, startp)) { *loc = c; recordleft(str, loc, startp); - return; + return p; } *loc = c; } @@ -577,7 +577,7 @@ subevalvar_trim(const char *p, struct no if (patmatch(str, startp)) { *loc = c; recordleft(str, loc, startp); - return; + return p; } *loc = c; loc--; @@ -589,7 +589,7 @@ subevalvar_trim(const char *p, struct no if (patmatch(str, loc)) { amount = loc - expdest; STADJUST(amount, expdest); - return; + return p; } loc--; } @@ -600,7 +600,7 @@ subevalvar_trim(const char *p, struct no if (patmatch(str, loc)) { amount = loc - expdest; STADJUST(amount, expdest); - return; + return p; } } break; @@ -611,6 +611,7 @@ subevalvar_trim(const char *p, struct no } amount = (expdest - stackblock() - strloc) + 1; STADJUST(-amount, expdest); + return p; } @@ -776,11 +777,11 @@ again: /* jump here after setting a vari */ STPUTC('\0', expdest); patloc = expdest - stackblock(); - subevalvar_trim(p, *argbackq, patloc, subtype, startloc); + p = subevalvar_trim(p, argbackq, patloc, subtype, startloc); reprocess(startloc, flag, VSNORMAL, varflags & VSQUOTE, dst); if (flag & EXP_SPLIT && *var == '@' && varflags & VSQUOTE) dst->state = WORD_QUOTEMARK; - break; + return p; case VSASSIGN: case VSQUESTION: From owner-svn-src-all@freebsd.org Sun Apr 2 13:36:57 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F372BD2AA3A; Sun, 2 Apr 2017 13:36:57 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7096EC06; Sun, 2 Apr 2017 13:36:57 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id v32Dape7082881 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 2 Apr 2017 16:36:51 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v32Dape7082881 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v32Daphd082880; Sun, 2 Apr 2017 16:36:51 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 2 Apr 2017 16:36:51 +0300 From: Konstantin Belousov To: Dmitry Chagin Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316393 - head/sys/compat/linux Message-ID: <20170402133651.GJ43712@kib.kiev.ua> References: <201704020746.v327kDSN042840@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201704020746.v327kDSN042840@repo.freebsd.org> User-Agent: Mutt/1.8.0 (2017-02-23) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 13:36:58 -0000 On Sun, Apr 02, 2017 at 07:46:13AM +0000, Dmitry Chagin wrote: > Author: dchagin > Date: Sun Apr 2 07:46:13 2017 > New Revision: 316393 > URL: https://svnweb.freebsd.org/changeset/base/316393 > > Log: > As noted by bde@ negative tv_sec values are not checked for overflow, > so overflow can still occur. Fix that. Also remove the extra check for > tv_sec size as under COMPAT_LINUX32 it is always true. > > Pointed out by: bde@ > > MFC after: 1 week > > Modified: > head/sys/compat/linux/linux_time.c > > Modified: head/sys/compat/linux/linux_time.c > ============================================================================== > --- head/sys/compat/linux/linux_time.c Sun Apr 2 07:11:15 2017 (r316392) > +++ head/sys/compat/linux/linux_time.c Sun Apr 2 07:46:13 2017 (r316393) > @@ -125,8 +125,7 @@ native_to_linux_timespec(struct l_timesp > > LIN_SDT_PROBE2(time, native_to_linux_timespec, entry, ltp, ntp); > #ifdef COMPAT_LINUX32 > - if (ntp->tv_sec > INT_MAX && > - sizeof(ltp->tv_sec) != sizeof(ntp->tv_sec)) > + if (ntp->tv_sec > INT_MAX || ntp->tv_sec < INT_MIN) This line reads as only tv_sec == INT_MAX case results in non-EOVERFLOW condition. > return (EOVERFLOW); > #endif > ltp->tv_sec = ntp->tv_sec; From owner-svn-src-all@freebsd.org Sun Apr 2 13:43:46 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BBE63D2ADB5; Sun, 2 Apr 2017 13:43:46 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 71C352A6; Sun, 2 Apr 2017 13:43:46 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32DhjSC012122; Sun, 2 Apr 2017 13:43:45 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32Dhjht012121; Sun, 2 Apr 2017 13:43:45 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201704021343.v32Dhjht012121@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 2 Apr 2017 13:43:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316417 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 13:43:46 -0000 Author: jilles Date: Sun Apr 2 13:43:45 2017 New Revision: 316417 URL: https://svnweb.freebsd.org/changeset/base/316417 Log: sh: Don't scan word twice in ${param=word}. Modified: head/bin/sh/expand.c Modified: head/bin/sh/expand.c ============================================================================== --- head/bin/sh/expand.c Sun Apr 2 13:29:27 2017 (r316416) +++ head/bin/sh/expand.c Sun Apr 2 13:43:45 2017 (r316417) @@ -98,8 +98,8 @@ static const char *expari(const char *, static void expbackq(union node *, int, int, struct worddest *); static const char *subevalvar_trim(const char *, struct nodelist **restrict, int, int, int); -static void subevalvar_misc(const char *, struct nodelist *, const char *, int, - int, int); +static const char *subevalvar_misc(const char *, struct nodelist **restrict, + const char *, int, int, int); static const char *evalvar(const char *, struct nodelist **restrict, int, struct worddest *); static int varisset(const char *, int); @@ -615,15 +615,14 @@ subevalvar_trim(const char *p, struct no } -static void -subevalvar_misc(const char *p, struct nodelist *argbackq, const char *var, int subtype, int startloc, - int varflags) +static const char * +subevalvar_misc(const char *p, struct nodelist **restrict argbackq, + const char *var, int subtype, int startloc, int varflags) { char *startp; - struct nodelist *argbackqcopy = argbackq; int amount; - argstr(p, &argbackqcopy, EXP_TILDE, NULL); + p = argstr(p, argbackq, EXP_TILDE, NULL); STACKSTRNUL(expdest); startp = stackblock() + startloc; @@ -632,7 +631,7 @@ subevalvar_misc(const char *p, struct no setvar(var, startp, 0); amount = startp - expdest; STADJUST(amount, expdest); - return; + return p; case VSQUESTION: if (*p != CTLENDVAR) { @@ -677,7 +676,6 @@ evalvar(const char *p, struct nodelist * if (! is_name(*p)) special = 1; p = strchr(p, '=') + 1; -again: /* jump here after setting a variable with ${var=text} */ if (varflags & VSLINENO) { set = 1; special = 1; @@ -786,11 +784,12 @@ again: /* jump here after setting a vari case VSASSIGN: case VSQUESTION: if (!set) { - subevalvar_misc(p, *argbackq, var, subtype, + p = subevalvar_misc(p, argbackq, var, subtype, startloc, varflags); /* assert(subtype == VSASSIGN); */ - varflags &= ~VSNUL; - goto again; + val = lookupvar(var); + strtodest(val, flag, subtype, varflags & VSQUOTE, dst); + return p; } break; From owner-svn-src-all@freebsd.org Sun Apr 2 14:02:11 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DE994D2A429; Sun, 2 Apr 2017 14:02:11 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AEB5AFEE; Sun, 2 Apr 2017 14:02:11 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32E2Af3019513; Sun, 2 Apr 2017 14:02:10 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32E2A7m019512; Sun, 2 Apr 2017 14:02:10 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201704021402.v32E2A7m019512@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 2 Apr 2017 14:02:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316418 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 14:02:12 -0000 Author: jilles Date: Sun Apr 2 14:02:10 2017 New Revision: 316418 URL: https://svnweb.freebsd.org/changeset/base/316418 Log: sh: Remove global state from collate_range_cmp(). The global state is not used across invocations of collate_range_cmp(). Modified: head/bin/sh/expand.c Modified: head/bin/sh/expand.c ============================================================================== --- head/bin/sh/expand.c Sun Apr 2 13:43:45 2017 (r316417) +++ head/bin/sh/expand.c Sun Apr 2 14:02:10 2017 (r316418) @@ -145,10 +145,12 @@ appendarglist(struct arglist *list, char static int collate_range_cmp(wchar_t c1, wchar_t c2) { - static wchar_t s1[2], s2[2]; + wchar_t s1[2], s2[2]; s1[0] = c1; + s1[1] = L'\0'; s2[0] = c2; + s2[1] = L'\0'; return (wcscoll(s1, s2)); } From owner-svn-src-all@freebsd.org Sun Apr 2 15:04:27 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8C30CD2A6CB; Sun, 2 Apr 2017 15:04:27 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5DED9F22; Sun, 2 Apr 2017 15:04:27 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32F4Qlt044873; Sun, 2 Apr 2017 15:04:26 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32F4Q5R044872; Sun, 2 Apr 2017 15:04:26 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201704021504.v32F4Q5R044872@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 2 Apr 2017 15:04:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316419 - stable/11 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 15:04:27 -0000 Author: bapt Date: Sun Apr 2 15:04:26 2017 New Revision: 316419 URL: https://svnweb.freebsd.org/changeset/base/316419 Log: MFC: r315086 (by jhb) Fix removal of /usr/share/info. - The GNU as manual is named as.info.gz. - Remove the generated /usr/share/info/dir file. Reported by: "Herbert J. Skuhra" Modified: stable/11/ObsoleteFiles.inc Modified: stable/11/ObsoleteFiles.inc ============================================================================== --- stable/11/ObsoleteFiles.inc Sun Apr 2 14:02:10 2017 (r316418) +++ stable/11/ObsoleteFiles.inc Sun Apr 2 15:04:26 2017 (r316419) @@ -1826,10 +1826,11 @@ OLD_FILES+=usr/bin/install-info OLD_FILES+=usr/bin/makeinfo OLD_FILES+=usr/bin/texindex OLD_FILES+=usr/share/info/am-utils.info.gz -OLD_FILES+=usr/share/info/as-utils.info.gz +OLD_FILES+=usr/share/info/as.info.gz OLD_FILES+=usr/share/info/binutils.info.gz OLD_FILES+=usr/share/info/com_err.info.gz OLD_FILES+=usr/share/info/diff.info.gz +OLD_FILES+=usr/share/info/dir OLD_FILES+=usr/share/info/gdb.info.gz OLD_FILES+=usr/share/info/gdbint.info.gz OLD_FILES+=usr/share/info/gperf.info.gz From owner-svn-src-all@freebsd.org Sun Apr 2 15:13:37 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F205DD2A9CB; Sun, 2 Apr 2017 15:13:37 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BB59F813; Sun, 2 Apr 2017 15:13:37 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32FDaPc048923; Sun, 2 Apr 2017 15:13:36 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32FDaHX048913; Sun, 2 Apr 2017 15:13:36 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201704021513.v32FDaHX048913@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sun, 2 Apr 2017 15:13:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316420 - in stable/11: . contrib/mdocml usr.bin/mandoc X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 15:13:38 -0000 Author: bapt Date: Sun Apr 2 15:13:35 2017 New Revision: 316420 URL: https://svnweb.freebsd.org/changeset/base/316420 Log: RFC: 312593, 313958 Update mandoc to 1.14 Added: stable/11/contrib/mdocml/dba.c - copied unchanged from r312593, head/contrib/mdocml/dba.c stable/11/contrib/mdocml/dba.h - copied unchanged from r312593, head/contrib/mdocml/dba.h stable/11/contrib/mdocml/dba_array.c - copied unchanged from r312593, head/contrib/mdocml/dba_array.c stable/11/contrib/mdocml/dba_array.h - copied unchanged from r312593, head/contrib/mdocml/dba_array.h stable/11/contrib/mdocml/dba_read.c - copied unchanged from r312593, head/contrib/mdocml/dba_read.c stable/11/contrib/mdocml/dba_write.c - copied unchanged from r312593, head/contrib/mdocml/dba_write.c stable/11/contrib/mdocml/dba_write.h - copied unchanged from r312593, head/contrib/mdocml/dba_write.h stable/11/contrib/mdocml/dbm.c - copied unchanged from r312593, head/contrib/mdocml/dbm.c stable/11/contrib/mdocml/dbm.h - copied unchanged from r312593, head/contrib/mdocml/dbm.h stable/11/contrib/mdocml/dbm_map.c - copied unchanged from r312593, head/contrib/mdocml/dbm_map.c stable/11/contrib/mdocml/dbm_map.h - copied unchanged from r312593, head/contrib/mdocml/dbm_map.h stable/11/contrib/mdocml/test-EFTYPE.c - copied unchanged from r312593, head/contrib/mdocml/test-EFTYPE.c stable/11/contrib/mdocml/test-PATH_MAX.c - copied unchanged from r312593, head/contrib/mdocml/test-PATH_MAX.c stable/11/contrib/mdocml/test-be32toh.c - copied unchanged from r312593, head/contrib/mdocml/test-be32toh.c stable/11/contrib/mdocml/test-nanosleep.c - copied unchanged from r312593, head/contrib/mdocml/test-nanosleep.c stable/11/contrib/mdocml/test-ntohl.c - copied unchanged from r312593, head/contrib/mdocml/test-ntohl.c stable/11/contrib/mdocml/test-sandbox_init.c - copied unchanged from r312593, head/contrib/mdocml/test-sandbox_init.c Deleted: stable/11/contrib/mdocml/compat_sqlite3_errstr.c stable/11/contrib/mdocml/config.log stable/11/contrib/mdocml/mansearch_const.c stable/11/contrib/mdocml/test-mmap.c stable/11/contrib/mdocml/test-sqlite3.c stable/11/contrib/mdocml/test-sqlite3_errstr.c Modified: stable/11/Makefile.inc1 stable/11/contrib/mdocml/INSTALL stable/11/contrib/mdocml/LICENSE stable/11/contrib/mdocml/Makefile stable/11/contrib/mdocml/Makefile.depend stable/11/contrib/mdocml/TODO stable/11/contrib/mdocml/cgi.c stable/11/contrib/mdocml/compat_fts.c stable/11/contrib/mdocml/compat_fts.h stable/11/contrib/mdocml/config.h stable/11/contrib/mdocml/configure stable/11/contrib/mdocml/configure.local.example stable/11/contrib/mdocml/demandoc.c stable/11/contrib/mdocml/eqn_html.c stable/11/contrib/mdocml/html.c stable/11/contrib/mdocml/html.h stable/11/contrib/mdocml/lib.in stable/11/contrib/mdocml/libmandoc.h stable/11/contrib/mdocml/main.c stable/11/contrib/mdocml/main.h stable/11/contrib/mdocml/makewhatis.8 stable/11/contrib/mdocml/man.1 stable/11/contrib/mdocml/man.c stable/11/contrib/mdocml/man.conf.5 stable/11/contrib/mdocml/man_hash.c stable/11/contrib/mdocml/man_html.c stable/11/contrib/mdocml/man_macro.c stable/11/contrib/mdocml/man_term.c stable/11/contrib/mdocml/mandoc.1 stable/11/contrib/mdocml/mandoc.3 stable/11/contrib/mdocml/mandoc.css stable/11/contrib/mdocml/mandoc.db.5 stable/11/contrib/mdocml/mandoc.h stable/11/contrib/mdocml/mandoc_aux.h stable/11/contrib/mdocml/mandoc_html.3 stable/11/contrib/mdocml/mandocdb.c stable/11/contrib/mdocml/manpath.c stable/11/contrib/mdocml/mansearch.c stable/11/contrib/mdocml/mansearch.h stable/11/contrib/mdocml/mdoc.7 stable/11/contrib/mdocml/mdoc.c stable/11/contrib/mdocml/mdoc_argv.c stable/11/contrib/mdocml/mdoc_hash.c stable/11/contrib/mdocml/mdoc_html.c stable/11/contrib/mdocml/mdoc_macro.c stable/11/contrib/mdocml/mdoc_man.c stable/11/contrib/mdocml/mdoc_state.c stable/11/contrib/mdocml/mdoc_term.c stable/11/contrib/mdocml/mdoc_validate.c stable/11/contrib/mdocml/read.c stable/11/contrib/mdocml/roff.c stable/11/contrib/mdocml/roff.h stable/11/contrib/mdocml/tag.c stable/11/contrib/mdocml/tbl_html.c stable/11/contrib/mdocml/term.c stable/11/contrib/mdocml/term_ascii.c stable/11/contrib/mdocml/term_ps.c stable/11/contrib/mdocml/test-fts.c stable/11/contrib/mdocml/test-ohash.c stable/11/contrib/mdocml/test-vasprintf.c stable/11/contrib/mdocml/test-wchar.c stable/11/contrib/mdocml/tree.c stable/11/usr.bin/mandoc/Makefile stable/11/usr.bin/mandoc/Makefile.depend Directory Properties: stable/11/ (props changed) Modified: stable/11/Makefile.inc1 ============================================================================== --- stable/11/Makefile.inc1 Sun Apr 2 15:04:26 2017 (r316419) +++ stable/11/Makefile.inc1 Sun Apr 2 15:13:35 2017 (r316420) @@ -1665,11 +1665,10 @@ _kerberos5_bootstrap_tools= \ .endif # r283777 makewhatis(1) replaced with mandoc version which builds a database. -.if ${MK_MANDOCDB} != "no" && ${BOOTSTRAPPING} < 1100075 +.if ${MK_MANDOCDB} != "no" _libopenbsd?= lib/libopenbsd -_makewhatis= lib/libsqlite3 \ - usr.bin/mandoc -${_bt}-usr.bin/mandoc: ${_bt}-lib/libopenbsd ${_bt}-lib/libsqlite3 +_makewhatis= usr.bin/mandoc +${_bt}-usr.bin/mandoc: ${_bt}-lib/libopenbsd .endif bootstrap-tools: .PHONY Modified: stable/11/contrib/mdocml/INSTALL ============================================================================== --- stable/11/contrib/mdocml/INSTALL Sun Apr 2 15:04:26 2017 (r316419) +++ stable/11/contrib/mdocml/INSTALL Sun Apr 2 15:13:35 2017 (r316420) @@ -1,4 +1,4 @@ -$Id: INSTALL,v 1.15 2016/07/14 11:09:06 schwarze Exp $ +$Id: INSTALL,v 1.17 2016/07/19 22:40:33 schwarze Exp $ About mdocml, the portable mandoc distribution ---------------------------------------------- @@ -35,7 +35,11 @@ To install mandoc manually, the followin command "echo BUILD_CGI=1 > configure.local". Then run "cp cgi.h.examples cgi.h" and edit cgi.h as desired. -2. Run "./configure". +2. Define MANPATH_DEFAULT in configure.local +if /usr/share/man:/usr/X11R6/man:/usr/local/man is not appropriate +for your operating system. + +3. Run "./configure". This script attempts autoconfiguration of mandoc for your system. Read both its standard output and the file "Makefile.local" it generates. If anything looks wrong or different from what you @@ -45,28 +49,21 @@ result seems right to you. On Solaris 10 and earlier, you may have to run "ksh ./configure" because the native /bin/sh lacks some POSIX features. -3. Run "make". +4. Run "make". Any POSIX-compatible make, in particular both BSD make and GNU make, should work. If the build fails, look at "configure.local.example" and go back to step 2. -4. Run "make -n install" and check whether everything will be +5. Run "make -n install" and check whether everything will be installed to the intended places. Otherwise, put some *DIR or *NM* -variables into "configure.local" and go back to step 2. +variables into "configure.local" and go back to step 3. -5. Run "sudo make install". If you intend to build a binary +6. Run "sudo make install". If you intend to build a binary package using some kind of fake root mechanism, you may need a command like "make DESTDIR=... install". Read the *-install targets in the "Makefile" to understand how DESTDIR is used. -6. If you want to use the integrated man(1) and your system uses -manpath(1), make sure it is configured correctly, in particular, -it returns all directory trees where manual pages are installed. -Otherwise, if your system uses man.conf(5), make sure it contains -a "manpath" line for each directory tree, and the order of these -lines meets your wishes. - -7. If you compiled with database support, run the command "sudo +7. Run the command "sudo makewhatis" to build mandoc.db(5) databases in all the directory trees configured in step 6. Whenever installing new manual pages, re-run makewhatis(8) to update the databases, or apropos(1) will @@ -84,20 +81,9 @@ manual page source. Understanding mandoc dependencies --------------------------------- -The mandoc(1), man(1), and demandoc(1) utilities only depend -on the zlib library for decompressing gzipped manual pages, -but makewhatis(8) and apropos(1) depend on the following -additional software: - -1. The SQLite database system, see . -The recommended version of SQLite is 3.8.4.3 or newer. The mandoc -toolset is known to work with version 3.7.5 or newer. Versions -older than 3.8.3 may not achieve full performance due to the -missing SQLITE_DETERMINISTIC optimization flag. Versions older -than 3.8.0 may not show full error information if opening a database -fails due to the missing sqlite3_errstr() API. Both are very minor -problems, apropos(1) is fully usable with SQLite 3.7.5. Versions -older than 3.7.5 may or may not work, they have not been tested. +The following libraries are required: + +1. zlib for decompressing gzipped manual pages. 2. The fts(3) directory traversion functions. If your system does not have them, the bundled compatibility version Modified: stable/11/contrib/mdocml/LICENSE ============================================================================== --- stable/11/contrib/mdocml/LICENSE Sun Apr 2 15:04:26 2017 (r316419) +++ stable/11/contrib/mdocml/LICENSE Sun Apr 2 15:13:35 2017 (r316420) @@ -1,4 +1,4 @@ -$Id: LICENSE,v 1.12 2016/07/07 23:46:36 schwarze Exp $ +$Id: LICENSE,v 1.13 2016/10/18 14:15:33 schwarze Exp $ With the exceptions noted below, all code and documentation contained in the mdocml toolkit is protected by the Copyright @@ -8,7 +8,8 @@ Copyright (c) 2008-2012, 2014 Kristaps D Copyright (c) 2010-2016 Ingo Schwarze Copyright (c) 2009, 2010, 2011, 2012 Joerg Sonnenberger Copyright (c) 2013 Franco Fichtner -Copyright (c) 2014 Baptiste Daroussin +Copyright (c) 2014 Baptiste Daroussin +Copyright (c) 2016 Ed Maste Copyright (c) 1999, 2004 Marc Espie Copyright (c) 1998, 2004, 2010 Todd C. Miller Copyright (c) 2008 Otto Moerbeek @@ -41,7 +42,7 @@ other people's Copyright and are distrib and 3-clause BSD licenses; see these individual files for details. soelim.c, soelim.1: -Copyright (c) 2014 Baptiste Daroussin +Copyright (c) 2014 Baptiste Daroussin compat_err.c, compat_fts.c, compat_fts.h, compat_getsubopt.c, compat_strcasestr.c, compat_strsep.c, Modified: stable/11/contrib/mdocml/Makefile ============================================================================== --- stable/11/contrib/mdocml/Makefile Sun Apr 2 15:04:26 2017 (r316419) +++ stable/11/contrib/mdocml/Makefile Sun Apr 2 15:13:35 2017 (r316420) @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.488 2016/07/12 05:18:38 kristaps Exp $ +# $Id: Makefile,v 1.493 2016/11/19 15:24:51 schwarze Exp $ # # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons # Copyright (c) 2011, 2013-2016 Ingo Schwarze @@ -15,27 +15,29 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -VERSION = 1.13.4 +VERSION = 1.14.0 # === LIST OF FILES ==================================================== -TESTSRCS = test-dirent-namlen.c \ +TESTSRCS = test-be32toh.c \ + test-dirent-namlen.c \ + test-EFTYPE.c \ test-err.c \ test-fts.c \ test-getline.c \ test-getsubopt.c \ test-isblank.c \ test-mkdtemp.c \ - test-mmap.c \ + test-nanosleep.c \ + test-ntohl.c \ test-ohash.c \ + test-PATH_MAX.c \ test-pledge.c \ test-progname.c \ test-reallocarray.c \ test-rewb-bsd.c \ test-rewb-sysv.c \ test-sandbox_init.c \ - test-sqlite3.c \ - test-sqlite3_errstr.c \ test-strcasestr.c \ test-stringlist.c \ test-strlcat.c \ @@ -58,7 +60,6 @@ SRCS = att.c \ compat_ohash.c \ compat_progname.c \ compat_reallocarray.c \ - compat_sqlite3_errstr.c \ compat_strcasestr.c \ compat_stringlist.c \ compat_strlcat.c \ @@ -66,6 +67,12 @@ SRCS = att.c \ compat_strsep.c \ compat_strtonum.c \ compat_vasprintf.c \ + dba.c \ + dba_array.c \ + dba_read.c \ + dba_write.c \ + dbm.c \ + dbm_map.c \ demandoc.c \ eqn.c \ eqn_html.c \ @@ -86,7 +93,6 @@ SRCS = att.c \ manpage.c \ manpath.c \ mansearch.c \ - mansearch_const.c \ mdoc.c \ mdoc_argv.c \ mdoc_hash.c \ @@ -128,6 +134,11 @@ DISTFILES = INSTALL \ compat_stringlist.h \ configure \ configure.local.example \ + dba.h \ + dba_array.h \ + dba_write.h \ + dbm.h \ + dbm_map.h \ demandoc.1 \ eqn.7 \ gmdiff \ @@ -220,7 +231,6 @@ COMPAT_OBJS = compat_err.o \ compat_ohash.o \ compat_progname.o \ compat_reallocarray.o \ - compat_sqlite3_errstr.o \ compat_strcasestr.o \ compat_strlcat.o \ compat_strlcpy.o \ @@ -244,28 +254,35 @@ MANDOC_TERM_OBJS = eqn_term.o \ term_ps.o \ tbl_term.o -BASE_OBJS = $(MANDOC_HTML_OBJS) \ +DBM_OBJS = dbm.o \ + dbm_map.o \ + mansearch.o + +DBA_OBJS = dba.o \ + dba_array.o \ + dba_read.o \ + dba_write.o \ + mandocdb.o + +MAIN_OBJS = $(MANDOC_HTML_OBJS) \ $(MANDOC_MAN_OBJS) \ $(MANDOC_TERM_OBJS) \ + $(DBM_OBJS) \ + $(DBA_OBJS) \ main.o \ manpath.o \ out.o \ tag.o \ tree.o -MAIN_OBJS = $(BASE_OBJS) - -DB_OBJS = mandocdb.o \ - mansearch.o \ - mansearch_const.o - CGI_OBJS = $(MANDOC_HTML_OBJS) \ + $(DBM_OBJS) \ cgi.o \ - mansearch.o \ - mansearch_const.o \ out.o -MANPAGE_OBJS = manpage.o mansearch.o mansearch_const.o manpath.o +MANPAGE_OBJS = $(DBM_OBJS) \ + manpage.o \ + manpath.o DEMANDOC_OBJS = demandoc.o @@ -329,7 +346,7 @@ www: $(WWW_OBJS) $(WWW_MANS) $(WWW_MANS): mandoc -.PHONY: base-install cgi-install db-install install www-install +.PHONY: base-install cgi-install install www-install .PHONY: clean distclean depend include Makefile.depend @@ -341,7 +358,7 @@ distclean: clean clean: rm -f libmandoc.a $(LIBMANDOC_OBJS) $(COMPAT_OBJS) - rm -f mandoc $(BASE_OBJS) $(DB_OBJS) + rm -f mandoc $(MAIN_OBJS) rm -f man.cgi $(CGI_OBJS) rm -f manpage $(MANPAGE_OBJS) rm -f demandoc $(DEMANDOC_OBJS) @@ -351,50 +368,45 @@ clean: base-install: base-build mkdir -p $(DESTDIR)$(BINDIR) - mkdir -p $(DESTDIR)$(LIBDIR) - mkdir -p $(DESTDIR)$(INCLUDEDIR) + mkdir -p $(DESTDIR)$(SBINDIR) mkdir -p $(DESTDIR)$(MANDIR)/man1 - mkdir -p $(DESTDIR)$(MANDIR)/man3 mkdir -p $(DESTDIR)$(MANDIR)/man5 mkdir -p $(DESTDIR)$(MANDIR)/man7 + mkdir -p $(DESTDIR)$(MANDIR)/man8 $(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR) $(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_MAN) - $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) - $(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \ - $(DESTDIR)$(INCLUDEDIR) + ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_APROPOS) + ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_WHATIS) + ln -f $(DESTDIR)$(BINDIR)/mandoc \ + $(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS) $(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1 $(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 $(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 - $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \ - mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3 + $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 + ln -f $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 \ + $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1 $(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/${MANM_MANCONF}.5 + $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5 $(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/${MANM_MAN}.7 $(INSTALL_MAN) mdoc.7 $(DESTDIR)$(MANDIR)/man7/${MANM_MDOC}.7 $(INSTALL_MAN) roff.7 $(DESTDIR)$(MANDIR)/man7/${MANM_ROFF}.7 $(INSTALL_MAN) eqn.7 $(DESTDIR)$(MANDIR)/man7/${MANM_EQN}.7 $(INSTALL_MAN) tbl.7 $(DESTDIR)$(MANDIR)/man7/${MANM_TBL}.7 $(INSTALL_MAN) mandoc_char.7 $(DESTDIR)$(MANDIR)/man7 - -db-install: base-build - mkdir -p $(DESTDIR)$(BINDIR) - mkdir -p $(DESTDIR)$(SBINDIR) - mkdir -p $(DESTDIR)$(MANDIR)/man1 - mkdir -p $(DESTDIR)$(MANDIR)/man3 - mkdir -p $(DESTDIR)$(MANDIR)/man5 - mkdir -p $(DESTDIR)$(MANDIR)/man8 - ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_APROPOS) - ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_WHATIS) - ln -f $(DESTDIR)$(BINDIR)/mandoc \ - $(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS) - $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 - ln -f $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 \ - $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1 - $(INSTALL_MAN) mansearch.3 $(DESTDIR)$(MANDIR)/man3 - $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5 $(INSTALL_MAN) makewhatis.8 \ $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8 +lib-install: base-build + mkdir -p $(DESTDIR)$(LIBDIR) + mkdir -p $(DESTDIR)$(INCLUDEDIR) + mkdir -p $(DESTDIR)$(MANDIR)/man3 + $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) + $(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \ + $(DESTDIR)$(INCLUDEDIR) + $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \ + mansearch.3 mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3 + cgi-install: cgi-build mkdir -p $(DESTDIR)$(CGIBINDIR) mkdir -p $(DESTDIR)$(HTDOCDIR) Modified: stable/11/contrib/mdocml/Makefile.depend ============================================================================== --- stable/11/contrib/mdocml/Makefile.depend Sun Apr 2 15:04:26 2017 (r316419) +++ stable/11/contrib/mdocml/Makefile.depend Sun Apr 2 15:13:35 2017 (r316420) @@ -10,7 +10,6 @@ compat_mkdtemp.o: compat_mkdtemp.c confi compat_ohash.o: compat_ohash.c config.h compat_ohash.h compat_progname.o: compat_progname.c config.h compat_reallocarray.o: compat_reallocarray.c config.h -compat_sqlite3_errstr.o: compat_sqlite3_errstr.c config.h compat_strcasestr.o: compat_strcasestr.c config.h compat_stringlist.o: compat_stringlist.c config.h compat_stringlist.h compat_strlcat.o: compat_strlcat.c config.h @@ -18,6 +17,12 @@ compat_strlcpy.o: compat_strlcpy.c confi compat_strsep.o: compat_strsep.c config.h compat_strtonum.o: compat_strtonum.c config.h compat_vasprintf.o: compat_vasprintf.c config.h +dba.o: dba.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mansearch.h dba_write.h dba_array.h dba.h +dba_array.o: dba_array.c mandoc_aux.h dba_write.h dba_array.h +dba_read.o: dba_read.c mandoc_aux.h mansearch.h dba_array.h dba.h dbm.h +dba_write.o: dba_write.c config.h dba_write.h +dbm.o: dbm.c config.h mansearch.h dbm_map.h dbm.h +dbm_map.o: dbm_map.c config.h mansearch.h dbm_map.h dbm.h demandoc.o: demandoc.c config.h roff.h man.h mdoc.h mandoc.h eqn.o: eqn.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h eqn_html.o: eqn_html.c config.h mandoc.h out.h html.h @@ -26,7 +31,7 @@ html.o: html.c config.h mandoc.h mandoc_ lib.o: lib.c config.h roff.h mdoc.h libmdoc.h lib.in main.o: main.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h tag.h main.h manconf.h mansearch.h man.o: man.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h -man_hash.o: man_hash.c config.h roff.h man.h libman.h +man_hash.o: man_hash.c config.h mandoc.h roff.h man.h libmandoc.h libman.h man_html.o: man_html.c config.h mandoc_aux.h roff.h man.h out.h html.h main.h man_macro.o: man_macro.c config.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h man_term.o: man_term.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h term.h main.h @@ -34,14 +39,13 @@ man_validate.o: man_validate.c config.h mandoc.o: mandoc.c config.h mandoc.h mandoc_aux.h libmandoc.h mandoc_aux.o: mandoc_aux.c config.h mandoc.h mandoc_aux.h mandoc_ohash.o: mandoc_ohash.c mandoc_aux.h mandoc_ohash.h compat_ohash.h -mandocdb.o: mandocdb.c config.h compat_fts.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mdoc.h man.h manconf.h mansearch.h +mandocdb.o: mandocdb.c config.h compat_fts.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mdoc.h man.h manconf.h mansearch.h dba_array.h dba.h manpage.o: manpage.c config.h manconf.h mansearch.h manpath.o: manpath.c config.h mandoc_aux.h manconf.h -mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h -mansearch_const.o: mansearch_const.c config.h mansearch.h +mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h dbm.h mdoc.o: mdoc.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h -mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h -mdoc_hash.o: mdoc_hash.c config.h roff.h mdoc.h libmdoc.h +mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h +mdoc_hash.o: mdoc_hash.c config.h mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h mdoc_html.o: mdoc_html.c config.h mandoc_aux.h roff.h mdoc.h out.h html.h main.h mdoc_macro.o: mdoc_macro.c config.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h mdoc_man.o: mdoc_man.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h out.h main.h Modified: stable/11/contrib/mdocml/TODO ============================================================================== --- stable/11/contrib/mdocml/TODO Sun Apr 2 15:04:26 2017 (r316419) +++ stable/11/contrib/mdocml/TODO Sun Apr 2 15:13:35 2017 (r316420) @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.218 2016/06/05 21:06:04 schwarze Exp $ +* $Id: TODO,v 1.223 2017/01/17 15:32:43 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -33,15 +33,6 @@ Obviously, as the issues have not been s are mere guesses, and some may be wrong. ************************************************************************ -* crashes -************************************************************************ - -- The abort() in bufcat(), html.c, can be triggered via buffmt_includes() - by running -Thtml -Oincludes on a file containing a long .In argument. - Fixing this will probably require reworking the whole bufcat() concept. - loc ** exist * algo * size ** imp ** - -************************************************************************ * missing features ************************************************************************ @@ -213,6 +204,13 @@ are mere guesses, and some may be wrong. synaptics(4) found by tedu@ Mon, 17 Aug 2015 21:17:42 -0400 loc ** exist ** algo ** size ** imp *** +- break long text into lines inside cells + net/lftp(1) from jirib via bentley@ Sep 13, 2016 + +- layout l1 for a column of max text width 3 reduces the following + inter-column spacing for groff, but not for mandoc + net/lftp(1) from jirib via bentley@ Sep 13, 2016 + - the "w" layout option is ignored synaptics(4) found by tedu@ Mon, 17 Aug 2015 21:17:42 -0400 loc * exist * algo * size * imp ** @@ -529,16 +527,6 @@ are mere guesses, and some may be wrong. loc ** exist ** algo ** size * imp ** ************************************************************************ -* portability -************************************************************************ - -- systems having UTF-8 but not en_US.UTF-8 - call locale(1) from ./configure, select a UTF-8-locale, - and use that for test-wchar.c and term_ascii.c - to Markus Waldeck Sat, 18 Jul 2015 01:55:37 +0200 - loc * exist * algo * size * imp * - -************************************************************************ * warning issues ************************************************************************ @@ -612,7 +600,6 @@ are mere guesses, and some may be wrong. ************************************************************************ - Why are we using MAP_SHARED, not MAP_PRIVATE for mmap(2)? - How does SQLITE_CONFIG_PAGECACHE actually work? Document it! from kristaps@ Sat, 09 Aug 2014 13:51:36 +0200 Several areas can be cleaned up to make mandoc even faster. These are @@ -631,6 +618,13 @@ Several areas can be cleaned up to make * structural issues ************************************************************************ +- POSIX says in the documentation of sysconf(3) that PATH_MAX + is allowed to be so large that it is a bad idea to use it + for sizing static buffers. So use dynamic buffers throughout. + See the file test-PATH_MAX.c for details. + Found by Aaron M. Ucko in the GNU Hurd via Bdale Garbee, + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=829624 + - We use the input line number at several places to distinguish same-line from different-line input. That plainly doesn't work with user-defined macros, leading to random breakage. @@ -646,11 +640,6 @@ Several areas can be cleaned up to make - struct mparse refactoring Steffen Nurpmeso Thu, 04 Sep 2014 12:50:00 +0200 -- Consider creating some views that will make the database more - readable from the sqlite3 shell. Consider using them to - abstract from the database structure, too. - suggested by espie@ Sat, 19 Apr 2014 14:52:57 +0200 - ************************************************************************ * CGI issues ************************************************************************ Modified: stable/11/contrib/mdocml/cgi.c ============================================================================== --- stable/11/contrib/mdocml/cgi.c Sun Apr 2 15:04:26 2017 (r316419) +++ stable/11/contrib/mdocml/cgi.c Sun Apr 2 15:13:35 2017 (r316420) @@ -1,7 +1,7 @@ -/* $Id: cgi.c,v 1.135 2016/07/11 22:48:37 schwarze Exp $ */ +/* $Id: cgi.c,v 1.144 2017/01/21 01:20:31 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons - * Copyright (c) 2014, 2015, 2016 Ingo Schwarze + * Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -113,17 +113,18 @@ static const char *const sec_names[] = { static const int sec_MAX = sizeof(sec_names) / sizeof(char *); static const char *const arch_names[] = { - "amd64", "alpha", "armish", "armv7", - "hppa", "hppa64", "i386", "landisk", + "amd64", "alpha", "armv7", + "hppa", "i386", "landisk", "loongson", "luna88k", "macppc", "mips64", - "octeon", "sgi", "socppc", "sparc", - "sparc64", "zaurus", - "amiga", "arc", "arm32", "atari", - "aviion", "beagle", "cats", "hp300", + "octeon", "sgi", "socppc", "sparc64", + "amiga", "arc", "armish", "arm32", + "atari", "aviion", "beagle", "cats", + "hppa64", "hp300", "ia64", "mac68k", "mvme68k", "mvme88k", "mvmeppc", "palm", "pc532", "pegasos", - "pmax", "powerpc", "solbourne", "sun3", - "vax", "wgrisc", "x68k" + "pmax", "powerpc", "solbourne", "sparc", + "sun3", "vax", "wgrisc", "x68k", + "zaurus" }; static const int arch_MAX = sizeof(arch_names) / sizeof(char *); @@ -137,7 +138,7 @@ html_putchar(char c) switch (c) { case ('"'): - printf(""e;"); + printf("""); break; case ('&'): printf("&"); @@ -337,6 +338,7 @@ resp_copy(const char *filename) fflush(stdout); while ((sz = read(fd, buf, sizeof(buf))) > 0) write(STDOUT_FILENO, buf, sz); + close(fd); } } @@ -349,13 +351,12 @@ resp_begin_html(int code, const char *ms printf("\n" "\n" "\n" - "\n" - "\n" + " \n" - "%s\n" + " %s\n" "\n" - "\n" - "\n", + "\n", CSS_DIR, CUSTOMIZE_TITLE); resp_copy(MAN_DIR "/header.html"); @@ -376,16 +377,14 @@ resp_searchform(const struct req *req, e { int i; - puts(""); - printf("
\n" - "
\n" - "
\n" - "Manual Page Search Parameters\n", + printf("\n" + "
\n" + " Manual Page Search Parameters\n", scriptname); /* Write query input box. */ - printf("q.query != NULL) html_print(req->q.query); printf( "\" size=\"40\""); @@ -395,45 +394,46 @@ resp_searchform(const struct req *req, e /* Write submission buttons. */ - printf( "\n" - "\n
\n"); + " \n" + "
\n"); /* Write section selector. */ - puts(""); for (i = 0; i < sec_MAX; i++) { - printf("\n", sec_names[i]); } - puts(""); + puts(" "); /* Write architecture selector. */ - printf( ""); + puts(" "); /* Write manpath selector. */ if (req->psz > 1) { - puts(""); for (i = 0; i < (int)req->psz; i++) { - printf(""); } - puts(""); + puts(" "); } - puts("
\n" - "\n" - "
"); - puts(""); + puts(" \n" + ""); } static int @@ -496,9 +494,9 @@ pg_index(const struct req *req) resp_searchform(req, FOCUS_QUERY); printf("

\n" "This web interface is documented in the\n" - "man.cgi(8)\n" + "man.cgi(8)\n" "manual, and the\n" - "apropos(1)\n" + "apropos(1)\n" "manual explains the query syntax.\n" "

\n", scriptname, *scriptname == '\0' ? "" : "/", @@ -578,27 +576,21 @@ pg_searchres(const struct req *req, stru req->q.equal || sz == 1 ? FOCUS_NONE : FOCUS_QUERY); if (sz > 1) { - puts("
"); - puts(""); - + puts("
"); for (i = 0; i < sz; i++) { - printf("\n" - "\n" - "\n" + " \n" - ""); + puts("\n" + " "); } - - puts("
\n" - "\n" + " " + "", scriptname, *scriptname == '\0' ? "" : "/", req->q.manpath, r[i].file); - printf("\">"); html_print(r[i].names); - printf("\n" - ""); + printf(""); html_print(r[i].output); - puts("
\n" - "
"); + puts(""); } /* @@ -800,7 +792,8 @@ resp_format(const struct req *req, const } mchars_alloc(); - mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, req->q.manpath); + mp = mparse_alloc(MPARSE_SO | MPARSE_UTF8 | MPARSE_LATIN1, + MANDOCLEVEL_BADARG, NULL, req->q.manpath); mparse_readfd(mp, fd, file); close(fd); Modified: stable/11/contrib/mdocml/compat_fts.c ============================================================================== --- stable/11/contrib/mdocml/compat_fts.c Sun Apr 2 15:04:26 2017 (r316419) +++ stable/11/contrib/mdocml/compat_fts.c Sun Apr 2 15:13:35 2017 (r316420) @@ -6,8 +6,8 @@ int dummy; #else -/* $Id: compat_fts.c,v 1.9 2015/03/18 19:29:48 schwarze Exp $ */ -/* $OpenBSD: fts.c,v 1.50 2015/01/16 16:48:51 deraadt Exp $ */ +/* $Id: compat_fts.c,v 1.12 2016/10/18 23:58:12 schwarze Exp $ */ +/* $OpenBSD: fts.c,v 1.56 2016/09/21 04:38:56 guenther Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -59,6 +59,7 @@ static void fts_load(FTS *, FTSENT *); static size_t fts_maxarglen(char * const *); static void fts_padjust(FTS *, FTSENT *); static int fts_palloc(FTS *, size_t); +static FTSENT *fts_sort(FTS *, FTSENT *, int); static unsigned short fts_stat(FTS *, FTSENT *); #define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2]))) @@ -68,19 +69,22 @@ static unsigned short fts_stat(FTS *, F #ifndef O_CLOEXEC #define O_CLOEXEC 0 #endif +#ifndef PATH_MAX +#define PATH_MAX 4096 +#endif #define CLR(opt) (sp->fts_options &= ~(opt)) #define ISSET(opt) (sp->fts_options & (opt)) #define SET(opt) (sp->fts_options |= (opt)) FTS * -fts_open(char * const *argv, int options, void *dummy) +fts_open(char * const *argv, int options, + int (*compar)(const FTSENT **, const FTSENT **)) { FTS *sp; FTSENT *p, *root; int nitems; FTSENT *parent, *tmp; - size_t len; /* Options check. */ if (options & ~FTS_OPTIONMASK) { @@ -88,9 +92,16 @@ fts_open(char * const *argv, int options return (NULL); } + /* At least one path must be specified. */ + if (*argv == NULL) { + errno = EINVAL; + return (NULL); + } + /* Allocate/initialize the stream */ if ((sp = calloc(1, sizeof(FTS))) == NULL) return (NULL); + sp->fts_compar = compar; sp->fts_options = options; /* @@ -107,13 +118,7 @@ fts_open(char * const *argv, int options /* Allocate/initialize root(s). */ for (root = NULL, nitems = 0; *argv; ++argv, ++nitems) { - /* Don't allow zero-length paths. */ - if ((len = strlen(*argv)) == 0) { - errno = ENOENT; - goto mem3; - } - - if ((p = fts_alloc(sp, *argv, len)) == NULL) + if ((p = fts_alloc(sp, *argv, strlen(*argv))) == NULL) goto mem3; p->fts_level = FTS_ROOTLEVEL; p->fts_parent = parent; @@ -124,14 +129,25 @@ fts_open(char * const *argv, int options if (p->fts_info == FTS_DOT) p->fts_info = FTS_D; - p->fts_link = NULL; - if (root == NULL) - tmp = root = p; - else { - tmp->fts_link = p; - tmp = p; + /* + * If comparison routine supplied, traverse in sorted + * order; otherwise traverse in the order specified. + */ + if (compar) { + p->fts_link = root; + root = p; + } else { + p->fts_link = NULL; + if (root == NULL) + tmp = root = p; + else { + tmp->fts_link = p; + tmp = p; + } } } + if (compar && nitems > 1) + root = fts_sort(sp, root, nitems); /* * Allocate a dummy pointer and make fts_read think that we've just @@ -201,6 +217,7 @@ fts_close(FTS *sp) /* Free up child linked list, sort array, path buffer, stream ptr.*/ if (sp->fts_child) fts_lfree(sp->fts_child); + free(sp->fts_array); free(sp->fts_path); free(sp); @@ -317,7 +334,6 @@ name: t = sp->fts_path + NAPPEND(p->fts * semantics to fts using fts_set. An error return is allowed for similar * reasons. */ -/* ARGSUSED */ int fts_set(FTS *sp, FTSENT *p, int instr) { @@ -416,8 +432,7 @@ fts_build(FTS *sp) * structures already allocated. */ mem1: saved_errno = errno; - if (p) - free(p); + free(p); fts_lfree(head); (void)closedir(dirp); cur->fts_info = FTS_ERR; @@ -490,6 +505,10 @@ mem1: saved_errno = errno; cur->fts_info = FTS_DP; return (NULL); } + + /* Sort the entries. */ + if (sp->fts_compar && nitems > 1) + head = fts_sort(sp, head, nitems); return (head); } @@ -547,6 +566,40 @@ fts_stat(FTS *sp, FTSENT *p) } static FTSENT * +fts_sort(FTS *sp, FTSENT *head, int nitems) +{ + FTSENT **ap, *p; + + /* + * Construct an array of pointers to the structures and call qsort(3). + * Reassemble the array in the order returned by qsort. If unable to + * sort for memory reasons, return the directory entries in their + * current order. Allocate enough space for the current needs plus + * 40 so don't realloc one entry at a time. + */ + if (nitems > sp->fts_nitems) { + struct _ftsent **a; + + sp->fts_nitems = nitems + 40; + if ((a = reallocarray(sp->fts_array, + sp->fts_nitems, sizeof(FTSENT *))) == NULL) { + free(sp->fts_array); + sp->fts_array = NULL; + sp->fts_nitems = 0; + return (head); + } + sp->fts_array = a; + } + for (ap = sp->fts_array, p = head; p; p = p->fts_link) + *ap++ = p; + qsort(sp->fts_array, nitems, sizeof(FTSENT *), sp->fts_compar); + for (head = *(ap = sp->fts_array); --nitems; ++ap) + ap[0]->fts_link = ap[1]; + ap[0]->fts_link = NULL; + return (head); +} + +static FTSENT * fts_alloc(FTS *sp, const char *name, size_t namelen) { FTSENT *p; @@ -597,8 +650,7 @@ fts_palloc(FTS *sp, size_t more) */ more += 256; if (sp->fts_pathlen + more < sp->fts_pathlen) { - if (sp->fts_path) - free(sp->fts_path); + free(sp->fts_path); sp->fts_path = NULL; errno = ENAMETOOLONG; return (1); @@ -606,8 +658,7 @@ fts_palloc(FTS *sp, size_t more) sp->fts_pathlen += more; p = realloc(sp->fts_path, sp->fts_pathlen); if (p == NULL) { - if (sp->fts_path) - free(sp->fts_path); + free(sp->fts_path); sp->fts_path = NULL; return (1); } Modified: stable/11/contrib/mdocml/compat_fts.h ============================================================================== --- stable/11/contrib/mdocml/compat_fts.h Sun Apr 2 15:04:26 2017 (r316419) +++ stable/11/contrib/mdocml/compat_fts.h Sun Apr 2 15:13:35 2017 (r316420) @@ -38,9 +38,12 @@ typedef struct { struct _ftsent *fts_cur; /* current node */ struct _ftsent *fts_child; /* linked list of children */ + struct _ftsent **fts_array; /* sort array */ dev_t fts_dev; /* starting device # */ char *fts_path; /* path for this descent */ size_t fts_pathlen; /* sizeof(path) */ + int fts_nitems; /* elements in the sort array */ + int (*fts_compar)(); /* compare function */ #define FTS_NOCHDIR 0x0004 /* don't change directories */ #define FTS_PHYSICAL 0x0010 /* physical walk */ @@ -94,7 +97,8 @@ typedef struct _ftsent { int fts_close(FTS *); -FTS *fts_open(char * const *, int, void *); +FTS *fts_open(char * const *, int, + int (*)(const FTSENT **, const FTSENT **)); FTSENT *fts_read(FTS *); int fts_set(FTS *, FTSENT *, int); Modified: stable/11/contrib/mdocml/config.h ============================================================================== --- stable/11/contrib/mdocml/config.h Sun Apr 2 15:04:26 2017 (r316419) +++ stable/11/contrib/mdocml/config.h Sun Apr 2 15:13:35 2017 (r316420) @@ -2,30 +2,33 @@ #error "Do not use C++. See the INSTALL file." #endif -#ifndef MANDOC_CONFIG_H -#define MANDOC_CONFIG_H +#if !defined(__GNUC__) || (__GNUC__ < 4) +#define __attribute__(x) +#endif #if defined(__linux__) || defined(__MINT__) #define _GNU_SOURCE /* See test-*.c what needs this. */ #endif -#include -#include #define MAN_CONF_FILE "/etc/man.conf" +#define MANPATH_DEFAULT "/usr/share/man:/usr/local/man" +#define UTF8_LOCALE "en_US.UTF-8" #define HAVE_DIRENT_NAMLEN 1 +#define HAVE_ENDIAN 0 #define HAVE_ERR 1 #define HAVE_FTS 1 #define HAVE_GETLINE 1 #define HAVE_GETSUBOPT 1 #define HAVE_ISBLANK 1 #define HAVE_MKDTEMP 1 -#define HAVE_MMAP 1 +#define HAVE_NTOHL 1 #define HAVE_PLEDGE 0 #define HAVE_PROGNAME 1 #define HAVE_REALLOCARRAY 1 -#define HAVE_REWB_BSD 0 -#define HAVE_REWB_SYSV 0 +#define HAVE_REWB_BSD 1 +#define HAVE_REWB_SYSV 1 +#define HAVE_SANDBOX_INIT 0 #define HAVE_STRCASESTR 1 #define HAVE_STRINGLIST 1 #define HAVE_STRLCAT 1 @@ -33,20 +36,14 @@ #define HAVE_STRPTIME 1 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sun Apr 2 15:39:49 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 251B1D2AFF7; Sun, 2 Apr 2017 15:39:49 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-yb0-x241.google.com (mail-yb0-x241.google.com [IPv6:2607:f8b0:4002:c09::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D85C021A; Sun, 2 Apr 2017 15:39:48 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-yb0-x241.google.com with SMTP id p125so3763059ybb.2; Sun, 02 Apr 2017 08:39:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=xjaGnCiEDfFOCaKWDMU0crjRYjMzElzP75Jkw5ulpow=; b=VUTkcPEFHffnrWUdRyuHoBy+7JvRi0SVbgUSMjWQ5NzNSL9OtgxINMxmbEDkZze+f1 P1aq9eHoHBTOqPMEd2HCPbZ6vPVSZLWLOykbunPiTmDm0oMw1yPkqhpjE3KSn+jGEMFk N71e+s9nOAFSDQR6/NIcizQ//b9P2CG8R70Q8DaV44vp3oXsjI0dPbtU8/6D6bS2eGfO z5O64OpcoqLtYLVVWjsXykt29eeHEMMHAzfK7Fkd7Qj3Q3PcKCmnlRKC2B594SM55fmM sOIa5TTFqBL9eDdV2kog4H6uG/WAoqvol7CUDxfxDVoNx7Z3s7Z8wQAAWPx2408P4KqI 3g0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=xjaGnCiEDfFOCaKWDMU0crjRYjMzElzP75Jkw5ulpow=; b=ctM2ozapPWsApO2oCqYiBMnY0b0OGtmyPYjMlpOJvAuGuS/Bb8UE7ozZGfvXwU0P47 l8p0MVeZtHNqGTv8KcXRAaeabUAN9MORqr6EOTGubOiIErFd56XV5lbh5US+evjZ2M4C ROPYNz7nyGNaw8nTgrcgI8UADZIvdJVWUuFD87YPxKEk9dTk66l2/mC2J4BS7Caxkt8e MYhHD3IJmJ5VcOmm6lIPF6RZ/3g/7Q9tzkhHuCPN77X8s657afE0L1NlszXGV90L6OKc UG1/7JeAndJuaEQ0rv7EAiMqVL/O4lyAA+weSnoCGC/9D8/pANipHBLxl8hOnjlNq/2H NlwA== X-Gm-Message-State: AFeK/H1kJNtdW9xMKr1EiWLmpWpms134ydKL93JMNIHwfd1O7mGCHZJjR5QmQn3Fx5tt0T1D/uuA0wi6bGa3bg== X-Received: by 10.37.208.202 with SMTP id h193mr8942583ybg.113.1491147587942; Sun, 02 Apr 2017 08:39:47 -0700 (PDT) MIME-Version: 1.0 Sender: asomers@gmail.com Received: by 10.129.20.214 with HTTP; Sun, 2 Apr 2017 08:39:47 -0700 (PDT) In-Reply-To: <20170402111521.GL86500@zxy.spb.ru> References: <201704012051.v31KpM9f069344@repo.freebsd.org> <20170402111521.GL86500@zxy.spb.ru> From: Alan Somers Date: Sun, 2 Apr 2017 09:39:47 -0600 X-Google-Sender-Auth: GHwa_HQjRb5LgQrtWuJRhjCem0E Message-ID: Subject: Re: svn commit: r316372 - stable/11/etc To: Slawa Olhovchenkov Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 15:39:49 -0000 On Sun, Apr 2, 2017 at 5:15 AM, Slawa Olhovchenkov wrote: > On Sat, Apr 01, 2017 at 08:51:22PM +0000, Alan Somers wrote: > >> Author: asomers >> Date: Sat Apr 1 20:51:22 2017 >> New Revision: 316372 >> URL: https://svnweb.freebsd.org/changeset/base/316372 >> >> Log: >> MFC r314341: >> >> Update devd.conf for ports change 421360 >> >> Ports change 421360 changed the name and UID of the postgres user > > This is not good solution, IMHO. > System w/ PostgreSQL installed before 421360 after update to r314341 > will be break. > > IMHO best is to have (some time) both rules: for uid 70 and 770. I disagree, Slawa, because this devd.conf rule is moot in the default install. That's becauses there is no matching rctl.conf rule. It's really just an example. In fact, I don't even know if it refers to any actual memory leak in postgresql, or just a hypothetical one. I'm pretty sure that Trasz only added it in r220168 as an example of how to write a RCTL rule in devd.conf. -Alan From owner-svn-src-all@freebsd.org Sun Apr 2 15:41:47 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 29F7BD2931F; Sun, 2 Apr 2017 15:41:47 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DDD29842; Sun, 2 Apr 2017 15:41:46 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.86 (FreeBSD)) (envelope-from ) id 1cuhdP-0005Ff-NF; Sun, 02 Apr 2017 18:41:43 +0300 Date: Sun, 2 Apr 2017 18:41:43 +0300 From: Slawa Olhovchenkov To: Alan Somers Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r316372 - stable/11/etc Message-ID: <20170402154143.GJ70430@zxy.spb.ru> References: <201704012051.v31KpM9f069344@repo.freebsd.org> <20170402111521.GL86500@zxy.spb.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 15:41:47 -0000 On Sun, Apr 02, 2017 at 09:39:47AM -0600, Alan Somers wrote: > On Sun, Apr 2, 2017 at 5:15 AM, Slawa Olhovchenkov wrote: > > On Sat, Apr 01, 2017 at 08:51:22PM +0000, Alan Somers wrote: > > > >> Author: asomers > >> Date: Sat Apr 1 20:51:22 2017 > >> New Revision: 316372 > >> URL: https://svnweb.freebsd.org/changeset/base/316372 > >> > >> Log: > >> MFC r314341: > >> > >> Update devd.conf for ports change 421360 > >> > >> Ports change 421360 changed the name and UID of the postgres user > > > > This is not good solution, IMHO. > > System w/ PostgreSQL installed before 421360 after update to r314341 > > will be break. > > > > IMHO best is to have (some time) both rules: for uid 70 and 770. > > I disagree, Slawa, because this devd.conf rule is moot in the default > install. That's becauses there is no matching rctl.conf rule. It's > really just an example. In fact, I don't even know if it refers to > any actual memory leak in postgresql, or just a hypothetical one. I'm > pretty sure that Trasz only added it in r220168 as an example of how > to write a RCTL rule in devd.conf. Thanks for clarification. From owner-svn-src-all@freebsd.org Sun Apr 2 15:53:13 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 45612D29935; Sun, 2 Apr 2017 15:53:13 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15B74D7; Sun, 2 Apr 2017 15:53:13 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32FrCY6066465; Sun, 2 Apr 2017 15:53:12 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32FrCZH066464; Sun, 2 Apr 2017 15:53:12 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201704021553.v32FrCZH066464@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 2 Apr 2017 15:53:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316421 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 15:53:13 -0000 Author: jilles Date: Sun Apr 2 15:53:11 2017 New Revision: 316421 URL: https://svnweb.freebsd.org/changeset/base/316421 Log: sh: Remove an XXX comment: it is normal for builtins to use argptr. Modified: head/bin/sh/alias.c Modified: head/bin/sh/alias.c ============================================================================== --- head/bin/sh/alias.c Sun Apr 2 15:13:35 2017 (r316420) +++ head/bin/sh/alias.c Sun Apr 2 15:53:11 2017 (r316421) @@ -45,7 +45,7 @@ __FBSDID("$FreeBSD$"); #include "memalloc.h" #include "mystring.h" #include "alias.h" -#include "options.h" /* XXX for argptr (should remove?) */ +#include "options.h" #include "builtins.h" #define ATABSIZE 39 From owner-svn-src-all@freebsd.org Sun Apr 2 16:33:17 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 08CDAD2A350; Sun, 2 Apr 2017 16:33:17 +0000 (UTC) (envelope-from dchagin@mordor.heemeyer.club) Received: from heemeyer.club (heemeyer.club [108.61.204.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "heemeyer.club", Issuer "heemeyer.club" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id BAFED66E; Sun, 2 Apr 2017 16:33:16 +0000 (UTC) (envelope-from dchagin@mordor.heemeyer.club) Received: from mordor.heemeyer.club (dchagin.static.corbina.ru [78.107.232.239]) by heemeyer.club (8.15.2/8.15.1) with ESMTPS id v32GXAsa019932 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 2 Apr 2017 16:33:13 GMT (envelope-from dchagin@mordor.heemeyer.club) X-Authentication-Warning: heemeyer.club: Host dchagin.static.corbina.ru [78.107.232.239] claimed to be mordor.heemeyer.club Received: from mordor.heemeyer.club (localhost [127.0.0.1]) by mordor.heemeyer.club (8.15.2/8.15.1) with ESMTPS id v32GX6cY044899 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 2 Apr 2017 19:33:07 +0300 (MSK) (envelope-from dchagin@mordor.heemeyer.club) Received: (from dchagin@localhost) by mordor.heemeyer.club (8.15.2/8.15.2/Submit) id v32GX684044898; Sun, 2 Apr 2017 19:33:06 +0300 (MSK) (envelope-from dchagin) Date: Sun, 2 Apr 2017 19:33:06 +0300 From: Chagin Dmitry To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316393 - head/sys/compat/linux Message-ID: <20170402163306.GA44865@mordor.heemeyer.club> References: <201704020746.v327kDSN042840@repo.freebsd.org> <20170402133651.GJ43712@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170402133651.GJ43712@kib.kiev.ua> User-Agent: Mutt/1.8.0 (2017-02-23) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 16:33:17 -0000 On Sun, Apr 02, 2017 at 04:36:51PM +0300, Konstantin Belousov wrote: > On Sun, Apr 02, 2017 at 07:46:13AM +0000, Dmitry Chagin wrote: > > Author: dchagin > > Date: Sun Apr 2 07:46:13 2017 > > New Revision: 316393 > > URL: https://svnweb.freebsd.org/changeset/base/316393 > > > > Log: > > As noted by bde@ negative tv_sec values are not checked for overflow, > > so overflow can still occur. Fix that. Also remove the extra check for > > tv_sec size as under COMPAT_LINUX32 it is always true. > > > > Pointed out by: bde@ > > > > MFC after: 1 week > > > > Modified: > > head/sys/compat/linux/linux_time.c > > > > Modified: head/sys/compat/linux/linux_time.c > > ============================================================================== > > --- head/sys/compat/linux/linux_time.c Sun Apr 2 07:11:15 2017 (r316392) > > +++ head/sys/compat/linux/linux_time.c Sun Apr 2 07:46:13 2017 (r316393) > > @@ -125,8 +125,7 @@ native_to_linux_timespec(struct l_timesp > > > > LIN_SDT_PROBE2(time, native_to_linux_timespec, entry, ltp, ntp); > > #ifdef COMPAT_LINUX32 > > - if (ntp->tv_sec > INT_MAX && > > - sizeof(ltp->tv_sec) != sizeof(ntp->tv_sec)) > > + if (ntp->tv_sec > INT_MAX || ntp->tv_sec < INT_MIN) > This line reads as only tv_sec == INT_MAX case results in non-EOVERFLOW > condition. > should I rewrite it like: if (ntp->tv_sec < INT_MIN || ntp->tv_sec > INT_MAX) ? > > return (EOVERFLOW); > > #endif > > ltp->tv_sec = ntp->tv_sec; -- From owner-svn-src-all@freebsd.org Sun Apr 2 16:39:41 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 06278D2A5F4; Sun, 2 Apr 2017 16:39:41 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D75C5967; Sun, 2 Apr 2017 16:39:40 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32GdefN083509; Sun, 2 Apr 2017 16:39:40 GMT (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32GdekR083508; Sun, 2 Apr 2017 16:39:40 GMT (envelope-from bde@FreeBSD.org) Message-Id: <201704021639.v32GdekR083508@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bde set sender to bde@FreeBSD.org using -f From: Bruce Evans Date: Sun, 2 Apr 2017 16:39:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316422 - head/usr.sbin/vidcontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 16:39:41 -0000 Author: bde Date: Sun Apr 2 16:39:39 2017 New Revision: 316422 URL: https://svnweb.freebsd.org/changeset/base/316422 Log: Remove checks that background (bg) colors are not bright and buggy attempts to keep them that way. The bg brightness bit is interpreted as blinking in some modes, but it would barely be useful to disallow setting it when it would give blinking in code which knew when that is. The old code mostly knew this wrong, and added handling errors. It is in fact impossible to know, since future mode switches may change the meaning of the bit many times on the screen and in history. Old versions of vidcontrol disallowed bg color numbers >= 8 in all cases. This is very VGA/syscons-centric. Syscons uses the VGA defaults of blinking fg instead of bright bg in text mode and bright bg in graphics mode. On VGA, this is very easy to toggle at any time, and vt blows away the VGA text mode default at boot time. r146736 changed this to try to allow bg color numbers in graphics mode only. This is even more VGA/syscons-centric, and there are many bugs in this, and many nearby bugs in the parser. These are increased or decreased by differences and bugs in vt and teken. Perhaps the most obvious bug was that almost any vidcontrol command which changes any color or the mode causes an error if the initial fg color is bright. E.g., in syscons text mode, after "vidcontrol lightwhite" to make the fg bright, another "vidcontrol lightwhite" is rejected and buggy fixup code changes the fg to white. This is because the bright fg color creates a bright bg color for the phantom reverse video attribute, so was rejected. (The reverse video attribute is phantom because teken ignores the user's setting of it and simply reverses the fg attributes to create the bg attributes. Sometimes some layer masks off the brightness/blinking bit, but not here.) Perhaps the next most obvious one was that "vidcontrol lightgreen lightblue" was misparsed as 2 settings of the fg instead of 1 setting of the fg and 1 invalid setting of the bg. This is because the parser supports an undocumented syntax with many parsing bugs (an ambiguity gives this one). I recently fix bugs in teken that broke setting of bright fg's and bg's in the normal way. This gave more settings of then, so the old bugs showed up more often. Modified: head/usr.sbin/vidcontrol/vidcontrol.c Modified: head/usr.sbin/vidcontrol/vidcontrol.c ============================================================================== --- head/usr.sbin/vidcontrol/vidcontrol.c Sun Apr 2 15:53:11 2017 (r316421) +++ head/usr.sbin/vidcontrol/vidcontrol.c Sun Apr 2 16:39:39 2017 (r316422) @@ -850,8 +850,7 @@ get_normal_colors(int argc, char **argv, normal_fore_color=color; colors_changed = 1; if (*_index < argc - && (color = get_color_number(argv[*_index])) != -1 - && color < 8) { + && (color = get_color_number(argv[*_index])) != -1) { (*_index)++; fprintf(stderr, "\033[=%dG", color); normal_back_color=color; @@ -874,8 +873,7 @@ get_reverse_colors(int argc, char **argv revers_fore_color=color; colors_changed = 1; if (*_index < argc - && (color = get_color_number(argv[*_index])) != -1 - && color < 8) { + && (color = get_color_number(argv[*_index])) != -1) { (*_index)++; fprintf(stderr, "\033[=%dI", color); revers_back_color=color; @@ -1477,18 +1475,8 @@ main(int argc, char **argv) get_normal_colors(argc, argv, &optind); - if (colors_changed || video_mode_changed) { - if (!(new_mode_info.vi_flags & V_INFO_GRAPHICS)) { - if ((normal_back_color < 8) && (revers_back_color < 8)) { - set_colors(); - } else { - revert(); - errx(1, "bg color for text modes must be < 8"); - } - } else { - set_colors(); - } - } + if (colors_changed || video_mode_changed) + set_colors(); if ((optind != argc) || (argc == 1)) usage(); From owner-svn-src-all@freebsd.org Sun Apr 2 17:25:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7CD85D2A721; Sun, 2 Apr 2017 17:25:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 043446C8; Sun, 2 Apr 2017 17:25:04 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32HP4a9003949; Sun, 2 Apr 2017 17:25:04 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32HP2Jg003936; Sun, 2 Apr 2017 17:25:02 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201704021725.v32HP2Jg003936@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 2 Apr 2017 17:25:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316423 - in stable/11: . contrib/compiler-rt/include/sanitizer contrib/compiler-rt/include/xray contrib/compiler-rt/lib/asan contrib/compiler-rt/lib/builtins contrib/compiler-rt/lib/bu... X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 17:25:06 -0000 Author: dim Date: Sun Apr 2 17:24:58 2017 New Revision: 316423 URL: https://svnweb.freebsd.org/changeset/base/316423 Log: Update clang, llvm, lld, lldb, compiler-rt and libc++ to 4.0.0 release: MFC r309142 (by emaste): Add WITH_LLD_AS_LD build knob If set it installs LLD as /usr/bin/ld. LLD (as of version 3.9) is not capable of linking the world and kernel, but can self-host and link many substantial applications. GNU ld continues to be used for the world and kernel build, regardless of how this knob is set. It is on by default for arm64, and off for all other CPU architectures. Sponsored by: The FreeBSD Foundation MFC r310840: Reapply 310775, now it also builds correctly if lldb is disabled: Move llvm-objdump from CLANG_EXTRAS to installed by default We currently install three tools from binutils 2.17.50: as, ld, and objdump. Work is underway to migrate to a permissively-licensed tool-chain, with one goal being the retirement of binutils 2.17.50. LLVM's llvm-objdump is intended to be compatible with GNU objdump although it is currently missing some options and may have formatting differences. Enable it by default for testing and further investigation. It may later be changed to install as /usr/bin/objdump, it becomes a fully viable replacement. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D8879 MFC r312855 (by emaste): Rename LLD_AS_LD to LLD_IS_LD, for consistency with CLANG_IS_CC Reported by: Dan McGregor MFC r313559 | glebius | 2017-02-10 18:34:48 +0100 (Fri, 10 Feb 2017) | 5 lines Don't check struct rtentry on FreeBSD, it is an internal kernel structure. On other systems it may be API structure for SIOCADDRT/SIOCDELRT. Reviewed by: emaste, dim MFC r314152 (by jkim): Remove an assembler flag, which is redundant since r309124. The upstream took care of it by introducing a macro NO_EXEC_STACK_DIRECTIVE. http://llvm.org/viewvc/llvm-project?rev=273500&view=rev Reviewed by: dim MFC r314564: Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ to 4.0.0 (branches/release_40 296509). The release will follow soon. Please note that from 3.5.0 onwards, clang, llvm and lldb require C++11 support to build; see UPDATING for more information. Also note that as of 4.0.0, lld should be able to link the base system on amd64 and aarch64. See the WITH_LLD_IS_LLD setting in src.conf(5). Though please be aware that this is work in progress. Release notes for llvm, clang and lld will be available here: Thanks to Ed Maste, Jan Beich, Antoine Brodin and Eric Fiselier for their help. Relnotes: yes Exp-run: antoine PR: 215969, 216008 MFC r314708: For now, revert r287232 from upstream llvm trunk (by Daniil Fukalov): [SCEV] limit recursion depth of CompareSCEVComplexity Summary: CompareSCEVComplexity goes too deep (50+ on a quite a big unrolled loop) and runs almost infinite time. Added cache of "equal" SCEV pairs to earlier cutoff of further estimation. Recursion depth limit was also introduced as a parameter. Reviewers: sanjoy Subscribers: mzolotukhin, tstellarAMD, llvm-commits Differential Revision: https://reviews.llvm.org/D26389 This commit is the cause of excessive compile times on skein_block.c (and possibly other files) during kernel builds on amd64. We never saw the problematic behavior described in this upstream commit, so for now it is better to revert it. An upstream bug has been filed here: https://bugs.llvm.org/show_bug.cgi?id=32142 Reported by: mjg MFC r314795: Reapply r287232 from upstream llvm trunk (by Daniil Fukalov): [SCEV] limit recursion depth of CompareSCEVComplexity Summary: CompareSCEVComplexity goes too deep (50+ on a quite a big unrolled loop) and runs almost infinite time. Added cache of "equal" SCEV pairs to earlier cutoff of further estimation. Recursion depth limit was also introduced as a parameter. Reviewers: sanjoy Subscribers: mzolotukhin, tstellarAMD, llvm-commits Differential Revision: https://reviews.llvm.org/D26389 Pull in r296992 from upstream llvm trunk (by Sanjoy Das): [SCEV] Decrease the recursion threshold for CompareValueComplexity Fixes PR32142. r287232 accidentally increased the recursion threshold for CompareValueComplexity from 2 to 32. This change reverses that change by introducing a separate flag for CompareValueComplexity's threshold. The latter revision fixes the excessive compile times for skein_block.c. MFC r314907 | mmel | 2017-03-08 12:40:27 +0100 (Wed, 08 Mar 2017) | 7 lines Unbreak ARMv6 world. The new compiler_rt library imported with clang 4.0.0 have several fatal issues (non-functional __udivsi3 for example) with ARM specific instrict functions. As temporary workaround, until upstream solve these problems, disable all thumb[1][2] related feature. MFC r315016: Update clang, llvm, lld, lldb, compiler-rt and libc++ to 4.0.0 release. We were already very close to the last release candidate, so this is a pretty minor update. Relnotes: yes MFC r316005: Revert r314907, and pull in r298713 from upstream compiler-rt trunk (by Weiming Zhao): builtins: Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA. Summary: Value of __ARM_ARCH_ISA_THUMB isn't based on the actual compilation mode (-mthumb, -marm), it reflect's capability of given CPU. Due to this: - use __tbumb__ and __thumb2__ insteand of __ARM_ARCH_ISA_THUMB - use '.thumb' directive consistently in all affected files - decorate all thumb functions using DEFINE_COMPILERRT_THUMB_FUNCTION() --------- Note: This patch doesn't fix broken Thumb1 variant of __udivsi3 ! Reviewers: weimingz, rengolin, compnerd Subscribers: aemerson, dim Differential Revision: https://reviews.llvm.org/D30938 Discussed with: mmel Added: stable/11/contrib/compiler-rt/include/xray/ - copied from r314564, head/contrib/compiler-rt/include/xray/ stable/11/contrib/compiler-rt/lib/asan/asan_descriptions.cc - copied unchanged from r314564, head/contrib/compiler-rt/lib/asan/asan_descriptions.cc stable/11/contrib/compiler-rt/lib/asan/asan_descriptions.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/asan/asan_descriptions.h stable/11/contrib/compiler-rt/lib/asan/asan_errors.cc - copied unchanged from r314564, head/contrib/compiler-rt/lib/asan/asan_errors.cc stable/11/contrib/compiler-rt/lib/asan/asan_errors.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/asan/asan_errors.h stable/11/contrib/compiler-rt/lib/asan/asan_globals_win.cc - copied unchanged from r314564, head/contrib/compiler-rt/lib/asan/asan_globals_win.cc stable/11/contrib/compiler-rt/lib/asan/asan_globals_win.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/asan/asan_globals_win.h stable/11/contrib/compiler-rt/lib/asan/weak_symbols.txt - copied unchanged from r314564, head/contrib/compiler-rt/lib/asan/weak_symbols.txt stable/11/contrib/compiler-rt/lib/builtins/floattitf.c - copied unchanged from r314564, head/contrib/compiler-rt/lib/builtins/floattitf.c stable/11/contrib/compiler-rt/lib/builtins/floatuntitf.c - copied unchanged from r314564, head/contrib/compiler-rt/lib/builtins/floatuntitf.c stable/11/contrib/compiler-rt/lib/builtins/mingw_fixfloat.c - copied unchanged from r314564, head/contrib/compiler-rt/lib/builtins/mingw_fixfloat.c stable/11/contrib/compiler-rt/lib/esan/esan_hashtable.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/esan/esan_hashtable.h stable/11/contrib/compiler-rt/lib/sancov/ - copied from r314564, head/contrib/compiler-rt/lib/sancov/ stable/11/contrib/compiler-rt/lib/sanitizer_common/sancov_flags.cc - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sancov_flags.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sancov_flags.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sancov_flags.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sancov_flags.inc - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sancov_flags.inc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_bytemap.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_bytemap.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_combined.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_combined.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_local_cache.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_local_cache.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_secondary.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_secondary.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_size_class_map.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_size_class_map.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_stats.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_stats.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_dbghelp.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_dbghelp.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_mips64.S - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_mips64.S stable/11/contrib/compiler-rt/lib/sanitizer_common/symbolizer/ - copied from r314564, head/contrib/compiler-rt/lib/sanitizer_common/symbolizer/ stable/11/contrib/compiler-rt/lib/sanitizer_common/weak_symbols.txt - copied unchanged from r314564, head/contrib/compiler-rt/lib/sanitizer_common/weak_symbols.txt stable/11/contrib/compiler-rt/lib/scudo/scudo_allocator_secondary.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/scudo/scudo_allocator_secondary.h stable/11/contrib/compiler-rt/lib/scudo/scudo_crc32.cpp - copied unchanged from r314564, head/contrib/compiler-rt/lib/scudo/scudo_crc32.cpp stable/11/contrib/compiler-rt/lib/scudo/scudo_crc32.h - copied unchanged from r314564, head/contrib/compiler-rt/lib/scudo/scudo_crc32.h stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_mips64.S - copied unchanged from r314564, head/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_mips64.S stable/11/contrib/compiler-rt/lib/ubsan/weak_symbols.txt - copied unchanged from r314564, head/contrib/compiler-rt/lib/ubsan/weak_symbols.txt stable/11/contrib/compiler-rt/lib/xray/ - copied from r314564, head/contrib/compiler-rt/lib/xray/ stable/11/contrib/libc++/include/__libcpp_version - copied unchanged from r314564, head/contrib/libc++/include/__libcpp_version stable/11/contrib/libc++/include/__string - copied unchanged from r314564, head/contrib/libc++/include/__string stable/11/contrib/libc++/include/any - copied unchanged from r314564, head/contrib/libc++/include/any stable/11/contrib/libc++/include/experimental/numeric - copied unchanged from r314564, head/contrib/libc++/include/experimental/numeric stable/11/contrib/libc++/include/limits.h - copied unchanged from r314564, head/contrib/libc++/include/limits.h stable/11/contrib/libc++/include/locale.h - copied unchanged from r314564, head/contrib/libc++/include/locale.h stable/11/contrib/libc++/include/optional - copied unchanged from r314564, head/contrib/libc++/include/optional stable/11/contrib/libc++/include/stdint.h - copied unchanged from r314564, head/contrib/libc++/include/stdint.h stable/11/contrib/libc++/include/string_view - copied unchanged from r314564, head/contrib/libc++/include/string_view stable/11/contrib/libc++/include/variant - copied unchanged from r314564, head/contrib/libc++/include/variant stable/11/contrib/libc++/src/variant.cpp - copied unchanged from r314564, head/contrib/libc++/src/variant.cpp stable/11/contrib/llvm/include/llvm/ADT/AllocatorList.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ADT/AllocatorList.h stable/11/contrib/llvm/include/llvm/ADT/CachedHashString.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ADT/CachedHashString.h stable/11/contrib/llvm/include/llvm/ADT/ScopeExit.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ADT/ScopeExit.h stable/11/contrib/llvm/include/llvm/ADT/ilist_base.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ADT/ilist_base.h stable/11/contrib/llvm/include/llvm/ADT/ilist_iterator.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ADT/ilist_iterator.h stable/11/contrib/llvm/include/llvm/ADT/ilist_node_base.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ADT/ilist_node_base.h stable/11/contrib/llvm/include/llvm/ADT/ilist_node_options.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ADT/ilist_node_options.h stable/11/contrib/llvm/include/llvm/ADT/simple_ilist.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ADT/simple_ilist.h stable/11/contrib/llvm/include/llvm/Analysis/LazyBranchProbabilityInfo.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Analysis/LazyBranchProbabilityInfo.h stable/11/contrib/llvm/include/llvm/Analysis/LoopAnalysisManager.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Analysis/LoopAnalysisManager.h stable/11/contrib/llvm/include/llvm/Bitcode/BitcodeReader.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Bitcode/BitcodeReader.h stable/11/contrib/llvm/include/llvm/Bitcode/BitcodeWriter.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Bitcode/BitcodeWriter.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/Utils.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/CodeGen/GlobalISel/Utils.h stable/11/contrib/llvm/include/llvm/CodeGen/LowLevelType.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/CodeGen/LowLevelType.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/CVDebugRecord.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/CVDebugRecord.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/CVTypeDumper.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/CVTypeDumper.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDatabase.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDatabase.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDeserializer.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDeserializer.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDumperBase.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDumperBase.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeSerializer.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeSerializer.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFGdbIndex.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFGdbIndex.h stable/11/contrib/llvm/include/llvm/DebugInfo/MSF/ - copied from r314564, head/contrib/llvm/include/llvm/DebugInfo/MSF/ stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/GlobalsStream.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/GlobalsStream.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/TpiHashing.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/TpiHashing.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/TpiStreamBuilder.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/TpiStreamBuilder.h stable/11/contrib/llvm/include/llvm/Demangle/ - copied from r314564, head/contrib/llvm/include/llvm/Demangle/ stable/11/contrib/llvm/include/llvm/ExecutionEngine/JITSymbol.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ExecutionEngine/JITSymbol.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/RPCSerialization.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ExecutionEngine/Orc/RPCSerialization.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/RawByteChannel.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ExecutionEngine/Orc/RawByteChannel.h stable/11/contrib/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h stable/11/contrib/llvm/include/llvm/LTO/Caching.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/LTO/Caching.h stable/11/contrib/llvm/include/llvm/LTO/Config.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/LTO/Config.h stable/11/contrib/llvm/include/llvm/LTO/LTOBackend.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/LTO/LTOBackend.h stable/11/contrib/llvm/include/llvm/MC/LaneBitmask.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/MC/LaneBitmask.h stable/11/contrib/llvm/include/llvm/Object/Decompressor.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Object/Decompressor.h stable/11/contrib/llvm/include/llvm/Object/ModuleSymbolTable.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Object/ModuleSymbolTable.h stable/11/contrib/llvm/include/llvm/Object/Wasm.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Object/Wasm.h stable/11/contrib/llvm/include/llvm/ObjectYAML/DWARFYAML.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/ObjectYAML/DWARFYAML.h stable/11/contrib/llvm/include/llvm/Support/Chrono.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/Chrono.h stable/11/contrib/llvm/include/llvm/Support/ELFRelocs/RISCV.def - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/ELFRelocs/RISCV.def stable/11/contrib/llvm/include/llvm/Support/FormatAdapters.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/FormatAdapters.h stable/11/contrib/llvm/include/llvm/Support/FormatCommon.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/FormatCommon.h stable/11/contrib/llvm/include/llvm/Support/FormatProviders.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/FormatProviders.h stable/11/contrib/llvm/include/llvm/Support/FormatVariadic.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/FormatVariadic.h stable/11/contrib/llvm/include/llvm/Support/FormatVariadicDetails.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/FormatVariadicDetails.h stable/11/contrib/llvm/include/llvm/Support/GlobPattern.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/GlobPattern.h stable/11/contrib/llvm/include/llvm/Support/NativeFormatting.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/NativeFormatting.h stable/11/contrib/llvm/include/llvm/Support/TarWriter.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/TarWriter.h stable/11/contrib/llvm/include/llvm/Support/TrigramIndex.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/TrigramIndex.h stable/11/contrib/llvm/include/llvm/Support/Wasm.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/Wasm.h stable/11/contrib/llvm/include/llvm/Support/xxhash.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Support/xxhash.h stable/11/contrib/llvm/include/llvm/Target/TargetGlobalISel.td - copied unchanged from r314564, head/contrib/llvm/include/llvm/Target/TargetGlobalISel.td stable/11/contrib/llvm/include/llvm/Transforms/Coroutines.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Coroutines.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/AlwaysInliner.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/IPO/AlwaysInliner.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/GlobalSplit.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/IPO/GlobalSplit.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/Inliner.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/IPO/Inliner.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/GVNExpression.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/GVNExpression.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/IVUsersPrinter.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/IVUsersPrinter.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LoopDataPrefetch.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/LoopDataPrefetch.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LoopStrengthReduce.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/LoopStrengthReduce.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LowerGuardIntrinsic.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/LowerGuardIntrinsic.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/NaryReassociate.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/NaryReassociate.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/NewGVN.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/NewGVN.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/SpeculativeExecution.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Scalar/SpeculativeExecution.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/BreakCriticalEdges.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Utils/BreakCriticalEdges.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/EscapeEnumerator.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Utils/EscapeEnumerator.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/FunctionComparator.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Utils/FunctionComparator.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/LibCallsShrinkWrap.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Utils/LibCallsShrinkWrap.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/LowerInvoke.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Utils/LowerInvoke.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/NameAnonGlobals.h - copied unchanged from r314564, head/contrib/llvm/include/llvm/Transforms/Utils/NameAnonGlobals.h stable/11/contrib/llvm/include/llvm/XRay/ - copied from r314564, head/contrib/llvm/include/llvm/XRay/ stable/11/contrib/llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp stable/11/contrib/llvm/lib/Analysis/LoopAnalysisManager.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Analysis/LoopAnalysisManager.cpp stable/11/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp stable/11/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h - copied unchanged from r314564, head/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h stable/11/contrib/llvm/lib/Bitcode/Reader/ValueList.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Bitcode/Reader/ValueList.cpp stable/11/contrib/llvm/lib/Bitcode/Reader/ValueList.h - copied unchanged from r314564, head/contrib/llvm/lib/Bitcode/Reader/ValueList.h stable/11/contrib/llvm/lib/CodeGen/BranchRelaxation.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/BranchRelaxation.cpp stable/11/contrib/llvm/lib/CodeGen/CountingFunctionInserter.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/CountingFunctionInserter.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/Utils.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/GlobalISel/Utils.cpp stable/11/contrib/llvm/lib/CodeGen/LowLevelType.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/LowLevelType.cpp stable/11/contrib/llvm/lib/CodeGen/MachinePipeliner.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/MachinePipeliner.cpp stable/11/contrib/llvm/lib/CodeGen/ResetMachineFunctionPass.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/ResetMachineFunctionPass.cpp stable/11/contrib/llvm/lib/CodeGen/TargetSubtargetInfo.cpp - copied unchanged from r314564, head/contrib/llvm/lib/CodeGen/TargetSubtargetInfo.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/CVTypeDumper.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/CodeView/CVTypeDumper.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/TypeDatabase.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/CodeView/TypeDatabase.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/TypeSerializer.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/CodeView/TypeSerializer.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp stable/11/contrib/llvm/lib/DebugInfo/MSF/ - copied from r314564, head/contrib/llvm/lib/DebugInfo/MSF/ stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/GSI.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/PDB/Raw/GSI.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/GSI.h - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/PDB/Raw/GSI.h stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/GlobalsStream.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/PDB/Raw/GlobalsStream.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/TpiHashing.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/PDB/Raw/TpiHashing.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp - copied unchanged from r314564, head/contrib/llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp stable/11/contrib/llvm/lib/Demangle/ - copied from r314564, head/contrib/llvm/lib/Demangle/ stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp - copied unchanged from r314564, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.cpp - copied unchanged from r314564, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.cpp stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.h - copied unchanged from r314564, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.h stable/11/contrib/llvm/lib/LTO/Caching.cpp - copied unchanged from r314564, head/contrib/llvm/lib/LTO/Caching.cpp stable/11/contrib/llvm/lib/LTO/LTOBackend.cpp - copied unchanged from r314564, head/contrib/llvm/lib/LTO/LTOBackend.cpp stable/11/contrib/llvm/lib/Object/Decompressor.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Object/Decompressor.cpp stable/11/contrib/llvm/lib/Object/ModuleSymbolTable.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Object/ModuleSymbolTable.cpp stable/11/contrib/llvm/lib/Object/WasmObjectFile.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Object/WasmObjectFile.cpp stable/11/contrib/llvm/lib/ObjectYAML/DWARFYAML.cpp - copied unchanged from r314564, head/contrib/llvm/lib/ObjectYAML/DWARFYAML.cpp stable/11/contrib/llvm/lib/Support/Chrono.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Support/Chrono.cpp stable/11/contrib/llvm/lib/Support/ConvertUTF.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Support/ConvertUTF.cpp stable/11/contrib/llvm/lib/Support/FormatVariadic.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Support/FormatVariadic.cpp stable/11/contrib/llvm/lib/Support/GlobPattern.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Support/GlobPattern.cpp stable/11/contrib/llvm/lib/Support/NativeFormatting.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Support/NativeFormatting.cpp stable/11/contrib/llvm/lib/Support/TarWriter.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Support/TarWriter.cpp stable/11/contrib/llvm/lib/Support/TrigramIndex.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Support/TrigramIndex.cpp stable/11/contrib/llvm/lib/Support/xxhash.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Support/xxhash.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64GenRegisterBankInfo.def - copied unchanged from r314564, head/contrib/llvm/lib/Target/AArch64/AArch64GenRegisterBankInfo.def stable/11/contrib/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64InstructionSelector.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/AArch64/AArch64InstructionSelector.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64SchedFalkor.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AArch64/AArch64SchedFalkor.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64VectorByElementOpt.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AArch64/AArch64VectorByElementOpt.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUPTNote.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/AMDGPUPTNote.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/BUFInstructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/BUFInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/DSInstructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/DSInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/FLATInstructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/FLATInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.h stable/11/contrib/llvm/lib/Target/AMDGPU/MIMGInstructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/MIMGInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/SIInsertSkips.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/SIInsertSkips.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SMInstructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/SMInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/SOPInstructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/SOPInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/VOP1Instructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/VOP1Instructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/VOP2Instructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/VOP2Instructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/VOP3Instructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/VOP3Instructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/VOPCInstructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/VOPCInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/VOPInstructions.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AMDGPU/VOPInstructions.td stable/11/contrib/llvm/lib/Target/ARM/ARMBasicBlockInfo.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMBasicBlockInfo.h stable/11/contrib/llvm/lib/Target/ARM/ARMCallLowering.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMCallLowering.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMCallLowering.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMCallLowering.h stable/11/contrib/llvm/lib/Target/ARM/ARMComputeBlockSize.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMComputeBlockSize.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMInstructionSelector.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMInstructionSelector.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMInstructionSelector.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMInstructionSelector.h stable/11/contrib/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMLegalizerInfo.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMLegalizerInfo.h stable/11/contrib/llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMRegisterBankInfo.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMRegisterBankInfo.h stable/11/contrib/llvm/lib/Target/ARM/ARMScheduleR52.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/ARM/ARMScheduleR52.td stable/11/contrib/llvm/lib/Target/AVR/AVRAsmPrinter.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/AVRAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRDevices.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/AVRDevices.td stable/11/contrib/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRFrameLowering.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/AVRFrameLowering.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRISelLowering.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/AVRISelLowering.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRInstrumentFunctions.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/AVRInstrumentFunctions.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRMCInstLower.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/AVRMCInstLower.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRMCInstLower.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/AVRMCInstLower.h stable/11/contrib/llvm/lib/Target/AVR/AVRRelaxMemOperations.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/AVRRelaxMemOperations.cpp stable/11/contrib/llvm/lib/Target/AVR/AsmParser/ - copied from r314564, head/contrib/llvm/lib/Target/AVR/AsmParser/ stable/11/contrib/llvm/lib/Target/AVR/Disassembler/ - copied from r314564, head/contrib/llvm/lib/Target/AVR/Disassembler/ stable/11/contrib/llvm/lib/Target/AVR/InstPrinter/ - copied from r314564, head/contrib/llvm/lib/Target/AVR/InstPrinter/ stable/11/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp stable/11/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h stable/11/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp stable/11/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRFixupKinds.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRFixupKinds.h stable/11/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.h stable/11/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp stable/11/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h stable/11/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/AVR/README.md - copied unchanged from r314564, head/contrib/llvm/lib/Target/AVR/README.md stable/11/contrib/llvm/lib/Target/BPF/Disassembler/ - copied from r314564, head/contrib/llvm/lib/Target/BPF/Disassembler/ stable/11/contrib/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonHazardRecognizer.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/Hexagon/HexagonHazardRecognizer.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonHazardRecognizer.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/Hexagon/HexagonHazardRecognizer.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonPatterns.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/Hexagon/HexagonPatterns.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonVectorPrint.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/Hexagon/HexagonVectorPrint.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsScheduleGeneric.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/Mips/MipsScheduleGeneric.td stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp stable/11/contrib/llvm/lib/Target/PowerPC/P9InstrResources.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/PowerPC/P9InstrResources.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCScheduleP9.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/PowerPC/PPCScheduleP9.td stable/11/contrib/llvm/lib/Target/RISCV/ - copied from r314564, head/contrib/llvm/lib/Target/RISCV/ stable/11/contrib/llvm/lib/Target/SystemZ/SystemZExpandPseudo.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/SystemZ/SystemZExpandPseudo.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZFeatures.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/SystemZ/SystemZFeatures.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.h stable/11/contrib/llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZMachineScheduler.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/SystemZ/SystemZMachineScheduler.h stable/11/contrib/llvm/lib/Target/SystemZ/SystemZSchedule.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/SystemZ/SystemZSchedule.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ13.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ13.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ196.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ196.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td - copied unchanged from r314564, head/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h stable/11/contrib/llvm/lib/Target/X86/X86CallLowering.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/X86/X86CallLowering.cpp stable/11/contrib/llvm/lib/Target/X86/X86CallLowering.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/X86/X86CallLowering.h stable/11/contrib/llvm/lib/Target/X86/X86CallingConv.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/X86/X86CallingConv.cpp stable/11/contrib/llvm/lib/Target/X86/X86EvexToVex.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/X86/X86EvexToVex.cpp stable/11/contrib/llvm/lib/Target/X86/X86InstrFMA3Info.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/X86/X86InstrFMA3Info.cpp stable/11/contrib/llvm/lib/Target/X86/X86InstrFMA3Info.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/X86/X86InstrFMA3Info.h stable/11/contrib/llvm/lib/Target/X86/X86InstrTablesInfo.h - copied unchanged from r314564, head/contrib/llvm/lib/Target/X86/X86InstrTablesInfo.h stable/11/contrib/llvm/lib/Target/X86/X86InterleavedAccess.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Target/X86/X86InterleavedAccess.cpp stable/11/contrib/llvm/lib/Transforms/Coroutines/ - copied from r314564, head/contrib/llvm/lib/Transforms/Coroutines/ stable/11/contrib/llvm/lib/Transforms/IPO/AlwaysInliner.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/IPO/AlwaysInliner.cpp stable/11/contrib/llvm/lib/Transforms/IPO/GlobalSplit.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/IPO/GlobalSplit.cpp stable/11/contrib/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/IVUsersPrinter.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Scalar/IVUsersPrinter.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopPassManager.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Scalar/LoopPassManager.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopSink.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Scalar/LoopSink.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp stable/11/contrib/llvm/lib/Transforms/Utils/EscapeEnumerator.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Utils/EscapeEnumerator.cpp stable/11/contrib/llvm/lib/Transforms/Utils/FunctionComparator.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Utils/FunctionComparator.cpp stable/11/contrib/llvm/lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp stable/11/contrib/llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp stable/11/contrib/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp stable/11/contrib/llvm/lib/Transforms/Utils/NameAnonGlobals.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Utils/NameAnonGlobals.cpp stable/11/contrib/llvm/lib/Transforms/Utils/StripGCRelocates.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Utils/StripGCRelocates.cpp stable/11/contrib/llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp - copied unchanged from r314564, head/contrib/llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp stable/11/contrib/llvm/lib/XRay/ - copied from r314564, head/contrib/llvm/lib/XRay/ stable/11/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/OSLog.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/OSLog.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/CloneDetection.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/include/clang/Analysis/CloneDetection.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86_64.def - copied unchanged from r314564, head/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86_64.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDocs.td - copied unchanged from r314564, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDocs.td stable/11/contrib/llvm/tools/clang/include/clang/Driver/Distro.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/include/clang/Driver/Distro.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/MPIFunctionClassifier.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/MPIFunctionClassifier.h stable/11/contrib/llvm/tools/clang/include/clang/Tooling/Core/Diagnostic.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/include/clang/Tooling/Core/Diagnostic.h stable/11/contrib/llvm/tools/clang/include/clang/Tooling/DiagnosticsYaml.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/include/clang/Tooling/DiagnosticsYaml.h stable/11/contrib/llvm/tools/clang/lib/Analysis/CloneDetection.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/Analysis/CloneDetection.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/OSLog.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/Analysis/OSLog.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCoroutine.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/CodeGen/CGCoroutine.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/ConstantBuilder.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/CodeGen/ConstantBuilder.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/VarBypassDetector.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/CodeGen/VarBypassDetector.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/VarBypassDetector.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/CodeGen/VarBypassDetector.h stable/11/contrib/llvm/tools/clang/lib/Driver/Distro.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/Driver/Distro.cpp stable/11/contrib/llvm/tools/clang/lib/Format/Comments.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/Format/Comments.cpp stable/11/contrib/llvm/tools/clang/lib/Format/Comments.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/Format/Comments.h stable/11/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_builtin_vars.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_builtin_vars.h stable/11/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_complex_builtins.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_complex_builtins.h stable/11/contrib/llvm/tools/clang/lib/Headers/armintr.h - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/Headers/armintr.h stable/11/contrib/llvm/tools/clang/lib/Headers/cuda_wrappers/ - copied from r314564, head/contrib/llvm/tools/clang/lib/Headers/cuda_wrappers/ stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorPastEndChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorPastEndChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp stable/11/contrib/llvm/tools/clang/lib/Tooling/Core/Diagnostic.cpp - copied unchanged from r314564, head/contrib/llvm/tools/clang/lib/Tooling/Core/Diagnostic.cpp stable/11/contrib/llvm/tools/lld/COFF/Memory.h - copied unchanged from r314564, head/contrib/llvm/tools/lld/COFF/Memory.h stable/11/contrib/llvm/tools/lld/COFF/PDB.h - copied unchanged from r314564, head/contrib/llvm/tools/lld/COFF/PDB.h stable/11/contrib/llvm/tools/lld/COFF/Strings.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lld/COFF/Strings.cpp stable/11/contrib/llvm/tools/lld/COFF/Strings.h - copied unchanged from r314564, head/contrib/llvm/tools/lld/COFF/Strings.h stable/11/contrib/llvm/tools/lld/ELF/GdbIndex.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lld/ELF/GdbIndex.cpp stable/11/contrib/llvm/tools/lld/ELF/GdbIndex.h - copied unchanged from r314564, head/contrib/llvm/tools/lld/ELF/GdbIndex.h stable/11/contrib/llvm/tools/lld/ELF/Memory.h - copied unchanged from r314564, head/contrib/llvm/tools/lld/ELF/Memory.h stable/11/contrib/llvm/tools/lld/ELF/Mips.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lld/ELF/Mips.cpp stable/11/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp stable/11/contrib/llvm/tools/lld/ELF/SyntheticSections.h - copied unchanged from r314564, head/contrib/llvm/tools/lld/ELF/SyntheticSections.h stable/11/contrib/llvm/tools/lld/ELF/Threads.h - copied unchanged from r314564, head/contrib/llvm/tools/lld/ELF/Threads.h stable/11/contrib/llvm/tools/lld/include/lld/Core/Reproduce.h - copied unchanged from r314564, head/contrib/llvm/tools/lld/include/lld/Core/Reproduce.h stable/11/contrib/llvm/tools/lld/include/lld/Support/ - copied from r314564, head/contrib/llvm/tools/lld/include/lld/Support/ stable/11/contrib/llvm/tools/lld/lib/Core/Reproduce.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lld/lib/Core/Reproduce.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/DebugInfo.h - copied unchanged from r314564, head/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/DebugInfo.h stable/11/contrib/llvm/tools/lld/lib/Support/ - copied from r314564, head/contrib/llvm/tools/lld/lib/Support/ stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBStructuredData.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/include/lldb/API/SBStructuredData.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/PosixApi.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/include/lldb/Host/PosixApi.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/OCamlASTContext.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/include/lldb/Symbol/OCamlASTContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/StructuredDataPlugin.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/include/lldb/Target/StructuredDataPlugin.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallOnFunctionExit.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallOnFunctionExit.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/SelectHelper.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/include/lldb/Utility/SelectHelper.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/Timeout.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/include/lldb/Utility/Timeout.h stable/11/contrib/llvm/tools/lldb/source/API/SBStructuredData.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/API/SBStructuredData.cpp stable/11/contrib/llvm/tools/lldb/source/API/liblldb-private.exports - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/API/liblldb-private.exports stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/OCaml/ - copied from r314564, head/contrib/llvm/tools/lldb/source/Plugins/Language/OCaml/ stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptScriptGroup.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptScriptGroup.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptScriptGroup.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptScriptGroup.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/ - copied from r314564, head/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/ stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/ - copied from r314564, head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/ stable/11/contrib/llvm/tools/lldb/source/Plugins/StructuredData/ - copied from r314564, head/contrib/llvm/tools/lldb/source/Plugins/StructuredData/ stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserOCaml.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserOCaml.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserOCaml.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserOCaml.h stable/11/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.h - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.h stable/11/contrib/llvm/tools/lldb/source/Symbol/OCamlASTContext.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Symbol/OCamlASTContext.cpp stable/11/contrib/llvm/tools/lldb/source/Target/StructuredDataPlugin.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Target/StructuredDataPlugin.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/SelectHelper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/lldb/source/Utility/SelectHelper.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-server/Darwin/ - copied from r314564, head/contrib/llvm/tools/lldb/tools/lldb-server/Darwin/ stable/11/contrib/llvm/tools/llvm-cov/CoverageExporterJson.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-cov/CoverageExporterJson.cpp stable/11/contrib/llvm/tools/llvm-cxxfilt/ - copied from r314564, head/contrib/llvm/tools/llvm-cxxfilt/ stable/11/contrib/llvm/tools/llvm-lto2/ - copied from r314564, head/contrib/llvm/tools/llvm-lto2/ stable/11/contrib/llvm/tools/llvm-modextract/ - copied from r314564, head/contrib/llvm/tools/llvm-modextract/ stable/11/contrib/llvm/tools/llvm-objdump/WasmDump.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-objdump/WasmDump.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyBuiltinDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyBuiltinDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyBuiltinDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyBuiltinDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyClassDefinitionDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyClassDefinitionDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyClassDefinitionDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyClassDefinitionDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyCompilandDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyCompilandDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyCompilandDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyCompilandDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyEnumDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyEnumDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyEnumDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyEnumDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyExternalSymbolDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyExternalSymbolDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyExternalSymbolDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyExternalSymbolDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyFunctionDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyFunctionDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyFunctionDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyFunctionDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyTypeDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyTypeDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyTypeDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyTypeDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyTypedefDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyTypedefDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyTypedefDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyTypedefDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyVariableDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyVariableDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PrettyVariableDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/PrettyVariableDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/YamlSerializationContext.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/YamlSerializationContext.h stable/11/contrib/llvm/tools/llvm-pdbdump/YamlSymbolDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/YamlSymbolDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/YamlSymbolDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/YamlSymbolDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/YamlTypeDumper.cpp - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/YamlTypeDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/YamlTypeDumper.h - copied unchanged from r314564, head/contrib/llvm/tools/llvm-pdbdump/YamlTypeDumper.h stable/11/contrib/llvm/tools/llvm-xray/ - copied from r314564, head/contrib/llvm/tools/llvm-xray/ stable/11/contrib/llvm/utils/TableGen/GlobalISelEmitter.cpp - copied unchanged from r314564, head/contrib/llvm/utils/TableGen/GlobalISelEmitter.cpp stable/11/contrib/llvm/utils/TableGen/SubtargetFeatureInfo.cpp - copied unchanged from r314564, head/contrib/llvm/utils/TableGen/SubtargetFeatureInfo.cpp stable/11/contrib/llvm/utils/TableGen/SubtargetFeatureInfo.h - copied unchanged from r314564, head/contrib/llvm/utils/TableGen/SubtargetFeatureInfo.h stable/11/contrib/llvm/utils/TableGen/Types.cpp - copied unchanged from r314564, head/contrib/llvm/utils/TableGen/Types.cpp stable/11/contrib/llvm/utils/TableGen/Types.h - copied unchanged from r314564, head/contrib/llvm/utils/TableGen/Types.h stable/11/lib/clang/include/llvm/Config/abi-breaking.h - copied unchanged from r314564, head/lib/clang/include/llvm/Config/abi-breaking.h stable/11/tools/build/options/WITHOUT_LLD_IS_LD - copied unchanged from r312855, head/tools/build/options/WITHOUT_LLD_IS_LD stable/11/tools/build/options/WITH_LLD_IS_LD - copied unchanged from r312855, head/tools/build/options/WITH_LLD_IS_LD stable/11/usr.bin/clang/llvm-cxxfilt/ - copied from r314564, head/usr.bin/clang/llvm-cxxfilt/ stable/11/usr.bin/clang/llvm-lto2/ - copied from r314564, head/usr.bin/clang/llvm-lto2/ stable/11/usr.bin/clang/llvm-modextract/ - copied from r314564, head/usr.bin/clang/llvm-modextract/ stable/11/usr.bin/clang/llvm-xray/ - copied from r314564, head/usr.bin/clang/llvm-xray/ Deleted: stable/11/contrib/libc++/include/__undef___deallocate stable/11/contrib/llvm/include/llvm/Analysis/LoopPassManager.h stable/11/contrib/llvm/include/llvm/Bitcode/ReaderWriter.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/ByteStream.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewOStream.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/FieldListRecordBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/ListRecordBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/MemoryTypeTableBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/MethodListRecordBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/StreamArray.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/StreamInterface.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/StreamReader.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/StreamRef.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/StreamWriter.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDumper.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/DirectoryStreamData.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/IPDBFile.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/IPDBStreamData.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/IndexedStreamData.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/MappedBlockStream.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/MsfBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/MsfCommon.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/JITSymbolFlags.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/JITSymbol.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/LogicalDylib.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/RPCChannel.h stable/11/contrib/llvm/include/llvm/Support/DataStream.h stable/11/contrib/llvm/include/llvm/Support/MemoryObject.h stable/11/contrib/llvm/include/llvm/Support/StreamingMemoryObject.h stable/11/contrib/llvm/include/llvm/Support/TimeValue.h stable/11/contrib/llvm/include/llvm/Target/TargetRecip.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/InlinerPass.h stable/11/contrib/llvm/lib/Analysis/LoopPassManager.cpp stable/11/contrib/llvm/lib/CodeGen/MachineFunctionAnalysis.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/ByteStream.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/FieldListRecordBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/ListRecordBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/MemoryTypeTableBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/MethodListRecordBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/StreamReader.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/StreamWriter.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/TypeDumper.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/TypeRecordBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/TypeTableBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/IndexedStreamData.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/MappedBlockStream.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/MsfBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/MsfCommon.cpp stable/11/contrib/llvm/lib/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.cpp stable/11/contrib/llvm/lib/Support/ConvertUTF.c stable/11/contrib/llvm/lib/Support/DataStream.cpp stable/11/contrib/llvm/lib/Support/IntrusiveRefCntPtr.cpp stable/11/contrib/llvm/lib/Support/MemoryObject.cpp stable/11/contrib/llvm/lib/Support/StreamingMemoryObject.cpp stable/11/contrib/llvm/lib/Support/TimeValue.cpp stable/11/contrib/llvm/lib/Support/Unix/TimeValue.inc stable/11/contrib/llvm/lib/Support/Windows/TimeValue.inc stable/11/contrib/llvm/lib/Target/AArch64/AArch64BranchRelaxation.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonRDF.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonRDF.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonSelectCCInfo.td stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXLowerKernelArgs.cpp stable/11/contrib/llvm/lib/Target/TargetRecip.cpp stable/11/contrib/llvm/lib/Target/TargetSubtargetInfo.cpp stable/11/contrib/llvm/lib/Transforms/IPO/InlineAlways.cpp stable/11/contrib/llvm/lib/Transforms/Utils/NameAnonFunctions.cpp stable/11/contrib/llvm/tools/clang/lib/Headers/cuda_builtin_vars.h stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIFunctionClassifier.h stable/11/contrib/llvm/tools/lld/ELF/SymbolListFile.cpp stable/11/contrib/llvm/tools/lld/ELF/SymbolListFile.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionMachPort.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ConnectionSharedMemory.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/CxaDemangle.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Condition.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Mutex.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/TimeValue.h stable/11/contrib/llvm/tools/lldb/source/Core/ConnectionMachPort.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ConnectionSharedMemory.cpp stable/11/contrib/llvm/tools/lldb/source/Core/CxaDemangle.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/Condition.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/Mutex.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/TimeValue.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_arm64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_arm64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_arm64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_arm64.h stable/11/contrib/llvm/tools/lldb/source/Utility/KQueue.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/KQueue.h stable/11/contrib/llvm/tools/lldb/source/Utility/TimeSpecTimeout.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/TimeSpecTimeout.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilParse.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilParse.h stable/11/contrib/llvm/tools/llvm-pdbdump/BuiltinDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/BuiltinDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/ClassDefinitionDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/ClassDefinitionDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/CompilandDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/CompilandDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/EnumDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/EnumDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/ExternalSymbolDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/ExternalSymbolDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/FunctionDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/FunctionDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/TypeDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/TypeDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/TypedefDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/TypedefDumper.h stable/11/contrib/llvm/tools/llvm-pdbdump/VariableDumper.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/VariableDumper.h Modified: stable/11/Makefile.inc1 stable/11/ObsoleteFiles.inc stable/11/UPDATING stable/11/contrib/compiler-rt/include/sanitizer/common_interface_defs.h stable/11/contrib/compiler-rt/include/sanitizer/coverage_interface.h stable/11/contrib/compiler-rt/lib/asan/asan_activation.cc stable/11/contrib/compiler-rt/lib/asan/asan_activation_flags.inc stable/11/contrib/compiler-rt/lib/asan/asan_allocator.cc stable/11/contrib/compiler-rt/lib/asan/asan_allocator.h stable/11/contrib/compiler-rt/lib/asan/asan_debugging.cc stable/11/contrib/compiler-rt/lib/asan/asan_fake_stack.cc stable/11/contrib/compiler-rt/lib/asan/asan_fake_stack.h stable/11/contrib/compiler-rt/lib/asan/asan_flags.cc stable/11/contrib/compiler-rt/lib/asan/asan_flags.inc stable/11/contrib/compiler-rt/lib/asan/asan_globals.cc stable/11/contrib/compiler-rt/lib/asan/asan_interceptors.cc stable/11/contrib/compiler-rt/lib/asan/asan_interface_internal.h stable/11/contrib/compiler-rt/lib/asan/asan_internal.h stable/11/contrib/compiler-rt/lib/asan/asan_mac.cc stable/11/contrib/compiler-rt/lib/asan/asan_malloc_linux.cc stable/11/contrib/compiler-rt/lib/asan/asan_malloc_win.cc stable/11/contrib/compiler-rt/lib/asan/asan_mapping.h stable/11/contrib/compiler-rt/lib/asan/asan_memory_profile.cc stable/11/contrib/compiler-rt/lib/asan/asan_new_delete.cc stable/11/contrib/compiler-rt/lib/asan/asan_poisoning.cc stable/11/contrib/compiler-rt/lib/asan/asan_poisoning.h stable/11/contrib/compiler-rt/lib/asan/asan_posix.cc stable/11/contrib/compiler-rt/lib/asan/asan_report.cc stable/11/contrib/compiler-rt/lib/asan/asan_report.h stable/11/contrib/compiler-rt/lib/asan/asan_rtl.cc stable/11/contrib/compiler-rt/lib/asan/asan_scariness_score.h stable/11/contrib/compiler-rt/lib/asan/asan_thread.cc stable/11/contrib/compiler-rt/lib/asan/asan_thread.h stable/11/contrib/compiler-rt/lib/asan/asan_win.cc stable/11/contrib/compiler-rt/lib/asan/asan_win_dll_thunk.cc stable/11/contrib/compiler-rt/lib/asan/asan_win_dynamic_runtime_thunk.cc stable/11/contrib/compiler-rt/lib/builtins/arm/adddf3vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/addsf3vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/aeabi_fcmp.S stable/11/contrib/compiler-rt/lib/builtins/arm/aeabi_idivmod.S stable/11/contrib/compiler-rt/lib/builtins/arm/aeabi_ldivmod.S stable/11/contrib/compiler-rt/lib/builtins/arm/aeabi_uidivmod.S stable/11/contrib/compiler-rt/lib/builtins/arm/aeabi_uldivmod.S stable/11/contrib/compiler-rt/lib/builtins/arm/bswapdi2.S stable/11/contrib/compiler-rt/lib/builtins/arm/bswapsi2.S stable/11/contrib/compiler-rt/lib/builtins/arm/clzdi2.S stable/11/contrib/compiler-rt/lib/builtins/arm/clzsi2.S stable/11/contrib/compiler-rt/lib/builtins/arm/comparesf2.S stable/11/contrib/compiler-rt/lib/builtins/arm/divdf3vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/divmodsi4.S stable/11/contrib/compiler-rt/lib/builtins/arm/divsf3vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/divsi3.S stable/11/contrib/compiler-rt/lib/builtins/arm/eqdf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/eqsf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/extendsfdf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/fixdfsivfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/fixsfsivfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/fixunsdfsivfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/fixunssfsivfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/floatsidfvfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/floatsisfvfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/floatunssidfvfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/floatunssisfvfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/gedf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/gesf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/gtdf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/gtsf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/ledf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/lesf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/ltdf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/ltsf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/modsi3.S stable/11/contrib/compiler-rt/lib/builtins/arm/muldf3vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/mulsf3vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/nedf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/negdf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/negsf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/nesf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/subdf3vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/subsf3vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/truncdfsf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/udivmodsi4.S stable/11/contrib/compiler-rt/lib/builtins/arm/udivsi3.S stable/11/contrib/compiler-rt/lib/builtins/arm/umodsi3.S stable/11/contrib/compiler-rt/lib/builtins/arm/unorddf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/arm/unordsf2vfp.S stable/11/contrib/compiler-rt/lib/builtins/assembly.h stable/11/contrib/compiler-rt/lib/builtins/atomic.c stable/11/contrib/compiler-rt/lib/builtins/clear_cache.c stable/11/contrib/compiler-rt/lib/builtins/int_lib.h stable/11/contrib/compiler-rt/lib/cfi/cfi.cc stable/11/contrib/compiler-rt/lib/dfsan/dfsan.cc stable/11/contrib/compiler-rt/lib/dfsan/dfsan.h stable/11/contrib/compiler-rt/lib/dfsan/dfsan_interceptors.cc stable/11/contrib/compiler-rt/lib/dfsan/dfsan_platform.h stable/11/contrib/compiler-rt/lib/dfsan/done_abilist.txt stable/11/contrib/compiler-rt/lib/esan/cache_frag.cpp stable/11/contrib/compiler-rt/lib/esan/esan.cpp stable/11/contrib/compiler-rt/lib/esan/esan.h stable/11/contrib/compiler-rt/lib/esan/esan_flags.cpp stable/11/contrib/compiler-rt/lib/esan/esan_interceptors.cpp stable/11/contrib/compiler-rt/lib/esan/esan_interface_internal.h stable/11/contrib/compiler-rt/lib/esan/esan_linux.cpp stable/11/contrib/compiler-rt/lib/esan/esan_shadow.h stable/11/contrib/compiler-rt/lib/interception/interception.h stable/11/contrib/compiler-rt/lib/interception/interception_win.cc stable/11/contrib/compiler-rt/lib/lsan/lsan_allocator.cc stable/11/contrib/compiler-rt/lib/lsan/lsan_common.cc stable/11/contrib/compiler-rt/lib/lsan/lsan_common_linux.cc stable/11/contrib/compiler-rt/lib/lsan/lsan_thread.cc stable/11/contrib/compiler-rt/lib/msan/msan.h stable/11/contrib/compiler-rt/lib/msan/msan_allocator.cc stable/11/contrib/compiler-rt/lib/msan/msan_interceptors.cc stable/11/contrib/compiler-rt/lib/msan/msan_interface_internal.h stable/11/contrib/compiler-rt/lib/msan/msan_linux.cc stable/11/contrib/compiler-rt/lib/profile/GCDAProfiling.c stable/11/contrib/compiler-rt/lib/profile/InstrProfData.inc stable/11/contrib/compiler-rt/lib/profile/InstrProfiling.c stable/11/contrib/compiler-rt/lib/profile/InstrProfiling.h stable/11/contrib/compiler-rt/lib/profile/InstrProfilingFile.c stable/11/contrib/compiler-rt/lib/profile/InstrProfilingInternal.h stable/11/contrib/compiler-rt/lib/profile/InstrProfilingPort.h stable/11/contrib/compiler-rt/lib/profile/InstrProfilingRuntime.cc stable/11/contrib/compiler-rt/lib/profile/InstrProfilingUtil.c stable/11/contrib/compiler-rt/lib/profile/InstrProfilingUtil.h stable/11/contrib/compiler-rt/lib/profile/InstrProfilingValue.c stable/11/contrib/compiler-rt/lib/profile/WindowsMMap.c stable/11/contrib/compiler-rt/lib/safestack/safestack.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_addrhashmap.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_interface.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_internal.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_atomic.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_format.inc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_nolibc.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_libc.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_libignore.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_libignore.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_printf.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_freebsd.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_quarantine.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cc stable/11/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc stable/11/contrib/compiler-rt/lib/scudo/scudo_allocator.cpp stable/11/contrib/compiler-rt/lib/scudo/scudo_allocator.h stable/11/contrib/compiler-rt/lib/scudo/scudo_flags.cpp stable/11/contrib/compiler-rt/lib/scudo/scudo_flags.h stable/11/contrib/compiler-rt/lib/scudo/scudo_interceptors.cpp stable/11/contrib/compiler-rt/lib/scudo/scudo_new_delete.cpp stable/11/contrib/compiler-rt/lib/scudo/scudo_termination.cpp stable/11/contrib/compiler-rt/lib/scudo/scudo_utils.cpp stable/11/contrib/compiler-rt/lib/scudo/scudo_utils.h stable/11/contrib/compiler-rt/lib/stats/stats_client.cc stable/11/contrib/compiler-rt/lib/tsan/go/tsan_go.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan.syms.extra stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_clock.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_debugging.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_defs.h stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_flags.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_flags.inc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_interceptors.h stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_interface.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_interface.h stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_interface_inl.h stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_interface_java.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_interface_java.h stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_libdispatch_mac.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_mman.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_mutexset.h stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_platform.h stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_posix.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_windows.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_report.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl.h stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_proc.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_sync.cc stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_sync.h stable/11/contrib/compiler-rt/lib/tsan/rtl/tsan_trace.h stable/11/contrib/compiler-rt/lib/ubsan/ubsan_diag.cc stable/11/contrib/compiler-rt/lib/ubsan/ubsan_handlers.cc stable/11/contrib/compiler-rt/lib/ubsan/ubsan_handlers.h stable/11/contrib/compiler-rt/lib/ubsan/ubsan_init.cc stable/11/contrib/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc stable/11/contrib/libc++/CREDITS.TXT stable/11/contrib/libc++/LICENSE.TXT stable/11/contrib/libc++/include/__bit_reference stable/11/contrib/libc++/include/__config stable/11/contrib/libc++/include/__debug stable/11/contrib/libc++/include/__functional_03 stable/11/contrib/libc++/include/__functional_base stable/11/contrib/libc++/include/__hash_table stable/11/contrib/libc++/include/__locale stable/11/contrib/libc++/include/__mutex_base stable/11/contrib/libc++/include/__nullptr stable/11/contrib/libc++/include/__refstring stable/11/contrib/libc++/include/__sso_allocator stable/11/contrib/libc++/include/__std_stream stable/11/contrib/libc++/include/__threading_support stable/11/contrib/libc++/include/__tree stable/11/contrib/libc++/include/__tuple stable/11/contrib/libc++/include/algorithm stable/11/contrib/libc++/include/array stable/11/contrib/libc++/include/atomic stable/11/contrib/libc++/include/bitset stable/11/contrib/libc++/include/chrono stable/11/contrib/libc++/include/cmath stable/11/contrib/libc++/include/codecvt stable/11/contrib/libc++/include/complex stable/11/contrib/libc++/include/cstdio stable/11/contrib/libc++/include/cstdlib stable/11/contrib/libc++/include/cwchar stable/11/contrib/libc++/include/deque stable/11/contrib/libc++/include/exception stable/11/contrib/libc++/include/experimental/algorithm stable/11/contrib/libc++/include/experimental/any stable/11/contrib/libc++/include/experimental/dynarray stable/11/contrib/libc++/include/experimental/filesystem stable/11/contrib/libc++/include/experimental/iterator stable/11/contrib/libc++/include/experimental/memory_resource stable/11/contrib/libc++/include/experimental/optional stable/11/contrib/libc++/include/experimental/propagate_const stable/11/contrib/libc++/include/experimental/string_view stable/11/contrib/libc++/include/experimental/type_traits stable/11/contrib/libc++/include/experimental/utility stable/11/contrib/libc++/include/ext/__hash stable/11/contrib/libc++/include/ext/hash_map stable/11/contrib/libc++/include/ext/hash_set stable/11/contrib/libc++/include/forward_list stable/11/contrib/libc++/include/fstream stable/11/contrib/libc++/include/functional stable/11/contrib/libc++/include/future stable/11/contrib/libc++/include/initializer_list stable/11/contrib/libc++/include/inttypes.h stable/11/contrib/libc++/include/iomanip stable/11/contrib/libc++/include/ios stable/11/contrib/libc++/include/iosfwd stable/11/contrib/libc++/include/istream stable/11/contrib/libc++/include/iterator stable/11/contrib/libc++/include/limits stable/11/contrib/libc++/include/list stable/11/contrib/libc++/include/locale stable/11/contrib/libc++/include/map stable/11/contrib/libc++/include/math.h stable/11/contrib/libc++/include/memory stable/11/contrib/libc++/include/module.modulemap stable/11/contrib/libc++/include/mutex stable/11/contrib/libc++/include/new stable/11/contrib/libc++/include/numeric stable/11/contrib/libc++/include/ostream stable/11/contrib/libc++/include/queue stable/11/contrib/libc++/include/random stable/11/contrib/libc++/include/ratio stable/11/contrib/libc++/include/regex stable/11/contrib/libc++/include/scoped_allocator stable/11/contrib/libc++/include/set stable/11/contrib/libc++/include/sstream stable/11/contrib/libc++/include/stack stable/11/contrib/libc++/include/stdexcept stable/11/contrib/libc++/include/streambuf stable/11/contrib/libc++/include/string stable/11/contrib/libc++/include/system_error stable/11/contrib/libc++/include/thread stable/11/contrib/libc++/include/tuple stable/11/contrib/libc++/include/type_traits stable/11/contrib/libc++/include/typeindex stable/11/contrib/libc++/include/typeinfo stable/11/contrib/libc++/include/unordered_map stable/11/contrib/libc++/include/unordered_set stable/11/contrib/libc++/include/utility stable/11/contrib/libc++/include/valarray stable/11/contrib/libc++/include/vector stable/11/contrib/libc++/src/algorithm.cpp stable/11/contrib/libc++/src/any.cpp stable/11/contrib/libc++/src/chrono.cpp stable/11/contrib/libc++/src/condition_variable.cpp stable/11/contrib/libc++/src/debug.cpp stable/11/contrib/libc++/src/exception.cpp stable/11/contrib/libc++/src/experimental/filesystem/directory_iterator.cpp stable/11/contrib/libc++/src/experimental/filesystem/operations.cpp stable/11/contrib/libc++/src/experimental/filesystem/path.cpp stable/11/contrib/libc++/src/experimental/memory_resource.cpp stable/11/contrib/libc++/src/include/atomic_support.h stable/11/contrib/libc++/src/include/config_elast.h stable/11/contrib/libc++/src/ios.cpp stable/11/contrib/libc++/src/iostream.cpp stable/11/contrib/libc++/src/locale.cpp stable/11/contrib/libc++/src/memory.cpp stable/11/contrib/libc++/src/mutex.cpp stable/11/contrib/libc++/src/new.cpp stable/11/contrib/libc++/src/optional.cpp stable/11/contrib/libc++/src/random.cpp stable/11/contrib/libc++/src/stdexcept.cpp stable/11/contrib/libc++/src/string.cpp stable/11/contrib/libc++/src/strstream.cpp stable/11/contrib/libc++/src/system_error.cpp stable/11/contrib/libc++/src/thread.cpp stable/11/contrib/libc++/src/typeinfo.cpp stable/11/contrib/llvm/LICENSE.TXT stable/11/contrib/llvm/include/llvm-c/Core.h stable/11/contrib/llvm/include/llvm-c/Transforms/Scalar.h stable/11/contrib/llvm/include/llvm-c/lto.h stable/11/contrib/llvm/include/llvm/ADT/APFloat.h stable/11/contrib/llvm/include/llvm/ADT/APInt.h stable/11/contrib/llvm/include/llvm/ADT/APSInt.h stable/11/contrib/llvm/include/llvm/ADT/ArrayRef.h stable/11/contrib/llvm/include/llvm/ADT/BitVector.h stable/11/contrib/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h stable/11/contrib/llvm/include/llvm/ADT/DenseMap.h stable/11/contrib/llvm/include/llvm/ADT/DenseMapInfo.h stable/11/contrib/llvm/include/llvm/ADT/DenseSet.h stable/11/contrib/llvm/include/llvm/ADT/DepthFirstIterator.h stable/11/contrib/llvm/include/llvm/ADT/EpochTracker.h stable/11/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h stable/11/contrib/llvm/include/llvm/ADT/FoldingSet.h stable/11/contrib/llvm/include/llvm/ADT/GraphTraits.h stable/11/contrib/llvm/include/llvm/ADT/ImmutableList.h stable/11/contrib/llvm/include/llvm/ADT/ImmutableMap.h stable/11/contrib/llvm/include/llvm/ADT/ImmutableSet.h stable/11/contrib/llvm/include/llvm/ADT/IntervalMap.h stable/11/contrib/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h stable/11/contrib/llvm/include/llvm/ADT/MapVector.h stable/11/contrib/llvm/include/llvm/ADT/Optional.h stable/11/contrib/llvm/include/llvm/ADT/PackedVector.h stable/11/contrib/llvm/include/llvm/ADT/PointerSumType.h stable/11/contrib/llvm/include/llvm/ADT/PointerUnion.h stable/11/contrib/llvm/include/llvm/ADT/PostOrderIterator.h stable/11/contrib/llvm/include/llvm/ADT/PriorityQueue.h stable/11/contrib/llvm/include/llvm/ADT/PriorityWorklist.h stable/11/contrib/llvm/include/llvm/ADT/SCCIterator.h stable/11/contrib/llvm/include/llvm/ADT/STLExtras.h stable/11/contrib/llvm/include/llvm/ADT/ScopedHashTable.h stable/11/contrib/llvm/include/llvm/ADT/SetVector.h stable/11/contrib/llvm/include/llvm/ADT/SmallPtrSet.h stable/11/contrib/llvm/include/llvm/ADT/SmallSet.h stable/11/contrib/llvm/include/llvm/ADT/SmallString.h stable/11/contrib/llvm/include/llvm/ADT/SmallVector.h stable/11/contrib/llvm/include/llvm/ADT/SparseBitVector.h stable/11/contrib/llvm/include/llvm/ADT/SparseMultiSet.h stable/11/contrib/llvm/include/llvm/ADT/SparseSet.h stable/11/contrib/llvm/include/llvm/ADT/Statistic.h stable/11/contrib/llvm/include/llvm/ADT/StringExtras.h stable/11/contrib/llvm/include/llvm/ADT/StringMap.h stable/11/contrib/llvm/include/llvm/ADT/StringRef.h stable/11/contrib/llvm/include/llvm/ADT/StringSwitch.h stable/11/contrib/llvm/include/llvm/ADT/TinyPtrVector.h stable/11/contrib/llvm/include/llvm/ADT/Triple.h stable/11/contrib/llvm/include/llvm/ADT/Twine.h stable/11/contrib/llvm/include/llvm/ADT/ilist.h stable/11/contrib/llvm/include/llvm/ADT/ilist_node.h stable/11/contrib/llvm/include/llvm/ADT/iterator.h stable/11/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/AliasAnalysisEvaluator.h stable/11/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h stable/11/contrib/llvm/include/llvm/Analysis/AssumptionCache.h stable/11/contrib/llvm/include/llvm/Analysis/BasicAliasAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfo.h stable/11/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h stable/11/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h stable/11/contrib/llvm/include/llvm/Analysis/CFGPrinter.h stable/11/contrib/llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/CGSCCPassManager.h stable/11/contrib/llvm/include/llvm/Analysis/CallGraph.h stable/11/contrib/llvm/include/llvm/Analysis/CallGraphSCCPass.h stable/11/contrib/llvm/include/llvm/Analysis/CodeMetrics.h stable/11/contrib/llvm/include/llvm/Analysis/ConstantFolding.h stable/11/contrib/llvm/include/llvm/Analysis/DemandedBits.h stable/11/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/DominanceFrontier.h stable/11/contrib/llvm/include/llvm/Analysis/EHPersonalities.h stable/11/contrib/llvm/include/llvm/Analysis/GlobalsModRef.h stable/11/contrib/llvm/include/llvm/Analysis/IVUsers.h stable/11/contrib/llvm/include/llvm/Analysis/InlineCost.h stable/11/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h stable/11/contrib/llvm/include/llvm/Analysis/Interval.h stable/11/contrib/llvm/include/llvm/Analysis/IteratedDominanceFrontier.h stable/11/contrib/llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h stable/11/contrib/llvm/include/llvm/Analysis/LazyCallGraph.h stable/11/contrib/llvm/include/llvm/Analysis/LazyValueInfo.h stable/11/contrib/llvm/include/llvm/Analysis/Loads.h stable/11/contrib/llvm/include/llvm/Analysis/LoopAccessAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/LoopInfo.h stable/11/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h stable/11/contrib/llvm/include/llvm/Analysis/LoopIterator.h stable/11/contrib/llvm/include/llvm/Analysis/LoopPass.h stable/11/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h stable/11/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/ModuleSummaryAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/ObjCARCAliasAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/OptimizationDiagnosticInfo.h stable/11/contrib/llvm/include/llvm/Analysis/PostDominators.h stable/11/contrib/llvm/include/llvm/Analysis/ProfileSummaryInfo.h stable/11/contrib/llvm/include/llvm/Analysis/RegionInfo.h stable/11/contrib/llvm/include/llvm/Analysis/RegionInfoImpl.h stable/11/contrib/llvm/include/llvm/Analysis/RegionIterator.h stable/11/contrib/llvm/include/llvm/Analysis/RegionPass.h stable/11/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h stable/11/contrib/llvm/include/llvm/Analysis/ScalarEvolutionAliasAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h stable/11/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h stable/11/contrib/llvm/include/llvm/Analysis/ScopedNoAliasAA.h stable/11/contrib/llvm/include/llvm/Analysis/TargetFolder.h stable/11/contrib/llvm/include/llvm/Analysis/TargetLibraryInfo.def stable/11/contrib/llvm/include/llvm/Analysis/TargetLibraryInfo.h stable/11/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h stable/11/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h stable/11/contrib/llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h stable/11/contrib/llvm/include/llvm/Analysis/ValueTracking.h stable/11/contrib/llvm/include/llvm/Bitcode/BitCodes.h stable/11/contrib/llvm/include/llvm/Bitcode/BitcodeWriterPass.h stable/11/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h stable/11/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h stable/11/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h stable/11/contrib/llvm/include/llvm/CodeGen/Analysis.h stable/11/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h stable/11/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h stable/11/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h stable/11/contrib/llvm/include/llvm/CodeGen/CommandFlags.h stable/11/contrib/llvm/include/llvm/CodeGen/DIE.h stable/11/contrib/llvm/include/llvm/CodeGen/DIEValue.def stable/11/contrib/llvm/include/llvm/CodeGen/FastISel.h stable/11/contrib/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/GISelAccessor.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/RegisterBank.h stable/11/contrib/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h stable/11/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h stable/11/contrib/llvm/include/llvm/CodeGen/LiveInterval.h stable/11/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h stable/11/contrib/llvm/include/llvm/CodeGen/LivePhysRegs.h stable/11/contrib/llvm/include/llvm/CodeGen/LiveVariables.h stable/11/contrib/llvm/include/llvm/CodeGen/MIRYamlMapping.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineDominators.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineFunction.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineInstr.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineInstrBundle.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineMemOperand.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineOperand.h stable/11/contrib/llvm/include/llvm/CodeGen/MachinePassRegistry.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineRegionInfo.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h stable/11/contrib/llvm/include/llvm/CodeGen/MachineValueType.h stable/11/contrib/llvm/include/llvm/CodeGen/PBQP/Graph.h stable/11/contrib/llvm/include/llvm/CodeGen/PBQP/Math.h stable/11/contrib/llvm/include/llvm/CodeGen/PBQP/Solution.h stable/11/contrib/llvm/include/llvm/CodeGen/Passes.h stable/11/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h stable/11/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h stable/11/contrib/llvm/include/llvm/CodeGen/RegisterPressure.h stable/11/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h stable/11/contrib/llvm/include/llvm/CodeGen/RuntimeLibcalls.h stable/11/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h stable/11/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h stable/11/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h stable/11/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h stable/11/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h stable/11/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h stable/11/contrib/llvm/include/llvm/CodeGen/StackMaps.h stable/11/contrib/llvm/include/llvm/CodeGen/TailDuplicator.h stable/11/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h stable/11/contrib/llvm/include/llvm/CodeGen/TargetPassConfig.h stable/11/contrib/llvm/include/llvm/CodeGen/ValueTypes.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/CVRecord.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeView.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewError.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/EnumTables.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleSubstream.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/RecordSerialization.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDumpDelegate.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDumper.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorDelegate.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecordBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecords.def stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h stable/11/contrib/llvm/include/llvm/DebugInfo/DIContext.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h stable/11/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/ConcreteSymbolEnumerator.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAError.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/GenericError.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBSession.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/PDBContext.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/DbiStream.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/DbiStreamBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/ISectionContribVisitor.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/InfoStream.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/ModInfo.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/ModStream.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/NameHashTable.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/NameMap.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/NameMapBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/PDBFile.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/PDBFileBuilder.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/PublicsStream.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/RawConstants.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/RawError.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/RawSession.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/RawTypes.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/SymbolStream.h stable/11/contrib/llvm/include/llvm/DebugInfo/PDB/Raw/TpiStream.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/ObjectCache.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/ObjectMemoryBuffer.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/LambdaResolver.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/NullResolver.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcError.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/RTDyldMemoryManager.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h stable/11/contrib/llvm/include/llvm/ExecutionEngine/SectionMemoryManager.h stable/11/contrib/llvm/include/llvm/IR/Attributes.h stable/11/contrib/llvm/include/llvm/IR/AutoUpgrade.h stable/11/contrib/llvm/include/llvm/IR/BasicBlock.h stable/11/contrib/llvm/include/llvm/IR/CFG.h stable/11/contrib/llvm/include/llvm/IR/CallSite.h stable/11/contrib/llvm/include/llvm/IR/CallingConv.h stable/11/contrib/llvm/include/llvm/IR/Comdat.h stable/11/contrib/llvm/include/llvm/IR/Constant.h stable/11/contrib/llvm/include/llvm/IR/ConstantFolder.h stable/11/contrib/llvm/include/llvm/IR/ConstantRange.h stable/11/contrib/llvm/include/llvm/IR/Constants.h stable/11/contrib/llvm/include/llvm/IR/DIBuilder.h stable/11/contrib/llvm/include/llvm/IR/DataLayout.h stable/11/contrib/llvm/include/llvm/IR/DebugInfo.h stable/11/contrib/llvm/include/llvm/IR/DebugInfoFlags.def stable/11/contrib/llvm/include/llvm/IR/DebugInfoMetadata.h stable/11/contrib/llvm/include/llvm/IR/DebugLoc.h stable/11/contrib/llvm/include/llvm/IR/DerivedTypes.h stable/11/contrib/llvm/include/llvm/IR/DiagnosticInfo.h stable/11/contrib/llvm/include/llvm/IR/DiagnosticPrinter.h stable/11/contrib/llvm/include/llvm/IR/Dominators.h stable/11/contrib/llvm/include/llvm/IR/Function.h stable/11/contrib/llvm/include/llvm/IR/GVMaterializer.h stable/11/contrib/llvm/include/llvm/IR/GetElementPtrTypeIterator.h stable/11/contrib/llvm/include/llvm/IR/GlobalAlias.h stable/11/contrib/llvm/include/llvm/IR/GlobalIFunc.h stable/11/contrib/llvm/include/llvm/IR/GlobalIndirectSymbol.h stable/11/contrib/llvm/include/llvm/IR/GlobalObject.h stable/11/contrib/llvm/include/llvm/IR/GlobalValue.h stable/11/contrib/llvm/include/llvm/IR/GlobalVariable.h stable/11/contrib/llvm/include/llvm/IR/IRBuilder.h stable/11/contrib/llvm/include/llvm/IR/IRPrintingPasses.h stable/11/contrib/llvm/include/llvm/IR/InlineAsm.h stable/11/contrib/llvm/include/llvm/IR/InstIterator.h stable/11/contrib/llvm/include/llvm/IR/InstrTypes.h stable/11/contrib/llvm/include/llvm/IR/Instruction.h stable/11/contrib/llvm/include/llvm/IR/Instructions.h stable/11/contrib/llvm/include/llvm/IR/IntrinsicInst.h stable/11/contrib/llvm/include/llvm/IR/Intrinsics.h stable/11/contrib/llvm/include/llvm/IR/Intrinsics.td stable/11/contrib/llvm/include/llvm/IR/IntrinsicsAArch64.td stable/11/contrib/llvm/include/llvm/IR/IntrinsicsAMDGPU.td stable/11/contrib/llvm/include/llvm/IR/IntrinsicsARM.td stable/11/contrib/llvm/include/llvm/IR/IntrinsicsNVVM.td stable/11/contrib/llvm/include/llvm/IR/IntrinsicsPowerPC.td stable/11/contrib/llvm/include/llvm/IR/IntrinsicsSystemZ.td stable/11/contrib/llvm/include/llvm/IR/IntrinsicsX86.td stable/11/contrib/llvm/include/llvm/IR/LLVMContext.h stable/11/contrib/llvm/include/llvm/IR/LegacyPassManagers.h stable/11/contrib/llvm/include/llvm/IR/LegacyPassNameParser.h stable/11/contrib/llvm/include/llvm/IR/MDBuilder.h stable/11/contrib/llvm/include/llvm/IR/Mangler.h stable/11/contrib/llvm/include/llvm/IR/Metadata.def stable/11/contrib/llvm/include/llvm/IR/Metadata.h stable/11/contrib/llvm/include/llvm/IR/Module.h stable/11/contrib/llvm/include/llvm/IR/ModuleSummaryIndex.h stable/11/contrib/llvm/include/llvm/IR/NoFolder.h stable/11/contrib/llvm/include/llvm/IR/Operator.h stable/11/contrib/llvm/include/llvm/IR/PassManager.h stable/11/contrib/llvm/include/llvm/IR/PassManagerInternal.h stable/11/contrib/llvm/include/llvm/IR/PatternMatch.h stable/11/contrib/llvm/include/llvm/IR/Statepoint.h stable/11/contrib/llvm/include/llvm/IR/SymbolTableListTraits.h stable/11/contrib/llvm/include/llvm/IR/Type.h stable/11/contrib/llvm/include/llvm/IR/Use.h stable/11/contrib/llvm/include/llvm/IR/UseListOrder.h stable/11/contrib/llvm/include/llvm/IR/User.h stable/11/contrib/llvm/include/llvm/IR/Value.h stable/11/contrib/llvm/include/llvm/IR/ValueHandle.h stable/11/contrib/llvm/include/llvm/IR/ValueMap.h stable/11/contrib/llvm/include/llvm/IR/Verifier.h stable/11/contrib/llvm/include/llvm/InitializePasses.h stable/11/contrib/llvm/include/llvm/LTO/LTO.h stable/11/contrib/llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h stable/11/contrib/llvm/include/llvm/LTO/legacy/LTOModule.h stable/11/contrib/llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h stable/11/contrib/llvm/include/llvm/LinkAllIR.h stable/11/contrib/llvm/include/llvm/LinkAllPasses.h stable/11/contrib/llvm/include/llvm/Linker/IRMover.h stable/11/contrib/llvm/include/llvm/MC/ConstantPools.h stable/11/contrib/llvm/include/llvm/MC/MCAsmBackend.h stable/11/contrib/llvm/include/llvm/MC/MCAsmInfo.h stable/11/contrib/llvm/include/llvm/MC/MCAssembler.h stable/11/contrib/llvm/include/llvm/MC/MCCodeView.h stable/11/contrib/llvm/include/llvm/MC/MCContext.h stable/11/contrib/llvm/include/llvm/MC/MCELFStreamer.h stable/11/contrib/llvm/include/llvm/MC/MCExpr.h stable/11/contrib/llvm/include/llvm/MC/MCFixup.h stable/11/contrib/llvm/include/llvm/MC/MCFragment.h stable/11/contrib/llvm/include/llvm/MC/MCInstPrinter.h stable/11/contrib/llvm/include/llvm/MC/MCInstrDesc.h stable/11/contrib/llvm/include/llvm/MC/MCInstrInfo.h stable/11/contrib/llvm/include/llvm/MC/MCInstrItineraries.h stable/11/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h stable/11/contrib/llvm/include/llvm/MC/MCObjectStreamer.h stable/11/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h stable/11/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h stable/11/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h stable/11/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h stable/11/contrib/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h stable/11/contrib/llvm/include/llvm/MC/MCRegisterInfo.h stable/11/contrib/llvm/include/llvm/MC/MCSection.h stable/11/contrib/llvm/include/llvm/MC/MCSectionCOFF.h stable/11/contrib/llvm/include/llvm/MC/MCStreamer.h stable/11/contrib/llvm/include/llvm/MC/MCTargetOptions.h stable/11/contrib/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h stable/11/contrib/llvm/include/llvm/MC/MCWinCOFFStreamer.h stable/11/contrib/llvm/include/llvm/MC/SectionKind.h stable/11/contrib/llvm/include/llvm/MC/StringTableBuilder.h stable/11/contrib/llvm/include/llvm/Object/Archive.h stable/11/contrib/llvm/include/llvm/Object/ArchiveWriter.h stable/11/contrib/llvm/include/llvm/Object/Binary.h stable/11/contrib/llvm/include/llvm/Object/COFF.h stable/11/contrib/llvm/include/llvm/Object/COFFImportFile.h stable/11/contrib/llvm/include/llvm/Object/ELF.h stable/11/contrib/llvm/include/llvm/Object/ELFObjectFile.h stable/11/contrib/llvm/include/llvm/Object/ELFTypes.h stable/11/contrib/llvm/include/llvm/Object/Error.h stable/11/contrib/llvm/include/llvm/Object/IRObjectFile.h stable/11/contrib/llvm/include/llvm/Object/MachO.h stable/11/contrib/llvm/include/llvm/Object/MachOUniversal.h stable/11/contrib/llvm/include/llvm/Object/ModuleSummaryIndexObjectFile.h stable/11/contrib/llvm/include/llvm/Object/ObjectFile.h stable/11/contrib/llvm/include/llvm/Object/RelocVisitor.h stable/11/contrib/llvm/include/llvm/Object/StackMapParser.h stable/11/contrib/llvm/include/llvm/Object/SymbolSize.h stable/11/contrib/llvm/include/llvm/Object/SymbolicFile.h stable/11/contrib/llvm/include/llvm/ObjectYAML/MachOYAML.h stable/11/contrib/llvm/include/llvm/Option/ArgList.h stable/11/contrib/llvm/include/llvm/Pass.h stable/11/contrib/llvm/include/llvm/PassInfo.h stable/11/contrib/llvm/include/llvm/PassSupport.h stable/11/contrib/llvm/include/llvm/Passes/PassBuilder.h stable/11/contrib/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h stable/11/contrib/llvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h stable/11/contrib/llvm/include/llvm/ProfileData/InstrProf.h stable/11/contrib/llvm/include/llvm/ProfileData/InstrProfData.inc stable/11/contrib/llvm/include/llvm/ProfileData/InstrProfWriter.h stable/11/contrib/llvm/include/llvm/ProfileData/ProfileCommon.h stable/11/contrib/llvm/include/llvm/ProfileData/SampleProf.h stable/11/contrib/llvm/include/llvm/Support/AArch64TargetParser.def stable/11/contrib/llvm/include/llvm/Support/ARMBuildAttributes.h stable/11/contrib/llvm/include/llvm/Support/ARMTargetParser.def stable/11/contrib/llvm/include/llvm/Support/AlignOf.h stable/11/contrib/llvm/include/llvm/Support/Allocator.h stable/11/contrib/llvm/include/llvm/Support/ArrayRecycler.h stable/11/contrib/llvm/include/llvm/Support/AtomicOrdering.h stable/11/contrib/llvm/include/llvm/Support/COFF.h stable/11/contrib/llvm/include/llvm/Support/CachePruning.h stable/11/contrib/llvm/include/llvm/Support/Casting.h stable/11/contrib/llvm/include/llvm/Support/CodeGen.h stable/11/contrib/llvm/include/llvm/Support/CommandLine.h stable/11/contrib/llvm/include/llvm/Support/Compiler.h stable/11/contrib/llvm/include/llvm/Support/Compression.h stable/11/contrib/llvm/include/llvm/Support/ConvertUTF.h stable/11/contrib/llvm/include/llvm/Support/DataExtractor.h stable/11/contrib/llvm/include/llvm/Support/Debug.h stable/11/contrib/llvm/include/llvm/Support/Dwarf.def stable/11/contrib/llvm/include/llvm/Support/Dwarf.h stable/11/contrib/llvm/include/llvm/Support/ELF.h stable/11/contrib/llvm/include/llvm/Support/ELFRelocs/AArch64.def stable/11/contrib/llvm/include/llvm/Support/ELFRelocs/AMDGPU.def stable/11/contrib/llvm/include/llvm/Support/ELFRelocs/BPF.def stable/11/contrib/llvm/include/llvm/Support/ELFRelocs/SystemZ.def stable/11/contrib/llvm/include/llvm/Support/Endian.h stable/11/contrib/llvm/include/llvm/Support/Error.h stable/11/contrib/llvm/include/llvm/Support/FileOutputBuffer.h stable/11/contrib/llvm/include/llvm/Support/FileSystem.h stable/11/contrib/llvm/include/llvm/Support/Format.h stable/11/contrib/llvm/include/llvm/Support/GCOV.h stable/11/contrib/llvm/include/llvm/Support/GenericDomTree.h stable/11/contrib/llvm/include/llvm/Support/GenericDomTreeConstruction.h stable/11/contrib/llvm/include/llvm/Support/GraphWriter.h stable/11/contrib/llvm/include/llvm/Support/Host.h stable/11/contrib/llvm/include/llvm/Support/MD5.h stable/11/contrib/llvm/include/llvm/Support/MachO.def stable/11/contrib/llvm/include/llvm/Support/MachO.h stable/11/contrib/llvm/include/llvm/Support/ManagedStatic.h stable/11/contrib/llvm/include/llvm/Support/MathExtras.h stable/11/contrib/llvm/include/llvm/Support/MemoryBuffer.h stable/11/contrib/llvm/include/llvm/Support/OnDiskHashTable.h stable/11/contrib/llvm/include/llvm/Support/Options.h stable/11/contrib/llvm/include/llvm/Support/Path.h stable/11/contrib/llvm/include/llvm/Support/PointerLikeTypeTraits.h stable/11/contrib/llvm/include/llvm/Support/PrettyStackTrace.h stable/11/contrib/llvm/include/llvm/Support/Printable.h stable/11/contrib/llvm/include/llvm/Support/Process.h stable/11/contrib/llvm/include/llvm/Support/RWMutex.h stable/11/contrib/llvm/include/llvm/Support/RandomNumberGenerator.h stable/11/contrib/llvm/include/llvm/Support/Recycler.h stable/11/contrib/llvm/include/llvm/Support/RecyclingAllocator.h stable/11/contrib/llvm/include/llvm/Support/Regex.h stable/11/contrib/llvm/include/llvm/Support/Registry.h stable/11/contrib/llvm/include/llvm/Support/SHA1.h stable/11/contrib/llvm/include/llvm/Support/SMLoc.h stable/11/contrib/llvm/include/llvm/Support/SourceMgr.h stable/11/contrib/llvm/include/llvm/Support/StringSaver.h stable/11/contrib/llvm/include/llvm/Support/SwapByteOrder.h stable/11/contrib/llvm/include/llvm/Support/TargetParser.h stable/11/contrib/llvm/include/llvm/Support/TargetRegistry.h stable/11/contrib/llvm/include/llvm/Support/Threading.h stable/11/contrib/llvm/include/llvm/Support/Timer.h stable/11/contrib/llvm/include/llvm/Support/TrailingObjects.h stable/11/contrib/llvm/include/llvm/Support/UnicodeCharRanges.h stable/11/contrib/llvm/include/llvm/Support/YAMLParser.h stable/11/contrib/llvm/include/llvm/Support/YAMLTraits.h stable/11/contrib/llvm/include/llvm/Support/raw_ostream.h stable/11/contrib/llvm/include/llvm/TableGen/Record.h stable/11/contrib/llvm/include/llvm/TableGen/SetTheory.h stable/11/contrib/llvm/include/llvm/Target/CostTable.h stable/11/contrib/llvm/include/llvm/Target/GenericOpcodes.td stable/11/contrib/llvm/include/llvm/Target/Target.td stable/11/contrib/llvm/include/llvm/Target/TargetCallingConv.h stable/11/contrib/llvm/include/llvm/Target/TargetFrameLowering.h stable/11/contrib/llvm/include/llvm/Target/TargetInstrInfo.h stable/11/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h stable/11/contrib/llvm/include/llvm/Target/TargetItinerary.td stable/11/contrib/llvm/include/llvm/Target/TargetLowering.h stable/11/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h stable/11/contrib/llvm/include/llvm/Target/TargetMachine.h stable/11/contrib/llvm/include/llvm/Target/TargetOpcodes.def stable/11/contrib/llvm/include/llvm/Target/TargetOpcodes.h stable/11/contrib/llvm/include/llvm/Target/TargetOptions.h stable/11/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h stable/11/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td stable/11/contrib/llvm/include/llvm/Target/TargetSubtargetInfo.h stable/11/contrib/llvm/include/llvm/Transforms/GCOVProfiler.h stable/11/contrib/llvm/include/llvm/Transforms/IPO.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/CrossDSOCFI.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/FunctionAttrs.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/FunctionImport.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/GlobalOpt.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/InferFunctionAttrs.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/Internalize.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/LowerTypeTests.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/PartialInlining.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/SCCP.h stable/11/contrib/llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h stable/11/contrib/llvm/include/llvm/Transforms/InstCombine/InstCombine.h stable/11/contrib/llvm/include/llvm/Transforms/InstCombine/InstCombineWorklist.h stable/11/contrib/llvm/include/llvm/Transforms/InstrProfiling.h stable/11/contrib/llvm/include/llvm/Transforms/Instrumentation.h stable/11/contrib/llvm/include/llvm/Transforms/PGOInstrumentation.h stable/11/contrib/llvm/include/llvm/Transforms/SampleProfile.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/DCE.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/DeadStoreElimination.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/EarlyCSE.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/GVN.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/GuardWidening.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/IndVarSimplify.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/JumpThreading.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LICM.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LoopDeletion.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LoopInstSimplify.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LoopRotation.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/LoopSimplifyCFG.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/PartiallyInlineLibCalls.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/Reassociate.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/SCCP.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/SROA.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/SimplifyCFG.h stable/11/contrib/llvm/include/llvm/Transforms/Scalar/Sink.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/ASanStackFrameLayout.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/AddDiscriminators.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/CmpInstAnalysis.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/CodeExtractor.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/LCSSA.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/Local.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/LoopSimplify.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/LoopUtils.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/Mem2Reg.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/MemorySSA.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/ModuleUtils.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/SimplifyInstructions.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/SymbolRewriter.h stable/11/contrib/llvm/include/llvm/Transforms/Utils/UnrollLoop.h stable/11/contrib/llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h stable/11/contrib/llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h stable/11/contrib/llvm/include/llvm/module.modulemap stable/11/contrib/llvm/include/llvm/module.modulemap.build stable/11/contrib/llvm/lib/Analysis/AliasAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp stable/11/contrib/llvm/lib/Analysis/AliasAnalysisSummary.cpp stable/11/contrib/llvm/lib/Analysis/AliasAnalysisSummary.h stable/11/contrib/llvm/lib/Analysis/AliasSetTracker.cpp stable/11/contrib/llvm/lib/Analysis/Analysis.cpp stable/11/contrib/llvm/lib/Analysis/AssumptionCache.cpp stable/11/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/BlockFrequencyInfo.cpp stable/11/contrib/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp stable/11/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp stable/11/contrib/llvm/lib/Analysis/CFGPrinter.cpp stable/11/contrib/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/CFLGraph.h stable/11/contrib/llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/CGSCCPassManager.cpp stable/11/contrib/llvm/lib/Analysis/CallGraph.cpp stable/11/contrib/llvm/lib/Analysis/CallGraphSCCPass.cpp stable/11/contrib/llvm/lib/Analysis/CodeMetrics.cpp stable/11/contrib/llvm/lib/Analysis/ConstantFolding.cpp stable/11/contrib/llvm/lib/Analysis/CostModel.cpp stable/11/contrib/llvm/lib/Analysis/DemandedBits.cpp stable/11/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/DominanceFrontier.cpp stable/11/contrib/llvm/lib/Analysis/EHPersonalities.cpp stable/11/contrib/llvm/lib/Analysis/GlobalsModRef.cpp stable/11/contrib/llvm/lib/Analysis/IVUsers.cpp stable/11/contrib/llvm/lib/Analysis/InlineCost.cpp stable/11/contrib/llvm/lib/Analysis/InstructionSimplify.cpp stable/11/contrib/llvm/lib/Analysis/IteratedDominanceFrontier.cpp stable/11/contrib/llvm/lib/Analysis/LazyBlockFrequencyInfo.cpp stable/11/contrib/llvm/lib/Analysis/LazyCallGraph.cpp stable/11/contrib/llvm/lib/Analysis/LazyValueInfo.cpp stable/11/contrib/llvm/lib/Analysis/Lint.cpp stable/11/contrib/llvm/lib/Analysis/Loads.cpp stable/11/contrib/llvm/lib/Analysis/LoopAccessAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/LoopInfo.cpp stable/11/contrib/llvm/lib/Analysis/LoopPass.cpp stable/11/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp stable/11/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp stable/11/contrib/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/ObjCARCInstKind.cpp stable/11/contrib/llvm/lib/Analysis/OptimizationDiagnosticInfo.cpp stable/11/contrib/llvm/lib/Analysis/PHITransAddr.cpp stable/11/contrib/llvm/lib/Analysis/PostDominators.cpp stable/11/contrib/llvm/lib/Analysis/ProfileSummaryInfo.cpp stable/11/contrib/llvm/lib/Analysis/RegionInfo.cpp stable/11/contrib/llvm/lib/Analysis/RegionPass.cpp stable/11/contrib/llvm/lib/Analysis/ScalarEvolution.cpp stable/11/contrib/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp stable/11/contrib/llvm/lib/Analysis/ScopedNoAliasAA.cpp stable/11/contrib/llvm/lib/Analysis/StratifiedSets.h stable/11/contrib/llvm/lib/Analysis/TargetLibraryInfo.cpp stable/11/contrib/llvm/lib/Analysis/TargetTransformInfo.cpp stable/11/contrib/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp stable/11/contrib/llvm/lib/Analysis/TypeMetadataUtils.cpp stable/11/contrib/llvm/lib/Analysis/ValueTracking.cpp stable/11/contrib/llvm/lib/Analysis/VectorUtils.cpp stable/11/contrib/llvm/lib/AsmParser/LLLexer.cpp stable/11/contrib/llvm/lib/AsmParser/LLParser.cpp stable/11/contrib/llvm/lib/AsmParser/LLParser.h stable/11/contrib/llvm/lib/AsmParser/LLToken.h stable/11/contrib/llvm/lib/Bitcode/Reader/BitReader.cpp stable/11/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp stable/11/contrib/llvm/lib/Bitcode/Reader/BitstreamReader.cpp stable/11/contrib/llvm/lib/Bitcode/Writer/BitWriter.cpp stable/11/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp stable/11/contrib/llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp stable/11/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp stable/11/contrib/llvm/lib/CodeGen/AllocationOrder.cpp stable/11/contrib/llvm/lib/CodeGen/AllocationOrder.h stable/11/contrib/llvm/lib/CodeGen/Analysis.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.h stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/WinException.cpp stable/11/contrib/llvm/lib/CodeGen/AsmPrinter/WinException.h stable/11/contrib/llvm/lib/CodeGen/BranchFolding.cpp stable/11/contrib/llvm/lib/CodeGen/BranchFolding.h stable/11/contrib/llvm/lib/CodeGen/CallingConvLower.cpp stable/11/contrib/llvm/lib/CodeGen/CodeGen.cpp stable/11/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp stable/11/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp stable/11/contrib/llvm/lib/CodeGen/DFAPacketizer.cpp stable/11/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp stable/11/contrib/llvm/lib/CodeGen/DetectDeadLanes.cpp stable/11/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp stable/11/contrib/llvm/lib/CodeGen/EarlyIfConversion.cpp stable/11/contrib/llvm/lib/CodeGen/EdgeBundles.cpp stable/11/contrib/llvm/lib/CodeGen/ExecutionDepsFix.cpp stable/11/contrib/llvm/lib/CodeGen/FuncletLayout.cpp stable/11/contrib/llvm/lib/CodeGen/GCMetadata.cpp stable/11/contrib/llvm/lib/CodeGen/GCMetadataPrinter.cpp stable/11/contrib/llvm/lib/CodeGen/GCRootLowering.cpp stable/11/contrib/llvm/lib/CodeGen/GCStrategy.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/RegisterBank.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp stable/11/contrib/llvm/lib/CodeGen/GlobalMerge.cpp stable/11/contrib/llvm/lib/CodeGen/IfConversion.cpp stable/11/contrib/llvm/lib/CodeGen/ImplicitNullChecks.cpp stable/11/contrib/llvm/lib/CodeGen/InlineSpiller.cpp stable/11/contrib/llvm/lib/CodeGen/InterleavedAccessPass.cpp stable/11/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp stable/11/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp stable/11/contrib/llvm/lib/CodeGen/LatencyPriorityQueue.cpp stable/11/contrib/llvm/lib/CodeGen/LexicalScopes.cpp stable/11/contrib/llvm/lib/CodeGen/LiveDebugValues.cpp stable/11/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp stable/11/contrib/llvm/lib/CodeGen/LiveInterval.cpp stable/11/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp stable/11/contrib/llvm/lib/CodeGen/LiveIntervalUnion.cpp stable/11/contrib/llvm/lib/CodeGen/LivePhysRegs.cpp stable/11/contrib/llvm/lib/CodeGen/LiveRangeCalc.cpp stable/11/contrib/llvm/lib/CodeGen/LiveRangeCalc.h stable/11/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp stable/11/contrib/llvm/lib/CodeGen/LiveRegMatrix.cpp stable/11/contrib/llvm/lib/CodeGen/LiveVariables.cpp stable/11/contrib/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp stable/11/contrib/llvm/lib/CodeGen/MIRParser/MILexer.cpp stable/11/contrib/llvm/lib/CodeGen/MIRParser/MILexer.h stable/11/contrib/llvm/lib/CodeGen/MIRParser/MIParser.cpp stable/11/contrib/llvm/lib/CodeGen/MIRParser/MIParser.h stable/11/contrib/llvm/lib/CodeGen/MIRParser/MIRParser.cpp stable/11/contrib/llvm/lib/CodeGen/MIRPrinter.cpp stable/11/contrib/llvm/lib/CodeGen/MIRPrintingPass.cpp stable/11/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp stable/11/contrib/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp stable/11/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp stable/11/contrib/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp stable/11/contrib/llvm/lib/CodeGen/MachineCSE.cpp stable/11/contrib/llvm/lib/CodeGen/MachineCombiner.cpp stable/11/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp stable/11/contrib/llvm/lib/CodeGen/MachineFunction.cpp stable/11/contrib/llvm/lib/CodeGen/MachineFunctionPass.cpp stable/11/contrib/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp stable/11/contrib/llvm/lib/CodeGen/MachineInstr.cpp stable/11/contrib/llvm/lib/CodeGen/MachineInstrBundle.cpp stable/11/contrib/llvm/lib/CodeGen/MachineLICM.cpp stable/11/contrib/llvm/lib/CodeGen/MachineLoopInfo.cpp stable/11/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp stable/11/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp stable/11/contrib/llvm/lib/CodeGen/MachineSSAUpdater.cpp stable/11/contrib/llvm/lib/CodeGen/MachineScheduler.cpp stable/11/contrib/llvm/lib/CodeGen/MachineSink.cpp stable/11/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp stable/11/contrib/llvm/lib/CodeGen/MachineVerifier.cpp stable/11/contrib/llvm/lib/CodeGen/OptimizePHIs.cpp stable/11/contrib/llvm/lib/CodeGen/PHIElimination.cpp stable/11/contrib/llvm/lib/CodeGen/PHIEliminationUtils.cpp stable/11/contrib/llvm/lib/CodeGen/ParallelCG.cpp stable/11/contrib/llvm/lib/CodeGen/PatchableFunction.cpp stable/11/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp stable/11/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp stable/11/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp stable/11/contrib/llvm/lib/CodeGen/RegAllocBase.cpp stable/11/contrib/llvm/lib/CodeGen/RegAllocBase.h stable/11/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp stable/11/contrib/llvm/lib/CodeGen/RegAllocFast.cpp stable/11/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp stable/11/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp stable/11/contrib/llvm/lib/CodeGen/RegUsageInfoCollector.cpp stable/11/contrib/llvm/lib/CodeGen/RegUsageInfoPropagate.cpp stable/11/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp stable/11/contrib/llvm/lib/CodeGen/RegisterPressure.cpp stable/11/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp stable/11/contrib/llvm/lib/CodeGen/RegisterUsageInfo.cpp stable/11/contrib/llvm/lib/CodeGen/RenameIndependentSubregs.cpp stable/11/contrib/llvm/lib/CodeGen/SafeStack.cpp stable/11/contrib/llvm/lib/CodeGen/SafeStackColoring.cpp stable/11/contrib/llvm/lib/CodeGen/SafeStackLayout.cpp stable/11/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp stable/11/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp stable/11/contrib/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp stable/11/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp stable/11/contrib/llvm/lib/CodeGen/ShadowStackGCLowering.cpp stable/11/contrib/llvm/lib/CodeGen/ShrinkWrap.cpp stable/11/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp stable/11/contrib/llvm/lib/CodeGen/SplitKit.cpp stable/11/contrib/llvm/lib/CodeGen/SplitKit.h stable/11/contrib/llvm/lib/CodeGen/StackColoring.cpp stable/11/contrib/llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp stable/11/contrib/llvm/lib/CodeGen/StackMaps.cpp stable/11/contrib/llvm/lib/CodeGen/StackProtector.cpp stable/11/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp stable/11/contrib/llvm/lib/CodeGen/TailDuplication.cpp stable/11/contrib/llvm/lib/CodeGen/TailDuplicator.cpp stable/11/contrib/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp stable/11/contrib/llvm/lib/CodeGen/TargetInstrInfo.cpp stable/11/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp stable/11/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp stable/11/contrib/llvm/lib/CodeGen/TargetOptionsImpl.cpp stable/11/contrib/llvm/lib/CodeGen/TargetPassConfig.cpp stable/11/contrib/llvm/lib/CodeGen/TargetRegisterInfo.cpp stable/11/contrib/llvm/lib/CodeGen/TargetSchedule.cpp stable/11/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp stable/11/contrib/llvm/lib/CodeGen/UnreachableBlockElim.cpp stable/11/contrib/llvm/lib/CodeGen/VirtRegMap.cpp stable/11/contrib/llvm/lib/CodeGen/WinEHPrepare.cpp stable/11/contrib/llvm/lib/CodeGen/XRayInstrumentation.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/CodeViewError.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/EnumTables.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/ModuleSubstream.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/ModuleSubstreamVisitor.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/RecordSerialization.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/TypeRecord.cpp stable/11/contrib/llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp stable/11/contrib/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAError.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/GenericError.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/IPDBSourceFile.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/PDB.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/PDBContext.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/PDBSymDumper.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/PDBSymbol.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/DbiStream.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/Hash.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/InfoStream.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/InfoStreamBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/ModInfo.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/ModStream.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/NameHashTable.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/NameMap.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/NameMapBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/PDBFile.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/PDBFileBuilder.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/RawError.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/RawSession.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/SymbolStream.cpp stable/11/contrib/llvm/lib/DebugInfo/PDB/Raw/TpiStream.cpp stable/11/contrib/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp stable/11/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp stable/11/contrib/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp stable/11/contrib/llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp stable/11/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp stable/11/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp stable/11/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp stable/11/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h stable/11/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp stable/11/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h stable/11/contrib/llvm/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp stable/11/contrib/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp stable/11/contrib/llvm/lib/ExecutionEngine/Orc/NullResolver.cpp stable/11/contrib/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h stable/11/contrib/llvm/lib/ExecutionEngine/Orc/OrcError.cpp stable/11/contrib/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFI386.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOAArch64.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h stable/11/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h stable/11/contrib/llvm/lib/ExecutionEngine/SectionMemoryManager.cpp stable/11/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp stable/11/contrib/llvm/lib/IR/AsmWriter.cpp stable/11/contrib/llvm/lib/IR/AttributeImpl.h stable/11/contrib/llvm/lib/IR/AttributeSetNode.h stable/11/contrib/llvm/lib/IR/Attributes.cpp stable/11/contrib/llvm/lib/IR/AutoUpgrade.cpp stable/11/contrib/llvm/lib/IR/BasicBlock.cpp stable/11/contrib/llvm/lib/IR/ConstantFold.cpp stable/11/contrib/llvm/lib/IR/ConstantFold.h stable/11/contrib/llvm/lib/IR/ConstantRange.cpp stable/11/contrib/llvm/lib/IR/Constants.cpp stable/11/contrib/llvm/lib/IR/ConstantsContext.h stable/11/contrib/llvm/lib/IR/Core.cpp stable/11/contrib/llvm/lib/IR/DIBuilder.cpp stable/11/contrib/llvm/lib/IR/DataLayout.cpp stable/11/contrib/llvm/lib/IR/DebugInfo.cpp stable/11/contrib/llvm/lib/IR/DebugInfoMetadata.cpp stable/11/contrib/llvm/lib/IR/DiagnosticInfo.cpp stable/11/contrib/llvm/lib/IR/Dominators.cpp stable/11/contrib/llvm/lib/IR/Function.cpp stable/11/contrib/llvm/lib/IR/GCOV.cpp stable/11/contrib/llvm/lib/IR/Globals.cpp stable/11/contrib/llvm/lib/IR/IRBuilder.cpp stable/11/contrib/llvm/lib/IR/IRPrintingPasses.cpp stable/11/contrib/llvm/lib/IR/InlineAsm.cpp stable/11/contrib/llvm/lib/IR/Instruction.cpp stable/11/contrib/llvm/lib/IR/Instructions.cpp stable/11/contrib/llvm/lib/IR/IntrinsicInst.cpp stable/11/contrib/llvm/lib/IR/LLVMContext.cpp stable/11/contrib/llvm/lib/IR/LLVMContextImpl.cpp stable/11/contrib/llvm/lib/IR/LLVMContextImpl.h stable/11/contrib/llvm/lib/IR/LegacyPassManager.cpp stable/11/contrib/llvm/lib/IR/MDBuilder.cpp stable/11/contrib/llvm/lib/IR/Mangler.cpp stable/11/contrib/llvm/lib/IR/Metadata.cpp stable/11/contrib/llvm/lib/IR/Module.cpp stable/11/contrib/llvm/lib/IR/ModuleSummaryIndex.cpp stable/11/contrib/llvm/lib/IR/Operator.cpp stable/11/contrib/llvm/lib/IR/Pass.cpp stable/11/contrib/llvm/lib/IR/PassManager.cpp stable/11/contrib/llvm/lib/IR/PassRegistry.cpp stable/11/contrib/llvm/lib/IR/SymbolTableListTraitsImpl.h stable/11/contrib/llvm/lib/IR/Type.cpp stable/11/contrib/llvm/lib/IR/User.cpp stable/11/contrib/llvm/lib/IR/Value.cpp stable/11/contrib/llvm/lib/IR/ValueSymbolTable.cpp stable/11/contrib/llvm/lib/IR/ValueTypes.cpp stable/11/contrib/llvm/lib/IR/Verifier.cpp stable/11/contrib/llvm/lib/IRReader/IRReader.cpp stable/11/contrib/llvm/lib/LTO/LTO.cpp stable/11/contrib/llvm/lib/LTO/LTOCodeGenerator.cpp stable/11/contrib/llvm/lib/LTO/LTOModule.cpp stable/11/contrib/llvm/lib/LTO/ThinLTOCodeGenerator.cpp stable/11/contrib/llvm/lib/LTO/UpdateCompilerUsed.cpp stable/11/contrib/llvm/lib/LibDriver/LibDriver.cpp stable/11/contrib/llvm/lib/Linker/IRMover.cpp stable/11/contrib/llvm/lib/Linker/LinkModules.cpp stable/11/contrib/llvm/lib/MC/ConstantPools.cpp stable/11/contrib/llvm/lib/MC/ELFObjectWriter.cpp stable/11/contrib/llvm/lib/MC/MCAsmBackend.cpp stable/11/contrib/llvm/lib/MC/MCAsmInfo.cpp stable/11/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp stable/11/contrib/llvm/lib/MC/MCAsmStreamer.cpp stable/11/contrib/llvm/lib/MC/MCAssembler.cpp stable/11/contrib/llvm/lib/MC/MCCodeView.cpp stable/11/contrib/llvm/lib/MC/MCContext.cpp stable/11/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp stable/11/contrib/llvm/lib/MC/MCDwarf.cpp stable/11/contrib/llvm/lib/MC/MCELFStreamer.cpp stable/11/contrib/llvm/lib/MC/MCExpr.cpp stable/11/contrib/llvm/lib/MC/MCFragment.cpp stable/11/contrib/llvm/lib/MC/MCInst.cpp stable/11/contrib/llvm/lib/MC/MCLabel.cpp stable/11/contrib/llvm/lib/MC/MCMachOStreamer.cpp stable/11/contrib/llvm/lib/MC/MCObjectFileInfo.cpp stable/11/contrib/llvm/lib/MC/MCObjectStreamer.cpp stable/11/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp stable/11/contrib/llvm/lib/MC/MCParser/AsmParser.cpp stable/11/contrib/llvm/lib/MC/MCParser/COFFAsmParser.cpp stable/11/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp stable/11/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp stable/11/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp stable/11/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp stable/11/contrib/llvm/lib/MC/MCRegisterInfo.cpp stable/11/contrib/llvm/lib/MC/MCSection.cpp stable/11/contrib/llvm/lib/MC/MCSectionCOFF.cpp stable/11/contrib/llvm/lib/MC/MCSectionELF.cpp stable/11/contrib/llvm/lib/MC/MCSectionMachO.cpp stable/11/contrib/llvm/lib/MC/MCStreamer.cpp stable/11/contrib/llvm/lib/MC/MCSymbol.cpp stable/11/contrib/llvm/lib/MC/MCTargetOptions.cpp stable/11/contrib/llvm/lib/MC/MCValue.cpp stable/11/contrib/llvm/lib/MC/MachObjectWriter.cpp stable/11/contrib/llvm/lib/MC/StringTableBuilder.cpp stable/11/contrib/llvm/lib/MC/SubtargetFeature.cpp stable/11/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp stable/11/contrib/llvm/lib/MC/WinCOFFStreamer.cpp stable/11/contrib/llvm/lib/Object/Archive.cpp stable/11/contrib/llvm/lib/Object/ArchiveWriter.cpp stable/11/contrib/llvm/lib/Object/Binary.cpp stable/11/contrib/llvm/lib/Object/COFFObjectFile.cpp stable/11/contrib/llvm/lib/Object/ELF.cpp stable/11/contrib/llvm/lib/Object/Error.cpp stable/11/contrib/llvm/lib/Object/IRObjectFile.cpp stable/11/contrib/llvm/lib/Object/MachOObjectFile.cpp stable/11/contrib/llvm/lib/Object/MachOUniversal.cpp stable/11/contrib/llvm/lib/Object/ModuleSummaryIndexObjectFile.cpp stable/11/contrib/llvm/lib/Object/ObjectFile.cpp stable/11/contrib/llvm/lib/Object/RecordStreamer.cpp stable/11/contrib/llvm/lib/Object/RecordStreamer.h stable/11/contrib/llvm/lib/Object/SymbolSize.cpp stable/11/contrib/llvm/lib/Object/SymbolicFile.cpp stable/11/contrib/llvm/lib/ObjectYAML/ELFYAML.cpp stable/11/contrib/llvm/lib/ObjectYAML/MachOYAML.cpp stable/11/contrib/llvm/lib/ObjectYAML/ObjectYAML.cpp stable/11/contrib/llvm/lib/Option/ArgList.cpp stable/11/contrib/llvm/lib/Option/OptTable.cpp stable/11/contrib/llvm/lib/Passes/PassBuilder.cpp stable/11/contrib/llvm/lib/Passes/PassRegistry.def stable/11/contrib/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp stable/11/contrib/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp stable/11/contrib/llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp stable/11/contrib/llvm/lib/ProfileData/InstrProf.cpp stable/11/contrib/llvm/lib/ProfileData/InstrProfReader.cpp stable/11/contrib/llvm/lib/ProfileData/InstrProfWriter.cpp stable/11/contrib/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp stable/11/contrib/llvm/lib/ProfileData/SampleProf.cpp stable/11/contrib/llvm/lib/Support/APFloat.cpp stable/11/contrib/llvm/lib/Support/APInt.cpp stable/11/contrib/llvm/lib/Support/ARMBuildAttrs.cpp stable/11/contrib/llvm/lib/Support/CachePruning.cpp stable/11/contrib/llvm/lib/Support/CommandLine.cpp stable/11/contrib/llvm/lib/Support/Compression.cpp stable/11/contrib/llvm/lib/Support/Debug.cpp stable/11/contrib/llvm/lib/Support/DeltaAlgorithm.cpp stable/11/contrib/llvm/lib/Support/Dwarf.cpp stable/11/contrib/llvm/lib/Support/DynamicLibrary.cpp stable/11/contrib/llvm/lib/Support/Error.cpp stable/11/contrib/llvm/lib/Support/FileOutputBuffer.cpp stable/11/contrib/llvm/lib/Support/FileUtilities.cpp stable/11/contrib/llvm/lib/Support/FoldingSet.cpp stable/11/contrib/llvm/lib/Support/Host.cpp stable/11/contrib/llvm/lib/Support/LockFileManager.cpp stable/11/contrib/llvm/lib/Support/MD5.cpp stable/11/contrib/llvm/lib/Support/MemoryBuffer.cpp stable/11/contrib/llvm/lib/Support/Path.cpp stable/11/contrib/llvm/lib/Support/PrettyStackTrace.cpp stable/11/contrib/llvm/lib/Support/RandomNumberGenerator.cpp stable/11/contrib/llvm/lib/Support/Regex.cpp stable/11/contrib/llvm/lib/Support/SHA1.cpp stable/11/contrib/llvm/lib/Support/ScaledNumber.cpp stable/11/contrib/llvm/lib/Support/ScopedPrinter.cpp stable/11/contrib/llvm/lib/Support/SmallPtrSet.cpp stable/11/contrib/llvm/lib/Support/SourceMgr.cpp stable/11/contrib/llvm/lib/Support/SpecialCaseList.cpp stable/11/contrib/llvm/lib/Support/Statistic.cpp stable/11/contrib/llvm/lib/Support/StringMap.cpp stable/11/contrib/llvm/lib/Support/StringRef.cpp stable/11/contrib/llvm/lib/Support/StringSaver.cpp stable/11/contrib/llvm/lib/Support/TargetParser.cpp stable/11/contrib/llvm/lib/Support/TargetRegistry.cpp stable/11/contrib/llvm/lib/Support/Threading.cpp stable/11/contrib/llvm/lib/Support/Timer.cpp stable/11/contrib/llvm/lib/Support/Triple.cpp stable/11/contrib/llvm/lib/Support/Twine.cpp stable/11/contrib/llvm/lib/Support/Unix/Memory.inc stable/11/contrib/llvm/lib/Support/Unix/Path.inc stable/11/contrib/llvm/lib/Support/Unix/Process.inc stable/11/contrib/llvm/lib/Support/Unix/Signals.inc stable/11/contrib/llvm/lib/Support/Unix/Unix.h stable/11/contrib/llvm/lib/Support/Windows/Path.inc stable/11/contrib/llvm/lib/Support/Windows/Process.inc stable/11/contrib/llvm/lib/Support/Windows/Signals.inc stable/11/contrib/llvm/lib/Support/Windows/WindowsSupport.h stable/11/contrib/llvm/lib/Support/YAMLParser.cpp stable/11/contrib/llvm/lib/Support/YAMLTraits.cpp stable/11/contrib/llvm/lib/Support/raw_ostream.cpp stable/11/contrib/llvm/lib/TableGen/Main.cpp stable/11/contrib/llvm/lib/TableGen/Record.cpp stable/11/contrib/llvm/lib/TableGen/StringMatcher.cpp stable/11/contrib/llvm/lib/TableGen/TGLexer.cpp stable/11/contrib/llvm/lib/TableGen/TGLexer.h stable/11/contrib/llvm/lib/TableGen/TGParser.cpp stable/11/contrib/llvm/lib/TableGen/TGParser.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64AddressTypePromotion.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64CallLowering.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64CallLowering.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64CallingConvention.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64FastISel.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64InstrAtomics.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64InstrFormats.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64SchedA57.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64SchedA57WriteRes.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64SchedM1.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64SchedVulcan.td stable/11/contrib/llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64Subtarget.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64Subtarget.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.h stable/11/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp stable/11/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h stable/11/contrib/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp stable/11/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp stable/11/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.h stable/11/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp stable/11/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp stable/11/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp stable/11/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h stable/11/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp stable/11/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp stable/11/contrib/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPU.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPU.td stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUFrameLowering.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUFrameLowering.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUIntrinsics.td stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUOpenCLImageTypeLoweringPass.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPURuntimeMetadata.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h stable/11/contrib/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/CIInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/CaymanInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h stable/11/contrib/llvm/lib/Target/AMDGPU/EvergreenInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h stable/11/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/Processors.td stable/11/contrib/llvm/lib/Target/AMDGPU/R600ClauseMergePass.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/R600FrameLowering.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/R600FrameLowering.h stable/11/contrib/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/R600InstrFormats.td stable/11/contrib/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/R600InstrInfo.h stable/11/contrib/llvm/lib/Target/AMDGPU/R600Instructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/R600MachineFunctionInfo.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/R600MachineFunctionInfo.h stable/11/contrib/llvm/lib/Target/AMDGPU/R600MachineScheduler.h stable/11/contrib/llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/R600Packetizer.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIDebuggerInsertNops.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIDefines.h stable/11/contrib/llvm/lib/Target/AMDGPU/SIFixControlFlowLiveIntervals.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.h stable/11/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.h stable/11/contrib/llvm/lib/Target/AMDGPU/SIInsertWaits.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIInstrFormats.td stable/11/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.h stable/11/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.td stable/11/contrib/llvm/lib/Target/AMDGPU/SIInstructions.td stable/11/contrib/llvm/lib/Target/AMDGPU/SIIntrinsics.td stable/11/contrib/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h stable/11/contrib/llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIMachineScheduler.h stable/11/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.h stable/11/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.td stable/11/contrib/llvm/lib/Target/AMDGPU/SISchedule.td stable/11/contrib/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SITypeRewriter.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h stable/11/contrib/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTInfo.h stable/11/contrib/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp stable/11/contrib/llvm/lib/Target/AMDGPU/VIInstrFormats.td stable/11/contrib/llvm/lib/Target/AMDGPU/VIInstructions.td stable/11/contrib/llvm/lib/Target/ARM/A15SDOptimizer.cpp stable/11/contrib/llvm/lib/Target/ARM/ARM.h stable/11/contrib/llvm/lib/Target/ARM/ARM.td stable/11/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h stable/11/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h stable/11/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h stable/11/contrib/llvm/lib/Target/ARM/ARMCallingConv.td stable/11/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.h stable/11/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMISelLowering.h stable/11/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td stable/11/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td stable/11/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td stable/11/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td stable/11/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td stable/11/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td stable/11/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMMCInstLower.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h stable/11/contrib/llvm/lib/Target/ARM/ARMOptimizeBarriersPass.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMSchedule.td stable/11/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMSubtarget.h stable/11/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.h stable/11/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.h stable/11/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp stable/11/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp stable/11/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp stable/11/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp stable/11/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp stable/11/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp stable/11/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h stable/11/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp stable/11/contrib/llvm/lib/Target/ARM/MLxExpansionPass.cpp stable/11/contrib/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp stable/11/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp stable/11/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp stable/11/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp stable/11/contrib/llvm/lib/Target/ARM/ThumbRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/AVR/AVR.h stable/11/contrib/llvm/lib/Target/AVR/AVR.td stable/11/contrib/llvm/lib/Target/AVR/AVRCallingConv.td stable/11/contrib/llvm/lib/Target/AVR/AVRISelLowering.h stable/11/contrib/llvm/lib/Target/AVR/AVRInstrFormats.td stable/11/contrib/llvm/lib/Target/AVR/AVRInstrInfo.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRInstrInfo.h stable/11/contrib/llvm/lib/Target/AVR/AVRInstrInfo.td stable/11/contrib/llvm/lib/Target/AVR/AVRRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRRegisterInfo.h stable/11/contrib/llvm/lib/Target/AVR/AVRTargetMachine.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRTargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/AVR/AVRTargetObjectFile.h stable/11/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.h stable/11/contrib/llvm/lib/Target/AVR/TargetInfo/AVRTargetInfo.cpp stable/11/contrib/llvm/lib/Target/BPF/BPF.td stable/11/contrib/llvm/lib/Target/BPF/BPFAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/BPF/BPFInstrInfo.cpp stable/11/contrib/llvm/lib/Target/BPF/BPFInstrInfo.h stable/11/contrib/llvm/lib/Target/BPF/BPFInstrInfo.td stable/11/contrib/llvm/lib/Target/BPF/BPFRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/BPF/BPFTargetMachine.cpp stable/11/contrib/llvm/lib/Target/BPF/InstPrinter/BPFInstPrinter.cpp stable/11/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp stable/11/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp stable/11/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h stable/11/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h stable/11/contrib/llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp stable/11/contrib/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp stable/11/contrib/llvm/lib/Target/Hexagon/BitTracker.cpp stable/11/contrib/llvm/lib/Target/Hexagon/BitTracker.h stable/11/contrib/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp stable/11/contrib/llvm/lib/Target/Hexagon/Hexagon.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonBitTracker.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonBitTracker.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonBlockRanges.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonGenExtract.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonGenInsert.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonGenMux.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrAlias.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormats.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormatsV4.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormatsV60.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV3.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV4.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV5.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV60.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoVector.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonIntrinsics.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonIntrinsicsDerived.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonIntrinsicsV4.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonIntrinsicsV60.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonIsetDx.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonOperands.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonPeephole.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonSystemInst.td stable/11/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h stable/11/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp stable/11/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCompound.cpp stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.h stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.h stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h stable/11/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp stable/11/contrib/llvm/lib/Target/Hexagon/RDFCopy.cpp stable/11/contrib/llvm/lib/Target/Hexagon/RDFCopy.h stable/11/contrib/llvm/lib/Target/Hexagon/RDFGraph.cpp stable/11/contrib/llvm/lib/Target/Hexagon/RDFGraph.h stable/11/contrib/llvm/lib/Target/Hexagon/RDFLiveness.cpp stable/11/contrib/llvm/lib/Target/Hexagon/RDFLiveness.h stable/11/contrib/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp stable/11/contrib/llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp stable/11/contrib/llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp stable/11/contrib/llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.h stable/11/contrib/llvm/lib/Target/Lanai/InstPrinter/LanaiInstPrinter.h stable/11/contrib/llvm/lib/Target/Lanai/Lanai.h stable/11/contrib/llvm/lib/Target/Lanai/LanaiAluCode.h stable/11/contrib/llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiDelaySlotFiller.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiFrameLowering.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiISelLowering.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiISelLowering.h stable/11/contrib/llvm/lib/Target/Lanai/LanaiInstrInfo.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiInstrInfo.h stable/11/contrib/llvm/lib/Target/Lanai/LanaiInstrInfo.td stable/11/contrib/llvm/lib/Target/Lanai/LanaiMCInstLower.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiMCInstLower.h stable/11/contrib/llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiRegisterInfo.h stable/11/contrib/llvm/lib/Target/Lanai/LanaiTargetMachine.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiTargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/Lanai/LanaiTargetObjectFile.h stable/11/contrib/llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h stable/11/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp stable/11/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp stable/11/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h stable/11/contrib/llvm/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp stable/11/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.h stable/11/contrib/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp stable/11/contrib/llvm/lib/Target/MSP430/MSP430BranchSelector.cpp stable/11/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.cpp stable/11/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp stable/11/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp stable/11/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.h stable/11/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp stable/11/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp stable/11/contrib/llvm/lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpp stable/11/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp stable/11/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp stable/11/contrib/llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp stable/11/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp stable/11/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp stable/11/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h stable/11/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp stable/11/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h stable/11/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp stable/11/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h stable/11/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h stable/11/contrib/llvm/lib/Target/Mips/MicroMips32r6InstrInfo.td stable/11/contrib/llvm/lib/Target/Mips/MicroMips64r6InstrFormats.td stable/11/contrib/llvm/lib/Target/Mips/MicroMips64r6InstrInfo.td stable/11/contrib/llvm/lib/Target/Mips/MicroMipsInstrFPU.td stable/11/contrib/llvm/lib/Target/Mips/MicroMipsInstrFormats.td stable/11/contrib/llvm/lib/Target/Mips/MicroMipsInstrInfo.td stable/11/contrib/llvm/lib/Target/Mips/Mips.td stable/11/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.cpp stable/11/contrib/llvm/lib/Target/Mips/Mips16HardFloat.cpp stable/11/contrib/llvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.cpp stable/11/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.cpp stable/11/contrib/llvm/lib/Target/Mips/Mips32r6InstrFormats.td stable/11/contrib/llvm/lib/Target/Mips/Mips32r6InstrInfo.td stable/11/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td stable/11/contrib/llvm/lib/Target/Mips/Mips64r6InstrInfo.td stable/11/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h stable/11/contrib/llvm/lib/Target/Mips/MipsConstantIslandPass.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsEVAInstrFormats.td stable/11/contrib/llvm/lib/Target/Mips/MipsFastISel.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsHazardSchedule.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.h stable/11/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsISelLowering.h stable/11/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td stable/11/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td stable/11/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h stable/11/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td stable/11/contrib/llvm/lib/Target/Mips/MipsLongBranch.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsMSAInstrInfo.td stable/11/contrib/llvm/lib/Target/Mips/MipsMachineFunction.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsModuleISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsOptimizePICCall.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsOs16.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td stable/11/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h stable/11/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.h stable/11/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsSchedule.td stable/11/contrib/llvm/lib/Target/Mips/MipsScheduleP5600.td stable/11/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.h stable/11/contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp stable/11/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXBaseInfo.h stable/11/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h stable/11/contrib/llvm/lib/Target/NVPTX/ManagedStringPool.h stable/11/contrib/llvm/lib/Target/NVPTX/NVPTX.h stable/11/contrib/llvm/lib/Target/NVPTX/NVPTX.td stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.h stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXInferAddressSpaces.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXInstrInfo.h stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXIntrinsics.td stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXMCExpr.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXPeephole.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXSection.h stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.h stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXTargetObjectFile.h stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXUtilities.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVPTXUtilities.h stable/11/contrib/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp stable/11/contrib/llvm/lib/Target/NVPTX/NVVMReflect.cpp stable/11/contrib/llvm/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp stable/11/contrib/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp stable/11/contrib/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp stable/11/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp stable/11/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h stable/11/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp stable/11/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h stable/11/contrib/llvm/lib/Target/PowerPC/PPC.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCBranchSelector.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCCallingConv.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCFastISel.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h stable/11/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCInstrAltivec.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCInstrFormats.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h stable/11/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCInstrQPX.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCInstrVSX.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCQPXLoadSplat.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h stable/11/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCSchedule.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td stable/11/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h stable/11/contrib/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCTargetObjectFile.h stable/11/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h stable/11/contrib/llvm/lib/Target/PowerPC/PPCVSXCopy.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp stable/11/contrib/llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp stable/11/contrib/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp stable/11/contrib/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp stable/11/contrib/llvm/lib/Target/Sparc/DelaySlotFiller.cpp stable/11/contrib/llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp stable/11/contrib/llvm/lib/Target/Sparc/LeonFeatures.td stable/11/contrib/llvm/lib/Target/Sparc/LeonPasses.cpp stable/11/contrib/llvm/lib/Target/Sparc/LeonPasses.h stable/11/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp stable/11/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h stable/11/contrib/llvm/lib/Target/Sparc/Sparc.td stable/11/contrib/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.cpp stable/11/contrib/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp stable/11/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.cpp stable/11/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.h stable/11/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td stable/11/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.td stable/11/contrib/llvm/lib/Target/Sparc/SparcSubtarget.cpp stable/11/contrib/llvm/lib/Target/Sparc/SparcSubtarget.h stable/11/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp stable/11/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.h stable/11/contrib/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp stable/11/contrib/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp stable/11/contrib/llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp stable/11/contrib/llvm/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.cpp stable/11/contrib/llvm/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.h stable/11/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp stable/11/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCFixups.h stable/11/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp stable/11/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h stable/11/contrib/llvm/lib/Target/SystemZ/SystemZ.h stable/11/contrib/llvm/lib/Target/SystemZ/SystemZ.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZAsmPrinter.h stable/11/contrib/llvm/lib/Target/SystemZ/SystemZElimCompare.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h stable/11/contrib/llvm/lib/Target/SystemZ/SystemZInstrBuilder.h stable/11/contrib/llvm/lib/Target/SystemZ/SystemZInstrFP.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZInstrFormats.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.h stable/11/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZInstrVector.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZLDCleanup.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZLongBranch.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZOperands.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZOperators.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZProcessors.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td stable/11/contrib/llvm/lib/Target/SystemZ/SystemZShortenInst.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.h stable/11/contrib/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp stable/11/contrib/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h stable/11/contrib/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp stable/11/contrib/llvm/lib/Target/TargetIntrinsicInfo.cpp stable/11/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp stable/11/contrib/llvm/lib/Target/TargetMachine.cpp stable/11/contrib/llvm/lib/Target/TargetMachineC.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.h stable/11/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h stable/11/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h stable/11/contrib/llvm/lib/Target/WebAssembly/README.txt stable/11/contrib/llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssembly.h stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssembly.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyArgumentMove.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrConv.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyPeephole.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.td stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblySetP2AlignOperands.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyStoreResults.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp stable/11/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h stable/11/contrib/llvm/lib/Target/WebAssembly/known_gcc_test_failures.txt stable/11/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp stable/11/contrib/llvm/lib/Target/X86/AsmParser/X86Operand.h stable/11/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp stable/11/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp stable/11/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h stable/11/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp stable/11/contrib/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp stable/11/contrib/llvm/lib/Target/X86/InstPrinter/X86InstComments.h stable/11/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp stable/11/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp stable/11/contrib/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h stable/11/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp stable/11/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp stable/11/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h stable/11/contrib/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp stable/11/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp stable/11/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h stable/11/contrib/llvm/lib/Target/X86/X86.h stable/11/contrib/llvm/lib/Target/X86/X86.td stable/11/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp stable/11/contrib/llvm/lib/Target/X86/X86AsmPrinter.h stable/11/contrib/llvm/lib/Target/X86/X86CallFrameOptimization.cpp stable/11/contrib/llvm/lib/Target/X86/X86CallingConv.h stable/11/contrib/llvm/lib/Target/X86/X86CallingConv.td stable/11/contrib/llvm/lib/Target/X86/X86ExpandPseudo.cpp stable/11/contrib/llvm/lib/Target/X86/X86FastISel.cpp stable/11/contrib/llvm/lib/Target/X86/X86FixupBWInsts.cpp stable/11/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp stable/11/contrib/llvm/lib/Target/X86/X86FixupSetCC.cpp stable/11/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp stable/11/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp stable/11/contrib/llvm/lib/Target/X86/X86FrameLowering.h stable/11/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp stable/11/contrib/llvm/lib/Target/X86/X86ISelLowering.h stable/11/contrib/llvm/lib/Target/X86/X86InstrAVX512.td stable/11/contrib/llvm/lib/Target/X86/X86InstrArithmetic.td stable/11/contrib/llvm/lib/Target/X86/X86InstrBuilder.h stable/11/contrib/llvm/lib/Target/X86/X86InstrCompiler.td stable/11/contrib/llvm/lib/Target/X86/X86InstrControl.td stable/11/contrib/llvm/lib/Target/X86/X86InstrFMA.td stable/11/contrib/llvm/lib/Target/X86/X86InstrFPStack.td stable/11/contrib/llvm/lib/Target/X86/X86InstrFormats.td stable/11/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td stable/11/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp stable/11/contrib/llvm/lib/Target/X86/X86InstrInfo.h stable/11/contrib/llvm/lib/Target/X86/X86InstrInfo.td stable/11/contrib/llvm/lib/Target/X86/X86InstrMMX.td stable/11/contrib/llvm/lib/Target/X86/X86InstrSSE.td stable/11/contrib/llvm/lib/Target/X86/X86InstrShiftRotate.td stable/11/contrib/llvm/lib/Target/X86/X86InstrSystem.td stable/11/contrib/llvm/lib/Target/X86/X86InstrXOP.td stable/11/contrib/llvm/lib/Target/X86/X86IntrinsicsInfo.h stable/11/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp stable/11/contrib/llvm/lib/Target/X86/X86OptimizeLEAs.cpp stable/11/contrib/llvm/lib/Target/X86/X86PadShortFunction.cpp stable/11/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp stable/11/contrib/llvm/lib/Target/X86/X86RegisterInfo.h stable/11/contrib/llvm/lib/Target/X86/X86RegisterInfo.td stable/11/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp stable/11/contrib/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp stable/11/contrib/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.h stable/11/contrib/llvm/lib/Target/X86/X86Subtarget.cpp stable/11/contrib/llvm/lib/Target/X86/X86Subtarget.h stable/11/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp stable/11/contrib/llvm/lib/Target/X86/X86TargetMachine.h stable/11/contrib/llvm/lib/Target/X86/X86TargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/X86/X86TargetObjectFile.h stable/11/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.cpp stable/11/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.h stable/11/contrib/llvm/lib/Target/X86/X86VZeroUpper.cpp stable/11/contrib/llvm/lib/Target/X86/X86WinAllocaExpander.cpp stable/11/contrib/llvm/lib/Target/X86/X86WinEHState.cpp stable/11/contrib/llvm/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp stable/11/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp stable/11/contrib/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.h stable/11/contrib/llvm/lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreFrameToArgsOffsetElim.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.h stable/11/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td stable/11/contrib/llvm/lib/Target/XCore/XCoreMCInstLower.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreMCInstLower.h stable/11/contrib/llvm/lib/Target/XCore/XCoreMachineFunctionInfo.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreTargetObjectFile.cpp stable/11/contrib/llvm/lib/Target/XCore/XCoreTargetObjectFile.h stable/11/contrib/llvm/lib/Target/XCore/XCoreTargetTransformInfo.h stable/11/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp stable/11/contrib/llvm/lib/Transforms/IPO/CrossDSOCFI.cpp stable/11/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp stable/11/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp stable/11/contrib/llvm/lib/Transforms/IPO/FunctionImport.cpp stable/11/contrib/llvm/lib/Transforms/IPO/GlobalDCE.cpp stable/11/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp stable/11/contrib/llvm/lib/Transforms/IPO/IPO.cpp stable/11/contrib/llvm/lib/Transforms/IPO/InferFunctionAttrs.cpp stable/11/contrib/llvm/lib/Transforms/IPO/InlineSimple.cpp stable/11/contrib/llvm/lib/Transforms/IPO/Inliner.cpp stable/11/contrib/llvm/lib/Transforms/IPO/Internalize.cpp stable/11/contrib/llvm/lib/Transforms/IPO/LowerTypeTests.cpp stable/11/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp stable/11/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp stable/11/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp stable/11/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp stable/11/contrib/llvm/lib/Transforms/IPO/SampleProfile.cpp stable/11/contrib/llvm/lib/Transforms/IPO/StripSymbols.cpp stable/11/contrib/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineInternal.h stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp stable/11/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp stable/11/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp stable/11/contrib/llvm/lib/Transforms/Instrumentation/CFGMST.h stable/11/contrib/llvm/lib/Transforms/Instrumentation/EfficiencySanitizer.cpp stable/11/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp stable/11/contrib/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp stable/11/contrib/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp stable/11/contrib/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp stable/11/contrib/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp stable/11/contrib/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp stable/11/contrib/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp stable/11/contrib/llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h stable/11/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp stable/11/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp stable/11/contrib/llvm/lib/Transforms/ObjCARC/PtrState.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/ADCE.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/BDCE.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/DCE.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/EarlyCSE.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/Float2Int.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/GVN.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/GVNHoist.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/GuardWidening.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LICM.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoadCombine.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopDeletion.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopDistribute.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopInterchange.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/NaryReassociate.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/SROA.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/Scalarizer.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/Sink.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp stable/11/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp stable/11/contrib/llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp stable/11/contrib/llvm/lib/Transforms/Utils/AddDiscriminators.cpp stable/11/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp stable/11/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp stable/11/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp stable/11/contrib/llvm/lib/Transforms/Utils/CloneModule.cpp stable/11/contrib/llvm/lib/Transforms/Utils/CmpInstAnalysis.cpp stable/11/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp stable/11/contrib/llvm/lib/Transforms/Utils/CtorUtils.cpp stable/11/contrib/llvm/lib/Transforms/Utils/Evaluator.cpp stable/11/contrib/llvm/lib/Transforms/Utils/FlattenCFG.cpp stable/11/contrib/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp stable/11/contrib/llvm/lib/Transforms/Utils/GlobalStatus.cpp stable/11/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp stable/11/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp stable/11/contrib/llvm/lib/Transforms/Utils/Local.cpp stable/11/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp stable/11/contrib/llvm/lib/Transforms/Utils/LoopUnroll.cpp stable/11/contrib/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp stable/11/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp stable/11/contrib/llvm/lib/Transforms/Utils/LoopVersioning.cpp stable/11/contrib/llvm/lib/Transforms/Utils/LowerInvoke.cpp stable/11/contrib/llvm/lib/Transforms/Utils/LowerSwitch.cpp stable/11/contrib/llvm/lib/Transforms/Utils/Mem2Reg.cpp stable/11/contrib/llvm/lib/Transforms/Utils/MemorySSA.cpp stable/11/contrib/llvm/lib/Transforms/Utils/ModuleUtils.cpp stable/11/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp stable/11/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp stable/11/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp stable/11/contrib/llvm/lib/Transforms/Utils/SimplifyInstructions.cpp stable/11/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp stable/11/contrib/llvm/lib/Transforms/Utils/SymbolRewriter.cpp stable/11/contrib/llvm/lib/Transforms/Utils/Utils.cpp stable/11/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp stable/11/contrib/llvm/lib/Transforms/Vectorize/BBVectorize.cpp stable/11/contrib/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp stable/11/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp stable/11/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp stable/11/contrib/llvm/tools/bugpoint/BugDriver.cpp stable/11/contrib/llvm/tools/bugpoint/BugDriver.h stable/11/contrib/llvm/tools/bugpoint/CrashDebugger.cpp stable/11/contrib/llvm/tools/bugpoint/ExecutionDriver.cpp stable/11/contrib/llvm/tools/bugpoint/ExtractFunction.cpp stable/11/contrib/llvm/tools/bugpoint/FindBugs.cpp stable/11/contrib/llvm/tools/bugpoint/ListReducer.h stable/11/contrib/llvm/tools/bugpoint/Miscompilation.cpp stable/11/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp stable/11/contrib/llvm/tools/bugpoint/ToolRunner.cpp stable/11/contrib/llvm/tools/bugpoint/ToolRunner.h stable/11/contrib/llvm/tools/bugpoint/bugpoint.cpp stable/11/contrib/llvm/tools/clang/include/clang-c/Index.h stable/11/contrib/llvm/tools/clang/include/clang/AST/APValue.h stable/11/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h stable/11/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h stable/11/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h stable/11/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h stable/11/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h stable/11/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h stable/11/contrib/llvm/tools/clang/include/clang/AST/Attr.h stable/11/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h stable/11/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h stable/11/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h stable/11/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h stable/11/contrib/llvm/tools/clang/include/clang/AST/Decl.h stable/11/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h stable/11/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h stable/11/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h stable/11/contrib/llvm/tools/clang/include/clang/AST/DeclGroup.h stable/11/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h stable/11/contrib/llvm/tools/clang/include/clang/AST/DeclOpenMP.h stable/11/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h stable/11/contrib/llvm/tools/clang/include/clang/AST/Expr.h stable/11/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h stable/11/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h stable/11/contrib/llvm/tools/clang/include/clang/AST/Mangle.h stable/11/contrib/llvm/tools/clang/include/clang/AST/MangleNumberingContext.h stable/11/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h stable/11/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.def stable/11/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h stable/11/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h stable/11/contrib/llvm/tools/clang/include/clang/AST/Stmt.h stable/11/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h stable/11/contrib/llvm/tools/clang/include/clang/AST/StmtGraphTraits.h stable/11/contrib/llvm/tools/clang/include/clang/AST/StmtOpenMP.h stable/11/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h stable/11/contrib/llvm/tools/clang/include/clang/AST/Type.h stable/11/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h stable/11/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def stable/11/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h stable/11/contrib/llvm/tools/clang/include/clang/AST/VTTBuilder.h stable/11/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h stable/11/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchFinder.h stable/11/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h stable/11/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h stable/11/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersMacros.h stable/11/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Registry.h stable/11/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Consumed.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Dominators.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/FormatString.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/LiveVariables.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/CallGraph.h stable/11/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/Attr.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/Attributes.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/Builtins.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAMDGPU.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNVPTX.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPPC.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/FileSystemStatCache.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/LLVM.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/Linkage.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/Module.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/OpenCLExtensions.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/OpenCLImageTypes.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/OpenCLOptions.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/PlistSupport.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/SourceManagerInternals.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td stable/11/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/TargetCXXABI.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def stable/11/contrib/llvm/tools/clang/include/clang/Basic/Version.h stable/11/contrib/llvm/tools/clang/include/clang/Basic/VirtualFileSystem.h stable/11/contrib/llvm/tools/clang/include/clang/CodeGen/BackendUtil.h stable/11/contrib/llvm/tools/clang/include/clang/CodeGen/CGFunctionInfo.h stable/11/contrib/llvm/tools/clang/include/clang/CodeGen/ModuleBuilder.h stable/11/contrib/llvm/tools/clang/include/clang/CodeGen/ObjectFilePCHContainerOperations.h stable/11/contrib/llvm/tools/clang/include/clang/CodeGen/SwiftCallingConv.h stable/11/contrib/llvm/tools/clang/include/clang/Driver/Action.h stable/11/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td stable/11/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td stable/11/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h stable/11/contrib/llvm/tools/clang/include/clang/Driver/Driver.h stable/11/contrib/llvm/tools/clang/include/clang/Driver/Job.h stable/11/contrib/llvm/tools/clang/include/clang/Driver/Multilib.h stable/11/contrib/llvm/tools/clang/include/clang/Driver/Options.td stable/11/contrib/llvm/tools/clang/include/clang/Driver/SanitizerArgs.h stable/11/contrib/llvm/tools/clang/include/clang/Driver/Tool.h stable/11/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h stable/11/contrib/llvm/tools/clang/include/clang/Driver/Types.def stable/11/contrib/llvm/tools/clang/include/clang/Driver/Types.h stable/11/contrib/llvm/tools/clang/include/clang/Edit/Rewriters.h stable/11/contrib/llvm/tools/clang/include/clang/Format/Format.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def stable/11/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/FrontendPluginRegistry.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def stable/11/contrib/llvm/tools/clang/include/clang/Frontend/PCHContainerOperations.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOutputOptions.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/SerializedDiagnosticReader.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnostic.h stable/11/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h stable/11/contrib/llvm/tools/clang/include/clang/Index/CommentToXML.h stable/11/contrib/llvm/tools/clang/include/clang/Index/IndexSymbol.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/DirectoryLookup.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/ModuleLoader.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h stable/11/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h stable/11/contrib/llvm/tools/clang/include/clang/Parse/Parser.h stable/11/contrib/llvm/tools/clang/include/clang/Rewrite/Core/HTMLRewrite.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/ExternalSemaSource.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/Overload.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/Sema.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/SemaInternal.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/Template.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h stable/11/contrib/llvm/tools/clang/include/clang/Sema/TypoCorrection.h stable/11/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h stable/11/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h stable/11/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h stable/11/contrib/llvm/tools/clang/include/clang/Serialization/Module.h stable/11/contrib/llvm/tools/clang/include/clang/Serialization/ModuleFileExtension.h stable/11/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerRegistry.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.def stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h stable/11/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h stable/11/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h stable/11/contrib/llvm/tools/clang/include/clang/Tooling/Core/Replacement.h stable/11/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h stable/11/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h stable/11/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring.h stable/11/contrib/llvm/tools/clang/include/clang/Tooling/ReplacementsYaml.h stable/11/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h stable/11/contrib/llvm/tools/clang/include/clang/module.modulemap stable/11/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp stable/11/contrib/llvm/tools/clang/lib/ARCMigrate/FileRemapper.cpp stable/11/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.cpp stable/11/contrib/llvm/tools/clang/lib/AST/APValue.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ASTTypeTraits.cpp stable/11/contrib/llvm/tools/clang/lib/AST/AttrImpl.cpp stable/11/contrib/llvm/tools/clang/lib/AST/CXXABI.h stable/11/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp stable/11/contrib/llvm/tools/clang/lib/AST/Comment.cpp stable/11/contrib/llvm/tools/clang/lib/AST/CommentBriefParser.cpp stable/11/contrib/llvm/tools/clang/lib/AST/CommentLexer.cpp stable/11/contrib/llvm/tools/clang/lib/AST/CommentParser.cpp stable/11/contrib/llvm/tools/clang/lib/AST/CommentSema.cpp stable/11/contrib/llvm/tools/clang/lib/AST/Decl.cpp stable/11/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp stable/11/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp stable/11/contrib/llvm/tools/clang/lib/AST/DeclGroup.cpp stable/11/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp stable/11/contrib/llvm/tools/clang/lib/AST/DeclOpenMP.cpp stable/11/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp stable/11/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp stable/11/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp stable/11/contrib/llvm/tools/clang/lib/AST/Expr.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ExprObjC.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp stable/11/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp stable/11/contrib/llvm/tools/clang/lib/AST/Mangle.cpp stable/11/contrib/llvm/tools/clang/lib/AST/MicrosoftCXXABI.cpp stable/11/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp stable/11/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp stable/11/contrib/llvm/tools/clang/lib/AST/OpenMPClause.cpp stable/11/contrib/llvm/tools/clang/lib/AST/RawCommentList.cpp stable/11/contrib/llvm/tools/clang/lib/AST/Stmt.cpp stable/11/contrib/llvm/tools/clang/lib/AST/StmtCXX.cpp stable/11/contrib/llvm/tools/clang/lib/AST/StmtObjC.cpp stable/11/contrib/llvm/tools/clang/lib/AST/StmtOpenMP.cpp stable/11/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp stable/11/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp stable/11/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp stable/11/contrib/llvm/tools/clang/lib/AST/Type.cpp stable/11/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp stable/11/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp stable/11/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp stable/11/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp stable/11/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp stable/11/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h stable/11/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Parser.cpp stable/11/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp stable/11/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/CallGraph.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/Consumed.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/FormatString.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/FormatStringParsing.h stable/11/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyCommon.cpp stable/11/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/DiagnosticOptions.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/FileSystemStatCache.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/Module.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/Targets.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/Version.cpp stable/11/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGBuilder.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCUDABuiltin.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCUDANV.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCUDARuntime.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypeCache.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/EHScopeStack.h stable/11/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/SanitizerMetadata.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/SwiftCallingConv.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp stable/11/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h stable/11/contrib/llvm/tools/clang/lib/Driver/Action.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/CrossWindowsToolChain.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/Driver.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/Job.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/MSVCToolChain.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/MinGWToolChain.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/Multilib.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/Tool.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/ToolChains.h stable/11/contrib/llvm/tools/clang/lib/Driver/Tools.cpp stable/11/contrib/llvm/tools/clang/lib/Driver/Tools.h stable/11/contrib/llvm/tools/clang/lib/Driver/Types.cpp stable/11/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp stable/11/contrib/llvm/tools/clang/lib/Format/BreakableToken.cpp stable/11/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp stable/11/contrib/llvm/tools/clang/lib/Format/Encoding.h stable/11/contrib/llvm/tools/clang/lib/Format/Format.cpp stable/11/contrib/llvm/tools/clang/lib/Format/FormatToken.cpp stable/11/contrib/llvm/tools/clang/lib/Format/FormatToken.h stable/11/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.cpp stable/11/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.h stable/11/contrib/llvm/tools/clang/lib/Format/SortJavaScriptImports.cpp stable/11/contrib/llvm/tools/clang/lib/Format/TokenAnalyzer.cpp stable/11/contrib/llvm/tools/clang/lib/Format/TokenAnalyzer.h stable/11/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp stable/11/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.h stable/11/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.cpp stable/11/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.h stable/11/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp stable/11/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp stable/11/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.h stable/11/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/FrontendOptions.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/ModuleDependencyCollector.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/MultiplexConsumer.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/PCHContainerOperations.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/Rewrite/FrontendActions.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/Rewrite/HTMLPrint.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteTest.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticReader.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/TestModuleFileExtension.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp stable/11/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp stable/11/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp stable/11/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_cmath.h stable/11/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_intrinsics.h stable/11/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_math_forward_declares.h stable/11/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_runtime_wrapper.h stable/11/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h stable/11/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h stable/11/contrib/llvm/tools/clang/lib/Headers/altivec.h stable/11/contrib/llvm/tools/clang/lib/Headers/ammintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/avx512bwintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/avx512dqintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/avx512fintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/avx512vlbwintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/avx512vldqintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/avx512vlintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/avxintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/bmiintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/emmintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/float.h stable/11/contrib/llvm/tools/clang/lib/Headers/fxsrintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/ia32intrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/immintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/intrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/lzcntintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/mmintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/module.modulemap stable/11/contrib/llvm/tools/clang/lib/Headers/opencl-c.h stable/11/contrib/llvm/tools/clang/lib/Headers/pmmintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/popcntintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/stdatomic.h stable/11/contrib/llvm/tools/clang/lib/Headers/tmmintrin.h stable/11/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h stable/11/contrib/llvm/tools/clang/lib/Index/CommentToXML.cpp stable/11/contrib/llvm/tools/clang/lib/Index/IndexBody.cpp stable/11/contrib/llvm/tools/clang/lib/Index/IndexDecl.cpp stable/11/contrib/llvm/tools/clang/lib/Index/IndexSymbol.cpp stable/11/contrib/llvm/tools/clang/lib/Index/IndexTypeSourceInfo.cpp stable/11/contrib/llvm/tools/clang/lib/Index/IndexingContext.cpp stable/11/contrib/llvm/tools/clang/lib/Index/IndexingContext.h stable/11/contrib/llvm/tools/clang/lib/Index/USRGeneration.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/PPCaching.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/TokenConcatenation.cpp stable/11/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseStmtAsm.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp stable/11/contrib/llvm/tools/clang/lib/Parse/Parser.cpp stable/11/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/AttributeList.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/Sema.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaCUDA.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaCoroutine.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp stable/11/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h stable/11/contrib/llvm/tools/clang/lib/Sema/TypeLocBuilder.h stable/11/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.h stable/11/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/ASTReaderInternals.h stable/11/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/GeneratePCH.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/GlobalModuleIndex.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/Module.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/ModuleFileExtension.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp stable/11/contrib/llvm/tools/clang/lib/Serialization/MultiOnDiskHashTable.h stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.h stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIFunctionClassifier.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPITypes.h stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerRegistry.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/IssueHash.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp stable/11/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.h stable/11/contrib/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp stable/11/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp stable/11/contrib/llvm/tools/clang/lib/Tooling/Core/Lookup.cpp stable/11/contrib/llvm/tools/clang/lib/Tooling/Core/QualTypeNames.cpp stable/11/contrib/llvm/tools/clang/lib/Tooling/Core/Replacement.cpp stable/11/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp stable/11/contrib/llvm/tools/clang/lib/Tooling/Refactoring.cpp stable/11/contrib/llvm/tools/clang/lib/Tooling/RefactoringCallbacks.cpp stable/11/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp stable/11/contrib/llvm/tools/clang/tools/clang-format/ClangFormat.cpp stable/11/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp stable/11/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp stable/11/contrib/llvm/tools/clang/tools/driver/driver.cpp stable/11/contrib/llvm/tools/clang/utils/TableGen/ClangASTNodesEmitter.cpp stable/11/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp stable/11/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp stable/11/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp stable/11/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp stable/11/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h stable/11/contrib/llvm/tools/llc/llc.cpp stable/11/contrib/llvm/tools/lld/CMakeLists.txt stable/11/contrib/llvm/tools/lld/COFF/CMakeLists.txt stable/11/contrib/llvm/tools/lld/COFF/Chunks.cpp stable/11/contrib/llvm/tools/lld/COFF/Chunks.h stable/11/contrib/llvm/tools/lld/COFF/Config.h stable/11/contrib/llvm/tools/lld/COFF/DLL.cpp stable/11/contrib/llvm/tools/lld/COFF/Driver.cpp stable/11/contrib/llvm/tools/lld/COFF/Driver.h stable/11/contrib/llvm/tools/lld/COFF/DriverUtils.cpp stable/11/contrib/llvm/tools/lld/COFF/Error.cpp stable/11/contrib/llvm/tools/lld/COFF/Error.h stable/11/contrib/llvm/tools/lld/COFF/ICF.cpp stable/11/contrib/llvm/tools/lld/COFF/InputFiles.cpp stable/11/contrib/llvm/tools/lld/COFF/InputFiles.h stable/11/contrib/llvm/tools/lld/COFF/Librarian.cpp stable/11/contrib/llvm/tools/lld/COFF/MarkLive.cpp stable/11/contrib/llvm/tools/lld/COFF/ModuleDef.cpp stable/11/contrib/llvm/tools/lld/COFF/Options.td stable/11/contrib/llvm/tools/lld/COFF/PDB.cpp stable/11/contrib/llvm/tools/lld/COFF/SymbolTable.cpp stable/11/contrib/llvm/tools/lld/COFF/SymbolTable.h stable/11/contrib/llvm/tools/lld/COFF/Symbols.cpp stable/11/contrib/llvm/tools/lld/COFF/Symbols.h stable/11/contrib/llvm/tools/lld/COFF/Writer.cpp stable/11/contrib/llvm/tools/lld/COFF/Writer.h stable/11/contrib/llvm/tools/lld/ELF/CMakeLists.txt stable/11/contrib/llvm/tools/lld/ELF/Config.h stable/11/contrib/llvm/tools/lld/ELF/Driver.cpp stable/11/contrib/llvm/tools/lld/ELF/Driver.h stable/11/contrib/llvm/tools/lld/ELF/DriverUtils.cpp stable/11/contrib/llvm/tools/lld/ELF/EhFrame.cpp stable/11/contrib/llvm/tools/lld/ELF/EhFrame.h stable/11/contrib/llvm/tools/lld/ELF/Error.cpp stable/11/contrib/llvm/tools/lld/ELF/Error.h stable/11/contrib/llvm/tools/lld/ELF/ICF.cpp stable/11/contrib/llvm/tools/lld/ELF/InputFiles.cpp stable/11/contrib/llvm/tools/lld/ELF/InputFiles.h stable/11/contrib/llvm/tools/lld/ELF/InputSection.cpp stable/11/contrib/llvm/tools/lld/ELF/InputSection.h stable/11/contrib/llvm/tools/lld/ELF/LTO.cpp stable/11/contrib/llvm/tools/lld/ELF/LTO.h stable/11/contrib/llvm/tools/lld/ELF/LinkerScript.cpp stable/11/contrib/llvm/tools/lld/ELF/LinkerScript.h stable/11/contrib/llvm/tools/lld/ELF/MarkLive.cpp stable/11/contrib/llvm/tools/lld/ELF/Options.td stable/11/contrib/llvm/tools/lld/ELF/OutputSections.cpp stable/11/contrib/llvm/tools/lld/ELF/OutputSections.h stable/11/contrib/llvm/tools/lld/ELF/Relocations.cpp stable/11/contrib/llvm/tools/lld/ELF/Relocations.h stable/11/contrib/llvm/tools/lld/ELF/ScriptParser.cpp stable/11/contrib/llvm/tools/lld/ELF/ScriptParser.h stable/11/contrib/llvm/tools/lld/ELF/Strings.cpp stable/11/contrib/llvm/tools/lld/ELF/Strings.h stable/11/contrib/llvm/tools/lld/ELF/SymbolTable.cpp stable/11/contrib/llvm/tools/lld/ELF/SymbolTable.h stable/11/contrib/llvm/tools/lld/ELF/Symbols.cpp stable/11/contrib/llvm/tools/lld/ELF/Symbols.h stable/11/contrib/llvm/tools/lld/ELF/Target.cpp stable/11/contrib/llvm/tools/lld/ELF/Target.h stable/11/contrib/llvm/tools/lld/ELF/Thunks.cpp stable/11/contrib/llvm/tools/lld/ELF/Writer.cpp stable/11/contrib/llvm/tools/lld/ELF/Writer.h stable/11/contrib/llvm/tools/lld/include/lld/Config/Version.h stable/11/contrib/llvm/tools/lld/include/lld/Config/Version.inc.in stable/11/contrib/llvm/tools/lld/include/lld/Core/Atom.h stable/11/contrib/llvm/tools/lld/include/lld/Core/DefinedAtom.h stable/11/contrib/llvm/tools/lld/include/lld/Core/LinkingContext.h stable/11/contrib/llvm/tools/lld/include/lld/Core/Node.h stable/11/contrib/llvm/tools/lld/include/lld/Core/Parallel.h stable/11/contrib/llvm/tools/lld/include/lld/Core/Pass.h stable/11/contrib/llvm/tools/lld/include/lld/Core/PassManager.h stable/11/contrib/llvm/tools/lld/include/lld/Core/Reader.h stable/11/contrib/llvm/tools/lld/include/lld/Core/Reference.h stable/11/contrib/llvm/tools/lld/include/lld/Core/Simple.h stable/11/contrib/llvm/tools/lld/include/lld/Core/SymbolTable.h stable/11/contrib/llvm/tools/lld/include/lld/Driver/Driver.h stable/11/contrib/llvm/tools/lld/include/lld/ReaderWriter/MachOLinkingContext.h stable/11/contrib/llvm/tools/lld/lib/Config/CMakeLists.txt stable/11/contrib/llvm/tools/lld/lib/Config/Version.cpp stable/11/contrib/llvm/tools/lld/lib/Core/CMakeLists.txt stable/11/contrib/llvm/tools/lld/lib/Core/DefinedAtom.cpp stable/11/contrib/llvm/tools/lld/lib/Core/Error.cpp stable/11/contrib/llvm/tools/lld/lib/Core/File.cpp stable/11/contrib/llvm/tools/lld/lib/Core/LinkingContext.cpp stable/11/contrib/llvm/tools/lld/lib/Core/Reader.cpp stable/11/contrib/llvm/tools/lld/lib/Core/Resolver.cpp stable/11/contrib/llvm/tools/lld/lib/Core/SymbolTable.cpp stable/11/contrib/llvm/tools/lld/lib/Core/Writer.cpp stable/11/contrib/llvm/tools/lld/lib/Driver/CMakeLists.txt stable/11/contrib/llvm/tools/lld/lib/Driver/DarwinLdDriver.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/CMakeLists.txt stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/FileArchive.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ArchHandler_x86.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/CMakeLists.txt stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/File.h stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/GOTPass.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/LayoutPass.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFile.h stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ObjCPass.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ShimPass.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/StubsPass.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/TLVPass.cpp stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/YAML/CMakeLists.txt stable/11/contrib/llvm/tools/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp stable/11/contrib/llvm/tools/lld/tools/lld/CMakeLists.txt stable/11/contrib/llvm/tools/lld/tools/lld/lld.cpp stable/11/contrib/llvm/tools/lldb/include/lldb/API/LLDB.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBAddress.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBAttachInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBBlock.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBBreakpoint.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBBreakpointLocation.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBBroadcaster.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBCommandInterpreter.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBCommandReturnObject.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBCommunication.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBCompileUnit.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBData.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBDeclaration.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBDefines.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBError.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBEvent.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBExecutionContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpecList.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBFrame.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBFunction.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBHostOS.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBInstruction.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBInstructionList.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBLanguageRuntime.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBLaunchInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBLineEntry.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBListener.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBMemoryRegionInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBMemoryRegionInfoList.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBModuleSpec.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBPlatform.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBQueue.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBQueueItem.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBSection.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBSourceManager.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBStream.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBStringList.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBSymbol.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBSymbolContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBSymbolContextList.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBThreadCollection.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBThreadPlan.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBType.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBTypeCategory.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBTypeEnumMember.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBTypeFilter.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBTypeFormat.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBTypeNameSpecifier.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBTypeSummary.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBTypeSynthetic.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBUnixSignals.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBValue.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBValueList.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBVariablesOptions.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SBWatchpoint.h stable/11/contrib/llvm/tools/lldb/include/lldb/API/SystemInitializerFull.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointID.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointIDList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocation.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointOptions.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolver.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverAddress.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverFileRegex.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverName.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSite.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSiteList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Stoppoint.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/StoppointCallbackContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/StoppointLocation.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Watchpoint.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/WatchpointList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Breakpoint/WatchpointOptions.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Address.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/AddressRange.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/AddressResolver.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/AddressResolverFileLine.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/AddressResolverName.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ArchSpec.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Baton.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Broadcaster.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ClangForward.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Communication.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Connection.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ConstString.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/DataBuffer.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/DataBufferHeap.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/DataBufferMemoryMap.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/DataEncoder.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/DataExtractor.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Disassembler.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/EmulateInstruction.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Error.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Event.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/FastDemangle.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/FileLineResolver.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/FileSpecList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Flags.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/FormatEntity.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/History.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/IOHandler.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/IOStreamMacros.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Listener.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/LoadedModuleInfoList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Log.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Logging.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Mangled.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/MappedHash.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Module.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ModuleChild.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ModuleList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ModuleSpec.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Opcode.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/PluginInterface.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/PluginManager.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/RangeMap.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/RegisterValue.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/RegularExpression.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/STLUtils.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Scalar.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/SearchFilter.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Section.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/SourceManager.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/State.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Stream.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/StreamAsynchronousIO.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/StreamBuffer.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/StreamCallback.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/StreamFile.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/StreamGDBRemote.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/StreamString.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/StreamTee.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/StringList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/StructuredData.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ThreadSafeDenseMap.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ThreadSafeDenseSet.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ThreadSafeSTLMap.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ThreadSafeSTLVector.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ThreadSafeValue.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Timer.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/UUID.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/UniqueCStringMap.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/UserID.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/UserSettingsController.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/VMRange.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/Value.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObject.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectCast.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectChild.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResult.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResultCast.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResultChild.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResultImpl.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectDynamicValue.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectMemory.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectRegister.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectVariable.h stable/11/contrib/llvm/tools/lldb/include/lldb/Core/dwarf.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/CXXFunctionPointer.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/DataVisualization.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormattersContainer.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormattersHelpers.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/LanguageCategory.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/StringPrinter.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategory.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategoryMap.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeFormat.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSummary.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSynthetic.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeValidator.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/VectorIterator.h stable/11/contrib/llvm/tools/lldb/include/lldb/DataFormatters/VectorType.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/DWARFExpression.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/DiagnosticManager.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/Expression.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/ExpressionParser.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/ExpressionSourceCode.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/ExpressionTypeSystemHelper.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/ExpressionVariable.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/FunctionCaller.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/IRDynamicChecks.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/IRExecutionUnit.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/IRInterpreter.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/IRMemoryMap.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/LLVMUserExpression.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/Materializer.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/REPL.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/UserExpression.h stable/11/contrib/llvm/tools/lldb/include/lldb/Expression/UtilityFunction.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Config.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Editline.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Endian.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/File.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/FileCache.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/FileSpec.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/FileSystem.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Host.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/HostGetOpt.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/HostInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/HostInfoBase.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/HostNativeProcess.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/HostNativeProcessBase.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/HostNativeThreadBase.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/HostNativeThreadForward.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/HostProcess.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/HostThread.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/IOObject.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/LockFile.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/LockFileBase.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/MainLoop.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/MainLoopBase.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/MonitoringProcessLauncher.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/OptionParser.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Pipe.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/PipeBase.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Predicate.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/ProcessLauncher.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/ProcessRunLock.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Socket.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/SocketAddress.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/StringConvert.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Symbols.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Terminal.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/ThisThread.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/ThreadLauncher.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/Time.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/XML.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/GetOptInc.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeBreakpoint.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeBreakpointList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeProcessProtocol.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeRegisterContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeRegisterContextRegisterInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeThreadProtocol.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeWatchpointList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/SoftwareBreakpoint.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/TCPSocket.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/common/UDPSocket.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/freebsd/Config.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/freebsd/HostThreadFreeBSD.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/netbsd/HostThreadNetBSD.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/posix/DomainSocket.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/posix/Fcntl.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/posix/HostInfoPosix.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/posix/HostProcessPosix.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/posix/HostThreadPosix.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/posix/LockFilePosix.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/posix/MainLoopPosix.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/posix/PipePosix.h stable/11/contrib/llvm/tools/lldb/include/lldb/Host/posix/ProcessLauncherPosix.h stable/11/contrib/llvm/tools/lldb/include/lldb/Initialization/SystemInitializer.h stable/11/contrib/llvm/tools/lldb/include/lldb/Initialization/SystemInitializerCommon.h stable/11/contrib/llvm/tools/lldb/include/lldb/Initialization/SystemLifetimeManager.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/Args.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandAlias.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandCompletions.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandHistory.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandInterpreter.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObject.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObjectMultiword.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandOptionValidators.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandReturnObject.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupArchitecture.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupBoolean.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupFile.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupFormat.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupOutputFile.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupPlatform.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupString.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupUInt64.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupUUID.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupVariable.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValue.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueArch.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueArgs.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueArray.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueBoolean.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueChar.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueDictionary.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueEnumeration.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFileSpec.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFileSpecList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFormat.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFormatEntity.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueLanguage.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValuePathMappings.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueProperties.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueRegex.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueSInt64.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueString.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueUInt64.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueUUID.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValues.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/Options.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/Property.h stable/11/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreter.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/ArmUnwindInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/Block.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTImporter.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangUtil.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/CompactUnwindInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/CompileUnit.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/CompilerDecl.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/CompilerDeclContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/CompilerType.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/DebugMacros.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/DeclVendor.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/Declaration.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/FuncUnwinders.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/Function.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/GoASTContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/JavaASTContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/LineEntry.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/LineTable.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectContainer.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectFile.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/Symbol.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolContextScope.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolFile.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolVendor.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/Symtab.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/TaggedASTType.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/Type.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeMap.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeSystem.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/UnwindPlan.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/UnwindTable.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/Variable.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/VariableList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Symbol/VerifyDecl.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/CPPLanguageRuntime.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/DynamicLoader.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ExecutionContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ExecutionContextScope.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/FileAction.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/InstrumentationRuntime.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/InstrumentationRuntimeStopInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/JITLoader.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/JITLoaderList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/Language.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/LanguageRuntime.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/Memory.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/MemoryHistory.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/MemoryRegionInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ObjCLanguageRuntime.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/OperatingSystem.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/PathMappingList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/Process.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ProcessInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ProcessLaunchInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/Queue.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/QueueItem.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/QueueList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/RegisterCheckpoint.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/SectionLoadHistory.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/SectionLoadList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/StackFrame.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/StackFrameList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/StackID.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/StopInfo.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/Target.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/TargetList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadCollection.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadList.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlan.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanBase.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanPython.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanRunToAddress.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanShouldStopHere.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepInRange.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepInstruction.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOut.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOverBreakpoint.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOverRange.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepRange.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepThrough.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepUntil.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanTracer.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/ThreadSpec.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/UnixSignals.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/Unwind.h stable/11/contrib/llvm/tools/lldb/include/lldb/Target/UnwindAssembly.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/AnsiTerminal.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/CleanUp.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/ConvertEnum.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/Either.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/JSON.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/LLDBAssert.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/NameMatches.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/PriorityPointerPair.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/ProcessStructReader.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/PseudoTerminal.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/Range.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/RegisterNumber.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/SafeMachO.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/SharedCluster.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/SharingPtr.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/StringExtractor.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/StringLexer.h stable/11/contrib/llvm/tools/lldb/include/lldb/Utility/TaskPool.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-defines.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-private-defines.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-private-enumerations.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-private-forward.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-private-interfaces.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-private-types.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-private.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-public.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-types.h stable/11/contrib/llvm/tools/lldb/include/lldb/lldb-versioning.h stable/11/contrib/llvm/tools/lldb/source/API/SBAddress.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBAttachInfo.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBBlock.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBBreakpoint.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBBreakpointLocation.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBBroadcaster.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBCommandInterpreter.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBCommandReturnObject.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBCommunication.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBCompileUnit.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBData.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBDeclaration.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBError.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBEvent.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBExecutionContext.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBExpressionOptions.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBFileSpecList.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBFrame.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBFunction.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBHostOS.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBInstruction.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBInstructionList.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBLanguageRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBLaunchInfo.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBLineEntry.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBListener.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBMemoryRegionInfo.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBMemoryRegionInfoList.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBModule.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBModuleSpec.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBProcess.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBQueue.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBQueueItem.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBSection.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBSourceManager.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBStream.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBStringList.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBSymbol.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBSymbolContext.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBSymbolContextList.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBTarget.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBThread.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBThreadCollection.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBThreadPlan.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBType.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBTypeCategory.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBTypeEnumMember.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBTypeFilter.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBTypeFormat.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBTypeNameSpecifier.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBTypeSummary.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBTypeSynthetic.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBUnixSignals.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBValue.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBValueList.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBVariablesOptions.cpp stable/11/contrib/llvm/tools/lldb/source/API/SBWatchpoint.cpp stable/11/contrib/llvm/tools/lldb/source/API/SystemInitializerFull.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointID.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointIDList.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationCollection.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointOptions.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolver.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverAddress.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverName.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointSite.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointSiteList.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/Stoppoint.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/StoppointCallbackContext.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/StoppointLocation.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/Watchpoint.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/WatchpointList.cpp stable/11/contrib/llvm/tools/lldb/source/Breakpoint/WatchpointOptions.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandCompletions.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectApropos.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectApropos.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectArgs.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectArgs.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpoint.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpoint.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpointCommand.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpointCommand.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectBugreport.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectBugreport.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectCommands.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectCommands.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectDisassemble.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectDisassemble.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectFrame.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectFrame.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectGUI.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectGUI.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectHelp.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectHelp.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectLanguage.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectLanguage.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectLog.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectLog.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectMultiword.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectRegister.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectRegister.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectSettings.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectSettings.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectSource.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectSource.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectSyntax.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectSyntax.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectType.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectType.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectVersion.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectVersion.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.h stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpointCommand.cpp stable/11/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpointCommand.h stable/11/contrib/llvm/tools/lldb/source/Core/Address.cpp stable/11/contrib/llvm/tools/lldb/source/Core/AddressRange.cpp stable/11/contrib/llvm/tools/lldb/source/Core/AddressResolver.cpp stable/11/contrib/llvm/tools/lldb/source/Core/AddressResolverFileLine.cpp stable/11/contrib/llvm/tools/lldb/source/Core/AddressResolverName.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ArchSpec.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Baton.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Broadcaster.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Communication.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Connection.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ConstString.cpp stable/11/contrib/llvm/tools/lldb/source/Core/DataBufferHeap.cpp stable/11/contrib/llvm/tools/lldb/source/Core/DataBufferMemoryMap.cpp stable/11/contrib/llvm/tools/lldb/source/Core/DataEncoder.cpp stable/11/contrib/llvm/tools/lldb/source/Core/DataExtractor.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Debugger.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Disassembler.cpp stable/11/contrib/llvm/tools/lldb/source/Core/DynamicLoader.cpp stable/11/contrib/llvm/tools/lldb/source/Core/EmulateInstruction.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Error.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Event.cpp stable/11/contrib/llvm/tools/lldb/source/Core/FastDemangle.cpp stable/11/contrib/llvm/tools/lldb/source/Core/FileLineResolver.cpp stable/11/contrib/llvm/tools/lldb/source/Core/FileSpecList.cpp stable/11/contrib/llvm/tools/lldb/source/Core/FormatEntity.cpp stable/11/contrib/llvm/tools/lldb/source/Core/History.cpp stable/11/contrib/llvm/tools/lldb/source/Core/IOHandler.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Listener.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Log.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Logging.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Mangled.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Module.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ModuleChild.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ModuleList.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Opcode.cpp stable/11/contrib/llvm/tools/lldb/source/Core/PluginManager.cpp stable/11/contrib/llvm/tools/lldb/source/Core/RegisterValue.cpp stable/11/contrib/llvm/tools/lldb/source/Core/RegularExpression.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Scalar.cpp stable/11/contrib/llvm/tools/lldb/source/Core/SearchFilter.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Section.cpp stable/11/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp stable/11/contrib/llvm/tools/lldb/source/Core/State.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Stream.cpp stable/11/contrib/llvm/tools/lldb/source/Core/StreamAsynchronousIO.cpp stable/11/contrib/llvm/tools/lldb/source/Core/StreamCallback.cpp stable/11/contrib/llvm/tools/lldb/source/Core/StreamFile.cpp stable/11/contrib/llvm/tools/lldb/source/Core/StreamGDBRemote.cpp stable/11/contrib/llvm/tools/lldb/source/Core/StreamString.cpp stable/11/contrib/llvm/tools/lldb/source/Core/StringList.cpp stable/11/contrib/llvm/tools/lldb/source/Core/StructuredData.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Timer.cpp stable/11/contrib/llvm/tools/lldb/source/Core/UUID.cpp stable/11/contrib/llvm/tools/lldb/source/Core/UserID.cpp stable/11/contrib/llvm/tools/lldb/source/Core/UserSettingsController.cpp stable/11/contrib/llvm/tools/lldb/source/Core/VMRange.cpp stable/11/contrib/llvm/tools/lldb/source/Core/Value.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObject.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectCast.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectChild.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResult.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResultCast.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResultChild.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResultImpl.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectDynamicValue.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectList.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectMemory.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectRegister.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp stable/11/contrib/llvm/tools/lldb/source/Core/ValueObjectVariable.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/CXXFunctionPointer.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/DataVisualization.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/DumpValueObjectOptions.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/FormatCache.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/FormatClasses.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/FormattersHelpers.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/LanguageCategory.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/StringPrinter.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategory.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategoryMap.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/TypeFormat.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/TypeSummary.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/TypeSynthetic.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/TypeValidator.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp stable/11/contrib/llvm/tools/lldb/source/DataFormatters/VectorType.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/DWARFExpression.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/DiagnosticManager.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/Expression.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/ExpressionSourceCode.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/ExpressionVariable.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/FunctionCaller.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/IRDynamicChecks.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/IRExecutionUnit.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/IRInterpreter.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/IRMemoryMap.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/LLVMUserExpression.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/REPL.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/UserExpression.cpp stable/11/contrib/llvm/tools/lldb/source/Expression/UtilityFunction.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/Editline.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/File.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/FileCache.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/FileSpec.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/FileSystem.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/GetOptInc.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/Host.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/HostInfoBase.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/HostNativeThreadBase.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/HostProcess.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/HostThread.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/LockFileBase.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/MonitoringProcessLauncher.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpoint.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpointList.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/NativeProcessProtocol.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/NativeRegisterContext.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/NativeRegisterContextRegisterInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/NativeThreadProtocol.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/NativeWatchpointList.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/OptionParser.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/PipeBase.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/ProcessRunLock.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/Socket.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/SocketAddress.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/SoftwareBreakpoint.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/StringConvert.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/TCPSocket.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/Terminal.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/ThisThread.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/ThreadLauncher.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/UDPSocket.cpp stable/11/contrib/llvm/tools/lldb/source/Host/common/XML.cpp stable/11/contrib/llvm/tools/lldb/source/Host/freebsd/Host.cpp stable/11/contrib/llvm/tools/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp stable/11/contrib/llvm/tools/lldb/source/Host/freebsd/HostThreadFreeBSD.cpp stable/11/contrib/llvm/tools/lldb/source/Host/freebsd/ThisThread.cpp stable/11/contrib/llvm/tools/lldb/source/Host/netbsd/Host.cpp stable/11/contrib/llvm/tools/lldb/source/Host/netbsd/HostInfoNetBSD.cpp stable/11/contrib/llvm/tools/lldb/source/Host/netbsd/HostThreadNetBSD.cpp stable/11/contrib/llvm/tools/lldb/source/Host/netbsd/ThisThread.cpp stable/11/contrib/llvm/tools/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp stable/11/contrib/llvm/tools/lldb/source/Host/posix/DomainSocket.cpp stable/11/contrib/llvm/tools/lldb/source/Host/posix/FileSystem.cpp stable/11/contrib/llvm/tools/lldb/source/Host/posix/HostInfoPosix.cpp stable/11/contrib/llvm/tools/lldb/source/Host/posix/HostProcessPosix.cpp stable/11/contrib/llvm/tools/lldb/source/Host/posix/HostThreadPosix.cpp stable/11/contrib/llvm/tools/lldb/source/Host/posix/LockFilePosix.cpp stable/11/contrib/llvm/tools/lldb/source/Host/posix/MainLoopPosix.cpp stable/11/contrib/llvm/tools/lldb/source/Host/posix/PipePosix.cpp stable/11/contrib/llvm/tools/lldb/source/Host/posix/ProcessLauncherPosix.cpp stable/11/contrib/llvm/tools/lldb/source/Initialization/SystemInitializer.cpp stable/11/contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp stable/11/contrib/llvm/tools/lldb/source/Initialization/SystemLifetimeManager.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/Args.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/CommandAlias.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/CommandHistory.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/CommandObject.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectRegexCommand.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.h stable/11/contrib/llvm/tools/lldb/source/Interpreter/CommandOptionValidators.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/CommandReturnObject.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupArchitecture.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupBoolean.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFile.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFormat.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupOutputFile.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupPlatform.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupString.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUInt64.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUUID.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupVariable.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupWatchpoint.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueArch.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueArgs.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueArray.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueBoolean.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueChar.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueDictionary.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueEnumeration.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFileSpec.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFileSpecLIst.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFormat.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFormatEntity.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueLanguage.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValuePathMappings.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueProperties.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueRegex.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueSInt64.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueString.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueUInt64.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/OptionValueUUID.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/Options.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/Property.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/ScriptInterpreter.cpp stable/11/contrib/llvm/tools/lldb/source/Interpreter/embedded_interpreter.py stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.h stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.h stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.h stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoAST.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoLexer.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoLexer.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoParser.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoParser.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/gen_go_ast.py stable/11/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.h stable/11/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.h stable/11/contrib/llvm/tools/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/BlockPointer.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxx.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoFormatterFunctions.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoFormatterFunctions.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoLanguage.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoLanguage.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaFormatterFunctions.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaFormatterFunctions.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaLanguage.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaLanguage.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/CF.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/CF.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/Cocoa.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/Cocoa.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/CoreMedia.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/CoreMedia.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSArray.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSDictionary.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSError.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSException.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSSet.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSSet.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSString.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSString.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/ObjCLanguage.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.h stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h stable/11/contrib/llvm/tools/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h stable/11/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.h stable/11/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/POSIXStopInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/POSIXStopInfo.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIX.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_powerpc.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_powerpc.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_x86.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_x86.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/CrashReason.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/CrashReason.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessMessage.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessMessage.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/ARMDefines.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/ARMUtils.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/FreeBSDSignals.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/GDBRemoteSignals.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/GDBRemoteSignals.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InstructionUtils.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxSignals.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/MipsLinuxSignals.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/MipsLinuxSignals.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/NetBSDSignals.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDummy.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDummy.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_arm.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_arm.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_arm.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_arm.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_i386.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_mips64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_s390x.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_s390x.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_arm.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_arm.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_i386.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_i386.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_x86_64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_x86_64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextNetBSD_x86_64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContext_mips.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContext_powerpc.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContext_s390x.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContext_x86.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfoInterface.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_mips.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_powerpc.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_s390x.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/StopInfoMachException.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/ThreadMemory.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/ThreadMemory.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindLLDB.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/lldb-arm-register-enums.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/lldb-arm64-register-enums.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/lldb-mips-freebsd-register-enums.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/lldb-mips-linux-register-enums.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/lldb-s390x-register-enums.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h stable/11/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DIERef.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserGo.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserGo.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserJava.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserJava.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIECollection.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIECollection.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfo.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacinfoEntry.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnamesSet.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.h stable/11/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h stable/11/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp stable/11/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h stable/11/contrib/llvm/tools/lldb/source/Symbol/ArmUnwindInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/Block.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/ClangASTContext.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/ClangASTImporter.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/ClangExternalASTSourceCallbacks.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/ClangUtil.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/CompactUnwindInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/CompileUnit.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/CompilerDecl.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/CompilerDeclContext.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/CompilerType.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/DWARFCallFrameInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/DebugMacros.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/Declaration.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/FuncUnwinders.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/Function.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/GoASTContext.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/JavaASTContext.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/LineEntry.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/LineTable.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/ObjectFile.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/Symbol.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/SymbolContext.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/SymbolFile.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/SymbolVendor.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/Symtab.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/Type.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/TypeList.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/TypeMap.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/TypeSystem.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/UnwindTable.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/Variable.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/VariableList.cpp stable/11/contrib/llvm/tools/lldb/source/Symbol/VerifyDecl.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ABI.cpp stable/11/contrib/llvm/tools/lldb/source/Target/CPPLanguageRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ExecutionContext.cpp stable/11/contrib/llvm/tools/lldb/source/Target/FileAction.cpp stable/11/contrib/llvm/tools/lldb/source/Target/InstrumentationRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Target/InstrumentationRuntimeStopInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Target/JITLoader.cpp stable/11/contrib/llvm/tools/lldb/source/Target/JITLoaderList.cpp stable/11/contrib/llvm/tools/lldb/source/Target/Language.cpp stable/11/contrib/llvm/tools/lldb/source/Target/LanguageRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Target/Memory.cpp stable/11/contrib/llvm/tools/lldb/source/Target/MemoryHistory.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ObjCLanguageRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Target/OperatingSystem.cpp stable/11/contrib/llvm/tools/lldb/source/Target/PathMappingList.cpp stable/11/contrib/llvm/tools/lldb/source/Target/Platform.cpp stable/11/contrib/llvm/tools/lldb/source/Target/Process.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ProcessInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ProcessLaunchInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Target/Queue.cpp stable/11/contrib/llvm/tools/lldb/source/Target/QueueItem.cpp stable/11/contrib/llvm/tools/lldb/source/Target/QueueList.cpp stable/11/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp stable/11/contrib/llvm/tools/lldb/source/Target/SectionLoadHistory.cpp stable/11/contrib/llvm/tools/lldb/source/Target/SectionLoadList.cpp stable/11/contrib/llvm/tools/lldb/source/Target/StackFrame.cpp stable/11/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp stable/11/contrib/llvm/tools/lldb/source/Target/StackID.cpp stable/11/contrib/llvm/tools/lldb/source/Target/StopInfo.cpp stable/11/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp stable/11/contrib/llvm/tools/lldb/source/Target/Target.cpp stable/11/contrib/llvm/tools/lldb/source/Target/TargetList.cpp stable/11/contrib/llvm/tools/lldb/source/Target/Thread.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadCollection.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadList.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlan.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanBase.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallUserExpression.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanPython.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanRunToAddress.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanShouldStopHere.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInRange.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInstruction.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOut.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverRange.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepRange.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepThrough.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepUntil.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadPlanTracer.cpp stable/11/contrib/llvm/tools/lldb/source/Target/ThreadSpec.cpp stable/11/contrib/llvm/tools/lldb/source/Target/UnixSignals.cpp stable/11/contrib/llvm/tools/lldb/source/Target/UnwindAssembly.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/ARM64_DWARF_Registers.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/ARM64_DWARF_Registers.h stable/11/contrib/llvm/tools/lldb/source/Utility/ARM64_ehframe_Registers.h stable/11/contrib/llvm/tools/lldb/source/Utility/ARM_DWARF_Registers.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/ARM_DWARF_Registers.h stable/11/contrib/llvm/tools/lldb/source/Utility/ARM_ehframe_Registers.h stable/11/contrib/llvm/tools/lldb/source/Utility/ConvertEnum.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/JSON.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/LLDBAssert.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/ModuleCache.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/ModuleCache.h stable/11/contrib/llvm/tools/lldb/source/Utility/NameMatches.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/PseudoTerminal.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/Range.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/RegisterNumber.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/SharingPtr.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h stable/11/contrib/llvm/tools/lldb/source/Utility/StringLexer.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/TaskPool.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/UriParser.cpp stable/11/contrib/llvm/tools/lldb/source/Utility/UriParser.h stable/11/contrib/llvm/tools/lldb/source/lldb.cpp stable/11/contrib/llvm/tools/lldb/tools/argdumper/argdumper.cpp stable/11/contrib/llvm/tools/lldb/tools/compact-unwind/compact-unwind-dumper.c stable/11/contrib/llvm/tools/lldb/tools/driver/Driver.cpp stable/11/contrib/llvm/tools/lldb/tools/driver/Driver.h stable/11/contrib/llvm/tools/lldb/tools/driver/Platform.cpp stable/11/contrib/llvm/tools/lldb/tools/driver/Platform.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgContext.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgContext.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgSet.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgSet.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValBase.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValBase.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValConsume.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValConsume.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValFile.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValFile.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValListBase.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValListBase.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValListOfN.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValListOfN.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValNumber.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValNumber.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValOptionLong.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValOptionLong.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValOptionShort.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValOptionShort.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValPrintValues.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValPrintValues.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValString.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValString.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValThreadGrp.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValThreadGrp.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdBase.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdBase.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmd.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmd.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdBreak.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdBreak.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdData.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdData.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdEnviro.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdEnviro.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdExec.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdExec.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdFile.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdFile.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbInfo.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbInfo.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbSet.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbSet.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbShow.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbShow.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbThread.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbThread.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdMiscellanous.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdMiscellanous.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdStack.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdStack.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdSupportInfo.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdSupportInfo.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdSupportList.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdSupportList.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdSymbol.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdSymbol.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdTarget.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdTarget.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdThread.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdThread.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdTrace.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdTrace.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdVar.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdVar.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCommands.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCommands.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdData.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdFactory.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdFactory.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdInterpreter.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdInterpreter.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdInvoker.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdInvoker.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdMgr.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdMgr.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdMgrSetCmdDeleteCallback.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdMgrSetCmdDeleteCallback.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnBase.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnBase.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnConfig.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBBroadcaster.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBBroadcaster.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebugSessionInfo.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebugSessionInfo.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebugger.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebugger.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBProxySBValue.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBProxySBValue.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBUtilSBValue.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBUtilSBValue.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLog.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLog.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLogMediumFile.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLogMediumFile.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIOutOfBandRecord.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIOutOfBandRecord.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIResultRecord.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIResultRecord.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIValue.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIValue.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIValueConst.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIValueConst.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIValueList.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIValueList.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIValueResult.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIValueResult.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIValueTuple.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnMIValueTuple.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnResources.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnResources.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnStreamStderr.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnStreamStderr.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnStreamStdin.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnStreamStdin.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnStreamStdout.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnStreamStdout.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnThreadMgrStd.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnThreadMgrStd.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIDataTypes.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriver.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriver.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriverBase.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriverBase.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriverMain.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriverMgr.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriverMgr.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilDateTimeStd.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilDateTimeStd.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilDebug.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilDebug.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilFileStd.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilFileStd.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilMapIdToVariant.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilMapIdToVariant.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilSingletonBase.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilSingletonHelper.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilString.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilString.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilThreadBaseStd.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilThreadBaseStd.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilVariant.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilVariant.h stable/11/contrib/llvm/tools/lldb/tools/lldb-mi/Platform.h stable/11/contrib/llvm/tools/lldb/tools/lldb-server/Acceptor.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-server/Acceptor.h stable/11/contrib/llvm/tools/lldb/tools/lldb-server/LLDBServerUtilities.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-server/LLDBServerUtilities.h stable/11/contrib/llvm/tools/lldb/tools/lldb-server/lldb-gdbserver.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-server/lldb-platform.cpp stable/11/contrib/llvm/tools/lldb/tools/lldb-server/lldb-server.cpp stable/11/contrib/llvm/tools/lli/ChildTarget/ChildTarget.cpp stable/11/contrib/llvm/tools/lli/OrcLazyJIT.cpp stable/11/contrib/llvm/tools/lli/OrcLazyJIT.h stable/11/contrib/llvm/tools/lli/RemoteJITUtils.h stable/11/contrib/llvm/tools/lli/lli.cpp stable/11/contrib/llvm/tools/llvm-ar/llvm-ar.cpp stable/11/contrib/llvm/tools/llvm-as/llvm-as.cpp stable/11/contrib/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp stable/11/contrib/llvm/tools/llvm-cov/CodeCoverage.cpp stable/11/contrib/llvm/tools/llvm-cov/CoverageReport.cpp stable/11/contrib/llvm/tools/llvm-cov/CoverageReport.h stable/11/contrib/llvm/tools/llvm-cov/CoverageSummaryInfo.cpp stable/11/contrib/llvm/tools/llvm-cov/CoverageSummaryInfo.h stable/11/contrib/llvm/tools/llvm-cov/CoverageViewOptions.h stable/11/contrib/llvm/tools/llvm-cov/SourceCoverageView.cpp stable/11/contrib/llvm/tools/llvm-cov/SourceCoverageView.h stable/11/contrib/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp stable/11/contrib/llvm/tools/llvm-cov/SourceCoverageViewHTML.h stable/11/contrib/llvm/tools/llvm-cov/SourceCoverageViewText.cpp stable/11/contrib/llvm/tools/llvm-cov/SourceCoverageViewText.h stable/11/contrib/llvm/tools/llvm-cov/llvm-cov.cpp stable/11/contrib/llvm/tools/llvm-cxxdump/Error.cpp stable/11/contrib/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp stable/11/contrib/llvm/tools/llvm-dis/llvm-dis.cpp stable/11/contrib/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp stable/11/contrib/llvm/tools/llvm-extract/llvm-extract.cpp stable/11/contrib/llvm/tools/llvm-link/llvm-link.cpp stable/11/contrib/llvm/tools/llvm-lto/llvm-lto.cpp stable/11/contrib/llvm/tools/llvm-mc/Disassembler.cpp stable/11/contrib/llvm/tools/llvm-mc/llvm-mc.cpp stable/11/contrib/llvm/tools/llvm-nm/llvm-nm.cpp stable/11/contrib/llvm/tools/llvm-objdump/COFFDump.cpp stable/11/contrib/llvm/tools/llvm-objdump/ELFDump.cpp stable/11/contrib/llvm/tools/llvm-objdump/MachODump.cpp stable/11/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp stable/11/contrib/llvm/tools/llvm-objdump/llvm-objdump.h stable/11/contrib/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/LLVMOutputStyle.h stable/11/contrib/llvm/tools/llvm-pdbdump/PdbYaml.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/PdbYaml.h stable/11/contrib/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/YAMLOutputStyle.h stable/11/contrib/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp stable/11/contrib/llvm/tools/llvm-pdbdump/llvm-pdbdump.h stable/11/contrib/llvm/tools/llvm-profdata/llvm-profdata.cpp stable/11/contrib/llvm/tools/llvm-readobj/ARMEHABIPrinter.h stable/11/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp stable/11/contrib/llvm/tools/llvm-readobj/ELFDumper.cpp stable/11/contrib/llvm/tools/llvm-readobj/Error.cpp stable/11/contrib/llvm/tools/llvm-readobj/MachODumper.cpp stable/11/contrib/llvm/tools/llvm-readobj/ObjDumper.h stable/11/contrib/llvm/tools/llvm-readobj/StackMapPrinter.h stable/11/contrib/llvm/tools/llvm-readobj/llvm-readobj.cpp stable/11/contrib/llvm/tools/llvm-readobj/llvm-readobj.h stable/11/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp stable/11/contrib/llvm/tools/llvm-stress/llvm-stress.cpp stable/11/contrib/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp stable/11/contrib/llvm/tools/opt/NewPMDriver.cpp stable/11/contrib/llvm/tools/opt/NewPMDriver.h stable/11/contrib/llvm/tools/opt/PassPrinters.cpp stable/11/contrib/llvm/tools/opt/opt.cpp stable/11/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp stable/11/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp stable/11/contrib/llvm/utils/TableGen/Attributes.cpp stable/11/contrib/llvm/utils/TableGen/CTagsEmitter.cpp stable/11/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp stable/11/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp stable/11/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h stable/11/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp stable/11/contrib/llvm/utils/TableGen/CodeGenInstruction.h stable/11/contrib/llvm/utils/TableGen/CodeGenIntrinsics.h stable/11/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp stable/11/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp stable/11/contrib/llvm/utils/TableGen/CodeGenRegisters.h stable/11/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp stable/11/contrib/llvm/utils/TableGen/CodeGenTarget.cpp stable/11/contrib/llvm/utils/TableGen/CodeGenTarget.h stable/11/contrib/llvm/utils/TableGen/DAGISelEmitter.cpp stable/11/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp stable/11/contrib/llvm/utils/TableGen/DAGISelMatcherOpt.cpp stable/11/contrib/llvm/utils/TableGen/DFAPacketizerEmitter.cpp stable/11/contrib/llvm/utils/TableGen/DisassemblerEmitter.cpp stable/11/contrib/llvm/utils/TableGen/FastISelEmitter.cpp stable/11/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp stable/11/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp stable/11/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp stable/11/contrib/llvm/utils/TableGen/PseudoLoweringEmitter.cpp stable/11/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp stable/11/contrib/llvm/utils/TableGen/SearchableTableEmitter.cpp stable/11/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp stable/11/contrib/llvm/utils/TableGen/TableGen.cpp stable/11/contrib/llvm/utils/TableGen/TableGenBackends.h stable/11/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp stable/11/contrib/llvm/utils/TableGen/X86RecognizableInstr.h stable/11/etc/mtree/BSD.debug.dist stable/11/etc/mtree/BSD.usr.dist stable/11/gnu/usr.bin/binutils/ld/Makefile stable/11/lib/clang/freebsd_cc_version.h stable/11/lib/clang/headers/Makefile stable/11/lib/clang/include/clang/Basic/Version.inc stable/11/lib/clang/include/clang/Config/config.h stable/11/lib/clang/include/lld/Config/Version.inc stable/11/lib/clang/include/llvm/Config/config.h stable/11/lib/clang/include/llvm/Config/llvm-config.h stable/11/lib/clang/libclang/Makefile stable/11/lib/clang/liblldb/Makefile stable/11/lib/clang/libllvm/Makefile stable/11/lib/clang/libllvmminimal/Makefile stable/11/lib/clang/llvm.build.mk stable/11/lib/libc++/Makefile stable/11/lib/libc/gdtoa/Makefile.inc stable/11/lib/libclang_rt/Makefile.inc stable/11/lib/libclang_rt/asan/Makefile stable/11/lib/libclang_rt/asan_dynamic/Makefile stable/11/lib/libclang_rt/safestack/Makefile stable/11/lib/libclang_rt/stats/Makefile stable/11/lib/libclang_rt/ubsan_standalone/Makefile stable/11/lib/libcompiler_rt/Makefile stable/11/share/mk/bsd.sys.mk stable/11/share/mk/src.opts.mk stable/11/sys/conf/kern.mk stable/11/sys/sys/param.h stable/11/tools/build/mk/OptionalObsoleteFiles.inc stable/11/usr.bin/clang/Makefile stable/11/usr.bin/clang/lld/Makefile stable/11/usr.bin/clang/llvm-cov/Makefile stable/11/usr.bin/clang/llvm-objdump/Makefile stable/11/usr.bin/clang/llvm-pdbdump/Makefile stable/11/usr.bin/clang/llvm-tblgen/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/Makefile.inc1 ============================================================================== --- stable/11/Makefile.inc1 Sun Apr 2 16:39:39 2017 (r316422) +++ stable/11/Makefile.inc1 Sun Apr 2 17:24:58 2017 (r316423) @@ -1799,6 +1799,9 @@ _elftctools= lib/libelftc \ # cross-build on a FreeBSD 10 host: _elftctools+= usr.bin/addr2line .endif +.if ${MK_LLD_IS_LD} != "no" +_lld= usr.bin/clang/lld +.endif .elif ${TARGET_ARCH} != ${MACHINE_ARCH} && ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no" # If cross-building with an external binutils we still need to build strip for # the target (for at least crunchide). @@ -1822,6 +1825,7 @@ cross-tools: .MAKE .PHONY .for _tool in \ ${_clang_libs} \ ${_clang} \ + ${_lld} \ ${_binutils} \ ${_elftctools} \ ${_dtrace_tools} \ Modified: stable/11/ObsoleteFiles.inc ============================================================================== --- stable/11/ObsoleteFiles.inc Sun Apr 2 16:39:39 2017 (r316422) +++ stable/11/ObsoleteFiles.inc Sun Apr 2 17:24:58 2017 (r316423) @@ -38,6 +38,119 @@ # xargs -n1 | sort | uniq -d; # done +# 20170402: new libc++ import which bumps version from 3.9.1 to 4.0.0. +OLD_FILES+=usr/include/c++/v1/__undef___deallocate +OLD_FILES+=usr/include/c++/v1/tr1/__undef___deallocate +# 20170402: new clang import which bumps version from 3.9.1 to 4.0.0. +OLD_FILES+=usr/lib/clang/3.9.1/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/3.9.1/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/3.9.1/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/3.9.1/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/3.9.1/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/3.9.1/include/sanitizer/esan_interface.h +OLD_FILES+=usr/lib/clang/3.9.1/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/3.9.1/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/3.9.1/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/3.9.1/include/sanitizer/tsan_interface_atomic.h +OLD_DIRS+=usr/lib/clang/3.9.1/include/sanitizer +OLD_FILES+=usr/lib/clang/3.9.1/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/3.9.1/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/3.9.1/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/3.9.1/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/3.9.1/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/3.9.1/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/3.9.1/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/3.9.1/include/adxintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/altivec.h +OLD_FILES+=usr/lib/clang/3.9.1/include/ammintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/arm_acle.h +OLD_FILES+=usr/lib/clang/3.9.1/include/arm_neon.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/avxintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/cpuid.h +OLD_FILES+=usr/lib/clang/3.9.1/include/cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/3.9.1/include/emmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/htmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/immintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/3.9.1/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/3.9.1/include/mmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/module.modulemap +OLD_FILES+=usr/lib/clang/3.9.1/include/msa.h +OLD_FILES+=usr/lib/clang/3.9.1/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/opencl-c.h +OLD_FILES+=usr/lib/clang/3.9.1/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/s390intrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/shaintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/smmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/vadefs.h +OLD_FILES+=usr/lib/clang/3.9.1/include/vecintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/x86intrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/xopintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/3.9.1/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/3.9.1/include +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/3.9.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_DIRS+=usr/lib/clang/3.9.1/lib/freebsd +OLD_DIRS+=usr/lib/clang/3.9.1/lib +OLD_DIRS+=usr/lib/clang/3.9.1 # 20170322: rename to _test to match the FreeBSD test suite name scheme OLD_FILES+=usr/tests/usr.bin/col/col OLD_FILES+=usr/tests/usr.bin/ident/ident Modified: stable/11/UPDATING ============================================================================== --- stable/11/UPDATING Sun Apr 2 16:39:39 2017 (r316422) +++ stable/11/UPDATING Sun Apr 2 17:24:58 2017 (r316423) @@ -16,6 +16,11 @@ from older versions of FreeBSD, try WITH the tip of head, and then rebuild without this option. The bootstrap process from older version of current across the gcc/clang cutover is a bit fragile. +20170402: + Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 4.0.0. + Please see the 20141231 entry below for information about prerequisites + and upgrading, if you are not already using clang 3.5.0 or higher. + 20170323: The code that provides support for ZFS .zfs/ directory functionality has been reimplemented. It's not possible now to create a snapshot Modified: stable/11/contrib/compiler-rt/include/sanitizer/common_interface_defs.h ============================================================================== --- stable/11/contrib/compiler-rt/include/sanitizer/common_interface_defs.h Sun Apr 2 16:39:39 2017 (r316422) +++ stable/11/contrib/compiler-rt/include/sanitizer/common_interface_defs.h Sun Apr 2 17:24:58 2017 (r316423) @@ -117,6 +117,16 @@ extern "C" { // Print the stack trace leading to this call. Useful for debugging user code. void __sanitizer_print_stack_trace(); + // Symbolizes the supplied 'pc' using the format string 'fmt'. + // Outputs at most 'out_buf_size' bytes into 'out_buf'. + // The format syntax is described in + // lib/sanitizer_common/sanitizer_stacktrace_printer.h. + void __sanitizer_symbolize_pc(void *pc, const char *fmt, char *out_buf, + size_t out_buf_size); + // Same as __sanitizer_symbolize_pc, but for data section (i.e. globals). + void __sanitizer_symbolize_global(void *data_ptr, const char *fmt, + char *out_buf, size_t out_buf_size); + // Sets the callback to be called right before death on error. // Passing 0 will unset the callback. void __sanitizer_set_death_callback(void (*callback)(void)); @@ -169,7 +179,16 @@ extern "C" { // use-after-return detection. void __sanitizer_start_switch_fiber(void **fake_stack_save, const void *bottom, size_t size); - void __sanitizer_finish_switch_fiber(void *fake_stack_save); + void __sanitizer_finish_switch_fiber(void *fake_stack_save, + const void **bottom_old, + size_t *size_old); + + // Get full module name and calculate pc offset within it. + // Returns 1 if pc belongs to some module, 0 if module was not found. + int __sanitizer_get_module_and_offset_for_pc(void *pc, char *module_path, + size_t module_path_len, + void **pc_offset); + #ifdef __cplusplus } // extern "C" #endif Modified: stable/11/contrib/compiler-rt/include/sanitizer/coverage_interface.h ============================================================================== --- stable/11/contrib/compiler-rt/include/sanitizer/coverage_interface.h Sun Apr 2 16:39:39 2017 (r316422) +++ stable/11/contrib/compiler-rt/include/sanitizer/coverage_interface.h Sun Apr 2 17:24:58 2017 (r316423) @@ -23,6 +23,11 @@ extern "C" { void __sanitizer_cov_init(); // Record and dump coverage info. void __sanitizer_cov_dump(); + + // Dump collected coverage info. Sorts pcs by module into individual + // .sancov files. + void __sanitizer_dump_coverage(const uintptr_t *pcs, uintptr_t len); + // Open .sancov.packed in the coverage directory and return the file // descriptor. Returns -1 on failure, or if coverage dumping is disabled. // This is intended for use by sandboxing code. @@ -41,13 +46,6 @@ extern "C" { // Some of the entries in *data will be zero. uintptr_t __sanitizer_get_coverage_guards(uintptr_t **data); - // Set *data to the growing buffer with covered PCs and return the size - // of the buffer. The entries are never zero. - // When only unique pcs are collected, the size is equal to - // __sanitizer_get_total_unique_coverage. - // WARNING: EXPERIMENTAL API. - uintptr_t __sanitizer_get_coverage_pc_buffer(uintptr_t **data); - // The coverage instrumentation may optionally provide imprecise counters. // Rather than exposing the counter values to the user we instead map // the counters to a bitset. @@ -65,6 +63,7 @@ extern "C" { // __sanitizer_get_number_of_counters bytes long and 8-aligned. uintptr_t __sanitizer_update_counter_bitset_and_clear_counters(uint8_t *bitset); + #ifdef __cplusplus } // extern "C" #endif Modified: stable/11/contrib/compiler-rt/lib/asan/asan_activation.cc ============================================================================== --- stable/11/contrib/compiler-rt/lib/asan/asan_activation.cc Sun Apr 2 16:39:39 2017 (r316422) +++ stable/11/contrib/compiler-rt/lib/asan/asan_activation.cc Sun Apr 2 17:24:58 2017 (r316423) @@ -77,13 +77,16 @@ static struct AsanDeactivatedFlags { void Print() { Report( - "quarantine_size_mb %d, max_redzone %d, poison_heap %d, " - "malloc_context_size %d, alloc_dealloc_mismatch %d, " - "allocator_may_return_null %d, coverage %d, coverage_dir %s\n", - allocator_options.quarantine_size_mb, allocator_options.max_redzone, - poison_heap, malloc_context_size, + "quarantine_size_mb %d, thread_local_quarantine_size_kb %d, " + "max_redzone %d, poison_heap %d, malloc_context_size %d, " + "alloc_dealloc_mismatch %d, allocator_may_return_null %d, coverage %d, " + "coverage_dir %s, allocator_release_to_os_interval_ms %d\n", + allocator_options.quarantine_size_mb, + allocator_options.thread_local_quarantine_size_kb, + allocator_options.max_redzone, poison_heap, malloc_context_size, allocator_options.alloc_dealloc_mismatch, - allocator_options.may_return_null, coverage, coverage_dir); + allocator_options.may_return_null, coverage, coverage_dir, + allocator_options.release_to_os_interval_ms); } } asan_deactivated_flags; @@ -107,6 +110,7 @@ void AsanDeactivate() { AllocatorOptions disabled = asan_deactivated_flags.allocator_options; disabled.quarantine_size_mb = 0; + disabled.thread_local_quarantine_size_kb = 0; disabled.min_redzone = 16; // Redzone must be at least 16 bytes long. disabled.max_redzone = 16; disabled.alloc_dealloc_mismatch = false; Modified: stable/11/contrib/compiler-rt/lib/asan/asan_activation_flags.inc ============================================================================== --- stable/11/contrib/compiler-rt/lib/asan/asan_activation_flags.inc Sun Apr 2 16:39:39 2017 (r316422) +++ stable/11/contrib/compiler-rt/lib/asan/asan_activation_flags.inc Sun Apr 2 17:24:58 2017 (r316423) @@ -24,6 +24,7 @@ ASAN_ACTIVATION_FLAG(int, redzone) ASAN_ACTIVATION_FLAG(int, max_redzone) ASAN_ACTIVATION_FLAG(int, quarantine_size_mb) +ASAN_ACTIVATION_FLAG(int, thread_local_quarantine_size_kb) ASAN_ACTIVATION_FLAG(bool, alloc_dealloc_mismatch) ASAN_ACTIVATION_FLAG(bool, poison_heap) @@ -33,3 +34,4 @@ COMMON_ACTIVATION_FLAG(bool, coverage) COMMON_ACTIVATION_FLAG(const char *, coverage_dir) COMMON_ACTIVATION_FLAG(int, verbosity) COMMON_ACTIVATION_FLAG(bool, help) +COMMON_ACTIVATION_FLAG(s32, allocator_release_to_os_interval_ms) Modified: stable/11/contrib/compiler-rt/lib/asan/asan_allocator.cc ============================================================================== --- stable/11/contrib/compiler-rt/lib/asan/asan_allocator.cc Sun Apr 2 16:39:39 2017 (r316422) +++ stable/11/contrib/compiler-rt/lib/asan/asan_allocator.cc Sun Apr 2 17:24:58 2017 (r316423) @@ -207,25 +207,27 @@ QuarantineCache *GetQuarantineCache(Asan void AllocatorOptions::SetFrom(const Flags *f, const CommonFlags *cf) { quarantine_size_mb = f->quarantine_size_mb; + thread_local_quarantine_size_kb = f->thread_local_quarantine_size_kb; min_redzone = f->redzone; max_redzone = f->max_redzone; may_return_null = cf->allocator_may_return_null; alloc_dealloc_mismatch = f->alloc_dealloc_mismatch; + release_to_os_interval_ms = cf->allocator_release_to_os_interval_ms; } void AllocatorOptions::CopyTo(Flags *f, CommonFlags *cf) { f->quarantine_size_mb = quarantine_size_mb; + f->thread_local_quarantine_size_kb = thread_local_quarantine_size_kb; f->redzone = min_redzone; f->max_redzone = max_redzone; cf->allocator_may_return_null = may_return_null; f->alloc_dealloc_mismatch = alloc_dealloc_mismatch; + cf->allocator_release_to_os_interval_ms = release_to_os_interval_ms; } struct Allocator { static const uptr kMaxAllowedMallocSize = FIRST_32_SECOND_64(3UL << 30, 1ULL << 40); - static const uptr kMaxThreadLocalQuarantine = - FIRST_32_SECOND_64(1 << 18, 1 << 20); AsanAllocator allocator; AsanQuarantine quarantine; @@ -254,7 +256,7 @@ struct Allocator { void SharedInitCode(const AllocatorOptions &options) { CheckOptions(options); quarantine.Init((uptr)options.quarantine_size_mb << 20, - kMaxThreadLocalQuarantine); + (uptr)options.thread_local_quarantine_size_kb << 10); atomic_store(&alloc_dealloc_mismatch, options.alloc_dealloc_mismatch, memory_order_release); atomic_store(&min_redzone, options.min_redzone, memory_order_release); @@ -262,22 +264,59 @@ struct Allocator { } void Initialize(const AllocatorOptions &options) { - allocator.Init(options.may_return_null); + allocator.Init(options.may_return_null, options.release_to_os_interval_ms); SharedInitCode(options); } + void RePoisonChunk(uptr chunk) { + // This could be a user-facing chunk (with redzones), or some internal + // housekeeping chunk, like TransferBatch. Start by assuming the former. + AsanChunk *ac = GetAsanChunk((void *)chunk); + uptr allocated_size = allocator.GetActuallyAllocatedSize((void *)ac); + uptr beg = ac->Beg(); + uptr end = ac->Beg() + ac->UsedSize(true); + uptr chunk_end = chunk + allocated_size; + if (chunk < beg && beg < end && end <= chunk_end && + ac->chunk_state == CHUNK_ALLOCATED) { + // Looks like a valid AsanChunk in use, poison redzones only. + PoisonShadow(chunk, beg - chunk, kAsanHeapLeftRedzoneMagic); + uptr end_aligned_down = RoundDownTo(end, SHADOW_GRANULARITY); + FastPoisonShadowPartialRightRedzone( + end_aligned_down, end - end_aligned_down, + chunk_end - end_aligned_down, kAsanHeapLeftRedzoneMagic); + } else { + // This is either not an AsanChunk or freed or quarantined AsanChunk. + // In either case, poison everything. + PoisonShadow(chunk, allocated_size, kAsanHeapLeftRedzoneMagic); + } + } + void ReInitialize(const AllocatorOptions &options) { allocator.SetMayReturnNull(options.may_return_null); + allocator.SetReleaseToOSIntervalMs(options.release_to_os_interval_ms); SharedInitCode(options); + + // Poison all existing allocation's redzones. + if (CanPoisonMemory()) { + allocator.ForceLock(); + allocator.ForEachChunk( + [](uptr chunk, void *alloc) { + ((Allocator *)alloc)->RePoisonChunk(chunk); + }, + this); + allocator.ForceUnlock(); + } } void GetOptions(AllocatorOptions *options) const { options->quarantine_size_mb = quarantine.GetSize() >> 20; + options->thread_local_quarantine_size_kb = quarantine.GetCacheSize() >> 10; options->min_redzone = atomic_load(&min_redzone, memory_order_acquire); options->max_redzone = atomic_load(&max_redzone, memory_order_acquire); options->may_return_null = allocator.MayReturnNull(); options->alloc_dealloc_mismatch = atomic_load(&alloc_dealloc_mismatch, memory_order_acquire); + options->release_to_os_interval_ms = allocator.ReleaseToOSIntervalMs(); } // -------------------- Helper methods. ------------------------- @@ -356,7 +395,7 @@ struct Allocator { if (size > kMaxAllowedMallocSize || needed_size > kMaxAllowedMallocSize) { Report("WARNING: AddressSanitizer failed to allocate 0x%zx bytes\n", (void*)size); - return allocator.ReturnNullOrDie(); + return allocator.ReturnNullOrDieOnBadRequest(); } AsanThread *t = GetCurrentThread(); @@ -373,8 +412,7 @@ struct Allocator { allocator.Allocate(cache, needed_size, 8, false, check_rss_limit); } - if (!allocated) - return allocator.ReturnNullOrDie(); + if (!allocated) return allocator.ReturnNullOrDieOnOOM(); if (*(u8 *)MEM_TO_SHADOW((uptr)allocated) == 0 && CanPoisonMemory()) { // Heap poisoning is enabled, but the allocator provides an unpoisoned @@ -530,7 +568,7 @@ struct Allocator { if (delete_size && flags()->new_delete_type_mismatch && delete_size != m->UsedSize()) { - ReportNewDeleteSizeMismatch(p, m->UsedSize(), delete_size, stack); + ReportNewDeleteSizeMismatch(p, delete_size, stack); } QuarantineChunk(m, ptr, stack, alloc_type); @@ -563,7 +601,7 @@ struct Allocator { void *Calloc(uptr nmemb, uptr size, BufferedStackTrace *stack) { if (CallocShouldReturnNullDueToOverflow(size, nmemb)) - return allocator.ReturnNullOrDie(); + return allocator.ReturnNullOrDieOnBadRequest(); void *ptr = Allocate(nmemb * size, 8, stack, FROM_MALLOC, false); // If the memory comes from the secondary allocator no need to clear it // as it comes directly from mmap. @@ -643,6 +681,7 @@ struct Allocator { void PrintStats() { allocator.PrintStats(); + quarantine.PrintStats(); } void ForceLock() { @@ -662,17 +701,23 @@ static AsanAllocator &get_allocator() { return instance.allocator; } -bool AsanChunkView::IsValid() { +bool AsanChunkView::IsValid() const { return chunk_ && chunk_->chunk_state != CHUNK_AVAILABLE; } -bool AsanChunkView::IsAllocated() { +bool AsanChunkView::IsAllocated() const { return chunk_ && chunk_->chunk_state == CHUNK_ALLOCATED; } -uptr AsanChunkView::Beg() { return chunk_->Beg(); } -uptr AsanChunkView::End() { return Beg() + UsedSize(); } -uptr AsanChunkView::UsedSize() { return chunk_->UsedSize(); } -uptr AsanChunkView::AllocTid() { return chunk_->alloc_tid; } -uptr AsanChunkView::FreeTid() { return chunk_->free_tid; } +bool AsanChunkView::IsQuarantined() const { + return chunk_ && chunk_->chunk_state == CHUNK_QUARANTINE; +} +uptr AsanChunkView::Beg() const { return chunk_->Beg(); } +uptr AsanChunkView::End() const { return Beg() + UsedSize(); } +uptr AsanChunkView::UsedSize() const { return chunk_->UsedSize(); } +uptr AsanChunkView::AllocTid() const { return chunk_->alloc_tid; } +uptr AsanChunkView::FreeTid() const { return chunk_->free_tid; } +AllocType AsanChunkView::GetAllocType() const { + return (AllocType)chunk_->alloc_type; +} static StackTrace GetStackTraceFromId(u32 id) { CHECK(id); @@ -681,14 +726,14 @@ static StackTrace GetStackTraceFromId(u3 return res; } -u32 AsanChunkView::GetAllocStackId() { return chunk_->alloc_context_id; } -u32 AsanChunkView::GetFreeStackId() { return chunk_->free_context_id; } +u32 AsanChunkView::GetAllocStackId() const { return chunk_->alloc_context_id; } +u32 AsanChunkView::GetFreeStackId() const { return chunk_->free_context_id; } -StackTrace AsanChunkView::GetAllocStack() { +StackTrace AsanChunkView::GetAllocStack() const { return GetStackTraceFromId(GetAllocStackId()); } -StackTrace AsanChunkView::GetFreeStack() { +StackTrace AsanChunkView::GetFreeStack() const { return GetStackTraceFromId(GetFreeStackId()); } @@ -707,6 +752,9 @@ void GetAllocatorOptions(AllocatorOption AsanChunkView FindHeapChunkByAddress(uptr addr) { return instance.FindHeapChunkByAddress(addr); } +AsanChunkView FindHeapChunkByAllocBeg(uptr addr) { + return AsanChunkView(instance.GetAsanChunk(reinterpret_cast(addr))); +} void AsanThreadLocalMallocStorage::CommitBack() { instance.CommitBack(this); Modified: stable/11/contrib/compiler-rt/lib/asan/asan_allocator.h ============================================================================== --- stable/11/contrib/compiler-rt/lib/asan/asan_allocator.h Sun Apr 2 16:39:39 2017 (r316422) +++ stable/11/contrib/compiler-rt/lib/asan/asan_allocator.h Sun Apr 2 17:24:58 2017 (r316423) @@ -33,10 +33,12 @@ struct AsanChunk; struct AllocatorOptions { u32 quarantine_size_mb; + u32 thread_local_quarantine_size_kb; u16 min_redzone; u16 max_redzone; u8 may_return_null; u8 alloc_dealloc_mismatch; + s32 release_to_os_interval_ms; void SetFrom(const Flags *f, const CommonFlags *cf); void CopyTo(Flags *f, CommonFlags *cf); @@ -49,27 +51,29 @@ void GetAllocatorOptions(AllocatorOption class AsanChunkView { public: explicit AsanChunkView(AsanChunk *chunk) : chunk_(chunk) {} - bool IsValid(); // Checks if AsanChunkView points to a valid allocated - // or quarantined chunk. - bool IsAllocated(); // Checks if the memory is currently allocated. - uptr Beg(); // First byte of user memory. - uptr End(); // Last byte of user memory. - uptr UsedSize(); // Size requested by the user. - uptr AllocTid(); - uptr FreeTid(); + bool IsValid() const; // Checks if AsanChunkView points to a valid + // allocated or quarantined chunk. + bool IsAllocated() const; // Checks if the memory is currently allocated. + bool IsQuarantined() const; // Checks if the memory is currently quarantined. + uptr Beg() const; // First byte of user memory. + uptr End() const; // Last byte of user memory. + uptr UsedSize() const; // Size requested by the user. + uptr AllocTid() const; + uptr FreeTid() const; bool Eq(const AsanChunkView &c) const { return chunk_ == c.chunk_; } - u32 GetAllocStackId(); - u32 GetFreeStackId(); - StackTrace GetAllocStack(); - StackTrace GetFreeStack(); - bool AddrIsInside(uptr addr, uptr access_size, sptr *offset) { + u32 GetAllocStackId() const; + u32 GetFreeStackId() const; + StackTrace GetAllocStack() const; + StackTrace GetFreeStack() const; + AllocType GetAllocType() const; + bool AddrIsInside(uptr addr, uptr access_size, sptr *offset) const { if (addr >= Beg() && (addr + access_size) <= End()) { *offset = addr - Beg(); return true; } return false; } - bool AddrIsAtLeft(uptr addr, uptr access_size, sptr *offset) { + bool AddrIsAtLeft(uptr addr, uptr access_size, sptr *offset) const { (void)access_size; if (addr < Beg()) { *offset = Beg() - addr; @@ -77,7 +81,7 @@ class AsanChunkView { } return false; } - bool AddrIsAtRight(uptr addr, uptr access_size, sptr *offset) { + bool AddrIsAtRight(uptr addr, uptr access_size, sptr *offset) const { if (addr + access_size > End()) { *offset = addr - End(); return true; @@ -90,6 +94,7 @@ class AsanChunkView { }; AsanChunkView FindHeapChunkByAddress(uptr address); +AsanChunkView FindHeapChunkByAllocBeg(uptr address); // List of AsanChunks with total size. class AsanChunkFifoList: public IntrusiveList { @@ -117,18 +122,36 @@ struct AsanMapUnmapCallback { # if defined(__powerpc64__) const uptr kAllocatorSpace = 0xa0000000000ULL; const uptr kAllocatorSize = 0x20000000000ULL; // 2T. +typedef DefaultSizeClassMap SizeClassMap; +# elif defined(__aarch64__) && SANITIZER_ANDROID +const uptr kAllocatorSpace = 0x3000000000ULL; +const uptr kAllocatorSize = 0x2000000000ULL; // 128G. +typedef VeryCompactSizeClassMap SizeClassMap; # elif defined(__aarch64__) -// AArch64/SANITIZIER_CAN_USER_ALLOCATOR64 is only for 42-bit VMA +// AArch64/SANITIZER_CAN_USER_ALLOCATOR64 is only for 42-bit VMA // so no need to different values for different VMA. const uptr kAllocatorSpace = 0x10000000000ULL; const uptr kAllocatorSize = 0x10000000000ULL; // 3T. +typedef DefaultSizeClassMap SizeClassMap; +# elif SANITIZER_WINDOWS +const uptr kAllocatorSpace = ~(uptr)0; +const uptr kAllocatorSize = 0x8000000000ULL; // 500G +typedef DefaultSizeClassMap SizeClassMap; # else const uptr kAllocatorSpace = 0x600000000000ULL; const uptr kAllocatorSize = 0x40000000000ULL; // 4T. -# endif typedef DefaultSizeClassMap SizeClassMap; -typedef SizeClassAllocator64 PrimaryAllocator; +# endif +struct AP64 { // Allocator64 parameters. Deliberately using a short name. + static const uptr kSpaceBeg = kAllocatorSpace; + static const uptr kSpaceSize = kAllocatorSize; + static const uptr kMetadataSize = 0; + typedef __asan::SizeClassMap SizeClassMap; + typedef AsanMapUnmapCallback MapUnmapCallback; + static const uptr kFlags = 0; +}; + +typedef SizeClassAllocator64 PrimaryAllocator; #else // Fallback to SizeClassAllocator32. static const uptr kRegionSizeLog = 20; static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog; Modified: stable/11/contrib/compiler-rt/lib/asan/asan_debugging.cc ============================================================================== --- stable/11/contrib/compiler-rt/lib/asan/asan_debugging.cc Sun Apr 2 16:39:39 2017 (r316422) +++ stable/11/contrib/compiler-rt/lib/asan/asan_debugging.cc Sun Apr 2 17:24:58 2017 (r316423) @@ -14,74 +14,39 @@ //===----------------------------------------------------------------------===// #include "asan_allocator.h" +#include "asan_descriptions.h" #include "asan_flags.h" #include "asan_internal.h" #include "asan_mapping.h" #include "asan_report.h" #include "asan_thread.h" -namespace __asan { - -void GetInfoForStackVar(uptr addr, AddressDescription *descr, AsanThread *t) { - descr->name[0] = 0; - descr->region_address = 0; - descr->region_size = 0; - descr->region_kind = "stack"; +namespace { +using namespace __asan; - AsanThread::StackFrameAccess access; - if (!t->GetStackFrameAccessByAddr(addr, &access)) - return; +static void FindInfoForStackVar(uptr addr, const char *frame_descr, uptr offset, + char *name, uptr name_size, + uptr ®ion_address, uptr ®ion_size) { InternalMmapVector vars(16); - if (!ParseFrameDescription(access.frame_descr, &vars)) { + if (!ParseFrameDescription(frame_descr, &vars)) { return; } for (uptr i = 0; i < vars.size(); i++) { - if (access.offset <= vars[i].beg + vars[i].size) { - internal_strncat(descr->name, vars[i].name_pos, - Min(descr->name_size, vars[i].name_len)); - descr->region_address = addr - (access.offset - vars[i].beg); - descr->region_size = vars[i].size; + if (offset <= vars[i].beg + vars[i].size) { + // We use name_len + 1 because strlcpy will guarantee a \0 at the end, so + // if we're limiting the copy due to name_len, we add 1 to ensure we copy + // the whole name and then terminate with '\0'. + internal_strlcpy(name, vars[i].name_pos, + Min(name_size, vars[i].name_len + 1)); + region_address = addr - (offset - vars[i].beg); + region_size = vars[i].size; return; } } } -void GetInfoForHeapAddress(uptr addr, AddressDescription *descr) { - AsanChunkView chunk = FindHeapChunkByAddress(addr); - - descr->name[0] = 0; - descr->region_address = 0; - descr->region_size = 0; - - if (!chunk.IsValid()) { - descr->region_kind = "heap-invalid"; - return; - } - - descr->region_address = chunk.Beg(); - descr->region_size = chunk.UsedSize(); - descr->region_kind = "heap"; -} - -void AsanLocateAddress(uptr addr, AddressDescription *descr) { - if (DescribeAddressIfShadow(addr, descr, /* print */ false)) { - return; - } - if (GetInfoForAddressIfGlobal(addr, descr)) { - return; - } - asanThreadRegistry().Lock(); - AsanThread *thread = FindThreadByStackAddress(addr); - asanThreadRegistry().Unlock(); - if (thread) { - GetInfoForStackVar(addr, descr, thread); - return; - } - GetInfoForHeapAddress(addr, descr); -} - -static uptr AsanGetStack(uptr addr, uptr *trace, u32 size, u32 *thread_id, +uptr AsanGetStack(uptr addr, uptr *trace, u32 size, u32 *thread_id, bool alloc_stack) { AsanChunkView chunk = FindHeapChunkByAddress(addr); if (!chunk.IsValid()) return 0; @@ -108,18 +73,58 @@ static uptr AsanGetStack(uptr addr, uptr return 0; } -} // namespace __asan - -using namespace __asan; +} // namespace SANITIZER_INTERFACE_ATTRIBUTE const char *__asan_locate_address(uptr addr, char *name, uptr name_size, - uptr *region_address, uptr *region_size) { - AddressDescription descr = { name, name_size, 0, 0, nullptr }; - AsanLocateAddress(addr, &descr); - if (region_address) *region_address = descr.region_address; - if (region_size) *region_size = descr.region_size; - return descr.region_kind; + uptr *region_address_ptr, + uptr *region_size_ptr) { + AddressDescription descr(addr); + uptr region_address = 0; + uptr region_size = 0; + const char *region_kind = nullptr; + if (name && name_size > 0) name[0] = 0; + + if (auto shadow = descr.AsShadow()) { + // region_{address,size} are already 0 + switch (shadow->kind) { + case kShadowKindLow: + region_kind = "low shadow"; + break; + case kShadowKindGap: + region_kind = "shadow gap"; + break; + case kShadowKindHigh: + region_kind = "high shadow"; + break; + } + } else if (auto heap = descr.AsHeap()) { + region_kind = "heap"; + region_address = heap->chunk_access.chunk_begin; + region_size = heap->chunk_access.chunk_size; + } else if (auto stack = descr.AsStack()) { + region_kind = "stack"; + if (!stack->frame_descr) { + // region_{address,size} are already 0 + } else { + FindInfoForStackVar(addr, stack->frame_descr, stack->offset, name, + name_size, region_address, region_size); + } + } else if (auto global = descr.AsGlobal()) { + region_kind = "global"; + auto &g = global->globals[0]; + internal_strlcpy(name, g.name, name_size); + region_address = g.beg; + region_size = g.size; + } else { + // region_{address,size} are already 0 + region_kind = "heap-invalid"; + } + + CHECK(region_kind); + if (region_address_ptr) *region_address_ptr = region_address; + if (region_size_ptr) *region_size_ptr = region_size; + return region_kind; } SANITIZER_INTERFACE_ATTRIBUTE Copied: stable/11/contrib/compiler-rt/lib/asan/asan_descriptions.cc (from r314564, head/contrib/compiler-rt/lib/asan/asan_descriptions.cc) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/contrib/compiler-rt/lib/asan/asan_descriptions.cc Sun Apr 2 17:24:58 2017 (r316423, copy of r314564, head/contrib/compiler-rt/lib/asan/asan_descriptions.cc) @@ -0,0 +1,486 @@ +//===-- asan_descriptions.cc ------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file is a part of AddressSanitizer, an address sanity checker. +// +// ASan functions for getting information about an address and/or printing it. +//===----------------------------------------------------------------------===// + +#include "asan_descriptions.h" +#include "asan_mapping.h" +#include "asan_report.h" +#include "asan_stack.h" +#include "sanitizer_common/sanitizer_stackdepot.h" + +namespace __asan { + +// Return " (thread_name) " or an empty string if the name is empty. +const char *ThreadNameWithParenthesis(AsanThreadContext *t, char buff[], + uptr buff_len) { + const char *name = t->name; + if (name[0] == '\0') return ""; + buff[0] = 0; + internal_strncat(buff, " (", 3); + internal_strncat(buff, name, buff_len - 4); + internal_strncat(buff, ")", 2); + return buff; +} + +const char *ThreadNameWithParenthesis(u32 tid, char buff[], uptr buff_len) { + if (tid == kInvalidTid) return ""; + asanThreadRegistry().CheckLocked(); + AsanThreadContext *t = GetThreadContextByTidLocked(tid); + return ThreadNameWithParenthesis(t, buff, buff_len); +} + +void DescribeThread(AsanThreadContext *context) { + CHECK(context); + asanThreadRegistry().CheckLocked(); + // No need to announce the main thread. + if (context->tid == 0 || context->announced) { + return; + } + context->announced = true; + char tname[128]; + InternalScopedString str(1024); + str.append("Thread T%d%s", context->tid, + ThreadNameWithParenthesis(context->tid, tname, sizeof(tname))); + if (context->parent_tid == kInvalidTid) { + str.append(" created by unknown thread\n"); + Printf("%s", str.data()); + return; + } + str.append( + " created by T%d%s here:\n", context->parent_tid, + ThreadNameWithParenthesis(context->parent_tid, tname, sizeof(tname))); + Printf("%s", str.data()); + StackDepotGet(context->stack_id).Print(); + // Recursively described parent thread if needed. + if (flags()->print_full_thread_history) { + AsanThreadContext *parent_context = + GetThreadContextByTidLocked(context->parent_tid); + DescribeThread(parent_context); + } +} + +// Shadow descriptions +static bool GetShadowKind(uptr addr, ShadowKind *shadow_kind) { + CHECK(!AddrIsInMem(addr)); + if (AddrIsInShadowGap(addr)) { + *shadow_kind = kShadowKindGap; + } else if (AddrIsInHighShadow(addr)) { + *shadow_kind = kShadowKindHigh; + } else if (AddrIsInLowShadow(addr)) { + *shadow_kind = kShadowKindLow; + } else { + CHECK(0 && "Address is not in memory and not in shadow?"); + return false; + } + return true; +} + +bool DescribeAddressIfShadow(uptr addr) { + ShadowAddressDescription descr; + if (!GetShadowAddressInformation(addr, &descr)) return false; + descr.Print(); + return true; +} + +bool GetShadowAddressInformation(uptr addr, ShadowAddressDescription *descr) { + if (AddrIsInMem(addr)) return false; + ShadowKind shadow_kind; + if (!GetShadowKind(addr, &shadow_kind)) return false; + if (shadow_kind != kShadowKindGap) descr->shadow_byte = *(u8 *)addr; + descr->addr = addr; + descr->kind = shadow_kind; + return true; +} + +// Heap descriptions +static void GetAccessToHeapChunkInformation(ChunkAccess *descr, + AsanChunkView chunk, uptr addr, + uptr access_size) { + descr->bad_addr = addr; + if (chunk.AddrIsAtLeft(addr, access_size, &descr->offset)) { + descr->access_type = kAccessTypeLeft; + } else if (chunk.AddrIsAtRight(addr, access_size, &descr->offset)) { + descr->access_type = kAccessTypeRight; + if (descr->offset < 0) { + descr->bad_addr -= descr->offset; + descr->offset = 0; + } + } else if (chunk.AddrIsInside(addr, access_size, &descr->offset)) { + descr->access_type = kAccessTypeInside; + } else { + descr->access_type = kAccessTypeUnknown; + } + descr->chunk_begin = chunk.Beg(); + descr->chunk_size = chunk.UsedSize(); + descr->alloc_type = chunk.GetAllocType(); +} + +static void PrintHeapChunkAccess(uptr addr, const ChunkAccess &descr) { + Decorator d; + InternalScopedString str(4096); + str.append("%s", d.Location()); + switch (descr.access_type) { + case kAccessTypeLeft: + str.append("%p is located %zd bytes to the left of", + (void *)descr.bad_addr, descr.offset); + break; + case kAccessTypeRight: + str.append("%p is located %zd bytes to the right of", + (void *)descr.bad_addr, descr.offset); + break; + case kAccessTypeInside: + str.append("%p is located %zd bytes inside of", (void *)descr.bad_addr, + descr.offset); + break; + case kAccessTypeUnknown: + str.append( + "%p is located somewhere around (this is AddressSanitizer bug!)", + (void *)descr.bad_addr); + } + str.append(" %zu-byte region [%p,%p)\n", descr.chunk_size, + (void *)descr.chunk_begin, + (void *)(descr.chunk_begin + descr.chunk_size)); + str.append("%s", d.EndLocation()); + Printf("%s", str.data()); +} + +bool GetHeapAddressInformation(uptr addr, uptr access_size, + HeapAddressDescription *descr) { + AsanChunkView chunk = FindHeapChunkByAddress(addr); + if (!chunk.IsValid()) { + return false; + } + descr->addr = addr; + GetAccessToHeapChunkInformation(&descr->chunk_access, chunk, addr, + access_size); + CHECK_NE(chunk.AllocTid(), kInvalidTid); + descr->alloc_tid = chunk.AllocTid(); + descr->alloc_stack_id = chunk.GetAllocStackId(); + descr->free_tid = chunk.FreeTid(); + if (descr->free_tid != kInvalidTid) + descr->free_stack_id = chunk.GetFreeStackId(); + return true; +} + +static StackTrace GetStackTraceFromId(u32 id) { + CHECK(id); + StackTrace res = StackDepotGet(id); + CHECK(res.trace); + return res; +} + +bool DescribeAddressIfHeap(uptr addr, uptr access_size) { + HeapAddressDescription descr; + if (!GetHeapAddressInformation(addr, access_size, &descr)) { + Printf( + "AddressSanitizer can not describe address in more detail " + "(wild memory access suspected).\n"); + return false; + } + descr.Print(); + return true; +} + +// Stack descriptions +bool GetStackAddressInformation(uptr addr, uptr access_size, + StackAddressDescription *descr) { + AsanThread *t = FindThreadByStackAddress(addr); + if (!t) return false; + + descr->addr = addr; + descr->tid = t->tid(); + // Try to fetch precise stack frame for this access. + AsanThread::StackFrameAccess access; + if (!t->GetStackFrameAccessByAddr(addr, &access)) { + descr->frame_descr = nullptr; + return true; + } + + descr->offset = access.offset; + descr->access_size = access_size; + descr->frame_pc = access.frame_pc; + descr->frame_descr = access.frame_descr; + +#if SANITIZER_PPC64V1 + // On PowerPC64 ELFv1, the address of a function actually points to a + // three-doubleword data structure with the first field containing + // the address of the function's code. + descr->frame_pc = *reinterpret_cast(descr->frame_pc); +#endif + descr->frame_pc += 16; + + return true; +} + +static void PrintAccessAndVarIntersection(const StackVarDescr &var, uptr addr, + uptr access_size, uptr prev_var_end, + uptr next_var_beg) { + uptr var_end = var.beg + var.size; + uptr addr_end = addr + access_size; + const char *pos_descr = nullptr; + // If the variable [var.beg, var_end) is the nearest variable to the + // current memory access, indicate it in the log. + if (addr >= var.beg) { + if (addr_end <= var_end) + pos_descr = "is inside"; // May happen if this is a use-after-return. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Sun Apr 2 17:25:39 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 18D0CD2A788; Sun, 2 Apr 2017 17:25:39 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DBD30840; Sun, 2 Apr 2017 17:25:38 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32HPc1l004025; Sun, 2 Apr 2017 17:25:38 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32HPcYG004024; Sun, 2 Apr 2017 17:25:38 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201704021725.v32HPcYG004024@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Sun, 2 Apr 2017 17:25:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316424 - head/sys/boot/sparc64/loader X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 17:25:39 -0000 Author: allanjude Date: Sun Apr 2 17:25:37 2017 New Revision: 316424 URL: https://svnweb.freebsd.org/changeset/base/316424 Log: Fix sparc64 build broken by r316343 and r316076 Reported by: markj Sponsored by: ScaleEngine Inc. Modified: head/sys/boot/sparc64/loader/Makefile Modified: head/sys/boot/sparc64/loader/Makefile ============================================================================== --- head/sys/boot/sparc64/loader/Makefile Sun Apr 2 17:24:58 2017 (r316423) +++ head/sys/boot/sparc64/loader/Makefile Sun Apr 2 17:25:37 2017 (r316424) @@ -82,6 +82,9 @@ CFLAGS+= -I${.CURDIR}/../../ofw/libofw/ # where to get libstand from CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ +# Need sys/ for crypto/intake.h +CFLAGS+= -I${SRCTOP}/sys + DPADD= ${LIBFICL} ${LIBZFSBOOT} ${LIBOFW} ${LIBSTAND} LDADD= ${LIBFICL} ${LIBZFSBOOT} ${LIBOFW} -lstand From owner-svn-src-all@freebsd.org Sun Apr 2 17:34:46 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6AE48D2AAA0; Sun, 2 Apr 2017 17:34:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2A0F5E15; Sun, 2 Apr 2017 17:34:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32HYjkL008001; Sun, 2 Apr 2017 17:34:45 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32HYjPU008000; Sun, 2 Apr 2017 17:34:45 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201704021734.v32HYjPU008000@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 2 Apr 2017 17:34:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316425 - stable/11/share/man/man5 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 17:34:46 -0000 Author: dim Date: Sun Apr 2 17:34:45 2017 New Revision: 316425 URL: https://svnweb.freebsd.org/changeset/base/316425 Log: Regenerate src.conf.5 after the addition of WITH/WITHOUT_LLD_IS_LD. Modified: stable/11/share/man/man5/src.conf.5 Modified: stable/11/share/man/man5/src.conf.5 ============================================================================== --- stable/11/share/man/man5/src.conf.5 Sun Apr 2 17:25:37 2017 (r316424) +++ stable/11/share/man/man5/src.conf.5 Sun Apr 2 17:34:45 2017 (r316425) @@ -1,7 +1,7 @@ .\" DO NOT EDIT-- this file is automatically generated. .\" from FreeBSD: stable/11/tools/build/options/makeman 292283 2015-12-15 18:42:30Z bdrewery .\" $FreeBSD$ -.Dd March 29, 2017 +.Dd April 2, 2017 .Dt SRC.CONF 5 .Os .Sh NAME @@ -332,7 +332,7 @@ When set, it also enforces the following Set to not build the Clang C/C++ compiler during the regular phase of the build. .Pp It is a default setting on -mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32 and sparc64/sparc64. +sparc64/sparc64. When set, it also enforces the following options: .Pp .Bl -item -compact @@ -346,7 +346,7 @@ When set, it also enforces the following Set to build the Clang C/C++ compiler during the normal phase of the build. .Pp It is a default setting on -amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386, pc98/i386, powerpc/powerpc and powerpc/powerpc64. +amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc and powerpc/powerpc64. .It Va WITHOUT_CLANG_BOOTSTRAP .\" from FreeBSD: stable/11/tools/build/options/WITHOUT_CLANG_BOOTSTRAP 273177 2014-10-16 18:28:11Z skreuzer Set to not build the Clang C/C++ compiler during the bootstrap phase of the build. @@ -371,14 +371,14 @@ Set to avoid building the ARCMigrate, Re the Clang C/C++ compiler. .Pp It is a default setting on -mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32 and sparc64/sparc64. +sparc64/sparc64. .It Va WITH_CLANG_FULL .\" from FreeBSD: stable/11/tools/build/options/WITH_CLANG_FULL 246259 2013-02-02 22:28:29Z dim Set to build the ARCMigrate, Rewriter and StaticAnalyzer components of the Clang C/C++ compiler. .Pp It is a default setting on -amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386, pc98/i386, powerpc/powerpc and powerpc/powerpc64. +amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc and powerpc/powerpc64. .It Va WITHOUT_CLANG_IS_CC .\" from FreeBSD: stable/11/tools/build/options/WITHOUT_CLANG_IS_CC 242629 2012-11-05 21:53:23Z brooks Set to install the GCC compiler as @@ -1005,13 +1005,19 @@ library. Set to not build LLVM's lld linker. .Pp It is a default setting on -arm/arm, arm/armeb, arm/armv6, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. +mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. +When set, it also enforces the following options: +.Pp +.Bl -item -compact +.It +.Va WITHOUT_LLD_IS_LD +.El .It Va WITH_LLD .\" from FreeBSD: stable/11/tools/build/options/WITH_LLD 310618 2016-12-26 20:36:37Z dim Set to build LLVM's lld linker. .Pp It is a default setting on -amd64/amd64 and arm64/aarch64. +amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386 and pc98/i386. .It Va WITHOUT_LLDB .\" from FreeBSD: stable/11/tools/build/options/WITHOUT_LLDB 289275 2015-10-14 00:23:31Z emaste Set to not build the LLDB debugger. @@ -1024,6 +1030,26 @@ Set to build the LLDB debugger. .Pp It is a default setting on amd64/amd64 and arm64/aarch64. +.It Va WITHOUT_LLD_IS_LD +.\" from FreeBSD: stable/11/tools/build/options/WITHOUT_LLD_IS_LD 316423 2017-04-02 17:24:58Z dim +Set to use GNU binutils ld as the system linker, instead of LLVM's LLD. +.Pp +It is a default setting on +amd64/amd64, arm/arm, arm/armeb, arm/armv6, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. +.It Va WITH_LLD_IS_LD +.\" from FreeBSD: stable/11/tools/build/options/WITH_LLD_IS_LD 316423 2017-04-02 17:24:58Z dim +Set to use LLVM's LLD as the system linker, instead of GNU binutils ld. +.Pp +It is a default setting on +arm64/aarch64. +When set, the following options are also in effect: +.Pp +.Bl -inset -compact +.It Va WITHOUT_SYSTEM_COMPILER +(unless +.Va WITH_SYSTEM_COMPILER +is set explicitly) +.El .It Va WITHOUT_LLVM_LIBUNWIND .\" from FreeBSD: stable/11/tools/build/options/WITHOUT_LLVM_LIBUNWIND 293450 2016-01-09 00:42:07Z emaste Set to use GCC's stack unwinder (instead of LLVM's libunwind). @@ -1497,6 +1523,25 @@ The and .Va WITHOUT_GCC options control those. +.Pp +It is a default setting on +arm64/aarch64. +.It Va WITH_SYSTEM_COMPILER +.\" from FreeBSD: stable/11/tools/build/options/WITH_SYSTEM_COMPILER 300354 2016-05-21 01:32:23Z bdrewery +Set to opportunistically skip building a cross-compiler during the +bootstrap phase of the build. +If the currently installed compiler matches the planned bootstrap compiler +type and revision, then it will not be built. +This does not prevent a compiler from being built for installation though, +only for building one for the build itself. +The +.Va WITHOUT_CLANG +and +.Va WITHOUT_GCC +options control those. +.Pp +It is a default setting on +amd64/amd64, arm/arm, arm/armeb, arm/armv6, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. .It Va WITHOUT_TALK .\" from FreeBSD: stable/11/tools/build/options/WITHOUT_TALK 277676 2015-01-25 04:37:44Z ngie Set to not build or install From owner-svn-src-all@freebsd.org Sun Apr 2 17:57:38 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A9DFBD2AFD7; Sun, 2 Apr 2017 17:57:38 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail106.syd.optusnet.com.au (mail106.syd.optusnet.com.au [211.29.132.42]) by mx1.freebsd.org (Postfix) with ESMTP id 70EBD928; Sun, 2 Apr 2017 17:57:37 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from besplex.bde.org (c122-106-153-191.carlnfd1.nsw.optusnet.com.au [122.106.153.191]) by mail106.syd.optusnet.com.au (Postfix) with ESMTPS id 092543C45BC; Mon, 3 Apr 2017 03:57:29 +1000 (AEST) Date: Mon, 3 Apr 2017 03:57:29 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Chagin Dmitry cc: Konstantin Belousov , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316393 - head/sys/compat/linux In-Reply-To: <20170402163306.GA44865@mordor.heemeyer.club> Message-ID: <20170403035157.X3216@besplex.bde.org> References: <201704020746.v327kDSN042840@repo.freebsd.org> <20170402133651.GJ43712@kib.kiev.ua> <20170402163306.GA44865@mordor.heemeyer.club> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=VbSHBBh9 c=1 sm=1 tr=0 a=Tj3pCpwHnMupdyZSltBt7Q==:117 a=Tj3pCpwHnMupdyZSltBt7Q==:17 a=kj9zAlcOel0A:10 a=6I5d2MoRAAAA:8 a=9-XYlE_PpaqN1uEXeCsA:9 a=CjuIK1q_8ugA:10 a=IjZwj45LgO3ly-622nXo:22 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 17:57:38 -0000 On Sun, 2 Apr 2017, Chagin Dmitry wrote: > On Sun, Apr 02, 2017 at 04:36:51PM +0300, Konstantin Belousov wrote: >> On Sun, Apr 02, 2017 at 07:46:13AM +0000, Dmitry Chagin wrote: >>> Author: dchagin >>> Date: Sun Apr 2 07:46:13 2017 >>> New Revision: 316393 >>> URL: https://svnweb.freebsd.org/changeset/base/316393 >>> >>> Log: >>> As noted by bde@ negative tv_sec values are not checked for overflow, >>> so overflow can still occur. Fix that. Also remove the extra check for >>> tv_sec size as under COMPAT_LINUX32 it is always true. >>> >>> Pointed out by: bde@ >>> >>> MFC after: 1 week >>> >>> Modified: >>> head/sys/compat/linux/linux_time.c >>> >>> Modified: head/sys/compat/linux/linux_time.c >>> ============================================================================== >>> --- head/sys/compat/linux/linux_time.c Sun Apr 2 07:11:15 2017 (r316392) >>> +++ head/sys/compat/linux/linux_time.c Sun Apr 2 07:46:13 2017 (r316393) >>> @@ -125,8 +125,7 @@ native_to_linux_timespec(struct l_timesp >>> >>> LIN_SDT_PROBE2(time, native_to_linux_timespec, entry, ltp, ntp); >>> #ifdef COMPAT_LINUX32 >>> - if (ntp->tv_sec > INT_MAX && >>> - sizeof(ltp->tv_sec) != sizeof(ntp->tv_sec)) >>> + if (ntp->tv_sec > INT_MAX || ntp->tv_sec < INT_MIN) >> This line reads as only tv_sec == INT_MAX case results in non-EOVERFLOW >> condition. >> > > should I rewrite it like: > > if (ntp->tv_sec < INT_MIN || ntp->tv_sec > INT_MAX) > ? I don't see the problem. Do you mean that the compiler might remove this code because the check is tautologically false on 32-bit natives, but warn too? The sizeof() comparison is even easier to evaluate at compile time. Perhaps it acted a hint to the compiler to not warn. Bruce From owner-svn-src-all@freebsd.org Sun Apr 2 17:59:21 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5D61ED2B0EA; Sun, 2 Apr 2017 17:59:21 +0000 (UTC) (envelope-from allanjude@freebsd.org) Received: from mx1.scaleengine.net (mx1.scaleengine.net [209.51.186.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 40BD4B4E; Sun, 2 Apr 2017 17:59:20 +0000 (UTC) (envelope-from allanjude@freebsd.org) Received: from [10.1.1.2] (unknown [10.1.1.2]) (Authenticated sender: allanjude.freebsd@scaleengine.com) by mx1.scaleengine.net (Postfix) with ESMTPSA id 0ECA113432; Sun, 2 Apr 2017 17:59:19 +0000 (UTC) Subject: Re: svn commit: r316393 - head/sys/compat/linux To: Konstantin Belousov , Dmitry Chagin References: <201704020746.v327kDSN042840@repo.freebsd.org> <20170402133651.GJ43712@kib.kiev.ua> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: Allan Jude Message-ID: Date: Sun, 2 Apr 2017 13:59:10 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170402133651.GJ43712@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 17:59:21 -0000 On 2017-04-02 09:36, Konstantin Belousov wrote: > On Sun, Apr 02, 2017 at 07:46:13AM +0000, Dmitry Chagin wrote: >> Author: dchagin >> Date: Sun Apr 2 07:46:13 2017 >> New Revision: 316393 >> URL: https://svnweb.freebsd.org/changeset/base/316393 >> >> Log: >> As noted by bde@ negative tv_sec values are not checked for overflow, >> so overflow can still occur. Fix that. Also remove the extra check for >> tv_sec size as under COMPAT_LINUX32 it is always true. >> >> Pointed out by: bde@ >> >> MFC after: 1 week >> >> Modified: >> head/sys/compat/linux/linux_time.c >> >> Modified: head/sys/compat/linux/linux_time.c >> ============================================================================== >> --- head/sys/compat/linux/linux_time.c Sun Apr 2 07:11:15 2017 (r316392) >> +++ head/sys/compat/linux/linux_time.c Sun Apr 2 07:46:13 2017 (r316393) >> @@ -125,8 +125,7 @@ native_to_linux_timespec(struct l_timesp >> >> LIN_SDT_PROBE2(time, native_to_linux_timespec, entry, ltp, ntp); >> #ifdef COMPAT_LINUX32 >> - if (ntp->tv_sec > INT_MAX && >> - sizeof(ltp->tv_sec) != sizeof(ntp->tv_sec)) >> + if (ntp->tv_sec > INT_MAX || ntp->tv_sec < INT_MIN) > This line reads as only tv_sec == INT_MAX case results in non-EOVERFLOW > condition. > >> return (EOVERFLOW); >> #endif >> ltp->tv_sec = ntp->tv_sec; > It is possible kib@ did what I did, which was read both sides of the or as comparing against INT_MAX at first glance, rather than the 2nd one being INT_MIN. -- Allan Jude From owner-svn-src-all@freebsd.org Sun Apr 2 18:16:01 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5492AD2B6AA; Sun, 2 Apr 2017 18:16:01 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2FE4D75C; Sun, 2 Apr 2017 18:16:01 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32IG0XD024135; Sun, 2 Apr 2017 18:16:00 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32IG0LI024132; Sun, 2 Apr 2017 18:16:00 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201704021816.v32IG0LI024132@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 2 Apr 2017 18:16:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316426 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 18:16:01 -0000 Author: dchagin Date: Sun Apr 2 18:16:00 2017 New Revision: 316426 URL: https://svnweb.freebsd.org/changeset/base/316426 Log: Use the kern_clock_nanosleep() to implement Linux clock_nanosleep() with the proper handling of the TIMER_ABSTIME flag. XMFC after: r315526 MFC after: 1 month Modified: head/sys/compat/linux/linux_time.c head/sys/compat/linux/linux_timer.h Modified: head/sys/compat/linux/linux_time.c ============================================================================== --- head/sys/compat/linux/linux_time.c Sun Apr 2 17:34:45 2017 (r316425) +++ head/sys/compat/linux/linux_time.c Sun Apr 2 18:16:00 2017 (r316426) @@ -229,6 +229,18 @@ linux_to_native_clockid(clockid_t *n, cl } int +linux_to_native_timerflags(int *nflags, int flags) +{ + + if (flags & ~LINUX_TIMER_ABSTIME) + return (EINVAL); + *nflags = 0; + if (flags & LINUX_TIMER_ABSTIME) + *nflags |= TIMER_ABSTIME; + return (0); +} + +int linux_clock_gettime(struct thread *td, struct linux_clock_gettime_args *args) { struct l_timespec lts; @@ -541,24 +553,26 @@ linux_clock_nanosleep(struct thread *td, struct timespec *rmtp; struct l_timespec lrqts, lrmts; struct timespec rqts, rmts; - int error, error2; + int error, error2, flags; + clockid_t clockid; LIN_SDT_PROBE4(time, linux_clock_nanosleep, entry, args->which, args->flags, args->rqtp, args->rmtp); - if (args->flags != 0) { - /* XXX deal with TIMER_ABSTIME */ + error = linux_to_native_timerflags(&flags, args->flags); + if (error != 0) { LIN_SDT_PROBE1(time, linux_clock_nanosleep, unsupported_flags, args->flags); - LIN_SDT_PROBE1(time, linux_clock_nanosleep, return, EINVAL); - return (EINVAL); /* XXX deal with TIMER_ABSTIME */ + LIN_SDT_PROBE1(time, linux_clock_nanosleep, return, error); + return (error); } - if (args->which != LINUX_CLOCK_REALTIME) { + error = linux_to_native_clockid(&clockid, args->which); + if (error != 0) { LIN_SDT_PROBE1(time, linux_clock_nanosleep, unsupported_clockid, args->which); - LIN_SDT_PROBE1(time, linux_clock_nanosleep, return, EINVAL); - return (EINVAL); + LIN_SDT_PROBE1(time, linux_clock_settime, return, error); + return (error); } error = copyin(args->rqtp, &lrqts, sizeof(lrqts)); @@ -581,9 +595,9 @@ linux_clock_nanosleep(struct thread *td, LIN_SDT_PROBE1(time, linux_clock_nanosleep, return, error); return (error); } - error = kern_nanosleep(td, &rqts, rmtp); - if (error == EINTR && args->rmtp != NULL) { - /* XXX. Not for TIMER_ABSTIME */ + error = kern_clock_nanosleep(td, clockid, flags, &rqts, rmtp); + if (error == EINTR && (flags & TIMER_ABSTIME) == 0 && + args->rmtp != NULL) { error2 = native_to_linux_timespec(&lrmts, rmtp); if (error2 != 0) return (error2); Modified: head/sys/compat/linux/linux_timer.h ============================================================================== --- head/sys/compat/linux/linux_timer.h Sun Apr 2 17:34:45 2017 (r316425) +++ head/sys/compat/linux/linux_timer.h Sun Apr 2 18:16:00 2017 (r316426) @@ -72,6 +72,7 @@ #define LINUX_CPUCLOCK_PERTHREAD(clock) \ (((clock) & (clockid_t) LINUX_CPUCLOCK_PERTHREAD_MASK) != 0) +#define LINUX_TIMER_ABSTIME 0x01 #define L_SIGEV_SIGNAL 0 #define L_SIGEV_NONE 1 @@ -120,5 +121,6 @@ int native_to_linux_itimerspec(struct l_ struct itimerspec *); int linux_to_native_itimerspec(struct itimerspec *, struct l_itimerspec *); +int linux_to_native_timerflags(int *, int); #endif /* _LINUX_TIMER_H */ From owner-svn-src-all@freebsd.org Sun Apr 2 18:23:57 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EDFFCD2B8B9; Sun, 2 Apr 2017 18:23:57 +0000 (UTC) (envelope-from dchagin@mordor.heemeyer.club) Received: from heemeyer.club (heemeyer.club [108.61.204.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "heemeyer.club", Issuer "heemeyer.club" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id B454BB92; Sun, 2 Apr 2017 18:23:56 +0000 (UTC) (envelope-from dchagin@mordor.heemeyer.club) Received: from mordor.heemeyer.club (dchagin.static.corbina.ru [78.107.232.239]) by heemeyer.club (8.15.2/8.15.1) with ESMTPS id v32INieM020213 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 2 Apr 2017 18:23:47 GMT (envelope-from dchagin@mordor.heemeyer.club) X-Authentication-Warning: heemeyer.club: Host dchagin.static.corbina.ru [78.107.232.239] claimed to be mordor.heemeyer.club Received: from mordor.heemeyer.club (localhost [127.0.0.1]) by mordor.heemeyer.club (8.15.2/8.15.1) with ESMTPS id v32INhR3056045 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 2 Apr 2017 21:23:44 +0300 (MSK) (envelope-from dchagin@mordor.heemeyer.club) Received: (from dchagin@localhost) by mordor.heemeyer.club (8.15.2/8.15.2/Submit) id v32INgou055980; Sun, 2 Apr 2017 21:23:42 +0300 (MSK) (envelope-from dchagin) Date: Sun, 2 Apr 2017 21:23:41 +0300 From: Chagin Dmitry To: Bruce Evans Cc: Konstantin Belousov , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316393 - head/sys/compat/linux Message-ID: <20170402182341.GA50190@mordor.heemeyer.club> References: <201704020746.v327kDSN042840@repo.freebsd.org> <20170402133651.GJ43712@kib.kiev.ua> <20170402163306.GA44865@mordor.heemeyer.club> <20170403035157.X3216@besplex.bde.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170403035157.X3216@besplex.bde.org> User-Agent: Mutt/1.8.0 (2017-02-23) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 18:23:58 -0000 On Mon, Apr 03, 2017 at 03:57:29AM +1000, Bruce Evans wrote: > On Sun, 2 Apr 2017, Chagin Dmitry wrote: > > > On Sun, Apr 02, 2017 at 04:36:51PM +0300, Konstantin Belousov wrote: > >> On Sun, Apr 02, 2017 at 07:46:13AM +0000, Dmitry Chagin wrote: > >>> Author: dchagin > >>> Date: Sun Apr 2 07:46:13 2017 > >>> New Revision: 316393 > >>> URL: https://svnweb.freebsd.org/changeset/base/316393 > >>> > >>> Log: > >>> As noted by bde@ negative tv_sec values are not checked for overflow, > >>> so overflow can still occur. Fix that. Also remove the extra check for > >>> tv_sec size as under COMPAT_LINUX32 it is always true. > >>> > >>> Pointed out by: bde@ > >>> > >>> MFC after: 1 week > >>> > >>> Modified: > >>> head/sys/compat/linux/linux_time.c > >>> > >>> Modified: head/sys/compat/linux/linux_time.c > >>> ============================================================================== > >>> --- head/sys/compat/linux/linux_time.c Sun Apr 2 07:11:15 2017 (r316392) > >>> +++ head/sys/compat/linux/linux_time.c Sun Apr 2 07:46:13 2017 (r316393) > >>> @@ -125,8 +125,7 @@ native_to_linux_timespec(struct l_timesp > >>> > >>> LIN_SDT_PROBE2(time, native_to_linux_timespec, entry, ltp, ntp); > >>> #ifdef COMPAT_LINUX32 > >>> - if (ntp->tv_sec > INT_MAX && > >>> - sizeof(ltp->tv_sec) != sizeof(ntp->tv_sec)) > >>> + if (ntp->tv_sec > INT_MAX || ntp->tv_sec < INT_MIN) > >> This line reads as only tv_sec == INT_MAX case results in non-EOVERFLOW > >> condition. > >> > > > > should I rewrite it like: > > > > if (ntp->tv_sec < INT_MIN || ntp->tv_sec > INT_MAX) > > ? > > I don't see the problem. Do you mean that the compiler might remove > this code because the check is tautologically false on 32-bit natives, > but warn too? I mean kib@ sentence that line 'reads like', as I'm sure that the code is correct. This code does not compile on 32-bit as it under COMPAT_LINUX32. > > The sizeof() comparison is even easier to evaluate at compile time. > Perhaps it acted a hint to the compiler to not warn. > > Bruce -- From owner-svn-src-all@freebsd.org Sun Apr 2 20:39:52 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D5887D2B0DE; Sun, 2 Apr 2017 20:39:52 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 86FE0DD; Sun, 2 Apr 2017 20:39:52 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32KdpSx080677; Sun, 2 Apr 2017 20:39:51 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32KdpJt080676; Sun, 2 Apr 2017 20:39:51 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704022039.v32KdpJt080676@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 20:39:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316427 - head/usr.sbin/bhyve X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 20:39:52 -0000 Author: mav Date: Sun Apr 2 20:39:51 2017 New Revision: 316427 URL: https://svnweb.freebsd.org/changeset/base/316427 Log: Add Log directory and SATA NCQ Send and Receive Log. Those are used at least by Linux guests to detect queued TRIM support. MFC after: 2 weeks Sponsored by: iXsystems, Inc. Modified: head/usr.sbin/bhyve/pci_ahci.c Modified: head/usr.sbin/bhyve/pci_ahci.c ============================================================================== --- head/usr.sbin/bhyve/pci_ahci.c Sun Apr 2 18:16:00 2017 (r316426) +++ head/usr.sbin/bhyve/pci_ahci.c Sun Apr 2 20:39:51 2017 (r316427) @@ -932,19 +932,36 @@ static void ahci_handle_read_log(struct ahci_port *p, int slot, uint8_t *cfis) { struct ahci_cmd_hdr *hdr; - uint8_t buf[512]; + uint32_t buf[128]; + uint8_t *buf8 = (uint8_t *)buf; + uint16_t *buf16 = (uint16_t *)buf; hdr = (struct ahci_cmd_hdr *)(p->cmd_lst + slot * AHCI_CL_SIZE); - if (p->atapi || hdr->prdtl == 0 || cfis[4] != 0x10 || - cfis[5] != 0 || cfis[9] != 0 || cfis[12] != 1 || cfis[13] != 0) { + if (p->atapi || hdr->prdtl == 0 || cfis[5] != 0 || + cfis[9] != 0 || cfis[12] != 1 || cfis[13] != 0) { ahci_write_fis_d2h(p, slot, cfis, (ATA_E_ABORT << 8) | ATA_S_READY | ATA_S_ERROR); return; } memset(buf, 0, sizeof(buf)); - memcpy(buf, p->err_cfis, sizeof(p->err_cfis)); - ahci_checksum(buf, sizeof(buf)); + if (cfis[4] == 0x00) { /* Log directory */ + buf16[0x00] = 1; /* Version -- 1 */ + buf16[0x10] = 1; /* NCQ Command Error Log -- 1 page */ + buf16[0x13] = 1; /* SATA NCQ Send and Receive Log -- 1 page */ + } else if (cfis[4] == 0x10) { /* NCQ Command Error Log */ + memcpy(buf8, p->err_cfis, sizeof(p->err_cfis)); + ahci_checksum(buf8, sizeof(buf8)); + } else if (cfis[4] == 0x13) { /* SATA NCQ Send and Receive Log */ + if (blockif_candelete(p->bctx) && !blockif_is_ro(p->bctx)) { + buf[0x00] = 1; /* SFQ DSM supported */ + buf[0x01] = 1; /* SFQ DSM TRIM supported */ + } + } else { + ahci_write_fis_d2h(p, slot, cfis, + (ATA_E_ABORT << 8) | ATA_S_READY | ATA_S_ERROR); + return; + } if (cfis[2] == ATA_READ_LOG_EXT) ahci_write_fis_piosetup(p); From owner-svn-src-all@freebsd.org Sun Apr 2 20:58:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B240D2B6D1; Sun, 2 Apr 2017 20:58:00 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1D507DB1; Sun, 2 Apr 2017 20:58:00 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32KvxDU088790; Sun, 2 Apr 2017 20:57:59 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32Kvx5R088789; Sun, 2 Apr 2017 20:57:59 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704022057.v32Kvx5R088789@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Sun, 2 Apr 2017 20:57:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316428 - head/usr.sbin/bhyve X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 20:58:00 -0000 Author: mav Date: Sun Apr 2 20:57:59 2017 New Revision: 316428 URL: https://svnweb.freebsd.org/changeset/base/316428 Log: Fix variable for sizeof() in previous commit. MFC after: 2 weeks Modified: head/usr.sbin/bhyve/pci_ahci.c Modified: head/usr.sbin/bhyve/pci_ahci.c ============================================================================== --- head/usr.sbin/bhyve/pci_ahci.c Sun Apr 2 20:39:51 2017 (r316427) +++ head/usr.sbin/bhyve/pci_ahci.c Sun Apr 2 20:57:59 2017 (r316428) @@ -951,7 +951,7 @@ ahci_handle_read_log(struct ahci_port *p buf16[0x13] = 1; /* SATA NCQ Send and Receive Log -- 1 page */ } else if (cfis[4] == 0x10) { /* NCQ Command Error Log */ memcpy(buf8, p->err_cfis, sizeof(p->err_cfis)); - ahci_checksum(buf8, sizeof(buf8)); + ahci_checksum(buf8, sizeof(buf)); } else if (cfis[4] == 0x13) { /* SATA NCQ Send and Receive Log */ if (blockif_candelete(p->bctx) && !blockif_is_ro(p->bctx)) { buf[0x00] = 1; /* SFQ DSM supported */ From owner-svn-src-all@freebsd.org Sun Apr 2 20:59:13 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A9FB4D2B769; Sun, 2 Apr 2017 20:59:13 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 84FE5EFB; Sun, 2 Apr 2017 20:59:13 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32KxCRA088881; Sun, 2 Apr 2017 20:59:12 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32KxC78088880; Sun, 2 Apr 2017 20:59:12 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201704022059.v32KxC78088880@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sun, 2 Apr 2017 20:59:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316429 - head/sys/net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 20:59:13 -0000 Author: adrian Date: Sun Apr 2 20:59:12 2017 New Revision: 316429 URL: https://svnweb.freebsd.org/changeset/base/316429 Log: [net80211] refactor the A-MPDU RX window code The RX window update code is effectively the same in both locations. Reviewed by: avos Differential Revision: https://reviews.freebsd.org/D10208 Modified: head/sys/net80211/ieee80211_ht.c Modified: head/sys/net80211/ieee80211_ht.c ============================================================================== --- head/sys/net80211/ieee80211_ht.c Sun Apr 2 20:57:59 2017 (r316428) +++ head/sys/net80211/ieee80211_ht.c Sun Apr 2 20:59:12 2017 (r316429) @@ -644,6 +644,40 @@ ampdu_dispatch(struct ieee80211_node *ni (void) ieee80211_input(ni, m, 0, 0); } +static void +ampdu_rx_moveup(struct ieee80211_rx_ampdu *rap, struct ieee80211_node *ni, + int i, int winstart) +{ + struct ieee80211vap *vap = ni->ni_vap; + + if (rap->rxa_qframes != 0) { + int n = rap->rxa_qframes, j; + + if (winstart != -1) { + /* + * NB: in window-sliding mode, loop assumes i > 0 + * and/or rxa_m[0] is NULL + */ + KASSERT(rap->rxa_m[0] == NULL, + ("%s: BA window slot 0 occupied", __func__)); + } + for (j = i+1; j < rap->rxa_wnd; j++) { + if (rap->rxa_m[j] != NULL) { + rap->rxa_m[j-i] = rap->rxa_m[j]; + rap->rxa_m[j] = NULL; + if (--n == 0) + break; + } + } + KASSERT(n == 0, ("%s: lost %d frames, qframes %d off %d " + "BA win <%d:%d> winstart %d", + __func__, n, rap->rxa_qframes, i, rap->rxa_start, + IEEE80211_SEQ_ADD(rap->rxa_start, rap->rxa_wnd-1), + winstart)); + vap->iv_stats.is_ampdu_rx_copy += rap->rxa_qframes; + } +} + /* * Dispatch as many frames as possible from the re-order queue. * Frames will always be "at the front"; we process all frames @@ -674,19 +708,8 @@ ampdu_rx_dispatch(struct ieee80211_rx_am * If frames remain, copy the mbuf pointers down so * they correspond to the offsets in the new window. */ - if (rap->rxa_qframes != 0) { - int n = rap->rxa_qframes, j; - for (j = i+1; j < rap->rxa_wnd; j++) { - if (rap->rxa_m[j] != NULL) { - rap->rxa_m[j-i] = rap->rxa_m[j]; - rap->rxa_m[j] = NULL; - if (--n == 0) - break; - } - } - KASSERT(n == 0, ("lost %d frames", n)); - vap->iv_stats.is_ampdu_rx_copy += rap->rxa_qframes; - } + ampdu_rx_moveup(rap, ni, i, -1); + /* * Adjust the start of the BA window to * reflect the frames just dispatched. @@ -761,27 +784,8 @@ ampdu_rx_flush_upto(struct ieee80211_nod * If frames remain, copy the mbuf pointers down so * they correspond to the offsets in the new window. */ - if (rap->rxa_qframes != 0) { - int n = rap->rxa_qframes, j; + ampdu_rx_moveup(rap, ni, i, winstart); - /* NB: this loop assumes i > 0 and/or rxa_m[0] is NULL */ - KASSERT(rap->rxa_m[0] == NULL, - ("%s: BA window slot 0 occupied", __func__)); - for (j = i+1; j < rap->rxa_wnd; j++) { - if (rap->rxa_m[j] != NULL) { - rap->rxa_m[j-i] = rap->rxa_m[j]; - rap->rxa_m[j] = NULL; - if (--n == 0) - break; - } - } - KASSERT(n == 0, ("%s: lost %d frames, qframes %d off %d " - "BA win <%d:%d> winstart %d", - __func__, n, rap->rxa_qframes, i, rap->rxa_start, - IEEE80211_SEQ_ADD(rap->rxa_start, rap->rxa_wnd-1), - winstart)); - vap->iv_stats.is_ampdu_rx_copy += rap->rxa_qframes; - } /* * Move the start of the BA window; we use the * sequence number of the last MSDU that was From owner-svn-src-all@freebsd.org Sun Apr 2 21:30:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A367AD2A2CA; Sun, 2 Apr 2017 21:30:06 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 685886A8; Sun, 2 Apr 2017 21:30:06 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v32LU5GK001326; Sun, 2 Apr 2017 21:30:05 GMT (envelope-from vangyzen@FreeBSD.org) Received: (from vangyzen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v32LU5Ee001325; Sun, 2 Apr 2017 21:30:05 GMT (envelope-from vangyzen@FreeBSD.org) Message-Id: <201704022130.v32LU5Ee001325@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vangyzen set sender to vangyzen@FreeBSD.org using -f From: Eric van Gyzen Date: Sun, 2 Apr 2017 21:30:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316430 - head/bin/dd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Apr 2017 21:30:06 -0000 Author: vangyzen Date: Sun Apr 2 21:30:05 2017 New Revision: 316430 URL: https://svnweb.freebsd.org/changeset/base/316430 Log: Fix indentation in dd(1) Quoting http://mdocml.bsd.lv/mdoc/details/width.html Do not use macros in the argument specifying the width, since that's not portable. While GNU troff can handle it, mandoc cannot. MFC after: 3 days Sponsored by: Dell EMC Modified: head/bin/dd/dd.1 Modified: head/bin/dd/dd.1 ============================================================================== --- head/bin/dd/dd.1 Sun Apr 2 20:59:12 2017 (r316429) +++ head/bin/dd/dd.1 Sun Apr 2 21:30:05 2017 (r316430) @@ -32,7 +32,7 @@ .\" @(#)dd.1 8.2 (Berkeley) 1/13/94 .\" $FreeBSD$ .\" -.Dd October 5, 2016 +.Dd April 2, 2017 .Dt DD 1 .Os .Sh NAME @@ -54,7 +54,7 @@ displays the number of complete and part and truncated input records to the standard error output. .Pp The following operands are available: -.Bl -tag -width ".Cm of Ns = Ns Ar file" +.Bl -tag -width "of=file" .It Cm bs Ns = Ns Ar n Set both input and output block size to .Ar n @@ -164,7 +164,7 @@ bytes per second. Where .Cm value is one of the symbols from the following list. -.Bl -tag -width ".Cm noxfer" +.Bl -tag -width "noxfer" .It Cm noxfer Do not print the transfer statistics as the last line of status output. .It Cm none @@ -175,7 +175,7 @@ Error messages are shown; informational Where .Cm value is one of the symbols from the following list. -.Bl -tag -width ".Cm unblock" +.Bl -tag -width "unblock" .It Cm ascii , oldascii The same as the .Cm unblock @@ -459,4 +459,4 @@ subsystem might prevent the super-user f Instructions for temporarily disabling these protection mechanisms can be found in the .Xr geom 4 -manpage. +man page. From owner-svn-src-all@freebsd.org Mon Apr 3 00:46:33 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C9A0FD2A761; Mon, 3 Apr 2017 00:46:33 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 96102FE7; Mon, 3 Apr 2017 00:46:33 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v330kW2l081940; Mon, 3 Apr 2017 00:46:32 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v330kWli081939; Mon, 3 Apr 2017 00:46:32 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201704030046.v330kWli081939@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Mon, 3 Apr 2017 00:46:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316431 - stable/11/sys/kern X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 00:46:33 -0000 Author: glebius Date: Mon Apr 3 00:46:32 2017 New Revision: 316431 URL: https://svnweb.freebsd.org/changeset/base/316431 Log: Merge r315910: Make sendfile(2) more robust against file change. This fixes a possible crash when the file shrinks. This also fixes sendfile(2) not sending more data in a case when the file grows, and the request is open-ended or specifies a size that is greater than old file size. PR: 217789 Reviewed by: gallatin Modified: stable/11/sys/kern/kern_sendfile.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/kern_sendfile.c ============================================================================== --- stable/11/sys/kern/kern_sendfile.c Sun Apr 2 21:30:05 2017 (r316430) +++ stable/11/sys/kern/kern_sendfile.c Mon Apr 3 00:46:32 2017 (r316431) @@ -681,11 +681,10 @@ retry_space: goto done; } if (va.va_size != obj_size) { - if (nbytes == 0) - rem += va.va_size - obj_size; - else if (offset + nbytes > va.va_size) - rem -= (offset + nbytes - va.va_size); obj_size = va.va_size; + rem = nbytes ? + omin(nbytes + offset, obj_size) : obj_size; + rem -= off; } } From owner-svn-src-all@freebsd.org Mon Apr 3 01:57:05 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3809FD2B92D; Mon, 3 Apr 2017 01:57:05 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ED20FFF8; Mon, 3 Apr 2017 01:57:04 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v331v4sK009929; Mon, 3 Apr 2017 01:57:04 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v331v33E009927; Mon, 3 Apr 2017 01:57:03 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704030157.v331v33E009927@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 3 Apr 2017 01:57:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316432 - stable/11/contrib/llvm/tools/lld/ELF X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 01:57:05 -0000 Author: emaste Date: Mon Apr 3 01:57:03 2017 New Revision: 316432 URL: https://svnweb.freebsd.org/changeset/base/316432 Log: MFC r316029: lld: hack version and help output for compatibility with libtool GNU libtool checks the output from invoking the linker with --version and --help, in order to determine the linker "flavour" and the command- ine arguments to use for various link operations (e.g. generating shared libraries). To detect GNU ld it looks for the strings "GNU" and "supported targets:.*elf". Since LLD is compatible with GNU ld we include those same strings to fool libtool. Quoting from a comment in the change: This is somewhat ugly hack, but in reality, we had no choice other than doing this. Considering the very long release cycle of Libtool, it is not easy to improve it to recognize LLD as a GNU compatible linker in a timely manner. Even if we can make it, there are still a lot of "configure" scripts out there that are generated by old version of Libtool. We cannot convince every software developer to migrate to the latest version and re-generate scripts. So we have this hack. Upstream LLVM revisions r298532, r298568, r298591 Sponsored by: The FreeBSD Foundation Modified: stable/11/contrib/llvm/tools/lld/ELF/Driver.cpp stable/11/contrib/llvm/tools/lld/ELF/DriverUtils.cpp Directory Properties: stable/11/ (props changed) Modified: stable/11/contrib/llvm/tools/lld/ELF/Driver.cpp ============================================================================== --- stable/11/contrib/llvm/tools/lld/ELF/Driver.cpp Mon Apr 3 00:46:32 2017 (r316431) +++ stable/11/contrib/llvm/tools/lld/ELF/Driver.cpp Mon Apr 3 01:57:03 2017 (r316432) @@ -281,11 +281,27 @@ void LinkerDriver::main(ArrayRef Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 24E4BD292B6; Mon, 3 Apr 2017 02:26:32 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EB3D6E92; Mon, 3 Apr 2017 02:26:31 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v332QVZK021947; Mon, 3 Apr 2017 02:26:31 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v332QVuh021946; Mon, 3 Apr 2017 02:26:31 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704030226.v332QVuh021946@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 3 Apr 2017 02:26:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316433 - head/sys/netpfil/ipfw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 02:26:32 -0000 Author: ae Date: Mon Apr 3 02:26:30 2017 New Revision: 316433 URL: https://svnweb.freebsd.org/changeset/base/316433 Log: Add the log formatting for an external action opcode. Obtained from: Yandex LLC MFC after: 2 weeks Sponsored by: Yandex LLC Modified: head/sys/netpfil/ipfw/ip_fw_log.c Modified: head/sys/netpfil/ipfw/ip_fw_log.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_log.c Mon Apr 3 01:57:03 2017 (r316432) +++ head/sys/netpfil/ipfw/ip_fw_log.c Mon Apr 3 02:26:30 2017 (r316433) @@ -264,6 +264,11 @@ ipfw_log(struct ip_fw_chain *chain, stru snprintf(SNPARGS(action2, 0), "Call %d", cmd->arg1); break; + case O_EXTERNAL_ACTION: + snprintf(SNPARGS(action2, 0), "Eaction %s", + ((struct named_object *)SRV_OBJECT(chain, + cmd->arg1))->name); + break; default: action = "UNKNOWN"; break; From owner-svn-src-all@freebsd.org Mon Apr 3 02:44:41 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9AD15D297A7; Mon, 3 Apr 2017 02:44:41 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6B4F5920; Mon, 3 Apr 2017 02:44:41 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v332ie7x029910; Mon, 3 Apr 2017 02:44:40 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v332iecr029906; Mon, 3 Apr 2017 02:44:40 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704030244.v332iecr029906@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 3 Apr 2017 02:44:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316434 - in head: sbin/ipfw sys/netinet sys/netpfil/ipfw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 02:44:41 -0000 Author: ae Date: Mon Apr 3 02:44:40 2017 New Revision: 316434 URL: https://svnweb.freebsd.org/changeset/base/316434 Log: Add O_EXTERNAL_DATA opcode support. This opcode can be used to attach some data to external action opcode. And unlike to O_EXTERNAL_INSTANCE opcode, this opcode does not require creating of named instance to pass configuration arguments to external action handler. The data is coming just next to O_EXTERNAL_ACTION opcode. The userlevel part currenly supports formatting for opcode with ipfw_insn size, by default it expects u16 numeric value in the arg1. Obtained from: Yandex LLC MFC after: 2 weeks Sponsored by: Yandex LLC Modified: head/sbin/ipfw/ipfw2.c head/sys/netinet/ip_fw.h head/sys/netpfil/ipfw/ip_fw_eaction.c head/sys/netpfil/ipfw/ip_fw_sockopt.c Modified: head/sbin/ipfw/ipfw2.c ============================================================================== --- head/sbin/ipfw/ipfw2.c Mon Apr 3 02:26:30 2017 (r316433) +++ head/sbin/ipfw/ipfw2.c Mon Apr 3 02:44:40 2017 (r316434) @@ -1642,6 +1642,22 @@ show_static_rule(struct cmdline_opts *co break; } + case O_EXTERNAL_DATA: { + if (has_eaction == NULL) + break; + /* + * Currently we support data formatting only for + * external data with datalen u16. For unknown data + * print its size in bytes. + */ + if (cmd->len == F_INSN_SIZE(ipfw_insn)) + bprintf(bp, " %u", cmd->arg1); + else + bprintf(bp, " %ubytes", + cmd->len * sizeof(uint32_t)); + break; + } + case O_SETDSCP: { const char *code; Modified: head/sys/netinet/ip_fw.h ============================================================================== --- head/sys/netinet/ip_fw.h Mon Apr 3 02:26:30 2017 (r316433) +++ head/sys/netinet/ip_fw.h Mon Apr 3 02:44:40 2017 (r316434) @@ -281,6 +281,7 @@ enum ipfw_opcodes { /* arguments (4 byt O_EXTERNAL_ACTION, /* arg1=id of external action handler */ O_EXTERNAL_INSTANCE, /* arg1=id of eaction handler instance */ + O_EXTERNAL_DATA, /* variable length data */ O_LAST_OPCODE /* not an opcode! */ }; Modified: head/sys/netpfil/ipfw/ip_fw_eaction.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_eaction.c Mon Apr 3 02:26:30 2017 (r316433) +++ head/sys/netpfil/ipfw/ip_fw_eaction.c Mon Apr 3 02:44:40 2017 (r316434) @@ -1,6 +1,6 @@ /*- - * Copyright (c) 2016 Yandex LLC - * Copyright (c) 2016 Andrey V. Elsukov + * Copyright (c) 2016-2017 Yandex LLC + * Copyright (c) 2016-2017 Andrey V. Elsukov * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -57,7 +57,7 @@ __FBSDID("$FreeBSD$"); * rules. * Module should implement opcode handler with type ipfw_eaction_t. * This handler will be called by ipfw_chk() function when - * O_EXTERNAL_ACTION opcode will be matched. The handler must return + * O_EXTERNAL_ACTION opcode is matched. The handler must return * value used as return value in ipfw_chk(), i.e. IP_FW_PASS, * IP_FW_DENY (see ip_fw_private.h). * Also the last argument must be set by handler. If it is zero, @@ -69,9 +69,12 @@ __FBSDID("$FreeBSD$"); * This function will return eaction_id, that can be used by module. * * It is possible to pass some additional information to external - * action handler via the O_EXTERNAL_INSTANCE opcode. This opcode - * will be next after the O_EXTERNAL_ACTION opcode. cmd->arg1 will - * contain index of named object related to instance of external action. + * action handler using O_EXTERNAL_INSTANCE and O_EXTERNAL_DATA opcodes. + * Such opcodes should be next after the O_EXTERNAL_ACTION opcode. + * For the O_EXTERNAL_INSTANCE opcode the cmd->arg1 contains index of named + * object related to an instance of external action. + * For the O_EXTERNAL_DATA opcode the cmd contains the data that can be used + * by external action handler without needing to create named instance. * * In case when eaction module uses named instances, it should register * opcode rewriting routines for O_EXTERNAL_INSTANCE opcode. The @@ -284,11 +287,13 @@ reset_eaction_obj(struct ip_fw_chain *ch /* * Since named_object related to this instance will be * also destroyed, truncate the chain of opcodes to - * remove O_EXTERNAL_INSTANCE opcode. + * remove the rest of cmd chain just after O_EXTERNAL_ACTION + * opcode. */ if (rule->act_ofs < rule->cmd_len - 1) { - EACTION_DEBUG("truncate rule %d", rule->rulenum); - rule->cmd_len--; + EACTION_DEBUG("truncate rule %d: len %u -> %u", + rule->rulenum, rule->cmd_len, rule->act_ofs + 1); + rule->cmd_len = rule->act_ofs + 1; } } IPFW_WUNLOCK(ch); Modified: head/sys/netpfil/ipfw/ip_fw_sockopt.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_sockopt.c Mon Apr 3 02:26:30 2017 (r316433) +++ head/sys/netpfil/ipfw/ip_fw_sockopt.c Mon Apr 3 02:44:40 2017 (r316434) @@ -1736,11 +1736,16 @@ check_ipfw_rule_body(ipfw_insn *cmd, int return (EINVAL); } ci->object_opcodes++; - /* Do we have O_EXTERNAL_INSTANCE opcode? */ + /* + * Do we have O_EXTERNAL_INSTANCE or O_EXTERNAL_DATA + * opcode? + */ if (l != cmdlen) { l -= cmdlen; cmd += cmdlen; cmdlen = F_LEN(cmd); + if (cmd->opcode == O_EXTERNAL_DATA) + goto check_action; if (cmd->opcode != O_EXTERNAL_INSTANCE) { printf("ipfw: invalid opcode " "next to external action %u\n", @@ -2618,11 +2623,11 @@ unref_rule_objects(struct ip_fw_chain *c continue; no = rw->find_bykidx(ch, kidx); - KASSERT(no != NULL, ("table id %d not found", kidx)); + KASSERT(no != NULL, ("object id %d not found", kidx)); KASSERT(no->subtype == subtype, - ("wrong type %d (%d) for table id %d", + ("wrong type %d (%d) for object id %d", no->subtype, subtype, kidx)); - KASSERT(no->refcnt > 0, ("refcount for table %d is %d", + KASSERT(no->refcnt > 0, ("refcount for object %d is %d", kidx, no->refcnt)); if (no->refcnt == 1 && rw->destroy_object != NULL) From owner-svn-src-all@freebsd.org Mon Apr 3 03:07:50 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B58EDD29CC3; Mon, 3 Apr 2017 03:07:50 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7966F1629; Mon, 3 Apr 2017 03:07:50 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3337nL6039026; Mon, 3 Apr 2017 03:07:49 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3337mfs039014; Mon, 3 Apr 2017 03:07:48 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704030307.v3337mfs039014@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 3 Apr 2017 03:07:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316435 - in head: sbin/ipfw sys/conf sys/modules sys/modules/ipfw_pmod sys/netpfil/ipfw/pmod X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 03:07:50 -0000 Author: ae Date: Mon Apr 3 03:07:48 2017 New Revision: 316435 URL: https://svnweb.freebsd.org/changeset/base/316435 Log: Add ipfw_pmod kernel module. The module is designed for modification of a packets of any protocols. For now it implements only TCP MSS modification. It adds the external action handler for "tcp-setmss" action. A rule with tcp-setmss action does additional check for protocol and TCP flags. If SYN flag is present, it parses TCP options and modifies MSS option if its value is greater than configured value in the rule. Then it adjustes TCP checksum if needed. After handling the search continues with the next rule. Obtained from: Yandex LLC MFC after: 2 weeks Relnotes: yes Sponsored by: Yandex LLC No objection from: #network Differential Revision: https://reviews.freebsd.org/D10150 Added: head/sys/modules/ipfw_pmod/ head/sys/modules/ipfw_pmod/Makefile (contents, props changed) head/sys/netpfil/ipfw/pmod/ head/sys/netpfil/ipfw/pmod/ip_fw_pmod.c (contents, props changed) head/sys/netpfil/ipfw/pmod/pmod.h (contents, props changed) head/sys/netpfil/ipfw/pmod/tcpmod.c (contents, props changed) Modified: head/sbin/ipfw/ipfw.8 head/sbin/ipfw/ipfw2.c head/sbin/ipfw/ipfw2.h head/sys/conf/NOTES head/sys/conf/files head/sys/conf/options head/sys/modules/Makefile Modified: head/sbin/ipfw/ipfw.8 ============================================================================== --- head/sbin/ipfw/ipfw.8 Mon Apr 3 02:44:40 2017 (r316434) +++ head/sbin/ipfw/ipfw.8 Mon Apr 3 03:07:48 2017 (r316435) @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 15, 2017 +.Dd April 3, 2017 .Dt IPFW 8 .Os .Sh NAME @@ -1118,6 +1118,20 @@ It is also possible to use the keyword with setdscp. If the tablearg value is not within the 0..64 range, lower 6 bits of supplied value are used. +.It Cm tcp-setmss Ar mss +Set the Maximum Segment Size (MSS) in the TCP segment to value +.Ar mss . +The kernel module +.Cm ipfw_pmod +should be loaded or kernel should have +.Cm options IPFIREWALL_PMOD +to be able use this action. +This command does not change a packet if original MSS value is lower than +specified value. +Both TCP over IPv4 and over IPv6 are supported. +Regardless of matched a packet or not by the +.Cm tcp-setmss +rule, the search continues with the next rule. .It Cm reass Queue and reassemble IP fragments. If the packet is not fragmented, counters are updated and Modified: head/sbin/ipfw/ipfw2.c ============================================================================== --- head/sbin/ipfw/ipfw2.c Mon Apr 3 02:44:40 2017 (r316434) +++ head/sbin/ipfw/ipfw2.c Mon Apr 3 03:07:48 2017 (r316435) @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -238,6 +239,7 @@ static struct _s_x rule_eactions[] = { { "nat64lsn", TOK_NAT64LSN }, { "nat64stl", TOK_NAT64STL }, { "nptv6", TOK_NPTV6 }, + { "tcp-setmss", TOK_TCPSETMSS }, { NULL, 0 } /* terminator */ }; @@ -272,6 +274,7 @@ static struct _s_x rule_actions[] = { { "call", TOK_CALL }, { "return", TOK_RETURN }, { "eaction", TOK_EACTION }, + { "tcp-setmss", TOK_TCPSETMSS }, { NULL, 0 } /* terminator */ }; @@ -4007,6 +4010,26 @@ chkarg: fill_cmd(action, O_CALLRETURN, F_NOT, 0); break; + case TOK_TCPSETMSS: { + u_long mss; + uint16_t idx; + + idx = pack_object(tstate, "tcp-setmss", IPFW_TLV_EACTION); + if (idx == 0) + errx(EX_DATAERR, "pack_object failed"); + fill_cmd(action, O_EXTERNAL_ACTION, 0, idx); + NEED1("Missing MSS value"); + action = next_cmd(action, &ablen); + action->len = 1; + CHECK_ACTLEN; + mss = strtoul(*av, NULL, 10); + if (mss == 0 || mss > UINT16_MAX) + errx(EX_USAGE, "invalid MSS value %s", *av); + fill_cmd(action, O_EXTERNAL_DATA, 0, (uint16_t)mss); + av++; + break; + } + default: av--; if (match_token(rule_eactions, *av) == -1) Modified: head/sbin/ipfw/ipfw2.h ============================================================================== --- head/sbin/ipfw/ipfw2.h Mon Apr 3 02:44:40 2017 (r316434) +++ head/sbin/ipfw/ipfw2.h Mon Apr 3 03:07:48 2017 (r316435) @@ -284,6 +284,8 @@ enum tokens { TOK_INTPREFIX, TOK_EXTPREFIX, TOK_PREFIXLEN, + + TOK_TCPSETMSS, }; /* Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Mon Apr 3 02:44:40 2017 (r316434) +++ head/sys/conf/NOTES Mon Apr 3 03:07:48 2017 (r316435) @@ -971,6 +971,9 @@ device lagg # # IPFIREWALL_NPTV6 adds support for in kernel NPTv6 in ipfw. # +# IPFIREWALL_PMOD adds support for protocols modification module. Currently +# it supports only TCP MSS modification. +# # IPSTEALTH enables code to support stealth forwarding (i.e., forwarding # packets without touching the TTL). This can be useful to hide firewalls # from traceroute and similar tools. Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Mon Apr 3 02:44:40 2017 (r316434) +++ head/sys/conf/files Mon Apr 3 03:07:48 2017 (r316435) @@ -4230,6 +4230,8 @@ netpfil/ipfw/nptv6/ip_fw_nptv6.c optiona ipfirewall_nptv6 netpfil/ipfw/nptv6/nptv6.c optional inet inet6 ipfirewall \ ipfirewall_nptv6 +netpfil/ipfw/pmod/ip_fw_pmod.c optional inet ipfirewall_pmod +netpfil/ipfw/pmod/tcpmod.c optional inet ipfirewall_pmod netpfil/pf/if_pflog.c optional pflog pf inet netpfil/pf/if_pfsync.c optional pfsync pf inet netpfil/pf/pf.c optional pf inet Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Mon Apr 3 02:44:40 2017 (r316434) +++ head/sys/conf/options Mon Apr 3 03:07:48 2017 (r316435) @@ -426,6 +426,7 @@ IPFIREWALL_NAT64_DIRECT_OUTPUT opt_ipfw. IPFIREWALL_NPTV6 opt_ipfw.h IPFIREWALL_VERBOSE opt_ipfw.h IPFIREWALL_VERBOSE_LIMIT opt_ipfw.h +IPFIREWALL_PMOD opt_ipfw.h IPSEC opt_ipsec.h IPSEC_DEBUG opt_ipsec.h IPSEC_SUPPORT opt_ipsec.h Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Mon Apr 3 02:44:40 2017 (r316434) +++ head/sys/modules/Makefile Mon Apr 3 03:07:48 2017 (r316435) @@ -173,6 +173,7 @@ SUBDIR= \ ipfw_nat \ ${_ipfw_nat64} \ ${_ipfw_nptv6} \ + ${_ipfw_pmod} \ ${_ipmi} \ ip6_mroute_mod \ ip_mroute_mod \ @@ -443,6 +444,7 @@ _toecore= toecore _if_enc= if_enc _if_gif= if_gif _if_gre= if_gre +_ipfw_pmod= ipfw_pmod .if ${MK_IPSEC_SUPPORT} != "no" _ipsec= ipsec .endif Added: head/sys/modules/ipfw_pmod/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/modules/ipfw_pmod/Makefile Mon Apr 3 03:07:48 2017 (r316435) @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${SRCTOP}/sys/netpfil/ipfw/pmod + +KMOD= ipfw_pmod +SRCS= ip_fw_pmod.c tcpmod.c opt_inet.h opt_inet6.h + +.include Added: head/sys/netpfil/ipfw/pmod/ip_fw_pmod.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/netpfil/ipfw/pmod/ip_fw_pmod.c Mon Apr 3 03:07:48 2017 (r316435) @@ -0,0 +1,101 @@ +/*- + * Copyright (c) 2017 Yandex LLC + * Copyright (c) 2017 Andrey V. Elsukov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include +#include + +static int +vnet_ipfw_pmod_init(const void *arg __unused) +{ + int error; + + error = tcpmod_init(&V_layer3_chain, IS_DEFAULT_VNET(curvnet)); + return (error); +} + +static int +vnet_ipfw_pmod_uninit(const void *arg __unused) +{ + + tcpmod_uninit(&V_layer3_chain, IS_DEFAULT_VNET(curvnet)); + return (0); +} + +static int +ipfw_pmod_modevent(module_t mod, int type, void *unused) +{ + + switch (type) { + case MOD_LOAD: + case MOD_UNLOAD: + break; + default: + return (EOPNOTSUPP); + } + return (0); +} + +static moduledata_t ipfw_pmod_mod = { + "ipfw_pmod", + ipfw_pmod_modevent, + 0 +}; + +/* Define startup order. */ +#define IPFW_PMOD_SI_SUB_FIREWALL SI_SUB_PROTO_IFATTACHDOMAIN +#define IPFW_PMOD_MODEVENT_ORDER (SI_ORDER_ANY - 128) /* after ipfw */ +#define IPFW_PMOD_MODULE_ORDER (IPFW_PMOD_MODEVENT_ORDER + 1) +#define IPFW_PMOD_VNET_ORDER (IPFW_PMOD_MODEVENT_ORDER + 2) + +DECLARE_MODULE(ipfw_pmod, ipfw_pmod_mod, IPFW_PMOD_SI_SUB_FIREWALL, + IPFW_PMOD_MODULE_ORDER); +MODULE_DEPEND(ipfw_pmod, ipfw, 3, 3, 3); +MODULE_VERSION(ipfw_pmod, 1); + +VNET_SYSINIT(vnet_ipfw_pmod_init, IPFW_PMOD_SI_SUB_FIREWALL, + IPFW_PMOD_VNET_ORDER, vnet_ipfw_pmod_init, NULL); +VNET_SYSUNINIT(vnet_ipfw_pmod_uninit, IPFW_PMOD_SI_SUB_FIREWALL, + IPFW_PMOD_VNET_ORDER, vnet_ipfw_pmod_uninit, NULL); Added: head/sys/netpfil/ipfw/pmod/pmod.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/netpfil/ipfw/pmod/pmod.h Mon Apr 3 03:07:48 2017 (r316435) @@ -0,0 +1,36 @@ +/*- + * Copyright (c) 2017 Yandex LLC + * Copyright (c) 2017 Andrey V. Elsukov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _IP_FW_PMOD_H_ +#define _IP_FW_PMOD_H_ + +int tcpmod_init(struct ip_fw_chain *ch, int first); +void tcpmod_uninit(struct ip_fw_chain *ch, int last); +#endif /* _IP_FW_PMOD_H_ */ + Added: head/sys/netpfil/ipfw/pmod/tcpmod.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/netpfil/ipfw/pmod/tcpmod.c Mon Apr 3 03:07:48 2017 (r316435) @@ -0,0 +1,246 @@ +/*- + * Copyright (c) 2017 Yandex LLC + * Copyright (c) 2017 Andrey V. Elsukov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "opt_inet.h" +#include "opt_inet6.h" + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +static VNET_DEFINE(uint16_t, tcpmod_setmss_eid) = 0; +#define V_tcpmod_setmss_eid VNET(tcpmod_setmss_eid) + +static int +tcpmod_setmss(struct mbuf **mp, struct tcphdr *tcp, int tlen, uint16_t mss) +{ + struct mbuf *m; + u_char *cp; + int optlen, ret; + uint16_t oldmss, csum; + + m = *mp; + ret = IP_FW_DENY; + if (m->m_len < m->m_pkthdr.len) { + /* + * We shouldn't have any data, IP packet contains only + * TCP header with options. + */ + *mp = m = m_pullup(m, m->m_pkthdr.len); + if (m == NULL) + return (ret); + } + /* Parse TCP options. */ + for (tlen -= sizeof(struct tcphdr), cp = (u_char *)(tcp + 1); + tlen > 0; tlen -= optlen, cp += optlen) { + if (cp[0] == TCPOPT_EOL) + break; + if (cp[0] == TCPOPT_NOP) { + optlen = 1; + continue; + } + if (tlen < 2) + break; + optlen = cp[1]; + if (optlen < 2 || optlen > tlen) + break; + if (cp[0] == TCPOPT_MAXSEG) { + if (optlen != TCPOLEN_MAXSEG) + break; + ret = 0; /* report success */ + bcopy(cp + 2, &oldmss, sizeof(oldmss)); + /* Do not update lower MSS value */ + if (oldmss <= mss) + break; + bcopy(&mss, cp + 2, sizeof(mss)); + /* Update checksum if it is not delayed. */ + if ((m->m_pkthdr.csum_flags & + (CSUM_TCP | CSUM_TCP_IPV6)) == 0) { + bcopy(&tcp->th_sum, &csum, sizeof(csum)); + csum = cksum_adjust(csum, oldmss, mss); + bcopy(&csum, &tcp->th_sum, sizeof(csum)); + } + break; + } + } + + return (ret); +} + +#ifdef INET6 +static int +tcpmod_ipv6_setmss(struct mbuf **mp, uint16_t mss) +{ + struct ip6_hdr *ip6; + struct ip6_hbh *hbh; + struct tcphdr *tcp; + int hlen, plen, proto; + + ip6 = mtod(*mp, struct ip6_hdr *); + hlen = sizeof(*ip6); + proto = ip6->ip6_nxt; + /* + * Skip IPv6 extension headers and get the TCP header. + * ipfw_chk() has already done this work. So we are sure that + * we will not do an access to the out of bounds. For this + * reason we skip some checks here. + */ + while (proto == IPPROTO_HOPOPTS || proto == IPPROTO_ROUTING || + proto == IPPROTO_DSTOPTS) { + hbh = mtodo(*mp, hlen); + proto = hbh->ip6h_nxt; + hlen += hbh->ip6h_len << 3; + } + tcp = mtodo(*mp, hlen); + plen = (*mp)->m_pkthdr.len - hlen; + hlen = tcp->th_off << 2; + /* We must have TCP options and enough data in a packet. */ + if (hlen <= sizeof(struct tcphdr) || hlen > plen) + return (IP_FW_DENY); + return (tcpmod_setmss(mp, tcp, hlen, mss)); +} +#endif /* INET6 */ + +#ifdef INET +static int +tcpmod_ipv4_setmss(struct mbuf **mp, uint16_t mss) +{ + struct tcphdr *tcp; + struct ip *ip; + int hlen, plen; + + ip = mtod(*mp, struct ip *); + hlen = ip->ip_hl << 2; + tcp = mtodo(*mp, hlen); + plen = (*mp)->m_pkthdr.len - hlen; + hlen = tcp->th_off << 2; + /* We must have TCP options and enough data in a packet. */ + if (hlen <= sizeof(struct tcphdr) || hlen > plen) + return (IP_FW_DENY); + return (tcpmod_setmss(mp, tcp, hlen, mss)); +} +#endif /* INET */ + +/* + * ipfw external action handler. + */ +static int +ipfw_tcpmod(struct ip_fw_chain *chain, struct ip_fw_args *args, + ipfw_insn *cmd, int *done) +{ + ipfw_insn *icmd; + int ret; + + *done = 0; /* try next rule if not matched */ + ret = IP_FW_DENY; + icmd = cmd + 1; + if (cmd->opcode != O_EXTERNAL_ACTION || + cmd->arg1 != V_tcpmod_setmss_eid || + icmd->opcode != O_EXTERNAL_DATA || + icmd->len != F_INSN_SIZE(ipfw_insn)) + return (ret); + + /* + * NOTE: ipfw_chk() can set f_id.proto from IPv6 fragment header, + * but f_id._flags can be filled only from real TCP header. + * + * NOTE: ipfw_chk() drops very short packets in the PULLUP_TO() + * macro. But we need to check that mbuf is contiguous more than + * IP+IP_options/IP_extensions+tcphdr length, because TCP header + * must have TCP options, and ipfw_chk() does PULLUP_TO() size of + * struct tcphdr. + * + * NOTE: we require only the presence of SYN flag. User should + * properly configure the rule to select the direction of packets, + * that should be modified. + */ + if (args->f_id.proto != IPPROTO_TCP || + (args->f_id._flags & TH_SYN) == 0) + return (ret); + + switch (args->f_id.addr_type) { +#ifdef INET + case 4: + ret = tcpmod_ipv4_setmss(&args->m, htons(icmd->arg1)); + break; +#endif +#ifdef INET6 + case 6: + ret = tcpmod_ipv6_setmss(&args->m, htons(icmd->arg1)); + break; +#endif + } + /* + * We return zero in both @ret and @done on success, and ipfw_chk() + * will update rule counters. Otherwise a packet will not be matched + * by rule. + */ + return (ret); +} + +int +tcpmod_init(struct ip_fw_chain *ch, int first) +{ + + V_tcpmod_setmss_eid = ipfw_add_eaction(ch, ipfw_tcpmod, "tcp-setmss"); + if (V_tcpmod_setmss_eid == 0) + return (ENXIO); + return (0); +} + +void +tcpmod_uninit(struct ip_fw_chain *ch, int last) +{ + + ipfw_del_eaction(ch, V_tcpmod_setmss_eid); + V_tcpmod_setmss_eid = 0; +} + From owner-svn-src-all@freebsd.org Mon Apr 3 04:28:54 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EDA5BD2B352; Mon, 3 Apr 2017 04:28:54 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BDD73ACF; Mon, 3 Apr 2017 04:28:54 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v334SrZD071004; Mon, 3 Apr 2017 04:28:53 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v334Sr9N071003; Mon, 3 Apr 2017 04:28:53 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201704030428.v334Sr9N071003@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Mon, 3 Apr 2017 04:28:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316436 - head/sys/boot/efi/loader X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 04:28:55 -0000 Author: allanjude Date: Mon Apr 3 04:28:53 2017 New Revision: 316436 URL: https://svnweb.freebsd.org/changeset/base/316436 Log: Restore EFI boot environment functionality broken in r313333 Reported by: Graham Perrin, JT Pennington Sponsored by: ScaleEngine Inc. Modified: head/sys/boot/efi/loader/main.c Modified: head/sys/boot/efi/loader/main.c ============================================================================== --- head/sys/boot/efi/loader/main.c Mon Apr 3 03:07:48 2017 (r316435) +++ head/sys/boot/efi/loader/main.c Mon Apr 3 04:28:53 2017 (r316436) @@ -202,6 +202,7 @@ find_currdev(EFI_LOADED_IMAGE *img) env_nounset); env_setenv("loaddev", EV_VOLATILE, devname, env_noset, env_nounset); + init_zfs_bootenv(devname); return (0); } #endif /* EFI_ZFS_BOOT */ From owner-svn-src-all@freebsd.org Mon Apr 3 04:29:58 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A4B41D2B48F; Mon, 3 Apr 2017 04:29:58 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7254FD11; Mon, 3 Apr 2017 04:29:58 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v334TvMr071090; Mon, 3 Apr 2017 04:29:57 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v334Tv9F071089; Mon, 3 Apr 2017 04:29:57 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201704030429.v334Tv9F071089@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Mon, 3 Apr 2017 04:29:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316437 - head/sys/boot/i386/loader X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 04:29:58 -0000 Author: allanjude Date: Mon Apr 3 04:29:57 2017 New Revision: 316437 URL: https://svnweb.freebsd.org/changeset/base/316437 Log: Small cleanup to make i386/loader match efi/loader boot environment code Modified: head/sys/boot/i386/loader/main.c Modified: head/sys/boot/i386/loader/main.c ============================================================================== --- head/sys/boot/i386/loader/main.c Mon Apr 3 04:28:53 2017 (r316436) +++ head/sys/boot/i386/loader/main.c Mon Apr 3 04:29:57 2017 (r316437) @@ -418,7 +418,7 @@ command_reloadbe(int argc, char *argv[]) /* There does not appear to be a ZFS pool here, exit without error */ return (CMD_OK); } - err = zfs_bootenv(getenv("zfs_be_root")); + err = zfs_bootenv(root); } if (err != 0) { From owner-svn-src-all@freebsd.org Mon Apr 3 04:44:57 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8A5D2D2B8DA; Mon, 3 Apr 2017 04:44:57 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5AB046F1; Mon, 3 Apr 2017 04:44:57 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v334iuJW078835; Mon, 3 Apr 2017 04:44:56 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v334iuRt078834; Mon, 3 Apr 2017 04:44:56 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704030444.v334iuRt078834@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 3 Apr 2017 04:44:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316438 - head/sys/netipsec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 04:44:57 -0000 Author: ae Date: Mon Apr 3 04:44:56 2017 New Revision: 316438 URL: https://svnweb.freebsd.org/changeset/base/316438 Log: GC some unused declarations. MFC after: 1 week Modified: head/sys/netipsec/keydb.h Modified: head/sys/netipsec/keydb.h ============================================================================== --- head/sys/netipsec/keydb.h Mon Apr 3 04:29:57 2017 (r316437) +++ head/sys/netipsec/keydb.h Mon Apr 3 04:44:56 2017 (r316438) @@ -227,28 +227,6 @@ struct secacq { int count; /* for lifetime */ }; -/* Sensitivity Level Specification */ -/* nothing */ - -#define SADB_KILL_INTERVAL 600 /* six seconds */ - -/* secpolicy */ -extern struct secpolicy *keydb_newsecpolicy(void); -extern void keydb_delsecpolicy(struct secpolicy *); -/* secashead */ -extern struct secashead *keydb_newsecashead(void); -extern void keydb_delsecashead(struct secashead *); -/* secasvar */ -extern struct secasvar *keydb_newsecasvar(void); -extern void keydb_refsecasvar(struct secasvar *); -extern void keydb_freesecasvar(struct secasvar *); -/* secreplay */ -extern struct secreplay *keydb_newsecreplay(size_t); -extern void keydb_delsecreplay(struct secreplay *); -/* secreg */ -extern struct secreg *keydb_newsecreg(void); -extern void keydb_delsecreg(struct secreg *); - #endif /* _KERNEL */ #endif /* _NETIPSEC_KEYDB_H_ */ From owner-svn-src-all@freebsd.org Mon Apr 3 06:07:42 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 18A7ED2BC4E; Mon, 3 Apr 2017 06:07:42 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DB8549F1; Mon, 3 Apr 2017 06:07:41 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3367fHH011227; Mon, 3 Apr 2017 06:07:41 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3367fXo011226; Mon, 3 Apr 2017 06:07:41 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201704030607.v3367fXo011226@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Mon, 3 Apr 2017 06:07:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316439 - stable/11/share/man/man4 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 06:07:42 -0000 Author: delphij Date: Mon Apr 3 06:07:40 2017 New Revision: 316439 URL: https://svnweb.freebsd.org/changeset/base/316439 Log: MFC r315619: pet manlint Modified: stable/11/share/man/man4/cpuctl.4 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man4/cpuctl.4 ============================================================================== --- stable/11/share/man/man4/cpuctl.4 Mon Apr 3 04:44:56 2017 (r316438) +++ stable/11/share/man/man4/cpuctl.4 Mon Apr 3 06:07:40 2017 (r316439) @@ -160,7 +160,11 @@ field should point to the firmware image .Pp For additional information refer to .Pa cpuctl.h . -.Sh RETURN VALUES +.Sh FILES +.Bl -tag -width /dev/cpuctl -compact +.It Pa /dev/cpuctl +.El +.Sh ERRORS .Bl -tag -width Er .It Bq Er ENXIO The operation requested is not supported by the device (e.g., unsupported @@ -172,10 +176,6 @@ No physical memory was available to comp .It Bq Er EFAULT The firmware image address points outside the process address space. .El -.Sh FILES -.Bl -tag -width /dev/cpuctl -compact -.It Pa /dev/cpuctl -.El .Sh SEE ALSO .Xr hwpmc 4 , .Xr cpucontrol 8 From owner-svn-src-all@freebsd.org Mon Apr 3 06:09:13 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 787E2D2BCCC; Mon, 3 Apr 2017 06:09:13 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4863BB34; Mon, 3 Apr 2017 06:09:13 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3369CZG011346; Mon, 3 Apr 2017 06:09:12 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3369CIo011345; Mon, 3 Apr 2017 06:09:12 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201704030609.v3369CIo011345@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Mon, 3 Apr 2017 06:09:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316440 - stable/10/share/man/man4 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 06:09:13 -0000 Author: delphij Date: Mon Apr 3 06:09:12 2017 New Revision: 316440 URL: https://svnweb.freebsd.org/changeset/base/316440 Log: MFC r315619: pet manlint. Modified: stable/10/share/man/man4/cpuctl.4 Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/cpuctl.4 ============================================================================== --- stable/10/share/man/man4/cpuctl.4 Mon Apr 3 06:07:40 2017 (r316439) +++ stable/10/share/man/man4/cpuctl.4 Mon Apr 3 06:09:12 2017 (r316440) @@ -160,7 +160,11 @@ field should point to the firmware image .Pp For additional information refer to .Pa cpuctl.h . -.Sh RETURN VALUES +.Sh FILES +.Bl -tag -width /dev/cpuctl -compact +.It Pa /dev/cpuctl +.El +.Sh ERRORS .Bl -tag -width Er .It Bq Er ENXIO The operation requested is not supported by the device (e.g., unsupported @@ -172,10 +176,6 @@ No physical memory was available to comp .It Bq Er EFAULT The firmware image address points outside the process address space. .El -.Sh FILES -.Bl -tag -width /dev/cpuctl -compact -.It Pa /dev/cpuctl -.El .Sh SEE ALSO .Xr hwpmc 4 , .Xr cpucontrol 8 From owner-svn-src-all@freebsd.org Mon Apr 3 06:13:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4E53BD2BEB7; Mon, 3 Apr 2017 06:13:06 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 182CDFE8; Mon, 3 Apr 2017 06:13:06 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v336D5NL015343; Mon, 3 Apr 2017 06:13:05 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v336D5Vg015342; Mon, 3 Apr 2017 06:13:05 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201704030613.v336D5Vg015342@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Mon, 3 Apr 2017 06:13:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316441 - stable/11/usr.bin/sed X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 06:13:06 -0000 Author: delphij Date: Mon Apr 3 06:13:05 2017 New Revision: 316441 URL: https://svnweb.freebsd.org/changeset/base/316441 Log: MFC r312404, r312519, r313277: Use S_ISREG instead of manual & (also it's better to compare the result from & and the pattern instead of just assuming it's one bit value). Pointed out by Tianjie Mao . Modified: stable/11/usr.bin/sed/main.c Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.bin/sed/main.c ============================================================================== --- stable/11/usr.bin/sed/main.c Mon Apr 3 06:09:12 2017 (r316440) +++ stable/11/usr.bin/sed/main.c Mon Apr 3 06:13:05 2017 (r316441) @@ -391,7 +391,7 @@ mf_fgets(SPACE *sp, enum e_spflag spflag if (inplace != NULL) { if (lstat(fname, &sb) != 0) err(1, "%s", fname); - if (!(sb.st_mode & S_IFREG)) + if (!S_ISREG(sb.st_mode)) errx(1, "%s: %s %s", fname, "in-place editing only", "works for regular files"); From owner-svn-src-all@freebsd.org Mon Apr 3 06:14:24 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BAD29D2BF4B; Mon, 3 Apr 2017 06:14:24 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8C79C17F; Mon, 3 Apr 2017 06:14:24 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v336ENPF015444; Mon, 3 Apr 2017 06:14:23 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v336ENJR015443; Mon, 3 Apr 2017 06:14:23 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201704030614.v336ENJR015443@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Mon, 3 Apr 2017 06:14:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316442 - stable/10/usr.bin/sed X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 06:14:24 -0000 Author: delphij Date: Mon Apr 3 06:14:23 2017 New Revision: 316442 URL: https://svnweb.freebsd.org/changeset/base/316442 Log: MFC r312404, r312519, r313277: Use S_ISREG instead of manual & (also it's better to compare the result from & and the pattern instead of just assuming it's one bit value). Pointed out by Tianjie Mao . Modified: stable/10/usr.bin/sed/main.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.bin/sed/main.c ============================================================================== --- stable/10/usr.bin/sed/main.c Mon Apr 3 06:13:05 2017 (r316441) +++ stable/10/usr.bin/sed/main.c Mon Apr 3 06:14:23 2017 (r316442) @@ -391,7 +391,7 @@ mf_fgets(SPACE *sp, enum e_spflag spflag if (inplace != NULL) { if (lstat(fname, &sb) != 0) err(1, "%s", fname); - if (!(sb.st_mode & S_IFREG)) + if (!S_ISREG(sb.st_mode)) errx(1, "%s: %s %s", fname, "in-place editing only", "works for regular files"); From owner-svn-src-all@freebsd.org Mon Apr 3 06:52:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2ABA6D2BB24; Mon, 3 Apr 2017 06:52:04 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DE75B7C2; Mon, 3 Apr 2017 06:52:03 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v336q2cu028418; Mon, 3 Apr 2017 06:52:02 GMT (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v336q21V028417; Mon, 3 Apr 2017 06:52:02 GMT (envelope-from bde@FreeBSD.org) Message-Id: <201704030652.v336q21V028417@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bde set sender to bde@FreeBSD.org using -f From: Bruce Evans Date: Mon, 3 Apr 2017 06:52:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316443 - head/usr.sbin/vidcontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 06:52:04 -0000 Author: bde Date: Mon Apr 3 06:52:02 2017 New Revision: 316443 URL: https://svnweb.freebsd.org/changeset/base/316443 Log: Fix some parsing and error handling bugs. r146736 added an undocumented syntax and many bugs handling it. The documented syntax is "... [mode] [fg [bg]] [show]", where it is critical for reducing ambiguity and keeping things simple that the mode is parsed first. r146736 added buggy support for "... [mode] [fg [bg]] [show] [mode] [fg [bg]]". One error was that after for failing to set a partially-supported graphics mode, argv[optind] remains pointing to the mode so doesn't match the first [fg [bg]], so the setting is attempted again, with slightly worse error handling. Fix this by removing it (support for the trailing '[mode] [fg [bg]]') and cleaning up. The cleanups are mostly to remove convolutions and bugs that didn't work to handle the ambiguous syntax '[fg [bg]] [fg [bg]]' when [mode] and [show] are not present. Globals were set to allow repeating the color settings at the end. The functions that set the colors earlier were misnamed from set* to get*. All that they "got" is is settings from argv. They applied the settings to the kernel and the globals. Fix restoration of colors in revert() by restoring 2 after the mode change. Colors should not need to be restored, but a bug in scteken clobbers them on any mode change, including ones for restoration. Don't move the restoration of the other 3. Teken doesn't clobber them on mode changes because it doesn't support them at all (sc still supports the border color, but only using a non-teken ioctl). Add restoration of colors after a successful mode change to work around the scteken bug there too. The bug was previously masked by the general setting of colors at the end. Fix a longstanding parsing/error handling bug by exiting almost immediately after matching the [mode] arg but failing to set the mode. Just revert if necessary. Don't return to continue parsing but do it wrong. This bug caused spamming the output with a usage() message and exiting with status 1 whenever [mode] is not present bug [fg [bg]] or [show]. The exit code 1 was actualy an ambiguous internal code for failure to match [mode] or failure to set [mode]. This 1 was obfuscated by spelling it EXIT_FAILURE, but actual exit codes spell EXIT_FAILURE as 1. Remove another global which could have been used to disambiguate this but was only used to micro-optimize the (unnecessary except for other bugs) setting of colors at the end. Modified: head/usr.sbin/vidcontrol/vidcontrol.c Modified: head/usr.sbin/vidcontrol/vidcontrol.c ============================================================================== --- head/usr.sbin/vidcontrol/vidcontrol.c Mon Apr 3 06:14:23 2017 (r316442) +++ head/usr.sbin/vidcontrol/vidcontrol.c Mon Apr 3 06:52:02 2017 (r316443) @@ -94,10 +94,6 @@ static int hex = 0; static int vesa_cols; static int vesa_rows; static int font_height; -static int colors_changed; -static int video_mode_changed; -static int normal_fore_color, normal_back_color; -static int revers_fore_color, revers_back_color; static int vt4_mode = 0; static struct vid_info info; static struct video_info new_mode_info; @@ -140,11 +136,6 @@ init(void) if (ioctl(0, CONS_MODEINFO, &cur_info.video_mode_info) == -1) errc(1, errno, "getting video mode parameters"); - - normal_fore_color = cur_info.console_info.mv_norm.fore; - normal_back_color = cur_info.console_info.mv_norm.back; - revers_fore_color = cur_info.console_info.mv_rev.fore; - revers_back_color = cur_info.console_info.mv_rev.back; } @@ -163,8 +154,6 @@ revert(void) ioctl(0, VT_ACTIVATE, cur_info.active_vty); fprintf(stderr, "\033[=%dA", cur_info.console_info.mv_ovscan); - fprintf(stderr, "\033[=%dF", cur_info.console_info.mv_norm.fore); - fprintf(stderr, "\033[=%dG", cur_info.console_info.mv_norm.back); fprintf(stderr, "\033[=%dH", cur_info.console_info.mv_rev.fore); fprintf(stderr, "\033[=%dI", cur_info.console_info.mv_rev.back); @@ -185,6 +174,10 @@ revert(void) ioctl(0, KDRASTER, size); } + + /* Restore some colors last since mode setting forgets some. */ + fprintf(stderr, "\033[=%dF", cur_info.console_info.mv_norm.fore); + fprintf(stderr, "\033[=%dG", cur_info.console_info.mv_norm.back); } @@ -657,7 +650,7 @@ set_cursor_type(char *appearance) * Set the video mode. */ -static int +static void video_mode(int argc, char **argv, int *mode_index) { static struct { @@ -728,10 +721,11 @@ video_mode(int argc, char **argv, int *m } if (modes[i].name == NULL) - return EXIT_FAILURE; + return; if (ioctl(0, mode, NULL) < 0) { - warn("cannot set videomode"); - return EXIT_FAILURE; + ioerr = errno; + revert(); + errc(1, ioerr, "cannot set videomode"); } } @@ -805,16 +799,19 @@ video_mode(int argc, char **argv, int *m else ioctl(0, _IO('S', cur_mode), NULL); revert(); - warnc(ioerr, "cannot activate raster display"); - return EXIT_FAILURE; + errc(1, ioerr, + "cannot activate raster display"); } } - video_mode_changed = 1; + /* Recover from mode setting forgetting colors. */ + fprintf(stderr, "\033[=%dF", + cur_info.console_info.mv_norm.fore); + fprintf(stderr, "\033[=%dG", + cur_info.console_info.mv_norm.back); (*mode_index)++; } - return EXIT_SUCCESS; } @@ -836,67 +833,47 @@ get_color_number(char *color) /* - * Get normal text and background colors. + * Set normal text and background colors. */ static void -get_normal_colors(int argc, char **argv, int *_index) +set_normal_colors(int argc, char **argv, int *_index) { int color; if (*_index < argc && (color = get_color_number(argv[*_index])) != -1) { (*_index)++; fprintf(stderr, "\033[=%dF", color); - normal_fore_color=color; - colors_changed = 1; if (*_index < argc && (color = get_color_number(argv[*_index])) != -1) { (*_index)++; fprintf(stderr, "\033[=%dG", color); - normal_back_color=color; } } } /* - * Get reverse text and background colors. + * Set reverse text and background colors. */ static void -get_reverse_colors(int argc, char **argv, int *_index) +set_reverse_colors(int argc, char **argv, int *_index) { int color; if ((color = get_color_number(argv[*(_index)-1])) != -1) { fprintf(stderr, "\033[=%dH", color); - revers_fore_color=color; - colors_changed = 1; if (*_index < argc && (color = get_color_number(argv[*_index])) != -1) { (*_index)++; fprintf(stderr, "\033[=%dI", color); - revers_back_color=color; } } } /* - * Set normal and reverse foreground and background colors. - */ - -static void -set_colors(void) -{ - fprintf(stderr, "\033[=%dF", normal_fore_color); - fprintf(stderr, "\033[=%dG", normal_back_color); - fprintf(stderr, "\033[=%dH", revers_fore_color); - fprintf(stderr, "\033[=%dI", revers_back_color); -} - - -/* * Switch to virtual terminal #arg. */ @@ -1342,7 +1319,6 @@ main(int argc, char **argv) char *font, *type, *termmode; const char *opts; int dumpmod, dumpopt, opt; - int reterr; vt4_mode = is_vt4(); @@ -1435,7 +1411,7 @@ main(int argc, char **argv) dumpmod = DUMP_FMT_TXT; break; case 'r': - get_reverse_colors(argc, argv, &optind); + set_reverse_colors(argc, argv, &optind); break; case 'S': set_lockswitch(optarg); @@ -1461,25 +1437,19 @@ main(int argc, char **argv) if (dumpmod != 0) dump_screen(dumpmod, dumpopt); - reterr = video_mode(argc, argv, &optind); - get_normal_colors(argc, argv, &optind); + video_mode(argc, argv, &optind); + set_normal_colors(argc, argv, &optind); if (optind < argc && !strcmp(argv[optind], "show")) { test_frame(); optind++; } - video_mode(argc, argv, &optind); if (termmode != NULL) set_terminal_mode(termmode); - get_normal_colors(argc, argv, &optind); - - if (colors_changed || video_mode_changed) - set_colors(); - if ((optind != argc) || (argc == 1)) usage(); - return reterr; + return (0); } From owner-svn-src-all@freebsd.org Mon Apr 3 07:30:50 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 34F4DD2B683; Mon, 3 Apr 2017 07:30:50 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 04E7EC7E; Mon, 3 Apr 2017 07:30:49 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v337Unub044155; Mon, 3 Apr 2017 07:30:49 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v337UlOQ044141; Mon, 3 Apr 2017 07:30:47 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704030730.v337UlOQ044141@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 3 Apr 2017 07:30:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316444 - in stable/11: sbin/ipfw sys/conf sys/modules sys/modules/ipfw_nptv6 sys/netinet sys/netinet6 sys/netpfil/ipfw sys/netpfil/ipfw/nptv6 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 07:30:50 -0000 Author: ae Date: Mon Apr 3 07:30:47 2017 New Revision: 316444 URL: https://svnweb.freebsd.org/changeset/base/316444 Log: MFC r303012: Add ipfw_nptv6 module that implements Network Prefix Translation for IPv6 as defined in RFC 6296. The module works together with ipfw(4) and implemented as its external action module. When it is loaded, it registers as eaction and can be used in rules. The usage pattern is similar to ipfw_nat(4). All matched by rule traffic goes to the NPT module. Reviewed by: hrs Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D6420 MFC r304049: Add `stats reset` command implementation to NPTv6 module to be able reset statistics counters. Obtained from: Yandex LLC Sponsored by: Yandex LLC MFC r304076: Make statistics nat64lsn, nat64stl an nptv6 output netstat-like: "@value @description" and fix build due to -Wformat errors. MFC r314507: Fix NPTv6 rule counters when one_pass is not enabled. Consider the rule matching when both @done and @retval values returned from ipfw_run_eaction() are zero. And modify ipfw_nptv6() to return IP_FW_DENY and @done=0 when addresses do not match. Obtained from: Yandex LLC Sponsored by: Yandex LLC Added: stable/11/sbin/ipfw/nptv6.c - copied, changed from r303012, head/sbin/ipfw/nptv6.c stable/11/sys/modules/ipfw_nptv6/ - copied from r303012, head/sys/modules/ipfw_nptv6/ stable/11/sys/netinet6/ip_fw_nptv6.h - copied unchanged from r303012, head/sys/netinet6/ip_fw_nptv6.h stable/11/sys/netpfil/ipfw/nptv6/ - copied from r303012, head/sys/netpfil/ipfw/nptv6/ Modified: stable/11/sbin/ipfw/Makefile stable/11/sbin/ipfw/ipfw.8 stable/11/sbin/ipfw/ipfw2.c stable/11/sbin/ipfw/ipfw2.h stable/11/sbin/ipfw/main.c stable/11/sys/conf/NOTES stable/11/sys/conf/files stable/11/sys/conf/options stable/11/sys/modules/Makefile stable/11/sys/netinet/ip_fw.h stable/11/sys/netpfil/ipfw/ip_fw2.c stable/11/sys/netpfil/ipfw/nptv6/nptv6.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/ipfw/Makefile ============================================================================== --- stable/11/sbin/ipfw/Makefile Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sbin/ipfw/Makefile Mon Apr 3 07:30:47 2017 (r316444) @@ -5,6 +5,7 @@ PACKAGE=ipfw PROG= ipfw SRCS= ipfw2.c dummynet.c ipv6.c main.c nat.c tables.c +SRCS+= nptv6.c WARNS?= 2 .if ${MK_PF} != "no" Modified: stable/11/sbin/ipfw/ipfw.8 ============================================================================== --- stable/11/sbin/ipfw/ipfw.8 Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sbin/ipfw/ipfw.8 Mon Apr 3 07:30:47 2017 (r316444) @@ -113,6 +113,19 @@ in-kernel NAT. .Oc .Oc .Ar pathname +.Ss IPv6-to-IPv6 NETWORK PREFIX TRANSLATION +.Nm +.Oo Cm set Ar N Oc Cm nptv6 Ar name Cm create Ar create-options +.Nm +.Oo Cm set Ar N Oc Cm nptv6 +.Brq Ar name | all +.Brq Cm list | show +.Nm +.Oo Cm set Ar N Oc Cm nptv6 +.Brq Ar name | all +.Cm destroy +.Nm +.Oo Cm set Ar N Oc Cm nptv6 Ar name Cm stats Op Cm reset .Ss INTERNAL DIAGNOSTICS .Nm .Cm internal iflist @@ -824,6 +837,11 @@ nat instance see the .Sx NETWORK ADDRESS TRANSLATION (NAT) Section for further information. +.It Cm nptv6 Ar name +Pass packet to a NPTv6 instance (for IPv6-to-IPv6 network prefix translation): +see the +.Sx IPv6-to-IPv6 NETWORK PREFIX TRANSLATION (NPTv6) +Section for further information. .It Cm pipe Ar pipe_nr Pass packet to a .Nm dummynet @@ -2908,6 +2926,47 @@ instances. See .Sx SYSCTL VARIABLES for more info. +.Sh IPv6-to-IPv6 NETWORK PREFIX TRANSLATION (NPTv6) +.Nm +support in-kernel IPv6-to-IPv6 network prefix translation as described +in RFC6296. +The kernel module +.Cm ipfw_nptv6 +should be loaded or kernel should has +.Cm options IPFIREWALL_NPTV6 +to be able use NPTv6 translator. +.Pp +The NPTv6 configuration command is the following: +.Bd -ragged -offset indent +.Bk -words +.Cm nptv6 +.Ar name +.Cm create +.Ar create-options +.Ek +.Ed +.Pp +The following parameters can be configured: +.Bl -tag -width indent +.It Cm int_prefix Ar ipv6_prefix +IPv6 prefix used in internal network. +NPTv6 module translates source address when it matches this prefix. +.It Cm ext_prefix Ar ipv6_prefix +IPv6 prefix used in external network. +NPTv6 module translates destination address when it matches this prefix. +.It Cm prefixlen Ar length +The length of specified IPv6 prefixes. It must be in range from 8 to 64. +.El +.Pp +Note that the prefix translation rules are silently ignored when IPv6 packet +forwarding is disabled. +To enable the packet forwarding, set the sysctl variable +.Va net.inet6.ip6.forwarding +to 1. +.Pp +To let the packet continue after being translated, set the sysctl variable +.Va net.inet.ip.fw.one_pass +to 0. .Sh LOADER TUNABLES Tunables can be set in .Xr loader 8 Modified: stable/11/sbin/ipfw/ipfw2.c ============================================================================== --- stable/11/sbin/ipfw/ipfw2.c Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sbin/ipfw/ipfw2.c Mon Apr 3 07:30:47 2017 (r316444) @@ -235,6 +235,7 @@ static struct _s_x ether_types[] = { }; static struct _s_x rule_eactions[] = { + { "nptv6", TOK_NPTV6 }, { NULL, 0 } /* terminator */ }; Modified: stable/11/sbin/ipfw/ipfw2.h ============================================================================== --- stable/11/sbin/ipfw/ipfw2.h Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sbin/ipfw/ipfw2.h Mon Apr 3 07:30:47 2017 (r316444) @@ -254,6 +254,13 @@ enum tokens { TOK_UNLOCK, TOK_VLIST, TOK_OLIST, + TOK_STATS, + + /* NPTv6 tokens */ + TOK_NPTV6, + TOK_INTPREFIX, + TOK_EXTPREFIX, + TOK_PREFIXLEN, }; /* @@ -340,6 +347,7 @@ void ipfw_flush(int force); void ipfw_zero(int ac, char *av[], int optname); void ipfw_list(int ac, char *av[], int show_counters); void ipfw_internal_handler(int ac, char *av[]); +void ipfw_nptv6_handler(int ac, char *av[]); int ipfw_check_object_name(const char *name); #ifdef PF Modified: stable/11/sbin/ipfw/main.c ============================================================================== --- stable/11/sbin/ipfw/main.c Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sbin/ipfw/main.c Mon Apr 3 07:30:47 2017 (r316444) @@ -425,6 +425,8 @@ ipfw_main(int oldac, char **oldav) if (co.use_set || try_next) { if (_substrcmp(*av, "delete") == 0) ipfw_delete(av); + else if (!strncmp(*av, "nptv6", strlen(*av))) + ipfw_nptv6_handler(ac, av); else if (_substrcmp(*av, "flush") == 0) ipfw_flush(co.do_force); else if (_substrcmp(*av, "zero") == 0) Copied and modified: stable/11/sbin/ipfw/nptv6.c (from r303012, head/sbin/ipfw/nptv6.c) ============================================================================== --- head/sbin/ipfw/nptv6.c Mon Jul 18 19:46:31 2016 (r303012, copy source) +++ stable/11/sbin/ipfw/nptv6.c Mon Apr 3 07:30:47 2017 (r316444) @@ -56,6 +56,7 @@ static int nptv6_foreach(nptv6_cb_t *f, static void nptv6_create(const char *name, uint8_t set, int ac, char **av); static void nptv6_destroy(const char *name, uint8_t set); static void nptv6_stats(const char *name, uint8_t set); +static void nptv6_reset_stats(const char *name, uint8_t set); static int nptv6_show_cb(ipfw_nptv6_cfg *cfg, const char *name, uint8_t set); static int nptv6_destroy_cb(ipfw_nptv6_cfg *cfg, const char *name, uint8_t set); @@ -68,10 +69,15 @@ static struct _s_x nptv6cmds[] = { { NULL, 0 } }; +static struct _s_x nptv6statscmds[] = { + { "reset", TOK_RESET }, + { NULL, 0 } +}; + /* * This one handles all NPTv6-related commands * ipfw [set N] nptv6 NAME {create | config} ... - * ipfw [set N] nptv6 NAME stats + * ipfw [set N] nptv6 NAME stats [reset] * ipfw [set N] nptv6 {NAME | all} destroy * ipfw [set N] nptv6 {NAME | all} {list | show} */ @@ -119,7 +125,14 @@ ipfw_nptv6_handler(int ac, char *av[]) nptv6_destroy(name, set); break; case TOK_STATS: - nptv6_stats(name, set); + ac--; av++; + if (ac == 0) { + nptv6_stats(name, set); + break; + } + tcmd = get_token(nptv6statscmds, *av, "stats command"); + if (tcmd == TOK_RESET) + nptv6_reset_stats(name, set); } } @@ -296,14 +309,32 @@ nptv6_stats(const char *name, uint8_t se if (nptv6_get_stats(name, set, &stats) != 0) err(EX_OSERR, "Error retrieving stats"); - printf("Number of packets translated (internal to external): %ju\n", + if (co.use_set != 0 || set != 0) + printf("set %u ", set); + printf("nptv6 %s\n", name); + printf("\t%ju packets translated (internal to external)\n", (uintmax_t)stats.in2ex); - printf("Number of packets translated (external to internal): %ju\n", + printf("\t%ju packets translated (external to internal)\n", (uintmax_t)stats.ex2in); - printf("Number of packets dropped due to some error: %ju\n", + printf("\t%ju packets dropped due to some error\n", (uintmax_t)stats.dropped); } +/* + * Reset NPTv6 instance statistics specified by @oh->ntlv. + * Request: [ ipfw_obj_header ] + */ +static void +nptv6_reset_stats(const char *name, uint8_t set) +{ + ipfw_obj_header oh; + + memset(&oh, 0, sizeof(oh)); + nptv6_fill_ntlv(&oh.ntlv, name, set); + if (do_set3(IP_FW_NPTV6_RESET_STATS, &oh.opheader, sizeof(oh)) != 0) + err(EX_OSERR, "failed to reset stats for instance %s", name); +} + static int nptv6_show_cb(ipfw_nptv6_cfg *cfg, const char *name, uint8_t set) { Modified: stable/11/sys/conf/NOTES ============================================================================== --- stable/11/sys/conf/NOTES Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sys/conf/NOTES Mon Apr 3 07:30:47 2017 (r316444) @@ -953,6 +953,8 @@ device lagg # IPFIREWALL_NAT adds support for in kernel nat in ipfw, and it requires # LIBALIAS. # +# IPFIREWALL_NPTV6 adds support for in kernel NPTv6 in ipfw. +# # IPSTEALTH enables code to support stealth forwarding (i.e., forwarding # packets without touching the TTL). This can be useful to hide firewalls # from traceroute and similar tools. @@ -974,6 +976,7 @@ options IPFIREWALL_VERBOSE #enable logg options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default options IPFIREWALL_NAT #ipfw kernel nat support +options IPFIREWALL_NPTV6 #ipfw kernel IPv6 NPT support options IPDIVERT #divert sockets options IPFILTER #ipfilter support options IPFILTER_LOG #ipfilter logging Modified: stable/11/sys/conf/files ============================================================================== --- stable/11/sys/conf/files Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sys/conf/files Mon Apr 3 07:30:47 2017 (r316444) @@ -3942,6 +3942,10 @@ netpfil/ipfw/ip_fw_table_algo.c optional netpfil/ipfw/ip_fw_table_value.c optional inet ipfirewall netpfil/ipfw/ip_fw_iface.c optional inet ipfirewall netpfil/ipfw/ip_fw_nat.c optional inet ipfirewall_nat +netpfil/ipfw/nptv6/ip_fw_nptv6.c optional inet inet6 ipfirewall \ + ipfirewall_nptv6 +netpfil/ipfw/nptv6/nptv6.c optional inet inet6 ipfirewall \ + ipfirewall_nptv6 netpfil/pf/if_pflog.c optional pflog pf inet netpfil/pf/if_pfsync.c optional pfsync pf inet netpfil/pf/pf.c optional pf inet Modified: stable/11/sys/conf/options ============================================================================== --- stable/11/sys/conf/options Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sys/conf/options Mon Apr 3 07:30:47 2017 (r316444) @@ -419,6 +419,7 @@ IPFILTER_LOOKUP opt_ipfilter.h IPFIREWALL opt_ipfw.h IPFIREWALL_DEFAULT_TO_ACCEPT opt_ipfw.h IPFIREWALL_NAT opt_ipfw.h +IPFIREWALL_NPTV6 opt_ipfw.h IPFIREWALL_VERBOSE opt_ipfw.h IPFIREWALL_VERBOSE_LIMIT opt_ipfw.h IPSEC opt_ipsec.h Modified: stable/11/sys/modules/Makefile ============================================================================== --- stable/11/sys/modules/Makefile Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sys/modules/Makefile Mon Apr 3 07:30:47 2017 (r316444) @@ -173,6 +173,7 @@ SUBDIR= \ ${_ipfilter} \ ${_ipfw} \ ipfw_nat \ + ${_ipfw_nptv6} \ ${_ipmi} \ ip6_mroute_mod \ ip_mroute_mod \ @@ -474,6 +475,10 @@ _ipdivert= ipdivert _ipfw= ipfw .endif +.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) +_ipfw_nptv6= ipfw_nptv6 +.endif + .if ${MK_IPFILTER} != "no" || defined(ALL_MODULES) _ipfilter= ipfilter .endif Modified: stable/11/sys/netinet/ip_fw.h ============================================================================== --- stable/11/sys/netinet/ip_fw.h Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sys/netinet/ip_fw.h Mon Apr 3 07:30:47 2017 (r316444) @@ -110,6 +110,13 @@ typedef struct _ip_fw3_opheader { #define IP_FW_DUMP_SOPTCODES 116 /* Dump available sopts/versions */ #define IP_FW_DUMP_SRVOBJECTS 117 /* Dump existing named objects */ +#define IP_FW_NPTV6_CREATE 150 /* Create NPTv6 instance */ +#define IP_FW_NPTV6_DESTROY 151 /* Destroy NPTv6 instance */ +#define IP_FW_NPTV6_CONFIG 152 /* Modify NPTv6 instance */ +#define IP_FW_NPTV6_LIST 153 /* List NPTv6 instances */ +#define IP_FW_NPTV6_STATS 154 /* Get NPTv6 instance statistics */ +#define IP_FW_NPTV6_RESET_STATS 155 /* Reset NPTv6 instance statistics */ + /* * The kernel representation of ipfw rules is made of a list of * 'instructions' (for all practical purposes equivalent to BPF @@ -785,6 +792,7 @@ typedef struct _ipfw_obj_tlv { #define IPFW_TLV_TBLENT_LIST 8 #define IPFW_TLV_RANGE 9 #define IPFW_TLV_EACTION 10 +#define IPFW_TLV_COUNTERS 11 #define IPFW_TLV_STATE_NAME 14 #define IPFW_TLV_EACTION_BASE 1000 Copied: stable/11/sys/netinet6/ip_fw_nptv6.h (from r303012, head/sys/netinet6/ip_fw_nptv6.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/sys/netinet6/ip_fw_nptv6.h Mon Apr 3 07:30:47 2017 (r316444, copy of r303012, head/sys/netinet6/ip_fw_nptv6.h) @@ -0,0 +1,51 @@ +/*- + * Copyright (c) 2016 Yandex LLC + * Copyright (c) 2016 Andrey V. Elsukov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _NETINET6_IP_FW_NPTV6_H_ +#define _NETINET6_IP_FW_NPTV6_H_ + +struct ipfw_nptv6_stats { + uint64_t in2ex; /* Int->Ext packets translated */ + uint64_t ex2in; /* Ext->Int packets translated */ + uint64_t dropped; /* dropped due to some errors */ + uint64_t reserved[5]; +}; + +typedef struct _ipfw_nptv6_cfg { + char name[64]; /* NPTv6 instance name */ + struct in6_addr internal; /* NPTv6 internal prefix */ + struct in6_addr external; /* NPTv6 external prefix */ + uint8_t plen; /* Prefix length */ + uint8_t set; /* Named instance set [0..31] */ + uint8_t spare[2]; + uint32_t flags; +} ipfw_nptv6_cfg; + +#endif /* _NETINET6_IP_FW_NPTV6_H_ */ + Modified: stable/11/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- stable/11/sys/netpfil/ipfw/ip_fw2.c Mon Apr 3 06:52:02 2017 (r316443) +++ stable/11/sys/netpfil/ipfw/ip_fw2.c Mon Apr 3 07:30:47 2017 (r316444) @@ -2611,6 +2611,13 @@ do { \ l = 0; /* in any case exit inner loop */ retval = ipfw_run_eaction(chain, args, cmd, &done); + /* + * If both @retval and @done are zero, + * consider this as rule matching and + * update counters. + */ + if (retval == 0 && done == 0) + IPFW_INC_RULE_COUNTER(f, pktlen); break; default: Modified: stable/11/sys/netpfil/ipfw/nptv6/nptv6.c ============================================================================== --- head/sys/netpfil/ipfw/nptv6/nptv6.c Mon Jul 18 19:46:31 2016 (r303012) +++ stable/11/sys/netpfil/ipfw/nptv6/nptv6.c Mon Apr 3 07:30:47 2017 (r316444) @@ -352,24 +352,24 @@ ipfw_nptv6(struct ip_fw_chain *chain, st int ret; *done = 0; /* try next rule if not matched */ + ret = IP_FW_DENY; icmd = cmd + 1; if (cmd->opcode != O_EXTERNAL_ACTION || cmd->arg1 != V_nptv6_eid || icmd->opcode != O_EXTERNAL_INSTANCE || (cfg = NPTV6_LOOKUP(chain, icmd)) == NULL) - return (0); + return (ret); /* * We need act as router, so when forwarding is disabled - * do nothing. */ if (V_ip6_forwarding == 0 || args->f_id.addr_type != 6) - return (0); + return (ret); /* * NOTE: we expect ipfw_chk() did m_pullup() up to upper level * protocol's headers. Also we skip some checks, that ip6_input(), * ip6_forward(), ip6_fastfwd() and ipfw_chk() already did. */ - ret = IP_FW_DENY; ip6 = mtod(args->m, struct ip6_hdr *); NPTV6_IPDEBUG("eid %u, oid %u, %s -> %s %d", cmd->arg1, icmd->arg1, @@ -384,15 +384,15 @@ ipfw_nptv6(struct ip_fw_chain *chain, st */ if (IN6_ARE_MASKED_ADDR_EQUAL(&ip6->ip6_dst, &cfg->internal, &cfg->mask)) - return (0); + return (ret); ret = nptv6_rewrite_internal(cfg, &args->m, 0); } else if (IN6_ARE_MASKED_ADDR_EQUAL(&ip6->ip6_dst, &cfg->external, &cfg->mask)) ret = nptv6_rewrite_external(cfg, &args->m, 0); else - return (0); + return (ret); /* - * If address wasn't rewrited - free mbuf. + * If address wasn't rewrited - free mbuf and terminate the search. */ if (ret != 0) { if (args->m != NULL) { @@ -400,14 +400,16 @@ ipfw_nptv6(struct ip_fw_chain *chain, st args->m = NULL; /* mark mbuf as consumed */ } NPTV6STAT_INC(cfg, dropped); - } - /* Terminate the search if one_pass is set */ - *done = V_fw_one_pass; - /* Update args->f_id when one_pass is off */ - if (*done == 0 && ret == 0) { - ip6 = mtod(args->m, struct ip6_hdr *); - args->f_id.src_ip6 = ip6->ip6_src; - args->f_id.dst_ip6 = ip6->ip6_dst; + *done = 1; + } else { + /* Terminate the search if one_pass is set */ + *done = V_fw_one_pass; + /* Update args->f_id when one_pass is off */ + if (*done == 0) { + ip6 = mtod(args->m, struct ip6_hdr *); + args->f_id.src_ip6 = ip6->ip6_src; + args->f_id.dst_ip6 = ip6->ip6_dst; + } } return (ret); } @@ -700,6 +702,9 @@ nptv6_stats(struct ip_fw_chain *ch, ip_f oh = (ipfw_obj_header *)ipfw_get_sopt_header(sd, sz); if (oh == NULL) return (EINVAL); + if (ipfw_check_object_name_generic(oh->ntlv.name) != 0 || + oh->ntlv.set >= IPFW_MAX_SETS) + return (EINVAL); memset(&stats, 0, sizeof(stats)); IPFW_UH_RLOCK(ch); @@ -722,12 +727,45 @@ nptv6_stats(struct ip_fw_chain *ch, ip_f return (0); } +/* + * Reset NPTv6 statistics. + * Data layout (v0)(current): + * Request: [ ipfw_obj_header ] + * + * Returns 0 on success + */ +static int +nptv6_reset_stats(struct ip_fw_chain *ch, ip_fw3_opheader *op, + struct sockopt_data *sd) +{ + struct nptv6_cfg *cfg; + ipfw_obj_header *oh; + + if (sd->valsize != sizeof(*oh)) + return (EINVAL); + oh = (ipfw_obj_header *)sd->kbuf; + if (ipfw_check_object_name_generic(oh->ntlv.name) != 0 || + oh->ntlv.set >= IPFW_MAX_SETS) + return (EINVAL); + + IPFW_UH_WLOCK(ch); + cfg = nptv6_find(CHAIN_TO_SRV(ch), oh->ntlv.name, oh->ntlv.set); + if (cfg == NULL) { + IPFW_UH_WUNLOCK(ch); + return (ESRCH); + } + COUNTER_ARRAY_ZERO(cfg->stats, NPTV6STATS); + IPFW_UH_WUNLOCK(ch); + return (0); +} + static struct ipfw_sopt_handler scodes[] = { { IP_FW_NPTV6_CREATE, 0, HDIR_SET, nptv6_create }, { IP_FW_NPTV6_DESTROY,0, HDIR_SET, nptv6_destroy }, { IP_FW_NPTV6_CONFIG, 0, HDIR_BOTH, nptv6_config }, { IP_FW_NPTV6_LIST, 0, HDIR_GET, nptv6_list }, { IP_FW_NPTV6_STATS, 0, HDIR_GET, nptv6_stats }, + { IP_FW_NPTV6_RESET_STATS,0, HDIR_SET, nptv6_reset_stats }, }; static int From owner-svn-src-all@freebsd.org Mon Apr 3 07:40:39 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C7CA8D2BA8C; Mon, 3 Apr 2017 07:40:39 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A4DA41FF; Mon, 3 Apr 2017 07:40:39 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v337ecmS050475; Mon, 3 Apr 2017 07:40:38 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v337ecKs050473; Mon, 3 Apr 2017 07:40:38 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704030740.v337ecKs050473@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 3 Apr 2017 07:40:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316445 - stable/11/sbin/ipfw X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 07:40:39 -0000 Author: ae Date: Mon Apr 3 07:40:38 2017 New Revision: 316445 URL: https://svnweb.freebsd.org/changeset/base/316445 Log: MFC r307570: Add support for non-contiguous IPv6 masks in ipfw(8) rules. For example fe::640:0:0/ffff::ffff:ffff:0:0 will match addresses fe:*:*:*:0:640:*:* Submitted by: Eugene Mamchits Obtained from: Yandex LLC Sponsored by: Yandex LLC Modified: stable/11/sbin/ipfw/ipfw.8 stable/11/sbin/ipfw/ipv6.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/ipfw/ipfw.8 ============================================================================== --- stable/11/sbin/ipfw/ipfw.8 Mon Apr 3 07:30:47 2017 (r316444) +++ stable/11/sbin/ipfw/ipfw.8 Mon Apr 3 07:40:38 2017 (r316445) @@ -1316,6 +1316,24 @@ or a hostname) and mask width of .Cm masklen bits. +.It Ar addr Ns / Ns Ar mask +Matches all IPv6 addresses with base +.Ar addr +(specified as allowed by +.Xr inet_pton +or a hostname) +and the mask of +.Ar mask , +specified as allowed by +.Xr inet_pton. +As an example, fe::640:0:0/ffff::ffff:ffff:0:0 will match +fe:*:*:*:0:640:*:*. +This form is advised only for non-contiguous +masks. +It is better to resort to the +.Ar addr Ns / Ns Ar masklen +format for contiguous masks, which is more compact and less +error-prone. .El .Pp No support for sets of IPv6 addresses is provided because IPv6 addresses Modified: stable/11/sbin/ipfw/ipv6.c ============================================================================== --- stable/11/sbin/ipfw/ipv6.c Mon Apr 3 07:30:47 2017 (r316444) +++ stable/11/sbin/ipfw/ipv6.c Mon Apr 3 07:40:38 2017 (r316445) @@ -124,8 +124,8 @@ print_ip6(struct buf_pr *bp, ipfw_insn_i if (inet_ntop(AF_INET6, a, trad, sizeof( trad ) ) == NULL) bprintf(bp, "Error ntop in print_ip6\n"); bprintf(bp, "%s", trad ); - if (mb < 0) /* XXX not really legal... */ - bprintf(bp, ":%s", + if (mb < 0) /* mask not contiguous */ + bprintf(bp, "/%s", inet_ntop(AF_INET6, &a[1], trad, sizeof(trad))); else if (mb < 128) bprintf(bp, "/%d", mb); @@ -325,9 +325,10 @@ lookup_host6 (char *host, struct in6_add * any matches any IP6. Actually returns an empty instruction. * me returns O_IP6_*_ME * - * 03f1::234:123:0342 single IP6 address - * 03f1::234:123:0342/24 address/mask - * 03f1::234:123:0342/24,03f1::234:123:0343/ List of address + * 03f1::234:123:0342 single IP6 address + * 03f1::234:123:0342/24 address/masklen + * 03f1::234:123:0342/ffff::ffff:ffff address/mask + * 03f1::234:123:0342/24,03f1::234:123:0343/ List of address * * Set of address (as in ipv6) not supported because ipv6 address * are typically random past the initial prefix. @@ -371,13 +372,18 @@ fill_ip6(ipfw_insn_ip6 *cmd, char *av, i * or ',' indicating another address follows. */ - char *p; + char *p, *q; int masklen; char md = '\0'; CHECK_LENGTH(cblen, 1 + len + 2 * F_INSN_SIZE(struct in6_addr)); - if ((p = strpbrk(av, "/,")) ) { + if ((q = strchr(av, ',')) ) { + *q = '\0'; + q++; + } + + if ((p = strchr(av, '/')) ) { md = *p; /* save the separator */ *p = '\0'; /* terminate address string */ p++; /* and skip past it */ @@ -390,22 +396,22 @@ fill_ip6(ipfw_insn_ip6 *cmd, char *av, i errx(EX_DATAERR, "bad address \"%s\"", av); } /* next, look at the mask, if any */ - masklen = (md == '/') ? atoi(p) : 128; - if (masklen > 128 || masklen < 0) - errx(EX_DATAERR, "bad width \"%s\''", p); - else - n2mask(&d[1], masklen); + if (md == '/' && strchr(p, ':')) { + if (!inet_pton(AF_INET6, p, &d[1])) + errx(EX_DATAERR, "bad mask \"%s\"", p); + + masklen = contigmask((uint8_t *)&(d[1]), 128); + } else { + masklen = (md == '/') ? atoi(p) : 128; + if (masklen > 128 || masklen < 0) + errx(EX_DATAERR, "bad width \"%s\''", p); + else + n2mask(&d[1], masklen); + } APPLY_MASK(d, &d[1]) /* mask base address with mask */ - /* find next separator */ - - if (md == '/') { /* find separator past the mask */ - p = strpbrk(p, ","); - if (p != NULL) - p++; - } - av = p; + av = q; /* Check this entry */ if (masklen == 0) { From owner-svn-src-all@freebsd.org Mon Apr 3 08:50:57 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DA859D27081; Mon, 3 Apr 2017 08:50:57 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 944A81EE; Mon, 3 Apr 2017 08:50:57 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v338oulC078935; Mon, 3 Apr 2017 08:50:56 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v338othf078916; Mon, 3 Apr 2017 08:50:55 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704030850.v338othf078916@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 3 Apr 2017 08:50:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316446 - in stable/11: sbin/ipfw sys/conf sys/modules sys/modules/ipfw sys/modules/ipfw_nat64 sys/netinet sys/netinet6 sys/netpfil/ipfw sys/netpfil/ipfw/nat64 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 08:50:58 -0000 Author: ae Date: Mon Apr 3 08:50:54 2017 New Revision: 316446 URL: https://svnweb.freebsd.org/changeset/base/316446 Log: MFC r304041: Move logging via BPF support into separate file. * make interface cloner VNET-aware; * simplify cloner code and use if_clone_simple(); * migrate LOGIF_LOCK() to rmlock; * add ipfw_bpf_mtap2() function to pass mbuf to BPF; * introduce new additional ipfwlog0 pseudo interface. It differs from ipfw0 by DLT type used in bpfattach. This interface is intended to used by ipfw modules to dump packets with additional info attached. Currently pflog format is used. ipfw_bpf_mtap2() function uses second argument to determine which interface use for dumping. If dlen is equal to ETHER_HDR_LEN it uses old ipfw0 interface, if dlen is equal to PFLOG_HDRLEN - ipfwlog0 will be used. Obtained from: Yandex LLC Sponsored by: Yandex LLC MFC r304043: Add three helper function to manage tables from external modules. ipfw_objhash_lookup_table_kidx does lookup kernel index of table; ipfw_ref_table/ipfw_unref_table takes and releases reference to table. Obtained from: Yandex LLC Sponsored by: Yandex LLC MFC r304046, 304108: Add ipfw_nat64 module that implements stateless and stateful NAT64. The module works together with ipfw(4) and implemented as its external action module. Stateless NAT64 registers external action with name nat64stl. This keyword should be used to create NAT64 instance and to address this instance in rules. Stateless NAT64 uses two lookup tables with mapped IPv4->IPv6 and IPv6->IPv4 addresses to perform translation. A configuration of instance should looks like this: 1. Create lookup tables: # ipfw table T46 create type addr valtype ipv6 # ipfw table T64 create type addr valtype ipv4 2. Fill T46 and T64 tables. 3. Add rule to allow neighbor solicitation and advertisement: # ipfw add allow icmp6 from any to any icmp6types 135,136 4. Create NAT64 instance: # ipfw nat64stl NAT create table4 T46 table6 T64 5. Add rules that matches the traffic: # ipfw add nat64stl NAT ip from any to table(T46) # ipfw add nat64stl NAT ip from table(T64) to 64:ff9b::/96 6. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96 via NAT64 host. Stateful NAT64 registers external action with name nat64lsn. The only one option required to create nat64lsn instance - prefix4. It defines the pool of IPv4 addresses used for translation. A configuration of instance should looks like this: 1. Add rule to allow neighbor solicitation and advertisement: # ipfw add allow icmp6 from any to any icmp6types 135,136 2. Create NAT64 instance: # ipfw nat64lsn NAT create prefix4 A.B.C.D/28 3. Add rules that matches the traffic: # ipfw add nat64lsn NAT ip from any to A.B.C.D/28 # ipfw add nat64lsn NAT ip6 from any to 64:ff9b::/96 4. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96 via NAT64 host. Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D6434 MFC r304048: Replace __noinline with special debug macro NAT64NOINLINE. MFC r304061: Use %ju to print unsigned 64-bit value. MFC r304076: Make statistics nat64lsn, nat64stl an nptv6 output netstat-like: "@value @description" and fix build due to -Wformat errors. MFC r304378 (by bz): Try to fix gcc compilation errors (which are right). nat64_getlasthdr() returns an int, which can be -1 in case of error, storing the result in an uint8_t and then comparing to < 0 is not helpful. Do what is done in the rest of the code and make proto an int here as well. MFC r309187: Fix ICMPv6 Time Exceeded error message translation. MFC r314718: Use new ipfw_lookup_table() in the nat64 too. MFC r315204,315233: Use memset with structure size. Added: stable/11/sbin/ipfw/nat64lsn.c - copied, changed from r304046, head/sbin/ipfw/nat64lsn.c stable/11/sbin/ipfw/nat64stl.c - copied, changed from r304046, head/sbin/ipfw/nat64stl.c stable/11/sys/modules/ipfw_nat64/ - copied from r304046, head/sys/modules/ipfw_nat64/ stable/11/sys/netinet6/ip_fw_nat64.h - copied unchanged from r304046, head/sys/netinet6/ip_fw_nat64.h stable/11/sys/netpfil/ipfw/ip_fw_bpf.c - copied unchanged from r304041, head/sys/netpfil/ipfw/ip_fw_bpf.c stable/11/sys/netpfil/ipfw/nat64/ - copied from r304046, head/sys/netpfil/ipfw/nat64/ Modified: stable/11/sbin/ipfw/Makefile stable/11/sbin/ipfw/ipfw.8 stable/11/sbin/ipfw/ipfw2.c stable/11/sbin/ipfw/ipfw2.h stable/11/sbin/ipfw/main.c stable/11/sbin/ipfw/tables.c stable/11/sys/conf/NOTES stable/11/sys/conf/files stable/11/sys/conf/options stable/11/sys/modules/Makefile stable/11/sys/modules/ipfw/Makefile stable/11/sys/netinet/ip_fw.h stable/11/sys/netpfil/ipfw/ip_fw2.c stable/11/sys/netpfil/ipfw/ip_fw_log.c stable/11/sys/netpfil/ipfw/ip_fw_private.h stable/11/sys/netpfil/ipfw/ip_fw_table.c stable/11/sys/netpfil/ipfw/nat64/nat64_translate.c stable/11/sys/netpfil/ipfw/nat64/nat64lsn.c stable/11/sys/netpfil/ipfw/nat64/nat64lsn_control.c stable/11/sys/netpfil/ipfw/nat64/nat64stl.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/ipfw/Makefile ============================================================================== --- stable/11/sbin/ipfw/Makefile Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sbin/ipfw/Makefile Mon Apr 3 08:50:54 2017 (r316446) @@ -5,7 +5,7 @@ PACKAGE=ipfw PROG= ipfw SRCS= ipfw2.c dummynet.c ipv6.c main.c nat.c tables.c -SRCS+= nptv6.c +SRCS+= nat64lsn.c nat64stl.c nptv6.c WARNS?= 2 .if ${MK_PF} != "no" Modified: stable/11/sbin/ipfw/ipfw.8 ============================================================================== --- stable/11/sbin/ipfw/ipfw.8 Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sbin/ipfw/ipfw.8 Mon Apr 3 08:50:54 2017 (r316446) @@ -113,6 +113,37 @@ in-kernel NAT. .Oc .Oc .Ar pathname +.Ss STATEFUL IPv6/IPv4 NETWORK ADDRESS AND PROTOCOL TRANSLATION +.Nm +.Oo Cm set Ar N Oc Cm nat64lsn Ar name Cm create Ar create-options +.Nm +.Oo Cm set Ar N Oc Cm nat64lsn Ar name Cm config Ar config-options +.Nm +.Oo Cm set Ar N Oc Cm nat64lsn +.Brq Ar name | all +.Brq Cm list | show +.Op Cm states +.Nm +.Oo Cm set Ar N Oc Cm nat64lsn +.Brq Ar name | all +.Cm destroy +.Nm +.Oo Cm set Ar N Oc Cm nat64lsn Ar name Cm stats Op Cm reset +.Ss STATELESS IPv6/IPv4 NETWORK ADDRESS AND PROTOCOL TRANSLATION +.Nm +.Oo Cm set Ar N Oc Cm nat64stl Ar name Cm create Ar create-options +.Nm +.Oo Cm set Ar N Oc Cm nat64stl Ar name Cm config Ar config-options +.Nm +.Oo Cm set Ar N Oc Cm nat64stl +.Brq Ar name | all +.Brq Cm list | show +.Nm +.Oo Cm set Ar N Oc Cm nat64stl +.Brq Ar name | all +.Cm destroy +.Nm +.Oo Cm set Ar N Oc Cm nat64stl Ar name Cm stats Op Cm reset .Ss IPv6-to-IPv6 NETWORK PREFIX TRANSLATION .Nm .Oo Cm set Ar N Oc Cm nptv6 Ar name Cm create Ar create-options @@ -837,6 +868,16 @@ nat instance see the .Sx NETWORK ADDRESS TRANSLATION (NAT) Section for further information. +.It Cm nat64lsn Ar name +Pass packet to a stateful NAT64 instance (for IPv6/IPv4 network address and +protocol translation): see the +.Sx IPv6/IPv4 NETWORK ADDRESS AND PROTOCOL TRANSLATION +Section for further information. +.It Cm nat64stl Ar name +Pass packet to a stateless NAT64 instance (for IPv6/IPv4 network address and +protocol translation): see the +.Sx IPv6/IPv4 NETWORK ADDRESS AND PROTOCOL TRANSLATION +Section for further information. .It Cm nptv6 Ar name Pass packet to a NPTv6 instance (for IPv6-to-IPv6 network prefix translation): see the @@ -2944,9 +2985,189 @@ instances. See .Sx SYSCTL VARIABLES for more info. +.Sh IPv6/IPv4 NETWORK ADDRESS AND PROTOCOL TRANSLATION +.Nm +supports in-kernel IPv6/IPv4 network address and protocol translation. +Stateful NAT64 translation allows IPv6-only clients to contact IPv4 servers +using unicast TCP, UDP or ICMP protocols. +One or more IPv4 addresses assigned to a stateful NAT64 translator are shared +among serveral IPv6-only clients. +When stateful NAT64 is used in conjunction with DNS64, no changes are usually +required in the IPv6 client or the IPv4 server. +The kernel module +.Cm ipfw_nat64 +should be loaded or kernel should have +.Cm options IPFIREWALL_NAT64 +to be able use stateful NAT64 translator. +.Pp +Stateful NAT64 uses a bunch of memory for several types of objects. +When IPv6 client initiates connection, NAT64 translator creates a host entry +in the states table. +Each host entry has a number of ports group entries allocated on demand. +Ports group entries contains connection state entries. +There are several options to control limits and lifetime for these objects. +.Pp +NAT64 translator follows RFC7915 when does ICMPv6/ICMP translation, +unsupported message types will be silently dropped. +IPv6 needs several ICMPv6 message types to be explicitly allowed for correct +operation. +Make sure that ND6 neighbor solicitation (ICMPv6 type 135) and neighbor +advertisement (ICMPv6 type 136) messages will not be handled by translation +rules. +.Pp +After translation NAT64 translator sends packets through corresponding netisr +queue. +Thus translator host should be configured as IPv4 and IPv6 router. +.Pp +Currently both stateful and stateless NAT64 translators use Well-Known IPv6 +Prefix +.Ar 64:ff9b::/96 +to represent IPv4 addresses in the IPv6 address. +Thus DNS64 service and routing should be configured to use Well-Known IPv6 +Prefix. +.Pp +The stateful NAT64 configuration command is the following: +.Bd -ragged -offset indent +.Bk -words +.Cm nat64lsn +.Ar name +.Cm create +.Ar create-options +.Ek +.Ed +.Pp +The following parameters can be configured: +.Bl -tag -width indent +.It Cm prefix4 Ar ipv4_prefix/mask +The IPv4 prefix with mask defines the pool of IPv4 addresses used as +source address after translation. +Stateful NAT64 module translates IPv6 source address of client to one +IPv4 address from this pool. +Note that incoming IPv4 packets that don't have corresponding state entry +in the states table will be dropped by translator. +Make sure that translation rules handle packets, destined to configured prefix. +.It Cm max_ports Ar number +Maximum number of ports reserved for upper level protocols to one IPv6 client. +All reserved ports are divided into chunks between supported protocols. +The number of connections from one IPv6 client is limited by this option. +Note that closed TCP connections still remain in the list of connections until +.Cm tcp_close_age +interval will not expire. +Default value is +.Ar 2048 . +.It Cm host_del_age Ar seconds +The number of seconds until the host entry for a IPv6 client will be deleted +and all its resources will be released due to inactivity. +Default value is +.Ar 3600 . +.It Cm pg_del_age Ar seconds +The number of seconds until a ports group with unused state entries will +be released. +Default value is +.Ar 900 . +.It Cm tcp_syn_age Ar seconds +The number of seconds while a state entry for TCP connection with only SYN +sent will be kept. +If TCP connection establishing will not be finished, +state entry will be deleted. +Default value is +.Ar 10 . +.It Cm tcp_est_age Ar seconds +The number of seconds while a state entry for established TCP connection +will be kept. +Default value is +.Ar 7200 . +.It Cm tcp_close_age Ar seconds +The number of seconds while a state entry for closed TCP connection +will be kept. +Keeping state entries for closed connections is needed, because IPv4 servers +typically keep closed connections in a TIME_WAIT state for a several minutes. +Since translator's IPv4 addresses are shared among all IPv6 clients, +new connections from the same addresses and ports may be rejected by server, +because these connections are still in a TIME_WAIT state. +Keeping them in translator's state table protects from such rejects. +Default value is +.Ar 180 . +.It Cm udp_age Ar seconds +The number of seconds while translator keeps state entry in a waiting for +reply to the sent UDP datagram. +Default value is +.Ar 120 . +.It Cm icmp_age Ar seconds +The number of seconds while translator keeps state entry in a waiting for +reply to the sent ICMP message. +Default value is +.Ar 60 . +.It Cm log +Turn on logging of all handled packets via BPF through +.Ar ipfwlog0 +interface. +.Ar ipfwlog0 +is a pseudo interface and can be created after a boot manually with +.Cm ifconfig +command. +Note that it has different purpose than +.Ar ipfw0 +interface. +Translators sends to BPF an additional information with each packet. +With +.Cm tcpdump +you are able to see each handled packet before and after translation. +.It Cm -log +Turn off logging of all handled packets via BPF. +.El +.Pp +To inspect a states table of stateful NAT64 the following command can be used: +.Bd -ragged -offset indent +.Bk -words +.Cm nat64lsn +.Ar name +.Cm show Cm states +.Ek +.Ed +.Pp +.Pp +Stateless NAT64 translator doesn't use a states table for translation +and converts IPv4 addresses to IPv6 and vice versa solely based on the +mappings taken from configured lookup tables. +Since a states table doesn't used by stateless translator, +it can be configured to pass IPv4 clients to IPv6-only servers. +.Pp +The stateless NAT64 configuration command is the following: +.Bd -ragged -offset indent +.Bk -words +.Cm nat64stl +.Ar name +.Cm create +.Ar create-options +.Ek +.Ed +.Pp +The following parameters can be configured: +.Bl -tag -width indent +.It Cm table4 Ar table46 +The lookup table +.Ar table46 +contains mapping how IPv4 addresses should be translated to IPv6 addresses. +.It Cm table6 Ar table64 +The lookup table +.Ar table64 +contains mapping how IPv6 addresses should be translated to IPv4 addresses. +.It Cm log +Turn on logging of all handled packets via BPF through +.Ar ipfwlog0 +interface. +.It Cm -log +Turn off logging of all handled packets via BPF. +.El +.Pp +Note that the behavior of stateless translator with respect to not matched +packets differs from stateful translator. +If corresponding addresses was not found in the lookup tables, the packet +will not be dropped and the search continues. .Sh IPv6-to-IPv6 NETWORK PREFIX TRANSLATION (NPTv6) .Nm -support in-kernel IPv6-to-IPv6 network prefix translation as described +supports in-kernel IPv6-to-IPv6 network prefix translation as described in RFC6296. The kernel module .Cm ipfw_nptv6 Modified: stable/11/sbin/ipfw/ipfw2.c ============================================================================== --- stable/11/sbin/ipfw/ipfw2.c Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sbin/ipfw/ipfw2.c Mon Apr 3 08:50:54 2017 (r316446) @@ -235,6 +235,8 @@ static struct _s_x ether_types[] = { }; static struct _s_x rule_eactions[] = { + { "nat64lsn", TOK_NAT64LSN }, + { "nat64stl", TOK_NAT64STL }, { "nptv6", TOK_NPTV6 }, { NULL, 0 } /* terminator */ }; Modified: stable/11/sbin/ipfw/ipfw2.h ============================================================================== --- stable/11/sbin/ipfw/ipfw2.h Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sbin/ipfw/ipfw2.h Mon Apr 3 08:50:54 2017 (r316446) @@ -254,7 +254,30 @@ enum tokens { TOK_UNLOCK, TOK_VLIST, TOK_OLIST, + + /* NAT64 tokens */ + TOK_NAT64STL, + TOK_NAT64LSN, TOK_STATS, + TOK_STATES, + TOK_CONFIG, + TOK_TABLE4, + TOK_TABLE6, + TOK_PREFIX4, + TOK_PREFIX6, + TOK_AGG_LEN, + TOK_AGG_COUNT, + TOK_MAX_PORTS, + TOK_JMAXLEN, + TOK_PORT_RANGE, + TOK_HOST_DEL_AGE, + TOK_PG_DEL_AGE, + TOK_TCP_SYN_AGE, + TOK_TCP_CLOSE_AGE, + TOK_TCP_EST_AGE, + TOK_UDP_AGE, + TOK_ICMP_AGE, + TOK_LOGOFF, /* NPTv6 tokens */ TOK_NPTV6, @@ -347,6 +370,8 @@ void ipfw_flush(int force); void ipfw_zero(int ac, char *av[], int optname); void ipfw_list(int ac, char *av[], int show_counters); void ipfw_internal_handler(int ac, char *av[]); +void ipfw_nat64lsn_handler(int ac, char *av[]); +void ipfw_nat64stl_handler(int ac, char *av[]); void ipfw_nptv6_handler(int ac, char *av[]); int ipfw_check_object_name(const char *name); @@ -389,7 +414,10 @@ void fill_table(struct _ipfw_insn *cmd, /* tables.c */ struct _ipfw_obj_ctlv; +struct _ipfw_obj_ntlv; int table_check_name(const char *tablename); void ipfw_list_ta(int ac, char *av[]); void ipfw_list_values(int ac, char *av[]); +void table_fill_ntlv(struct _ipfw_obj_ntlv *ntlv, const char *name, + uint8_t set, uint16_t uidx); Modified: stable/11/sbin/ipfw/main.c ============================================================================== --- stable/11/sbin/ipfw/main.c Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sbin/ipfw/main.c Mon Apr 3 08:50:54 2017 (r316446) @@ -425,6 +425,10 @@ ipfw_main(int oldac, char **oldav) if (co.use_set || try_next) { if (_substrcmp(*av, "delete") == 0) ipfw_delete(av); + else if (!strncmp(*av, "nat64stl", strlen(*av))) + ipfw_nat64stl_handler(ac, av); + else if (!strncmp(*av, "nat64lsn", strlen(*av))) + ipfw_nat64lsn_handler(ac, av); else if (!strncmp(*av, "nptv6", strlen(*av))) ipfw_nptv6_handler(ac, av); else if (_substrcmp(*av, "flush") == 0) Copied and modified: stable/11/sbin/ipfw/nat64lsn.c (from r304046, head/sbin/ipfw/nat64lsn.c) ============================================================================== --- head/sbin/ipfw/nat64lsn.c Sat Aug 13 16:09:49 2016 (r304046, copy source) +++ stable/11/sbin/ipfw/nat64lsn.c Mon Apr 3 08:50:54 2017 (r316446) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -687,7 +688,6 @@ nat64lsn_get_stats(const char *name, uin return (-1); } -#define _P_STAT(_s, _f) printf("%8s:\t%lu\n", #_f, _s._f) static void nat64lsn_stats(const char *name, uint8_t set) { @@ -696,34 +696,61 @@ nat64lsn_stats(const char *name, uint8_t if (nat64lsn_get_stats(name, set, &stats) != 0) err(EX_OSERR, "Error retrieving stats"); - _P_STAT(stats, opcnt64); - _P_STAT(stats, opcnt46); - _P_STAT(stats, ofrags); - _P_STAT(stats, ifrags); - _P_STAT(stats, oerrors); - _P_STAT(stats, noroute4); - _P_STAT(stats, noroute6); - _P_STAT(stats, noproto); - _P_STAT(stats, nomem); - _P_STAT(stats, dropped); - - _P_STAT(stats, hostcount); - _P_STAT(stats, tcpchunks); - _P_STAT(stats, udpchunks); - _P_STAT(stats, icmpchunks); - _P_STAT(stats, jcalls); - _P_STAT(stats, jrequests); - _P_STAT(stats, jhostsreq); - _P_STAT(stats, jportreq); - _P_STAT(stats, jhostfails); - _P_STAT(stats, jportfails); - _P_STAT(stats, jreinjected); - _P_STAT(stats, jmaxlen); - _P_STAT(stats, jnomem); - _P_STAT(stats, screated); - _P_STAT(stats, sdeleted); - _P_STAT(stats, spgcreated); - _P_STAT(stats, spgdeleted); + if (co.use_set != 0 || set != 0) + printf("set %u ", set); + printf("nat64lsn %s\n", name); + printf("\t%ju packets translated from IPv6 to IPv4\n", + (uintmax_t)stats.opcnt64); + printf("\t%ju packets translated from IPv4 to IPv6\n", + (uintmax_t)stats.opcnt46); + printf("\t%ju IPv6 fragments created\n", + (uintmax_t)stats.ofrags); + printf("\t%ju IPv4 fragments received\n", + (uintmax_t)stats.ifrags); + printf("\t%ju output packets dropped due to no bufs, etc.\n", + (uintmax_t)stats.oerrors); + printf("\t%ju output packets discarded due to no IPv4 route\n", + (uintmax_t)stats.noroute4); + printf("\t%ju output packets discarded due to no IPv6 route\n", + (uintmax_t)stats.noroute6); + printf("\t%ju packets discarded due to unsupported protocol\n", + (uintmax_t)stats.noproto); + printf("\t%ju packets discarded due to memory allocation problems\n", + (uintmax_t)stats.nomem); + printf("\t%ju packets discarded due to some errors\n", + (uintmax_t)stats.dropped); + printf("\t%ju packets not matched with IPv4 prefix\n", + (uintmax_t)stats.nomatch4); + + printf("\t%ju mbufs queued for post processing\n", + (uintmax_t)stats.jreinjected); + printf("\t%ju times the job queue was processed\n", + (uintmax_t)stats.jcalls); + printf("\t%ju job requests queued\n", + (uintmax_t)stats.jrequests); + printf("\t%ju job requests queue limit reached\n", + (uintmax_t)stats.jmaxlen); + printf("\t%ju job requests failed due to memory allocation problems\n", + (uintmax_t)stats.jnomem); + + printf("\t%ju hosts allocated\n", (uintmax_t)stats.hostcount); + printf("\t%ju hosts requested\n", (uintmax_t)stats.jhostsreq); + printf("\t%ju host requests failed\n", (uintmax_t)stats.jhostfails); + + printf("\t%ju portgroups requested\n", (uintmax_t)stats.jportreq); + printf("\t%ju portgroups allocated\n", (uintmax_t)stats.spgcreated); + printf("\t%ju portgroups deleted\n", (uintmax_t)stats.spgdeleted); + printf("\t%ju portgroup requests failed\n", + (uintmax_t)stats.jportfails); + printf("\t%ju portgroups allocated for TCP\n", + (uintmax_t)stats.tcpchunks); + printf("\t%ju portgroups allocated for UDP\n", + (uintmax_t)stats.udpchunks); + printf("\t%ju portgroups allocated for ICMP\n", + (uintmax_t)stats.icmpchunks); + + printf("\t%ju states created\n", (uintmax_t)stats.screated); + printf("\t%ju states deleted\n", (uintmax_t)stats.sdeleted); } static int Copied and modified: stable/11/sbin/ipfw/nat64stl.c (from r304046, head/sbin/ipfw/nat64stl.c) ============================================================================== --- head/sbin/ipfw/nat64stl.c Sat Aug 13 16:09:49 2016 (r304046, copy source) +++ stable/11/sbin/ipfw/nat64stl.c Mon Apr 3 08:50:54 2017 (r316446) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -386,7 +387,6 @@ nat64stl_get_stats(const char *name, uin return (-1); } -#define _P_STAT(_s, _f) printf("%8s:\t%lu\n", #_f, _s._f) static void nat64stl_stats(const char *name, uint8_t set) { @@ -395,16 +395,30 @@ nat64stl_stats(const char *name, uint8_t if (nat64stl_get_stats(name, set, &stats) != 0) err(EX_OSERR, "Error retrieving stats"); - _P_STAT(stats, opcnt64); - _P_STAT(stats, opcnt46); - _P_STAT(stats, ofrags); - _P_STAT(stats, ifrags); - _P_STAT(stats, oerrors); - _P_STAT(stats, noroute4); - _P_STAT(stats, noroute6); - _P_STAT(stats, noproto); - _P_STAT(stats, nomem); - _P_STAT(stats, dropped); + if (co.use_set != 0 || set != 0) + printf("set %u ", set); + printf("nat64stl %s\n", name); + + printf("\t%ju packets translated from IPv6 to IPv4\n", + (uintmax_t)stats.opcnt64); + printf("\t%ju packets translated from IPv4 to IPv6\n", + (uintmax_t)stats.opcnt46); + printf("\t%ju IPv6 fragments created\n", + (uintmax_t)stats.ofrags); + printf("\t%ju IPv4 fragments received\n", + (uintmax_t)stats.ifrags); + printf("\t%ju output packets dropped due to no bufs, etc.\n", + (uintmax_t)stats.oerrors); + printf("\t%ju output packets discarded due to no IPv4 route\n", + (uintmax_t)stats.noroute4); + printf("\t%ju output packets discarded due to no IPv6 route\n", + (uintmax_t)stats.noroute6); + printf("\t%ju packets discarded due to unsupported protocol\n", + (uintmax_t)stats.noproto); + printf("\t%ju packets discarded due to memory allocation problems\n", + (uintmax_t)stats.nomem); + printf("\t%ju packets discarded due to some errors\n", + (uintmax_t)stats.dropped); } /* Modified: stable/11/sbin/ipfw/tables.c ============================================================================== --- stable/11/sbin/ipfw/tables.c Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sbin/ipfw/tables.c Mon Apr 3 08:50:54 2017 (r316446) @@ -53,8 +53,6 @@ static void table_lock(ipfw_obj_header * static int table_swap(ipfw_obj_header *oh, char *second); static int table_get_info(ipfw_obj_header *oh, ipfw_xtable_info *i); static int table_show_info(ipfw_xtable_info *i, void *arg); -static void table_fill_ntlv(ipfw_obj_ntlv *ntlv, const char *name, - uint32_t set, uint16_t uidx); static int table_flush_one(ipfw_xtable_info *i, void *arg); static int table_show_one(ipfw_xtable_info *i, void *arg); @@ -155,7 +153,7 @@ ipfw_table_handler(int ac, char *av[]) ipfw_xtable_info i; ipfw_obj_header oh; char *tablename; - uint32_t set; + uint8_t set; void *arg; memset(&oh, 0, sizeof(oh)); @@ -292,8 +290,8 @@ ipfw_table_handler(int ac, char *av[]) } } -static void -table_fill_ntlv(ipfw_obj_ntlv *ntlv, const char *name, uint32_t set, +void +table_fill_ntlv(ipfw_obj_ntlv *ntlv, const char *name, uint8_t set, uint16_t uidx) { Modified: stable/11/sys/conf/NOTES ============================================================================== --- stable/11/sys/conf/NOTES Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sys/conf/NOTES Mon Apr 3 08:50:54 2017 (r316446) @@ -953,6 +953,8 @@ device lagg # IPFIREWALL_NAT adds support for in kernel nat in ipfw, and it requires # LIBALIAS. # +# IPFIREWALL_NAT64 adds support for in kernel NAT64 in ipfw. +# # IPFIREWALL_NPTV6 adds support for in kernel NPTv6 in ipfw. # # IPSTEALTH enables code to support stealth forwarding (i.e., forwarding @@ -976,6 +978,7 @@ options IPFIREWALL_VERBOSE #enable logg options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default options IPFIREWALL_NAT #ipfw kernel nat support +options IPFIREWALL_NAT64 #ipfw kernel NAT64 support options IPFIREWALL_NPTV6 #ipfw kernel IPv6 NPT support options IPDIVERT #divert sockets options IPFILTER #ipfilter support Modified: stable/11/sys/conf/files ============================================================================== --- stable/11/sys/conf/files Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sys/conf/files Mon Apr 3 08:50:54 2017 (r316446) @@ -3932,6 +3932,7 @@ netpfil/ipfw/ip_dummynet.c optional inet netpfil/ipfw/ip_dn_io.c optional inet dummynet netpfil/ipfw/ip_dn_glue.c optional inet dummynet netpfil/ipfw/ip_fw2.c optional inet ipfirewall +netpfil/ipfw/ip_fw_bpf.c optional inet ipfirewall netpfil/ipfw/ip_fw_dynamic.c optional inet ipfirewall netpfil/ipfw/ip_fw_eaction.c optional inet ipfirewall netpfil/ipfw/ip_fw_log.c optional inet ipfirewall @@ -3942,6 +3943,18 @@ netpfil/ipfw/ip_fw_table_algo.c optional netpfil/ipfw/ip_fw_table_value.c optional inet ipfirewall netpfil/ipfw/ip_fw_iface.c optional inet ipfirewall netpfil/ipfw/ip_fw_nat.c optional inet ipfirewall_nat +netpfil/ipfw/nat64/ip_fw_nat64.c optional inet inet6 ipfirewall \ + ipfirewall_nat64 +netpfil/ipfw/nat64/nat64lsn.c optional inet inet6 ipfirewall \ + ipfirewall_nat64 +netpfil/ipfw/nat64/nat64lsn_control.c optional inet inet6 ipfirewall \ + ipfirewall_nat64 +netpfil/ipfw/nat64/nat64stl.c optional inet inet6 ipfirewall \ + ipfirewall_nat64 +netpfil/ipfw/nat64/nat64stl_control.c optional inet inet6 ipfirewall \ + ipfirewall_nat64 +netpfil/ipfw/nat64/nat64_translate.c optional inet inet6 ipfirewall \ + ipfirewall_nat64 netpfil/ipfw/nptv6/ip_fw_nptv6.c optional inet inet6 ipfirewall \ ipfirewall_nptv6 netpfil/ipfw/nptv6/nptv6.c optional inet inet6 ipfirewall \ Modified: stable/11/sys/conf/options ============================================================================== --- stable/11/sys/conf/options Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sys/conf/options Mon Apr 3 08:50:54 2017 (r316446) @@ -419,6 +419,8 @@ IPFILTER_LOOKUP opt_ipfilter.h IPFIREWALL opt_ipfw.h IPFIREWALL_DEFAULT_TO_ACCEPT opt_ipfw.h IPFIREWALL_NAT opt_ipfw.h +IPFIREWALL_NAT64 opt_ipfw.h +IPFIREWALL_NAT64_DIRECT_OUTPUT opt_ipfw.h IPFIREWALL_NPTV6 opt_ipfw.h IPFIREWALL_VERBOSE opt_ipfw.h IPFIREWALL_VERBOSE_LIMIT opt_ipfw.h Modified: stable/11/sys/modules/Makefile ============================================================================== --- stable/11/sys/modules/Makefile Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sys/modules/Makefile Mon Apr 3 08:50:54 2017 (r316446) @@ -173,6 +173,7 @@ SUBDIR= \ ${_ipfilter} \ ${_ipfw} \ ipfw_nat \ + ${_ipfw_nat64} \ ${_ipfw_nptv6} \ ${_ipmi} \ ip6_mroute_mod \ @@ -473,6 +474,9 @@ _if_stf= if_stf _if_me= if_me _ipdivert= ipdivert _ipfw= ipfw +.if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) +_ipfw_nat64= ipfw_nat64 +.endif .endif .if ${MK_INET6_SUPPORT} != "no" || defined(ALL_MODULES) Modified: stable/11/sys/modules/ipfw/Makefile ============================================================================== --- stable/11/sys/modules/ipfw/Makefile Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sys/modules/ipfw/Makefile Mon Apr 3 08:50:54 2017 (r316446) @@ -3,7 +3,7 @@ .PATH: ${.CURDIR}/../../netpfil/ipfw KMOD= ipfw -SRCS= ip_fw2.c ip_fw_pfil.c +SRCS= ip_fw2.c ip_fw_pfil.c ip_fw_bpf.c SRCS+= ip_fw_dynamic.c ip_fw_log.c ip_fw_eaction.c SRCS+= ip_fw_sockopt.c ip_fw_table.c ip_fw_table_algo.c ip_fw_iface.c SRCS+= ip_fw_table_value.c Modified: stable/11/sys/netinet/ip_fw.h ============================================================================== --- stable/11/sys/netinet/ip_fw.h Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sys/netinet/ip_fw.h Mon Apr 3 08:50:54 2017 (r316446) @@ -110,6 +110,21 @@ typedef struct _ip_fw3_opheader { #define IP_FW_DUMP_SOPTCODES 116 /* Dump available sopts/versions */ #define IP_FW_DUMP_SRVOBJECTS 117 /* Dump existing named objects */ +#define IP_FW_NAT64STL_CREATE 130 /* Create stateless NAT64 instance */ +#define IP_FW_NAT64STL_DESTROY 131 /* Destroy stateless NAT64 instance */ +#define IP_FW_NAT64STL_CONFIG 132 /* Modify stateless NAT64 instance */ +#define IP_FW_NAT64STL_LIST 133 /* List stateless NAT64 instances */ +#define IP_FW_NAT64STL_STATS 134 /* Get NAT64STL instance statistics */ +#define IP_FW_NAT64STL_RESET_STATS 135 /* Reset NAT64STL instance statistics */ + +#define IP_FW_NAT64LSN_CREATE 140 /* Create stateful NAT64 instance */ +#define IP_FW_NAT64LSN_DESTROY 141 /* Destroy stateful NAT64 instance */ +#define IP_FW_NAT64LSN_CONFIG 142 /* Modify stateful NAT64 instance */ +#define IP_FW_NAT64LSN_LIST 143 /* List stateful NAT64 instances */ +#define IP_FW_NAT64LSN_STATS 144 /* Get NAT64LSN instance statistics */ +#define IP_FW_NAT64LSN_LIST_STATES 145 /* Get stateful NAT64 states */ +#define IP_FW_NAT64LSN_RESET_STATS 146 /* Reset NAT64LSN instance statistics */ + #define IP_FW_NPTV6_CREATE 150 /* Create NPTv6 instance */ #define IP_FW_NPTV6_DESTROY 151 /* Destroy NPTv6 instance */ #define IP_FW_NPTV6_CONFIG 152 /* Modify NPTv6 instance */ @@ -793,11 +808,17 @@ typedef struct _ipfw_obj_tlv { #define IPFW_TLV_RANGE 9 #define IPFW_TLV_EACTION 10 #define IPFW_TLV_COUNTERS 11 +#define IPFW_TLV_OBJDATA 12 #define IPFW_TLV_STATE_NAME 14 #define IPFW_TLV_EACTION_BASE 1000 #define IPFW_TLV_EACTION_NAME(arg) (IPFW_TLV_EACTION_BASE + (arg)) +typedef struct _ipfw_obj_data { + ipfw_obj_tlv head; + void *data[0]; +} ipfw_obj_data; + /* Object name TLV */ typedef struct _ipfw_obj_ntlv { ipfw_obj_tlv head; /* TLV header */ Copied: stable/11/sys/netinet6/ip_fw_nat64.h (from r304046, head/sys/netinet6/ip_fw_nat64.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/sys/netinet6/ip_fw_nat64.h Mon Apr 3 08:50:54 2017 (r316446, copy of r304046, head/sys/netinet6/ip_fw_nat64.h) @@ -0,0 +1,154 @@ +/*- + * Copyright (c) 2015 Yandex LLC + * Copyright (c) 2015 Alexander V. Chernikov + * Copyright (c) 2016 Andrey V. Elsukov + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _NETINET6_IP_FW_NAT64_H_ +#define _NETINET6_IP_FW_NAT64_H_ + +struct ipfw_nat64stl_stats { + uint64_t opcnt64; /* 6to4 of packets translated */ + uint64_t opcnt46; /* 4to6 of packets translated */ + uint64_t ofrags; /* number of fragments generated */ + uint64_t ifrags; /* number of fragments received */ + uint64_t oerrors; /* number of output errors */ + uint64_t noroute4; + uint64_t noroute6; + uint64_t noproto; /* Protocol not supported */ + uint64_t nomem; /* mbuf allocation filed */ + uint64_t dropped; /* dropped due to some errors */ +}; + +struct ipfw_nat64lsn_stats { + uint64_t opcnt64; /* 6to4 of packets translated */ + uint64_t opcnt46; /* 4to6 of packets translated */ + uint64_t ofrags; /* number of fragments generated */ + uint64_t ifrags; /* number of fragments received */ + uint64_t oerrors; /* number of output errors */ + uint64_t noroute4; + uint64_t noroute6; + uint64_t noproto; /* Protocol not supported */ + uint64_t nomem; /* mbuf allocation filed */ + uint64_t dropped; /* dropped due to some errors */ + + uint64_t nomatch4; /* No addr/port match */ + uint64_t jcalls; /* Number of job handler calls */ + uint64_t jrequests; /* Number of job requests */ + uint64_t jhostsreq; /* Number of job host requests */ + uint64_t jportreq; /* Number of portgroup requests */ + uint64_t jhostfails; /* Number of failed host allocs */ + uint64_t jportfails; /* Number of failed portgroup allocs */ + uint64_t jreinjected; /* Number of packets reinjected to q */ + uint64_t jmaxlen; /* Max queue length reached */ + uint64_t jnomem; /* No memory to alloc queue item */ + + uint64_t screated; /* Number of states created */ + uint64_t sdeleted; /* Number of states deleted */ + uint64_t spgcreated; /* Number of portgroups created */ + uint64_t spgdeleted; /* Number of portgroups deleted */ + uint64_t hostcount; /* Number of hosts */ + uint64_t tcpchunks; /* Number of TCP chunks */ + uint64_t udpchunks; /* Number of UDP chunks */ + uint64_t icmpchunks; /* Number of ICMP chunks */ + + uint64_t _reserved[4]; +}; + +#define NAT64_LOG 0x0001 /* Enable logging via BPF */ + +typedef struct _ipfw_nat64stl_cfg { + char name[64]; /* NAT name */ + ipfw_obj_ntlv ntlv6; /* object name tlv */ + ipfw_obj_ntlv ntlv4; /* object name tlv */ + struct in6_addr prefix6; /* NAT64 prefix */ + uint8_t plen6; /* Prefix length */ + uint8_t set; /* Named instance set [0..31] */ + uint8_t spare[2]; + uint32_t flags; +} ipfw_nat64stl_cfg; + +/* + * NAT64LSN default configuration values + */ +#define NAT64LSN_MAX_PORTS 2048 /* Max number of ports per host */ +#define NAT64LSN_JMAXLEN 2048 /* Max outstanding requests. */ +#define NAT64LSN_TCP_SYN_AGE 10 /* State's TTL after SYN received. */ +#define NAT64LSN_TCP_EST_AGE (2 * 3600) /* TTL for established connection */ +#define NAT64LSN_TCP_FIN_AGE 180 /* State's TTL after FIN/RST received */ +#define NAT64LSN_UDP_AGE 120 /* TTL for UDP states */ +#define NAT64LSN_ICMP_AGE 60 /* TTL for ICMP states */ +#define NAT64LSN_HOST_AGE 3600 /* TTL for stale host entry */ +#define NAT64LSN_PG_AGE 900 /* TTL for stale ports groups */ + +typedef struct _ipfw_nat64lsn_cfg { + char name[64]; /* NAT name */ + uint32_t flags; + uint32_t max_ports; /* Max ports per client */ + uint32_t agg_prefix_len; /* Prefix length to count */ + uint32_t agg_prefix_max; /* Max hosts per agg prefix */ + struct in_addr prefix4; + uint16_t plen4; /* Prefix length */ + uint16_t plen6; /* Prefix length */ + struct in6_addr prefix6; /* NAT64 prefix */ + uint32_t jmaxlen; /* Max jobqueue length */ + uint16_t min_port; /* Min port group # to use */ + uint16_t max_port; /* Max port group # to use */ + uint16_t nh_delete_delay;/* Stale host delete delay */ + uint16_t pg_delete_delay;/* Stale portgroup delete delay */ + uint16_t st_syn_ttl; /* TCP syn expire */ + uint16_t st_close_ttl; /* TCP fin expire */ + uint16_t st_estab_ttl; /* TCP established expire */ + uint16_t st_udp_ttl; /* UDP expire */ + uint16_t st_icmp_ttl; /* ICMP expire */ + uint8_t set; /* Named instance set [0..31] */ + uint8_t spare; +} ipfw_nat64lsn_cfg; + +typedef struct _ipfw_nat64lsn_state { + struct in_addr daddr; /* Remote IPv4 address */ + uint16_t dport; /* Remote destination port */ + uint16_t aport; /* Local alias port */ + uint16_t sport; /* Source port */ + uint8_t flags; /* State flags */ + uint8_t spare[3]; + uint16_t idle; /* Last used time */ +} ipfw_nat64lsn_state; + +typedef struct _ipfw_nat64lsn_stg { + uint64_t next_idx; /* next state index */ + struct in_addr alias4; /* IPv4 alias address */ + uint8_t proto; /* protocol */ + uint8_t flags; + uint16_t spare; + struct in6_addr host6; /* Bound IPv6 host */ + uint32_t count; /* Number of states */ + uint32_t spare2; +} ipfw_nat64lsn_stg; + +#endif /* _NETINET6_IP_FW_NAT64_H_ */ + Modified: stable/11/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- stable/11/sys/netpfil/ipfw/ip_fw2.c Mon Apr 3 07:40:38 2017 (r316445) +++ stable/11/sys/netpfil/ipfw/ip_fw2.c Mon Apr 3 08:50:54 2017 (r316446) @@ -2846,6 +2846,7 @@ vnet_ipfw_init(const void *unused) #ifdef LINEAR_SKIPTO ipfw_init_skipto_cache(chain); #endif + ipfw_bpf_init(first); /* First set up some values that are compile time options */ V_ipfw_vnet_ready = 1; /* Open for business */ @@ -2864,7 +2865,6 @@ vnet_ipfw_init(const void *unused) * is checked on each packet because there are no pfil hooks. */ V_ip_fw_ctl_ptr = ipfw_ctl3; - ipfw_log_bpf(1); /* init */ error = ipfw_attach_hooks(1); return (error); } @@ -2888,8 +2888,6 @@ vnet_ipfw_uninit(const void *unused) (void)ipfw_attach_hooks(0 /* detach */); V_ip_fw_ctl_ptr = NULL; - ipfw_log_bpf(0); /* uninit */ - last = IS_DEFAULT_VNET(curvnet) ? 1 : 0; IPFW_UH_WLOCK(chain); @@ -2918,6 +2916,7 @@ vnet_ipfw_uninit(const void *unused) IPFW_LOCK_DESTROY(chain); ipfw_dyn_uninit(1); /* free the remaining parts */ ipfw_destroy_counters(); + ipfw_bpf_uninit(last); return (0); } Copied: stable/11/sys/netpfil/ipfw/ip_fw_bpf.c (from r304041, head/sys/netpfil/ipfw/ip_fw_bpf.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/sys/netpfil/ipfw/ip_fw_bpf.c Mon Apr 3 08:50:54 2017 (r316446, copy of r304041, head/sys/netpfil/ipfw/ip_fw_bpf.c) @@ -0,0 +1,209 @@ +/*- + * Copyright (c) 2016 Yandex LLC + * Copyright (c) 2016 Andrey V. Elsukov + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +static VNET_DEFINE(struct ifnet *, log_if); +static VNET_DEFINE(struct ifnet *, pflog_if); +static VNET_DEFINE(struct if_clone *, ipfw_cloner); +static VNET_DEFINE(struct if_clone *, ipfwlog_cloner); +#define V_ipfw_cloner VNET(ipfw_cloner) +#define V_ipfwlog_cloner VNET(ipfwlog_cloner) +#define V_log_if VNET(log_if) +#define V_pflog_if VNET(pflog_if) + +static struct rmlock log_if_lock; +#define LOGIF_LOCK_INIT(x) rm_init(&log_if_lock, "ipfw log_if lock") +#define LOGIF_LOCK_DESTROY(x) rm_destroy(&log_if_lock) +#define LOGIF_RLOCK_TRACKER struct rm_priotracker _log_tracker +#define LOGIF_RLOCK(x) rm_rlock(&log_if_lock, &_log_tracker) +#define LOGIF_RUNLOCK(x) rm_runlock(&log_if_lock, &_log_tracker) +#define LOGIF_WLOCK(x) rm_wlock(&log_if_lock) +#define LOGIF_WUNLOCK(x) rm_wunlock(&log_if_lock) + +static const char ipfwname[] = "ipfw"; +static const char ipfwlogname[] = "ipfwlog"; + +static int +ipfw_bpf_ioctl(struct ifnet *ifp, u_long cmd, caddr_t addr) +{ + + return (EINVAL); +} + +static int +ipfw_bpf_output(struct ifnet *ifp, struct mbuf *m, + const struct sockaddr *dst, struct route *ro) +{ + + if (m != NULL) + FREE_PKT(m); + return (0); +} + +static void +ipfw_clone_destroy(struct ifnet *ifp) +{ + + LOGIF_WLOCK(); + if (ifp->if_hdrlen == ETHER_HDR_LEN) + V_log_if = NULL; + else + V_pflog_if = NULL; + LOGIF_WUNLOCK(); + + bpfdetach(ifp); + if_detach(ifp); + if_free(ifp); +} + +static int +ipfw_clone_create(struct if_clone *ifc, int unit, caddr_t params) +{ + struct ifnet *ifp; + + ifp = if_alloc(IFT_PFLOG); + if (ifp == NULL) + return (ENOSPC); + if_initname(ifp, ipfwname, unit); + ifp->if_flags = IFF_UP | IFF_SIMPLEX | IFF_MULTICAST; + ifp->if_mtu = 65536; + ifp->if_ioctl = ipfw_bpf_ioctl; + ifp->if_output = ipfw_bpf_output; + ifp->if_hdrlen = ETHER_HDR_LEN; + if_attach(ifp); + bpfattach(ifp, DLT_EN10MB, ETHER_HDR_LEN); + LOGIF_WLOCK(); + if (V_log_if != NULL) { + LOGIF_WUNLOCK(); + bpfdetach(ifp); + if_detach(ifp); + if_free(ifp); + return (EEXIST); + } + V_log_if = ifp; + LOGIF_WUNLOCK(); + return (0); +} + +static int +ipfwlog_clone_create(struct if_clone *ifc, int unit, caddr_t params) +{ + struct ifnet *ifp; + + ifp = if_alloc(IFT_PFLOG); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Mon Apr 3 09:21:01 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 64A49D27EAA; Mon, 3 Apr 2017 09:21:01 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3FD303CB; Mon, 3 Apr 2017 09:21:01 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v339L0T0090884; Mon, 3 Apr 2017 09:21:00 GMT (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v339L0EX090883; Mon, 3 Apr 2017 09:21:00 GMT (envelope-from bde@FreeBSD.org) Message-Id: <201704030921.v339L0EX090883@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bde set sender to bde@FreeBSD.org using -f From: Bruce Evans Date: Mon, 3 Apr 2017 09:21:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316447 - head/usr.sbin/vidcontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 09:21:01 -0000 Author: bde Date: Mon Apr 3 09:21:00 2017 New Revision: 316447 URL: https://svnweb.freebsd.org/changeset/base/316447 Log: Save errno across revert(). Change 25 uses of errc() to err(). 2 of these were correct. 23 used errno for the arg so were just a verbose spelling of err(). 5 of these were just style bugs, and 18 depended on revert() saving errno. 1 warn() also depended on revert() saving errno. Remove 2 warnx()'s that duplicate the message from a later errx(). These used to be before returns, and should have reported errno in some cases. errno is also not reported for for openguess() failures. Only "restore" the video mode in revert() if the mode was just set (necessarily partially). Setting the mode to its current setting doesn't "restore" it, but resets it, with the least harmful change being to clear the screen. revert() is called even for some harmless syntax errors and usually did nothing except reset the mode. Now it usually does nothing. The only things that it tries to restore apart from the mode are the active vty number, the screen map, 2 colors that only need to be restored (only after a mode change) to fix kernel bugs, and 3 colors that can't be restored due to kernel bugs. (This is mostly for sc, since vt doesn't support mode changes.) revert() is not called for syntax and setting errors after [mode], so the mode reset is only done for failures to set raster mode after setting graphics mode. normal colors can only be set after [mode], and that is why reverting them should be unnecessary. Modified: head/usr.sbin/vidcontrol/vidcontrol.c Modified: head/usr.sbin/vidcontrol/vidcontrol.c ============================================================================== --- head/usr.sbin/vidcontrol/vidcontrol.c Mon Apr 3 08:50:54 2017 (r316446) +++ head/usr.sbin/vidcontrol/vidcontrol.c Mon Apr 3 09:21:00 2017 (r316447) @@ -95,6 +95,7 @@ static int vesa_cols; static int vesa_rows; static int font_height; static int vt4_mode = 0; +static int video_mode_changed; static struct vid_info info; static struct video_info new_mode_info; @@ -117,25 +118,25 @@ static void init(void) { if (ioctl(0, VT_GETACTIVE, &cur_info.active_vty) == -1) - errc(1, errno, "getting active vty"); + err(1, "getting active vty"); cur_info.console_info.size = sizeof(cur_info.console_info); if (ioctl(0, CONS_GETINFO, &cur_info.console_info) == -1) - errc(1, errno, "getting console information"); + err(1, "getting console information"); /* vt(4) use unicode, so no screen mapping required. */ if (vt4_mode == 0 && ioctl(0, GIO_SCRNMAP, &cur_info.screen_map) == -1) - errc(1, errno, "getting screen map"); + err(1, "getting screen map"); if (ioctl(0, CONS_GET, &cur_info.video_mode_number) == -1) - errc(1, errno, "getting video mode number"); + err(1, "getting video mode number"); cur_info.video_mode_info.vi_mode = cur_info.video_mode_number; if (ioctl(0, CONS_MODEINFO, &cur_info.video_mode_info) == -1) - errc(1, errno, "getting video mode parameters"); + err(1, "getting video mode parameters"); } @@ -149,7 +150,9 @@ init(void) static void revert(void) { - int size[3]; + int save_errno, size[3]; + + save_errno = errno; ioctl(0, VT_ACTIVATE, cur_info.active_vty); @@ -160,24 +163,27 @@ revert(void) if (vt4_mode == 0) ioctl(0, PIO_SCRNMAP, &cur_info.screen_map); - if (cur_info.video_mode_number >= M_VESA_BASE) - ioctl(0, _IO('V', cur_info.video_mode_number - M_VESA_BASE), - NULL); - else - ioctl(0, _IO('S', cur_info.video_mode_number), NULL); - - if (cur_info.video_mode_info.vi_flags & V_INFO_GRAPHICS) { - size[0] = cur_info.video_mode_info.vi_width / 8; - size[1] = cur_info.video_mode_info.vi_height / - cur_info.console_info.font_size; - size[2] = cur_info.console_info.font_size; - - ioctl(0, KDRASTER, size); + if (video_mode_changed) { + if (cur_info.video_mode_number >= M_VESA_BASE) + ioctl(0, + _IO('V', cur_info.video_mode_number - M_VESA_BASE), + NULL); + else + ioctl(0, _IO('S', cur_info.video_mode_number), NULL); + if (cur_info.video_mode_info.vi_flags & V_INFO_GRAPHICS) { + size[0] = cur_info.video_mode_info.vi_width / 8; + size[1] = cur_info.video_mode_info.vi_height / + cur_info.console_info.font_size; + size[2] = cur_info.console_info.font_size; + ioctl(0, KDRASTER, size); + } } /* Restore some colors last since mode setting forgets some. */ fprintf(stderr, "\033[=%dF", cur_info.console_info.mv_norm.fore); fprintf(stderr, "\033[=%dG", cur_info.console_info.mv_norm.back); + + errno = save_errno; } @@ -298,7 +304,6 @@ load_scrnmap(const char *filename) rewind(fd); if (fread(&scrnmap, 1, size, fd) != (size_t)size) { - warnx("bad screenmap file"); fclose(fd); revert(); errx(1, "bad screenmap file"); @@ -307,7 +312,7 @@ load_scrnmap(const char *filename) if (ioctl(0, PIO_SCRNMAP, &scrnmap) == -1) { revert(); - errc(1, errno, "loading screenmap"); + err(1, "loading screenmap"); } fclose(fd); @@ -329,7 +334,7 @@ load_default_scrnmap(void) if (ioctl(0, PIO_SCRNMAP, &scrnmap) == -1) { revert(); - errc(1, errno, "loading default screenmap"); + err(1, "loading default screenmap"); } } @@ -346,7 +351,7 @@ print_scrnmap(void) if (ioctl(0, GIO_SCRNMAP, &map) == -1) { revert(); - errc(1, errno, "getting screenmap"); + err(1, "getting screenmap"); } for (i=0; i= M_VESA_BASE) ioctl(0, _IO('V', cur_mode - M_VESA_BASE), @@ -799,8 +804,8 @@ video_mode(int argc, char **argv, int *m else ioctl(0, _IO('S', cur_mode), NULL); revert(); - errc(1, ioerr, - "cannot activate raster display"); + errno = save_errno; + err(1, "cannot activate raster display"); } } @@ -894,7 +899,7 @@ set_console(char *arg) errx(1, "console number out of range"); } else if (ioctl(0, VT_ACTIVATE, n) == -1) { revert(); - errc(1, errno, "switching vty"); + err(1, "switching vty"); } } @@ -934,7 +939,7 @@ set_mouse_char(char *arg) if (ioctl(0, CONS_MOUSECTL, &mouse) == -1) { revert(); - errc(1, errno, "setting mouse character"); + err(1, "setting mouse character"); } } @@ -959,7 +964,7 @@ set_mouse(char *arg) if (ioctl(0, CONS_MOUSECTL, &mouse) == -1) { revert(); - errc(1, errno, "%sing the mouse", + err(1, "%sing the mouse", mouse.operation == MOUSE_SHOW ? "show" : "hid"); } } @@ -981,7 +986,7 @@ set_lockswitch(char *arg) if (ioctl(0, VT_LOCKSWITCH, &data) == -1) { revert(); - errc(1, errno, "turning %s vty switching", + err(1, "turning %s vty switching", data == 0x01 ? "off" : "on"); } } @@ -1041,7 +1046,7 @@ show_adapter_info(void) if (ioctl(0, CONS_ADPINFO, &ad) == -1) { revert(); - errc(1, errno, "obtaining adapter information"); + err(1, "obtaining adapter information"); } printf("fb%d:\n", ad.va_index); @@ -1200,7 +1205,7 @@ dump_screen(int mode, int opt) if (ioctl(0, CONS_GETINFO, &_info) == -1) { revert(); - errc(1, errno, "obtaining current video mode parameters"); + err(1, "obtaining current video mode parameters"); return; } @@ -1218,7 +1223,7 @@ dump_screen(int mode, int opt) if (ioctl(0, CONS_SCRSHOT, &shot) == -1) { revert(); - errc(1, errno, "dumping screen"); + err(1, "dumping screen"); } if (mode == DUMP_FMT_RAW) { @@ -1284,7 +1289,7 @@ set_history(char *opt) if (ioctl(0, CONS_HISTORY, &size) == -1) { revert(); - errc(1, errno, "setting history buffer size"); + err(1, "setting history buffer size"); } } @@ -1298,7 +1303,7 @@ clear_history(void) { if (ioctl(0, CONS_CLRHIST) == -1) { revert(); - errc(1, errno, "clearing history buffer"); + err(1, "clearing history buffer"); } } From owner-svn-src-all@freebsd.org Mon Apr 3 09:36:45 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E7358D2A2B5; Mon, 3 Apr 2017 09:36:45 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B8F53DE2; Mon, 3 Apr 2017 09:36:45 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v339aiPb098322; Mon, 3 Apr 2017 09:36:44 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v339aiN6098321; Mon, 3 Apr 2017 09:36:44 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704030936.v339aiN6098321@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 3 Apr 2017 09:36:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316448 - stable/11/sys/sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 09:36:46 -0000 Author: kib Date: Mon Apr 3 09:36:44 2017 New Revision: 316448 URL: https://svnweb.freebsd.org/changeset/base/316448 Log: MFC r316009: Fix TUNABLE_UINT64() on 32bit architectures. Modified: stable/11/sys/sys/kernel.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/sys/kernel.h ============================================================================== --- stable/11/sys/sys/kernel.h Mon Apr 3 09:21:00 2017 (r316447) +++ stable/11/sys/sys/kernel.h Mon Apr 3 09:36:44 2017 (r316448) @@ -352,7 +352,7 @@ struct tunable_uint64 { uint64_t *var; }; #define TUNABLE_UINT64(path, var) \ - static struct tunable_ulong __CONCAT(__tunable_uint64_, __LINE__) = { \ + static struct tunable_uint64 __CONCAT(__tunable_uint64_, __LINE__) = { \ (path), \ (var), \ }; \ From owner-svn-src-all@freebsd.org Mon Apr 3 09:41:45 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 943CBD2A34C; Mon, 3 Apr 2017 09:41:45 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 526AB1B3; Mon, 3 Apr 2017 09:41:45 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v339fi7G002167; Mon, 3 Apr 2017 09:41:44 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v339fib0002163; Mon, 3 Apr 2017 09:41:44 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704030941.v339fib0002163@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 3 Apr 2017 09:41:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316449 - stable/11/sys/x86/iommu X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 09:41:45 -0000 Author: kib Date: Mon Apr 3 09:41:43 2017 New Revision: 316449 URL: https://svnweb.freebsd.org/changeset/base/316449 Log: MFC r316011: Timeout DMAR commands. Modified: stable/11/sys/x86/iommu/intel_dmar.h stable/11/sys/x86/iommu/intel_drv.c stable/11/sys/x86/iommu/intel_qi.c stable/11/sys/x86/iommu/intel_utils.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/x86/iommu/intel_dmar.h ============================================================================== --- stable/11/sys/x86/iommu/intel_dmar.h Mon Apr 3 09:36:44 2017 (r316448) +++ stable/11/sys/x86/iommu/intel_dmar.h Mon Apr 3 09:41:43 2017 (r316449) @@ -290,6 +290,8 @@ int dmar_enable_ir(struct dmar_unit *uni int dmar_disable_ir(struct dmar_unit *unit); bool dmar_barrier_enter(struct dmar_unit *dmar, u_int barrier_id); void dmar_barrier_exit(struct dmar_unit *dmar, u_int barrier_id); +uint64_t dmar_get_timeout(void); +void dmar_update_timeout(uint64_t newval); int dmar_fault_intr(void *arg); void dmar_enable_fault_intr(struct dmar_unit *unit); @@ -507,6 +509,36 @@ dmar_test_boundary(dmar_gaddr_t start, d return (start + size <= ((start + boundary) & ~(boundary - 1))); } +extern struct timespec dmar_hw_timeout; + +#define DMAR_WAIT_UNTIL(cond) \ +{ \ + struct timespec last, curr; \ + bool forever; \ + \ + if (dmar_hw_timeout.tv_sec == 0 && \ + dmar_hw_timeout.tv_nsec == 0) { \ + forever = true; \ + } else { \ + forever = false; \ + nanouptime(&curr); \ + last = curr; \ + timespecadd(&last, &dmar_hw_timeout); \ + } \ + for (;;) { \ + if (cond) { \ + error = 0; \ + break; \ + } \ + nanouptime(&curr); \ + if (!forever && timespeccmp(&last, &curr, <)) { \ + error = ETIMEDOUT; \ + break; \ + } \ + cpu_spinwait(); \ + } \ +} + #ifdef INVARIANTS #define TD_PREP_PINNED_ASSERT \ int old_td_pinned; \ Modified: stable/11/sys/x86/iommu/intel_drv.c ============================================================================== --- stable/11/sys/x86/iommu/intel_drv.c Mon Apr 3 09:36:44 2017 (r316448) +++ stable/11/sys/x86/iommu/intel_drv.c Mon Apr 3 09:41:43 2017 (r316449) @@ -402,6 +402,7 @@ dmar_attach(device_t dev) { struct dmar_unit *unit; ACPI_DMAR_HARDWARE_UNIT *dmaru; + uint64_t timeout; int i, error; unit = device_get_softc(dev); @@ -426,6 +427,10 @@ dmar_attach(device_t dev) dmar_print_caps(dev, unit, dmaru); dmar_quirks_post_ident(unit); + timeout = dmar_get_timeout(); + TUNABLE_UINT64_FETCH("hw.dmar.timeout", &timeout); + dmar_update_timeout(timeout); + for (i = 0; i < DMAR_INTR_TOTAL; i++) unit->intrs[i].irq = -1; Modified: stable/11/sys/x86/iommu/intel_qi.c ============================================================================== --- stable/11/sys/x86/iommu/intel_qi.c Mon Apr 3 09:36:44 2017 (r316448) +++ stable/11/sys/x86/iommu/intel_qi.c Mon Apr 3 09:41:43 2017 (r316449) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -70,27 +71,27 @@ dmar_qi_seq_processed(const struct dmar_ static int dmar_enable_qi(struct dmar_unit *unit) { + int error; DMAR_ASSERT_LOCKED(unit); unit->hw_gcmd |= DMAR_GCMD_QIE; dmar_write4(unit, DMAR_GCMD_REG, unit->hw_gcmd); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_QIES) == 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_QIES) + != 0)); + return (error); } static int dmar_disable_qi(struct dmar_unit *unit) { + int error; DMAR_ASSERT_LOCKED(unit); unit->hw_gcmd &= ~DMAR_GCMD_QIE; dmar_write4(unit, DMAR_GCMD_REG, unit->hw_gcmd); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_QIES) != 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_QIES) + == 0)); + return (error); } static void Modified: stable/11/sys/x86/iommu/intel_utils.c ============================================================================== --- stable/11/sys/x86/iommu/intel_utils.c Mon Apr 3 09:36:44 2017 (r316448) +++ stable/11/sys/x86/iommu/intel_utils.c Mon Apr 3 09:41:43 2017 (r316449) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -401,6 +402,7 @@ int dmar_load_root_entry_ptr(struct dmar_unit *unit) { vm_page_t root_entry; + int error; /* * Access to the GCMD register must be serialized while the @@ -413,10 +415,9 @@ dmar_load_root_entry_ptr(struct dmar_uni VM_OBJECT_RUNLOCK(unit->ctx_obj); dmar_write8(unit, DMAR_RTADDR_REG, VM_PAGE_TO_PHYS(root_entry)); dmar_write4(unit, DMAR_GCMD_REG, unit->hw_gcmd | DMAR_GCMD_SRTP); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_RTPS) == 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_RTPS) + != 0)); + return (error); } /* @@ -426,6 +427,7 @@ dmar_load_root_entry_ptr(struct dmar_uni int dmar_inv_ctx_glob(struct dmar_unit *unit) { + int error; /* * Access to the CCMD register must be serialized while the @@ -441,10 +443,9 @@ dmar_inv_ctx_glob(struct dmar_unit *unit * writes the upper dword last. */ dmar_write8(unit, DMAR_CCMD_REG, DMAR_CCMD_ICC | DMAR_CCMD_CIRG_GLOB); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, DMAR_CCMD_REG + 4) & DMAR_CCMD_ICC32) != 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, DMAR_CCMD_REG + 4) & DMAR_CCMD_ICC32) + == 0)); + return (error); } /* @@ -453,7 +454,7 @@ dmar_inv_ctx_glob(struct dmar_unit *unit int dmar_inv_iotlb_glob(struct dmar_unit *unit) { - int reg; + int error, reg; DMAR_ASSERT_LOCKED(unit); KASSERT(!unit->qi_enabled, ("QI enabled")); @@ -462,11 +463,9 @@ dmar_inv_iotlb_glob(struct dmar_unit *un /* See a comment about DMAR_CCMD_ICC in dmar_inv_ctx_glob. */ dmar_write8(unit, reg + DMAR_IOTLB_REG_OFF, DMAR_IOTLB_IVT | DMAR_IOTLB_IIRG_GLB | DMAR_IOTLB_DR | DMAR_IOTLB_DW); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, reg + DMAR_IOTLB_REG_OFF + 4) & - DMAR_IOTLB_IVT32) != 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, reg + DMAR_IOTLB_REG_OFF + 4) & + DMAR_IOTLB_IVT32) == 0)); + return (error); } /* @@ -476,6 +475,7 @@ dmar_inv_iotlb_glob(struct dmar_unit *un int dmar_flush_write_bufs(struct dmar_unit *unit) { + int error; DMAR_ASSERT_LOCKED(unit); @@ -486,42 +486,42 @@ dmar_flush_write_bufs(struct dmar_unit * ("dmar%d: no RWBF", unit->unit)); dmar_write4(unit, DMAR_GCMD_REG, unit->hw_gcmd | DMAR_GCMD_WBF); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_WBFS) == 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_WBFS) + != 0)); + return (error); } int dmar_enable_translation(struct dmar_unit *unit) { + int error; DMAR_ASSERT_LOCKED(unit); unit->hw_gcmd |= DMAR_GCMD_TE; dmar_write4(unit, DMAR_GCMD_REG, unit->hw_gcmd); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_TES) == 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_TES) + != 0)); + return (error); } int dmar_disable_translation(struct dmar_unit *unit) { + int error; DMAR_ASSERT_LOCKED(unit); unit->hw_gcmd &= ~DMAR_GCMD_TE; dmar_write4(unit, DMAR_GCMD_REG, unit->hw_gcmd); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_TES) != 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_TES) + == 0)); + return (error); } int dmar_load_irt_ptr(struct dmar_unit *unit) { uint64_t irta, s; + int error; DMAR_ASSERT_LOCKED(unit); irta = unit->irt_phys; @@ -534,37 +534,36 @@ dmar_load_irt_ptr(struct dmar_unit *unit irta |= s; dmar_write8(unit, DMAR_IRTA_REG, irta); dmar_write4(unit, DMAR_GCMD_REG, unit->hw_gcmd | DMAR_GCMD_SIRTP); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_IRTPS) == 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_IRTPS) + != 0)); + return (error); } int dmar_enable_ir(struct dmar_unit *unit) { + int error; DMAR_ASSERT_LOCKED(unit); unit->hw_gcmd |= DMAR_GCMD_IRE; unit->hw_gcmd &= ~DMAR_GCMD_CFI; dmar_write4(unit, DMAR_GCMD_REG, unit->hw_gcmd); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_IRES) == 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_IRES) + != 0)); + return (error); } int dmar_disable_ir(struct dmar_unit *unit) { + int error; DMAR_ASSERT_LOCKED(unit); unit->hw_gcmd &= ~DMAR_GCMD_IRE; dmar_write4(unit, DMAR_GCMD_REG, unit->hw_gcmd); - /* XXXKIB should have a timeout */ - while ((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_IRES) != 0) - cpu_spinwait(); - return (0); + DMAR_WAIT_UNTIL(((dmar_read4(unit, DMAR_GSTS_REG) & DMAR_GSTS_IRES) + == 0)); + return (error); } #define BARRIER_F \ @@ -619,6 +618,43 @@ dmar_barrier_exit(struct dmar_unit *dmar int dmar_match_verbose; int dmar_batch_coalesce = 100; +struct timespec dmar_hw_timeout = { + .tv_sec = 0, + .tv_nsec = 1000000 +}; + +static const uint64_t d = 1000000000; + +void +dmar_update_timeout(uint64_t newval) +{ + + /* XXXKIB not atomic */ + dmar_hw_timeout.tv_sec = newval / d; + dmar_hw_timeout.tv_nsec = newval % d; +} + +uint64_t +dmar_get_timeout(void) +{ + + return ((uint64_t)dmar_hw_timeout.tv_sec * d + + dmar_hw_timeout.tv_nsec); +} + +static int +dmar_timeout_sysctl(SYSCTL_HANDLER_ARGS) +{ + uint64_t val; + int error; + + val = dmar_get_timeout(); + error = sysctl_handle_long(oidp, &val, 0, req); + if (error != 0 || req->newptr == NULL) + return (error); + dmar_update_timeout(val); + return (error); +} static SYSCTL_NODE(_hw, OID_AUTO, dmar, CTLFLAG_RD, NULL, ""); SYSCTL_INT(_hw_dmar, OID_AUTO, tbl_pagecnt, CTLFLAG_RD, @@ -630,6 +666,10 @@ SYSCTL_INT(_hw_dmar, OID_AUTO, match_ver SYSCTL_INT(_hw_dmar, OID_AUTO, batch_coalesce, CTLFLAG_RWTUN, &dmar_batch_coalesce, 0, "Number of qi batches between interrupt"); +SYSCTL_PROC(_hw_dmar, OID_AUTO, timeout, + CTLTYPE_U64 | CTLFLAG_RW | CTLFLAG_MPSAFE, 0, 0, + dmar_timeout_sysctl, "QU", + "Timeout for command wait, in nanoseconds"); #ifdef INVARIANTS int dmar_check_free; SYSCTL_INT(_hw_dmar, OID_AUTO, check_free, CTLFLAG_RWTUN, From owner-svn-src-all@freebsd.org Mon Apr 3 09:47:41 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A1F21D2A728; Mon, 3 Apr 2017 09:47:41 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4916F786; Mon, 3 Apr 2017 09:47:41 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id v339lYab078473 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 3 Apr 2017 12:47:34 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua v339lYab078473 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id v339lXCK078472; Mon, 3 Apr 2017 12:47:33 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 3 Apr 2017 12:47:33 +0300 From: Konstantin Belousov To: Chagin Dmitry Cc: Bruce Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316393 - head/sys/compat/linux Message-ID: <20170403094733.GM43712@kib.kiev.ua> References: <201704020746.v327kDSN042840@repo.freebsd.org> <20170402133651.GJ43712@kib.kiev.ua> <20170402163306.GA44865@mordor.heemeyer.club> <20170403035157.X3216@besplex.bde.org> <20170402182341.GA50190@mordor.heemeyer.club> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170402182341.GA50190@mordor.heemeyer.club> User-Agent: Mutt/1.8.0 (2017-02-23) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 09:47:41 -0000 On Sun, Apr 02, 2017 at 09:23:41PM +0300, Chagin Dmitry wrote: > On Mon, Apr 03, 2017 at 03:57:29AM +1000, Bruce Evans wrote: > > On Sun, 2 Apr 2017, Chagin Dmitry wrote: > > > > > On Sun, Apr 02, 2017 at 04:36:51PM +0300, Konstantin Belousov wrote: > > >> On Sun, Apr 02, 2017 at 07:46:13AM +0000, Dmitry Chagin wrote: > > >>> Author: dchagin > > >>> Date: Sun Apr 2 07:46:13 2017 > > >>> New Revision: 316393 > > >>> URL: https://svnweb.freebsd.org/changeset/base/316393 > > >>> > > >>> Log: > > >>> As noted by bde@ negative tv_sec values are not checked for overflow, > > >>> so overflow can still occur. Fix that. Also remove the extra check for > > >>> tv_sec size as under COMPAT_LINUX32 it is always true. > > >>> > > >>> Pointed out by: bde@ > > >>> > > >>> MFC after: 1 week > > >>> > > >>> Modified: > > >>> head/sys/compat/linux/linux_time.c > > >>> > > >>> Modified: head/sys/compat/linux/linux_time.c > > >>> ============================================================================== > > >>> --- head/sys/compat/linux/linux_time.c Sun Apr 2 07:11:15 2017 (r316392) > > >>> +++ head/sys/compat/linux/linux_time.c Sun Apr 2 07:46:13 2017 (r316393) > > >>> @@ -125,8 +125,7 @@ native_to_linux_timespec(struct l_timesp > > >>> > > >>> LIN_SDT_PROBE2(time, native_to_linux_timespec, entry, ltp, ntp); > > >>> #ifdef COMPAT_LINUX32 > > >>> - if (ntp->tv_sec > INT_MAX && > > >>> - sizeof(ltp->tv_sec) != sizeof(ntp->tv_sec)) > > >>> + if (ntp->tv_sec > INT_MAX || ntp->tv_sec < INT_MIN) > > >> This line reads as only tv_sec == INT_MAX case results in non-EOVERFLOW > > >> condition. > > >> > > > > > > should I rewrite it like: > > > > > > if (ntp->tv_sec < INT_MIN || ntp->tv_sec > INT_MAX) > > > ? > > > > I don't see the problem. Do you mean that the compiler might remove > > this code because the check is tautologically false on 32-bit natives, > > but warn too? > > I mean kib@ sentence that line 'reads like', as I'm sure that the code > is correct. > This code does not compile on 32-bit as it under COMPAT_LINUX32. I indeed mis-read the context where the checks are done, I thought that the members checked are ints. Please ignore me. > > > > > > The sizeof() comparison is even easier to evaluate at compile time. > > Perhaps it acted a hint to the compiler to not warn. > > > > Bruce > > -- From owner-svn-src-all@freebsd.org Mon Apr 3 10:16:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0CFABD2B101; Mon, 3 Apr 2017 10:16:00 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CA1FF9CD; Mon, 3 Apr 2017 10:15:59 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33AFx6i014942; Mon, 3 Apr 2017 10:15:59 GMT (envelope-from rwatson@FreeBSD.org) Received: (from rwatson@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33AFwL9014939; Mon, 3 Apr 2017 10:15:58 GMT (envelope-from rwatson@FreeBSD.org) Message-Id: <201704031015.v33AFwL9014939@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rwatson set sender to rwatson@FreeBSD.org using -f From: Robert Watson Date: Mon, 3 Apr 2017 10:15:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316450 - in head/sys: conf security/audit X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 10:16:00 -0000 Author: rwatson Date: Mon Apr 3 10:15:58 2017 New Revision: 316450 URL: https://svnweb.freebsd.org/changeset/base/316450 Log: Break audit_bsm_klib.c into two files: one (audit_bsm_klib.c) retaining various utility functions used during BSM generation, and a second (audit_bsm_db.c) that contains the various in-kernel databases supporting various audit activities (the class and event-name tables). (No functional change is intended.) Obtained from: TrustedBSD Project MFC after: 3 weeks Sponsored by: DARPA, AFRL Added: head/sys/security/audit/audit_bsm_db.c - copied, changed from r316446, head/sys/security/audit/audit_bsm_klib.c Modified: head/sys/conf/files head/sys/security/audit/audit_bsm_klib.c Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Mon Apr 3 09:41:43 2017 (r316449) +++ head/sys/conf/files Mon Apr 3 10:15:58 2017 (r316450) @@ -4595,6 +4595,7 @@ rpc/rpcsec_gss/svc_rpcsec_gss.c optional security/audit/audit.c optional audit security/audit/audit_arg.c optional audit security/audit/audit_bsm.c optional audit +security/audit/audit_bsm_db.c optional audit security/audit/audit_bsm_klib.c optional audit security/audit/audit_dtrace.c optional dtaudit audit | dtraceall audit compile-with "${CDDL_C}" security/audit/audit_pipe.c optional audit Copied and modified: head/sys/security/audit/audit_bsm_db.c (from r316446, head/sys/security/audit/audit_bsm_klib.c) ============================================================================== --- head/sys/security/audit/audit_bsm_klib.c Mon Apr 3 08:50:54 2017 (r316446, copy source) +++ head/sys/security/audit/audit_bsm_db.c Mon Apr 3 10:15:58 2017 (r316450) @@ -106,64 +106,6 @@ static struct evname_list evnamemap_hash #define EVNAMEMAP_WLOCK() sx_xlock(&evnamemap_lock) #define EVNAMEMAP_WUNLOCK() sx_xunlock(&evnamemap_lock) -struct aue_open_event { - int aoe_flags; - au_event_t aoe_event; -}; - -static const struct aue_open_event aue_open[] = { - { O_RDONLY, AUE_OPEN_R }, - { (O_RDONLY | O_CREAT), AUE_OPEN_RC }, - { (O_RDONLY | O_CREAT | O_TRUNC), AUE_OPEN_RTC }, - { (O_RDONLY | O_TRUNC), AUE_OPEN_RT }, - { O_RDWR, AUE_OPEN_RW }, - { (O_RDWR | O_CREAT), AUE_OPEN_RWC }, - { (O_RDWR | O_CREAT | O_TRUNC), AUE_OPEN_RWTC }, - { (O_RDWR | O_TRUNC), AUE_OPEN_RWT }, - { O_WRONLY, AUE_OPEN_W }, - { (O_WRONLY | O_CREAT), AUE_OPEN_WC }, - { (O_WRONLY | O_CREAT | O_TRUNC), AUE_OPEN_WTC }, - { (O_WRONLY | O_TRUNC), AUE_OPEN_WT }, -}; - -static const struct aue_open_event aue_openat[] = { - { O_RDONLY, AUE_OPENAT_R }, - { (O_RDONLY | O_CREAT), AUE_OPENAT_RC }, - { (O_RDONLY | O_CREAT | O_TRUNC), AUE_OPENAT_RTC }, - { (O_RDONLY | O_TRUNC), AUE_OPENAT_RT }, - { O_RDWR, AUE_OPENAT_RW }, - { (O_RDWR | O_CREAT), AUE_OPENAT_RWC }, - { (O_RDWR | O_CREAT | O_TRUNC), AUE_OPENAT_RWTC }, - { (O_RDWR | O_TRUNC), AUE_OPENAT_RWT }, - { O_WRONLY, AUE_OPENAT_W }, - { (O_WRONLY | O_CREAT), AUE_OPENAT_WC }, - { (O_WRONLY | O_CREAT | O_TRUNC), AUE_OPENAT_WTC }, - { (O_WRONLY | O_TRUNC), AUE_OPENAT_WT }, -}; - -static const int aue_msgsys[] = { - /* 0 */ AUE_MSGCTL, - /* 1 */ AUE_MSGGET, - /* 2 */ AUE_MSGSND, - /* 3 */ AUE_MSGRCV, -}; -static const int aue_msgsys_count = sizeof(aue_msgsys) / sizeof(int); - -static const int aue_semsys[] = { - /* 0 */ AUE_SEMCTL, - /* 1 */ AUE_SEMGET, - /* 2 */ AUE_SEMOP, -}; -static const int aue_semsys_count = sizeof(aue_semsys) / sizeof(int); - -static const int aue_shmsys[] = { - /* 0 */ AUE_SHMAT, - /* 1 */ AUE_SHMDT, - /* 2 */ AUE_SHMGET, - /* 3 */ AUE_SHMCTL, -}; -static const int aue_shmsys_count = sizeof(aue_shmsys) / sizeof(int); - /* * Look up the class for an audit event in the class mapping table. */ @@ -248,33 +190,6 @@ au_evclassmap_init(void) } /* - * Check whether an event is aditable by comparing the mask of classes this - * event is part of against the given mask. - */ -int -au_preselect(au_event_t event, au_class_t class, au_mask_t *mask_p, int sorf) -{ - au_class_t effmask = 0; - - if (mask_p == NULL) - return (-1); - - /* - * Perform the actual check of the masks against the event. - */ - if (sorf & AU_PRS_SUCCESS) - effmask |= (mask_p->am_success & class); - - if (sorf & AU_PRS_FAILURE) - effmask |= (mask_p->am_failure & class); - - if (effmask) - return (1); - else - return (0); -} - -/* * Look up the name for an audit event in the event-to-name mapping table. */ int @@ -413,389 +328,3 @@ out: return (ene); } #endif /* !KDTRACE_HOOKS */ - -/* - * Convert sysctl names and present arguments to events. - */ -au_event_t -audit_ctlname_to_sysctlevent(int name[], uint64_t valid_arg) -{ - - /* can't parse it - so return the worst case */ - if ((valid_arg & (ARG_CTLNAME | ARG_LEN)) != (ARG_CTLNAME | ARG_LEN)) - return (AUE_SYSCTL); - - switch (name[0]) { - /* non-admin "lookups" treat them special */ - case KERN_OSTYPE: - case KERN_OSRELEASE: - case KERN_OSREV: - case KERN_VERSION: - case KERN_ARGMAX: - case KERN_CLOCKRATE: - case KERN_BOOTTIME: - case KERN_POSIX1: - case KERN_NGROUPS: - case KERN_JOB_CONTROL: - case KERN_SAVED_IDS: - case KERN_OSRELDATE: - case KERN_DUMMY: - return (AUE_SYSCTL_NONADMIN); - - /* only treat the changeable controls as admin */ - case KERN_MAXVNODES: - case KERN_MAXPROC: - case KERN_MAXFILES: - case KERN_MAXPROCPERUID: - case KERN_MAXFILESPERPROC: - case KERN_HOSTID: - case KERN_SECURELVL: - case KERN_HOSTNAME: - case KERN_VNODE: - case KERN_PROC: - case KERN_FILE: - case KERN_PROF: - case KERN_NISDOMAINNAME: - case KERN_UPDATEINTERVAL: - case KERN_NTP_PLL: - case KERN_BOOTFILE: - case KERN_DUMPDEV: - case KERN_IPC: - case KERN_PS_STRINGS: - case KERN_USRSTACK: - case KERN_LOGSIGEXIT: - case KERN_IOV_MAX: - return ((valid_arg & ARG_VALUE) ? - AUE_SYSCTL : AUE_SYSCTL_NONADMIN); - - default: - return (AUE_SYSCTL); - } - /* NOTREACHED */ -} - -/* - * Convert an open flags specifier into a specific type of open event for - * auditing purposes. - */ -au_event_t -audit_flags_and_error_to_openevent(int oflags, int error) -{ - int i; - - /* - * Need to check only those flags we care about. - */ - oflags = oflags & (O_RDONLY | O_CREAT | O_TRUNC | O_RDWR | O_WRONLY); - for (i = 0; i < nitems(aue_open); i++) { - if (aue_open[i].aoe_flags == oflags) - return (aue_open[i].aoe_event); - } - return (AUE_OPEN); -} - -au_event_t -audit_flags_and_error_to_openatevent(int oflags, int error) -{ - int i; - - /* - * Need to check only those flags we care about. - */ - oflags = oflags & (O_RDONLY | O_CREAT | O_TRUNC | O_RDWR | O_WRONLY); - for (i = 0; i < nitems(aue_openat); i++) { - if (aue_openat[i].aoe_flags == oflags) - return (aue_openat[i].aoe_event); - } - return (AUE_OPENAT); -} - -/* - * Convert a MSGCTL command to a specific event. - */ -au_event_t -audit_msgctl_to_event(int cmd) -{ - - switch (cmd) { - case IPC_RMID: - return (AUE_MSGCTL_RMID); - - case IPC_SET: - return (AUE_MSGCTL_SET); - - case IPC_STAT: - return (AUE_MSGCTL_STAT); - - default: - /* We will audit a bad command. */ - return (AUE_MSGCTL); - } -} - -/* - * Convert a SEMCTL command to a specific event. - */ -au_event_t -audit_semctl_to_event(int cmd) -{ - - switch (cmd) { - case GETALL: - return (AUE_SEMCTL_GETALL); - - case GETNCNT: - return (AUE_SEMCTL_GETNCNT); - - case GETPID: - return (AUE_SEMCTL_GETPID); - - case GETVAL: - return (AUE_SEMCTL_GETVAL); - - case GETZCNT: - return (AUE_SEMCTL_GETZCNT); - - case IPC_RMID: - return (AUE_SEMCTL_RMID); - - case IPC_SET: - return (AUE_SEMCTL_SET); - - case SETALL: - return (AUE_SEMCTL_SETALL); - - case SETVAL: - return (AUE_SEMCTL_SETVAL); - - case IPC_STAT: - return (AUE_SEMCTL_STAT); - - default: - /* We will audit a bad command. */ - return (AUE_SEMCTL); - } -} - -/* - * Convert msgsys(2), semsys(2), and shmsys(2) system-call variations into - * audit events, if possible. - */ -au_event_t -audit_msgsys_to_event(int which) -{ - - if ((which >= 0) && (which < aue_msgsys_count)) - return (aue_msgsys[which]); - - /* Audit a bad command. */ - return (AUE_MSGSYS); -} - -au_event_t -audit_semsys_to_event(int which) -{ - - if ((which >= 0) && (which < aue_semsys_count)) - return (aue_semsys[which]); - - /* Audit a bad command. */ - return (AUE_SEMSYS); -} - -au_event_t -audit_shmsys_to_event(int which) -{ - - if ((which >= 0) && (which < aue_shmsys_count)) - return (aue_shmsys[which]); - - /* Audit a bad command. */ - return (AUE_SHMSYS); -} - -/* - * Convert a command for the auditon() system call to a audit event. - */ -au_event_t -auditon_command_event(int cmd) -{ - - switch(cmd) { - case A_GETPOLICY: - return (AUE_AUDITON_GPOLICY); - - case A_SETPOLICY: - return (AUE_AUDITON_SPOLICY); - - case A_GETKMASK: - return (AUE_AUDITON_GETKMASK); - - case A_SETKMASK: - return (AUE_AUDITON_SETKMASK); - - case A_GETQCTRL: - return (AUE_AUDITON_GQCTRL); - - case A_SETQCTRL: - return (AUE_AUDITON_SQCTRL); - - case A_GETCWD: - return (AUE_AUDITON_GETCWD); - - case A_GETCAR: - return (AUE_AUDITON_GETCAR); - - case A_GETSTAT: - return (AUE_AUDITON_GETSTAT); - - case A_SETSTAT: - return (AUE_AUDITON_SETSTAT); - - case A_SETUMASK: - return (AUE_AUDITON_SETUMASK); - - case A_SETSMASK: - return (AUE_AUDITON_SETSMASK); - - case A_GETCOND: - return (AUE_AUDITON_GETCOND); - - case A_SETCOND: - return (AUE_AUDITON_SETCOND); - - case A_GETCLASS: - return (AUE_AUDITON_GETCLASS); - - case A_SETCLASS: - return (AUE_AUDITON_SETCLASS); - - case A_GETPINFO: - case A_SETPMASK: - case A_SETFSIZE: - case A_GETFSIZE: - case A_GETPINFO_ADDR: - case A_GETKAUDIT: - case A_SETKAUDIT: - default: - return (AUE_AUDITON); /* No special record */ - } -} - -/* - * Create a canonical path from given path by prefixing either the root - * directory, or the current working directory. If the process working - * directory is NULL, we could use 'rootvnode' to obtain the root directory, - * but this results in a volfs name written to the audit log. So we will - * leave the filename starting with '/' in the audit log in this case. - */ -void -audit_canon_path(struct thread *td, int dirfd, char *path, char *cpath) -{ - struct vnode *cvnp, *rvnp; - char *rbuf, *fbuf, *copy; - struct filedesc *fdp; - struct sbuf sbf; - cap_rights_t rights; - int error, needslash; - - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "%s: at %s:%d", - __func__, __FILE__, __LINE__); - - copy = path; - rvnp = cvnp = NULL; - fdp = td->td_proc->p_fd; - FILEDESC_SLOCK(fdp); - /* - * Make sure that we handle the chroot(2) case. If there is an - * alternate root directory, prepend it to the audited pathname. - */ - if (fdp->fd_rdir != NULL && fdp->fd_rdir != rootvnode) { - rvnp = fdp->fd_rdir; - vhold(rvnp); - } - /* - * If the supplied path is relative, make sure we capture the current - * working directory so we can prepend it to the supplied relative - * path. - */ - if (*path != '/') { - if (dirfd == AT_FDCWD) { - cvnp = fdp->fd_cdir; - vhold(cvnp); - } else { - /* XXX: fgetvp() that vhold()s vnode instead of vref()ing it would be better */ - error = fgetvp(td, dirfd, cap_rights_init(&rights), &cvnp); - if (error) { - FILEDESC_SUNLOCK(fdp); - cpath[0] = '\0'; - if (rvnp != NULL) - vdrop(rvnp); - return; - } - vhold(cvnp); - vrele(cvnp); - } - needslash = (fdp->fd_rdir != cvnp); - } else { - needslash = 1; - } - FILEDESC_SUNLOCK(fdp); - /* - * NB: We require that the supplied array be at least MAXPATHLEN bytes - * long. If this is not the case, then we can run into serious trouble. - */ - (void) sbuf_new(&sbf, cpath, MAXPATHLEN, SBUF_FIXEDLEN); - /* - * Strip leading forward slashes. - */ - while (*copy == '/') - copy++; - /* - * Make sure we handle chroot(2) and prepend the global path to these - * environments. - * - * NB: vn_fullpath(9) on FreeBSD is less reliable than vn_getpath(9) - * on Darwin. As a result, this may need some additional attention - * in the future. - */ - if (rvnp != NULL) { - error = vn_fullpath_global(td, rvnp, &rbuf, &fbuf); - vdrop(rvnp); - if (error) { - cpath[0] = '\0'; - if (cvnp != NULL) - vdrop(cvnp); - return; - } - (void) sbuf_cat(&sbf, rbuf); - free(fbuf, M_TEMP); - } - if (cvnp != NULL) { - error = vn_fullpath(td, cvnp, &rbuf, &fbuf); - vdrop(cvnp); - if (error) { - cpath[0] = '\0'; - return; - } - (void) sbuf_cat(&sbf, rbuf); - free(fbuf, M_TEMP); - } - if (needslash) - (void) sbuf_putc(&sbf, '/'); - /* - * Now that we have processed any alternate root and relative path - * names, add the supplied pathname. - */ - (void) sbuf_cat(&sbf, copy); - /* - * One or more of the previous sbuf operations could have resulted in - * the supplied buffer being overflowed. Check to see if this is the - * case. - */ - if (sbuf_error(&sbf) != 0) { - cpath[0] = '\0'; - return; - } - sbuf_finish(&sbf); -} Modified: head/sys/security/audit/audit_bsm_klib.c ============================================================================== --- head/sys/security/audit/audit_bsm_klib.c Mon Apr 3 09:41:43 2017 (r316449) +++ head/sys/security/audit/audit_bsm_klib.c Mon Apr 3 10:15:58 2017 (r316450) @@ -58,54 +58,6 @@ __FBSDID("$FreeBSD$"); #include #include -/* - * Hash table functions for the audit event number to event class mask - * mapping. - */ -#define EVCLASSMAP_HASH_TABLE_SIZE 251 -struct evclass_elem { - au_event_t event; - au_class_t class; - LIST_ENTRY(evclass_elem) entry; -}; -struct evclass_list { - LIST_HEAD(, evclass_elem) head; -}; - -static MALLOC_DEFINE(M_AUDITEVCLASS, "audit_evclass", "Audit event class"); -static struct rwlock evclass_lock; -static struct evclass_list evclass_hash[EVCLASSMAP_HASH_TABLE_SIZE]; - -#define EVCLASS_LOCK_INIT() rw_init(&evclass_lock, "evclass_lock") -#define EVCLASS_RLOCK() rw_rlock(&evclass_lock) -#define EVCLASS_RUNLOCK() rw_runlock(&evclass_lock) -#define EVCLASS_WLOCK() rw_wlock(&evclass_lock) -#define EVCLASS_WUNLOCK() rw_wunlock(&evclass_lock) - -/* - * Hash table maintaining a mapping from audit event numbers to audit event - * names. For now, used only by DTrace, but present always so that userspace - * tools can register and inspect fields consistently even if DTrace is not - * present. - * - * struct evname_elem is defined in audit_private.h so that audit_dtrace.c can - * use the definition. - */ -#define EVNAMEMAP_HASH_TABLE_SIZE 251 -struct evname_list { - LIST_HEAD(, evname_elem) enl_head; -}; - -static MALLOC_DEFINE(M_AUDITEVNAME, "audit_evname", "Audit event name"); -static struct sx evnamemap_lock; -static struct evname_list evnamemap_hash[EVNAMEMAP_HASH_TABLE_SIZE]; - -#define EVNAMEMAP_LOCK_INIT() sx_init(&evnamemap_lock, "evnamemap_lock"); -#define EVNAMEMAP_RLOCK() sx_slock(&evnamemap_lock) -#define EVNAMEMAP_RUNLOCK() sx_sunlock(&evnamemap_lock) -#define EVNAMEMAP_WLOCK() sx_xlock(&evnamemap_lock) -#define EVNAMEMAP_WUNLOCK() sx_xunlock(&evnamemap_lock) - struct aue_open_event { int aoe_flags; au_event_t aoe_event; @@ -165,89 +117,6 @@ static const int aue_shmsys[] = { static const int aue_shmsys_count = sizeof(aue_shmsys) / sizeof(int); /* - * Look up the class for an audit event in the class mapping table. - */ -au_class_t -au_event_class(au_event_t event) -{ - struct evclass_list *evcl; - struct evclass_elem *evc; - au_class_t class; - - EVCLASS_RLOCK(); - evcl = &evclass_hash[event % EVCLASSMAP_HASH_TABLE_SIZE]; - class = 0; - LIST_FOREACH(evc, &evcl->head, entry) { - if (evc->event == event) { - class = evc->class; - goto out; - } - } -out: - EVCLASS_RUNLOCK(); - return (class); -} - -/* - * Insert a event to class mapping. If the event already exists in the - * mapping, then replace the mapping with the new one. - * - * XXX There is currently no constraints placed on the number of mappings. - * May want to either limit to a number, or in terms of memory usage. - */ -void -au_evclassmap_insert(au_event_t event, au_class_t class) -{ - struct evclass_list *evcl; - struct evclass_elem *evc, *evc_new; - - /* - * Pessimistically, always allocate storage before acquiring mutex. - * Free if there is already a mapping for this event. - */ - evc_new = malloc(sizeof(*evc), M_AUDITEVCLASS, M_WAITOK); - - EVCLASS_WLOCK(); - evcl = &evclass_hash[event % EVCLASSMAP_HASH_TABLE_SIZE]; - LIST_FOREACH(evc, &evcl->head, entry) { - if (evc->event == event) { - evc->class = class; - EVCLASS_WUNLOCK(); - free(evc_new, M_AUDITEVCLASS); - return; - } - } - evc = evc_new; - evc->event = event; - evc->class = class; - LIST_INSERT_HEAD(&evcl->head, evc, entry); - EVCLASS_WUNLOCK(); -} - -void -au_evclassmap_init(void) -{ - int i; - - EVCLASS_LOCK_INIT(); - for (i = 0; i < EVCLASSMAP_HASH_TABLE_SIZE; i++) - LIST_INIT(&evclass_hash[i].head); - - /* - * Set up the initial event to class mapping for system calls. - * - * XXXRW: Really, this should walk all possible audit events, not all - * native ABI system calls, as there may be audit events reachable - * only through non-native system calls. It also seems a shame to - * frob the mutex this early. - */ - for (i = 0; i < SYS_MAXSYSCALL; i++) { - if (sysent[i].sy_auevent != AUE_NULL) - au_evclassmap_insert(sysent[i].sy_auevent, 0); - } -} - -/* * Check whether an event is aditable by comparing the mask of classes this * event is part of against the given mask. */ @@ -275,146 +144,6 @@ au_preselect(au_event_t event, au_class_ } /* - * Look up the name for an audit event in the event-to-name mapping table. - */ -int -au_event_name(au_event_t event, char *name) -{ - struct evname_list *enl; - struct evname_elem *ene; - int error; - - error = ENOENT; - EVNAMEMAP_RLOCK(); - enl = &evnamemap_hash[event % EVNAMEMAP_HASH_TABLE_SIZE]; - LIST_FOREACH(ene, &enl->enl_head, ene_entry) { - if (ene->ene_event == event) { - strlcpy(name, ene->ene_name, EVNAMEMAP_NAME_SIZE); - error = 0; - goto out; - } - } -out: - EVNAMEMAP_RUNLOCK(); - return (error); -} - -/* - * Insert a event-to-name mapping. If the event already exists in the - * mapping, then replace the mapping with the new one. - * - * XXX There is currently no constraints placed on the number of mappings. - * May want to either limit to a number, or in terms of memory usage. - * - * XXXRW: Accepts truncated name -- but perhaps should return failure instead? - * - * XXXRW: It could be we need a way to remove existing names...? - * - * XXXRW: We handle collisions between numbers, but I wonder if we also need a - * way to handle name collisions, for DTrace, where probe names must be - * unique? - */ -void -au_evnamemap_insert(au_event_t event, const char *name) -{ - struct evname_list *enl; - struct evname_elem *ene, *ene_new; - - /* - * Pessimistically, always allocate storage before acquiring lock. - * Free if there is already a mapping for this event. - */ - ene_new = malloc(sizeof(*ene_new), M_AUDITEVNAME, M_WAITOK | M_ZERO); - EVNAMEMAP_WLOCK(); - enl = &evnamemap_hash[event % EVNAMEMAP_HASH_TABLE_SIZE]; - LIST_FOREACH(ene, &enl->enl_head, ene_entry) { - if (ene->ene_event == event) { - EVNAME_LOCK(ene); - (void)strlcpy(ene->ene_name, name, - sizeof(ene->ene_name)); - EVNAME_UNLOCK(ene); - EVNAMEMAP_WUNLOCK(); - free(ene_new, M_AUDITEVNAME); - return; - } - } - ene = ene_new; - mtx_init(&ene->ene_lock, "au_evnamemap", NULL, MTX_DEF); - ene->ene_event = event; - (void)strlcpy(ene->ene_name, name, sizeof(ene->ene_name)); - LIST_INSERT_HEAD(&enl->enl_head, ene, ene_entry); - EVNAMEMAP_WUNLOCK(); -} - -void -au_evnamemap_init(void) -{ - int i; - - EVNAMEMAP_LOCK_INIT(); - for (i = 0; i < EVNAMEMAP_HASH_TABLE_SIZE; i++) - LIST_INIT(&evnamemap_hash[i].enl_head); - - /* - * XXXRW: Unlike the event-to-class mapping, we don't attempt to - * pre-populate the list. Perhaps we should...? But not sure we - * really want to duplicate /etc/security/audit_event in the kernel - * -- and we'd need a way to remove names? - */ -} - -/* - * The DTrace audit provider occasionally needs to walk the entries in the - * event-to-name mapping table, and uses this public interface to do so. A - * write lock is acquired so that the provider can safely update its fields in - * table entries. - */ -void -au_evnamemap_foreach(au_evnamemap_callback_t callback) -{ - struct evname_list *enl; - struct evname_elem *ene; - int i; - - EVNAMEMAP_WLOCK(); - for (i = 0; i < EVNAMEMAP_HASH_TABLE_SIZE; i++) { - enl = &evnamemap_hash[i]; - LIST_FOREACH(ene, &enl->enl_head, ene_entry) - callback(ene); - } - EVNAMEMAP_WUNLOCK(); -} - -#ifdef KDTRACE_HOOKS -/* - * Look up an event-to-name mapping table entry by event number. As evname - * elements are stable in memory, we can return the pointer without the table - * lock held -- but the caller will need to lock the element mutex before - * accessing element fields. - * - * NB: the event identifier in elements is stable and can be read without - * holding the evname_elem lock. - */ -struct evname_elem * -au_evnamemap_lookup(au_event_t event) -{ - struct evname_list *enl; - struct evname_elem *ene; - - EVNAMEMAP_RLOCK(); - enl = &evnamemap_hash[event % EVNAMEMAP_HASH_TABLE_SIZE]; - LIST_FOREACH(ene, &enl->enl_head, ene_entry) { - if (ene->ene_event == event) - goto out; - } - ene = NULL; -out: - EVNAMEMAP_RUNLOCK(); - return (ene); -} -#endif /* !KDTRACE_HOOKS */ - -/* * Convert sysctl names and present arguments to events. */ au_event_t From owner-svn-src-all@freebsd.org Mon Apr 3 10:28:20 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 57847D2B4D4; Mon, 3 Apr 2017 10:28:20 +0000 (UTC) (envelope-from n_hibma@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 28F46EED; Mon, 3 Apr 2017 10:28:20 +0000 (UTC) (envelope-from n_hibma@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33ASJm6018944; Mon, 3 Apr 2017 10:28:19 GMT (envelope-from n_hibma@FreeBSD.org) Received: (from n_hibma@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33ASJrw018942; Mon, 3 Apr 2017 10:28:19 GMT (envelope-from n_hibma@FreeBSD.org) Message-Id: <201704031028.v33ASJrw018942@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: n_hibma set sender to n_hibma@FreeBSD.org using -f From: Nick Hibma Date: Mon, 3 Apr 2017 10:28:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316451 - stable/11/sys/conf X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 10:28:20 -0000 Author: n_hibma Date: Mon Apr 3 10:28:18 2017 New Revision: 316451 URL: https://svnweb.freebsd.org/changeset/base/316451 Log: MFC 316275: Add nctgpio conf lines so it can be compiled into the kernel. Modified: stable/11/sys/conf/files.amd64 stable/11/sys/conf/files.i386 Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/conf/files.amd64 ============================================================================== --- stable/11/sys/conf/files.amd64 Mon Apr 3 10:15:58 2017 (r316450) +++ stable/11/sys/conf/files.amd64 Mon Apr 3 10:28:18 2017 (r316451) @@ -314,6 +314,7 @@ dev/hyperv/vmbus/vmbus_if.m optional dev/hyperv/vmbus/vmbus_xact.c optional hyperv dev/hyperv/vmbus/amd64/hyperv_machdep.c optional hyperv dev/hyperv/vmbus/amd64/vmbus_vector.S optional hyperv +dev/nctgpio/nctgpio.c optional nctgpio dev/nfe/if_nfe.c optional nfe pci dev/ntb/if_ntb/if_ntb.c optional if_ntb dev/ntb/ntb_transport.c optional if_ntb Modified: stable/11/sys/conf/files.i386 ============================================================================== --- stable/11/sys/conf/files.i386 Mon Apr 3 10:15:58 2017 (r316450) +++ stable/11/sys/conf/files.i386 Mon Apr 3 10:28:18 2017 (r316451) @@ -290,6 +290,7 @@ dev/ipmi/ipmi_linux.c optional ipmi com dev/le/if_le_isa.c optional le isa dev/mse/mse.c optional mse dev/mse/mse_isa.c optional mse isa +dev/nctgpio/nctgpio.c optional nctgpio dev/nfe/if_nfe.c optional nfe pci dev/ntb/if_ntb/if_ntb.c optional if_ntb dev/ntb/ntb_transport.c optional if_ntb From owner-svn-src-all@freebsd.org Mon Apr 3 10:47:02 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 74663D2BA45; Mon, 3 Apr 2017 10:47:02 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4647AB7A; Mon, 3 Apr 2017 10:47:02 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33Al1Q2027536; Mon, 3 Apr 2017 10:47:01 GMT (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33Al1KA027535; Mon, 3 Apr 2017 10:47:01 GMT (envelope-from bde@FreeBSD.org) Message-Id: <201704031047.v33Al1KA027535@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bde set sender to bde@FreeBSD.org using -f From: Bruce Evans Date: Mon, 3 Apr 2017 10:47:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316453 - head/usr.sbin/vidcontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 10:47:02 -0000 Author: bde Date: Mon Apr 3 10:47:01 2017 New Revision: 316453 URL: https://svnweb.freebsd.org/changeset/base/316453 Log: Remove the global variable 'info' and fix associated bugs and style bugs. This variable was used 4 times in 1 function and all uses were wrong. The 4 uses were in he test_frame() (show) function, to try to restore 4 colors, 2 unnecessarily and these 2 now broken. This was wrong because it is the previous colors that must be restored, but the global holds the original colors. Excessive setting of colors at the end restored the previous colors correctly in most cases, but I removed this a couple of revisions ago. Originally, this variable had 1 correct use, to test for being on a vty as a side effect of initializing it. This is now down in init(), and init() also leaves a better-named global with the same contents. Fix this by reading the current console info into a local variable in test_frame(), as is done for several other functions. Fix style bugs in this reading for all callers: - extra blank lines - all error messages different. The first one now in init() is not as specific as the old one, but it is after a different specific one for another ioctl and is unlikely to be reached when the first ioctl succeeds. Ones after the first are to repeat the ioctl, so are even more likely to be reached. The correctness of full removal of the old global depends on the error handling for failure to initialize it being unreachable. - err() instead of warn() for failure in load_font(). This is almost unreachable, and it makes no sense to continue after undoing previous changes with revert(). - unreachable return after err() for failure in dump_screen(). Undo large renaming of local variables from the good name 'info' to the bad name _info, which was done to protect the buggy global's bad name from -Wshadow warnings. Modified: head/usr.sbin/vidcontrol/vidcontrol.c Modified: head/usr.sbin/vidcontrol/vidcontrol.c ============================================================================== --- head/usr.sbin/vidcontrol/vidcontrol.c Mon Apr 3 10:34:32 2017 (r316452) +++ head/usr.sbin/vidcontrol/vidcontrol.c Mon Apr 3 10:47:01 2017 (r316453) @@ -96,7 +96,6 @@ static int vesa_rows; static int font_height; static int vt4_mode = 0; static int video_mode_changed; -static struct vid_info info; static struct video_info new_mode_info; @@ -121,7 +120,6 @@ init(void) err(1, "getting active vty"); cur_info.console_info.size = sizeof(cur_info.console_info); - if (ioctl(0, CONS_GETINFO, &cur_info.console_info) == -1) err(1, "getting console information"); @@ -487,7 +485,7 @@ load_font(const char *type, const char * const char *b[] = {filename, NULL}; const char *c[] = {"", size_sufx, NULL}; const char *d[] = {"", ".fnt", NULL}; - vid_info_t _info; + vid_info_t info; struct sizeinfo { int w; @@ -501,14 +499,13 @@ load_font(const char *type, const char * if (vt4_mode) { size_sufx[0] = '\0'; } else { - _info.size = sizeof(_info); - if (ioctl(0, CONS_GETINFO, &_info) == -1) { + info.size = sizeof(info); + if (ioctl(0, CONS_GETINFO, &info) == -1) { revert(); - warn("failed to obtain current video mode parameters"); - return; + err(1, "getting console information"); } - snprintf(size_sufx, sizeof(size_sufx), "-8x%d", _info.font_size); + snprintf(size_sufx, sizeof(size_sufx), "-8x%d", info.font_size); } fd = openguess((vt4_mode == 0) ? a : vt4a, b, c, d, &name); @@ -1074,7 +1071,7 @@ static void show_mode_info(void) { char buf[80]; - struct video_info _info; + struct video_info info; int c; int mm; int mode; @@ -1084,28 +1081,28 @@ show_mode_info(void) printf("---------------------------------------" "---------------------------------------\n"); - memset(&_info, 0, sizeof(_info)); + memset(&info, 0, sizeof(info)); for (mode = 0; mode <= M_VESA_MODE_MAX; ++mode) { - _info.vi_mode = mode; - if (ioctl(0, CONS_MODEINFO, &_info)) + info.vi_mode = mode; + if (ioctl(0, CONS_MODEINFO, &info)) continue; - if (_info.vi_mode != mode) + if (info.vi_mode != mode) continue; - if (_info.vi_width == 0 && _info.vi_height == 0 && - _info.vi_cwidth == 0 && _info.vi_cheight == 0) + if (info.vi_width == 0 && info.vi_height == 0 && + info.vi_cwidth == 0 && info.vi_cheight == 0) continue; printf("%3d (0x%03x)", mode, mode); - printf(" 0x%08x", _info.vi_flags); - if (_info.vi_flags & V_INFO_GRAPHICS) { + printf(" 0x%08x", info.vi_flags); + if (info.vi_flags & V_INFO_GRAPHICS) { c = 'G'; - if (_info.vi_mem_model == V_INFO_MM_PLANAR) + if (info.vi_mem_model == V_INFO_MM_PLANAR) snprintf(buf, sizeof(buf), "%dx%dx%d %d", - _info.vi_width, _info.vi_height, - _info.vi_depth, _info.vi_planes); + info.vi_width, info.vi_height, + info.vi_depth, info.vi_planes); else { - switch (_info.vi_mem_model) { + switch (info.vi_mem_model) { case V_INFO_MM_PACKED: mm = 'P'; break; @@ -1126,25 +1123,25 @@ show_mode_info(void) break; } snprintf(buf, sizeof(buf), "%dx%dx%d %c", - _info.vi_width, _info.vi_height, - _info.vi_depth, mm); + info.vi_width, info.vi_height, + info.vi_depth, mm); } } else { c = 'T'; snprintf(buf, sizeof(buf), "%dx%d", - _info.vi_width, _info.vi_height); + info.vi_width, info.vi_height); } printf(" %c %-15s", c, buf); snprintf(buf, sizeof(buf), "%dx%d", - _info.vi_cwidth, _info.vi_cheight); + info.vi_cwidth, info.vi_cheight); printf(" %-5s", buf); printf(" 0x%05zx %2dk %2dk", - _info.vi_window, (int)_info.vi_window_size/1024, - (int)_info.vi_window_gran/1024); + info.vi_window, (int)info.vi_window_size/1024, + (int)info.vi_window_gran/1024); printf(" 0x%08zx %dk\n", - _info.vi_buffer, (int)_info.vi_buffer_size/1024); + info.vi_buffer, (int)info.vi_buffer_size/1024); } } @@ -1169,8 +1166,13 @@ show_info(char *arg) static void test_frame(void) { + vid_info_t info; int i, fore; + info.size = sizeof(info); + if (ioctl(0, CONS_GETINFO, &info) == -1) + err(1, "getting console information"); + fore = 15; fprintf(stdout, "\033[=0G\n\n"); @@ -1199,21 +1201,19 @@ static void dump_screen(int mode, int opt) { scrshot_t shot; - vid_info_t _info; - - _info.size = sizeof(_info); + vid_info_t info; - if (ioctl(0, CONS_GETINFO, &_info) == -1) { + info.size = sizeof(info); + if (ioctl(0, CONS_GETINFO, &info) == -1) { revert(); - err(1, "obtaining current video mode parameters"); - return; + err(1, "getting console information"); } shot.x = shot.y = 0; - shot.xsize = _info.mv_csz; - shot.ysize = _info.mv_rsz; + shot.xsize = info.mv_csz; + shot.ysize = info.mv_rsz; if (opt == DUMP_ALL) - shot.ysize += _info.mv_hsz; + shot.ysize += info.mv_hsz; shot.buf = alloca(shot.xsize * shot.ysize * sizeof(u_int16_t)); if (shot.buf == NULL) { @@ -1329,10 +1329,6 @@ main(int argc, char **argv) init(); - info.size = sizeof(info); - - if (ioctl(0, CONS_GETINFO, &info) == -1) - err(1, "must be on a virtual console"); dumpmod = 0; dumpopt = DUMP_FBF; termmode = NULL; From owner-svn-src-all@freebsd.org Mon Apr 3 11:46:33 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B9533D2BF0A; Mon, 3 Apr 2017 11:46:33 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 83060DD0; Mon, 3 Apr 2017 11:46:33 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33BkWXW052380; Mon, 3 Apr 2017 11:46:32 GMT (envelope-from mm@FreeBSD.org) Received: (from mm@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33BkWvo052376; Mon, 3 Apr 2017 11:46:32 GMT (envelope-from mm@FreeBSD.org) Message-Id: <201704031146.v33BkWvo052376@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mm set sender to mm@FreeBSD.org using -f From: Martin Matuska Date: Mon, 3 Apr 2017 11:46:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r316454 - vendor/libarchive/dist/libarchive X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 11:46:33 -0000 Author: mm Date: Mon Apr 3 11:46:32 2017 New Revision: 316454 URL: https://svnweb.freebsd.org/changeset/base/316454 Log: Update vendor/libarchive to git e9eef34719c4bc8cfa2e3cc568eae7afe763a2c3 Vendor changes (FreeBSD-related): Report which extended attributes could not be restored Update archive_read_disk.3 and archive_write_disk.3 manual pages Modified: vendor/libarchive/dist/libarchive/archive_read_disk.3 vendor/libarchive/dist/libarchive/archive_read_disk_entry_from_file.c vendor/libarchive/dist/libarchive/archive_write_disk.3 vendor/libarchive/dist/libarchive/archive_write_disk_posix.c Modified: vendor/libarchive/dist/libarchive/archive_read_disk.3 ============================================================================== --- vendor/libarchive/dist/libarchive/archive_read_disk.3 Mon Apr 3 10:47:01 2017 (r316453) +++ vendor/libarchive/dist/libarchive/archive_read_disk.3 Mon Apr 3 11:46:32 2017 (r316454) @@ -24,11 +24,12 @@ .\" .\" $FreeBSD$ .\" -.Dd December 30, 2016 +.Dd April 3, 2017 .Dt ARCHIVE_READ_DISK 3 .Os .Sh NAME .Nm archive_read_disk_new , +.Nm archive_read_disk_set_behavior , .Nm archive_read_disk_set_symlink_logical , .Nm archive_read_disk_set_symlink_physical , .Nm archive_read_disk_set_symlink_hybrid , @@ -46,6 +47,8 @@ Streaming Archive Library (libarchive, - .Ft struct archive * .Fn archive_read_disk_new "void" .Ft int +.Fn archive_read_disk_set_behavior "struct archive *" "int" +.Ft int .Fn archive_read_disk_set_symlink_logical "struct archive *" .Ft int .Fn archive_read_disk_set_symlink_physical "struct archive *" @@ -89,6 +92,51 @@ objects. Allocates and initializes a .Tn struct archive object suitable for reading object information from disk. +.It Fn archive_read_disk_set_behavior +Configures various behavior options when reading entries from disk. +The flags field consists of a bitwise OR of one or more of the +following values: +.Bl -tag -compact -width "indent" +.It Cm ARCHIVE_READDISK_HONOR_NODUMP +Skip files and directories with the nodump file attribute (file flag) set. +By default, the nodump file atrribute is ignored. +.It Cm ARCHIVE_READDISK_MAC_COPYFILE +Mac OS X specific. Read metadata (ACLs and extended attributes) with +.Xr copyfile 3 . +By default, metadata is read using +.Xr copyfile 3 . +.It Cm ARCHIVE_READDISK_NO_ACL +Do not read Access Control Lists. +By default, ACLs are read from disk. +.It Cm ARCHIVE_READDISK_NO_FFLAGS +Do not read file attributes (file flags). +By default, file attributes are read from disk. +See +.Xr chattr 1 +.Pq Linux +or +.Xr chflags 1 +.Pq FreeBSD, Mac OS X +for more information on file attributes. +.It Cm ARCHIVE_READDISK_NO_TRAVERSE_MOUNTS +Do not traverse mount points. +By defaut, moint points are traversed. +.It Cm ARCHIVE_READDISK_NO_XATTR +Do not read extended file attributes (xattrs). +By default, extended file attributes are read from disk. +See +.Xr xattr 7 +.Pq Linux , +.Xr xattr 2 +.Pq Mac OS X , +or +.Xr getextattr 8 +.Pq FreeBSD +for more information on extended file attributes. +.It Cm ARCHIVE_READDISK_RESTORE_ATIME +Restore access time of traversed files. +By default, access time of traversed files is not restored. +.El .It Xo .Fn archive_read_disk_set_symlink_logical , .Fn archive_read_disk_set_symlink_physical , Modified: vendor/libarchive/dist/libarchive/archive_read_disk_entry_from_file.c ============================================================================== --- vendor/libarchive/dist/libarchive/archive_read_disk_entry_from_file.c Mon Apr 3 10:47:01 2017 (r316453) +++ vendor/libarchive/dist/libarchive/archive_read_disk_entry_from_file.c Mon Apr 3 11:46:32 2017 (r316454) @@ -613,9 +613,21 @@ setup_xattrs(struct archive_read_disk *a } for (p = list; (p - list) < list_size; p += strlen(p) + 1) { - if (strncmp(p, "system.", 7) == 0 || - strncmp(p, "xfsroot.", 8) == 0) +#if ARCHIVE_XATTR_LINUX + /* Linux: skip POSIX.1e ACL extended attributes */ + if (strncmp(p, "system.", 7) == 0 && + (strcmp(p + 7, "posix_acl_access") == 0 || + strcmp(p + 7, "posix_acl_default") == 0)) continue; + if (strncmp(p, "trusted.SGI_", 12) == 0 && + (strcmp(p + 12, "ACL_DEFAULT") == 0 || + strcmp(p + 12, "ACL_FILE") == 0)) + continue; + + /* Linux: xfsroot namespace is obsolete and unsupported */ + if (strncmp(p, "xfsroot.", 8) == 0) + continue; +#endif setup_xattr(a, entry, p, *fd, path); } Modified: vendor/libarchive/dist/libarchive/archive_write_disk.3 ============================================================================== --- vendor/libarchive/dist/libarchive/archive_write_disk.3 Mon Apr 3 10:47:01 2017 (r316453) +++ vendor/libarchive/dist/libarchive/archive_write_disk.3 Mon Apr 3 11:46:32 2017 (r316454) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 28, 2017 +.Dd April 3, 2017 .Dt ARCHIVE_WRITE_DISK 3 .Os .Sh NAME @@ -96,6 +96,33 @@ performance optimization in practice. The options field consists of a bitwise OR of one or more of the following values: .Bl -tag -compact -width "indent" +.It Cm ARCHIVE_EXTRACT_ACL +Attempt to restore Access Control Lists. +By default, extended ACLs are ignored. +.It Cm ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS +Before removing a file system object prior to replacing it, clear +platform-specific file flags which might prevent its removal. +.It Cm ARCHIVE_EXTRACT_FFLAGS +Attempt to restore file attributes (file flags). +By default, file attributes are ignored. +See +.Xr chattr 1 +.Pq Linux +or +.Xr chflags 1 +.Pq FreeBSD, Mac OS X +for more information on file attributes. +.It Cm ARCHIVE_EXTRACT_MAC_METADATA +Mac OS X specific. Restore metadata using +.Xr copyfile 3 . +By default, +.Xr copyfile 3 +metadata is ignored. +.It Cm ARCHIVE_EXTRACT_NO_OVERWRITE +Existing files on disk will not be overwritten. +By default, existing regular files are truncated and overwritten; +existing directories will have their permissions updated; +other pre-existing objects are unlinked and recreated from scratch. .It Cm ARCHIVE_EXTRACT_OWNER The user and group IDs should be set on the restored file. By default, the user and group IDs are not restored. @@ -111,15 +138,37 @@ is not specified, then SUID and SGID bit if the default user and group IDs of newly-created objects on disk happen to match those specified in the archive entry. By default, only basic permissions are restored, and umask is obeyed. +.It Cm ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS +Refuse to extract an absolute path. +The default is to not refuse such paths. +.It Cm ARCHIVE_EXTRACT_SECURE_NODOTDOT +Refuse to extract a path that contains a +.Pa .. +element anywhere within it. +The default is to not refuse such paths. +Note that paths ending in +.Pa .. +always cause an error, regardless of this flag. +.It Cm ARCHIVE_EXTRACT_SECURE_SYMLINKS +Refuse to extract any object whose final location would be altered +by a symlink on disk. +This is intended to help guard against a variety of mischief +caused by archives that (deliberately or otherwise) extract +files outside of the current directory. +The default is not to perform this check. +If +.It Cm ARCHIVE_EXTRACT_SPARSE +Scan data for blocks of NUL bytes and try to recreate them with holes. +This results in sparse files, independent of whether the archive format +supports or uses them. +.Cm ARCHIVE_EXTRACT_UNLINK +is specified together with this option, the library will +remove any intermediate symlinks it finds and return an +error only if such symlink could not be removed. .It Cm ARCHIVE_EXTRACT_TIME The timestamps (mtime, ctime, and atime) should be restored. By default, they are ignored. Note that restoring of atime is not currently supported. -.It Cm ARCHIVE_EXTRACT_NO_OVERWRITE -Existing files on disk will not be overwritten. -By default, existing regular files are truncated and overwritten; -existing directories will have their permissions updated; -other pre-existing objects are unlinked and recreated from scratch. .It Cm ARCHIVE_EXTRACT_UNLINK Existing files on disk will be unlinked before any attempt to create them. @@ -127,45 +176,18 @@ In some cases, this can prove to be a si By default, existing files are truncated and rewritten, but the file is not recreated. In particular, the default behavior does not break existing hard links. -.It Cm ARCHIVE_EXTRACT_ACL -Attempt to restore ACLs. -By default, extended ACLs are ignored. -.It Cm ARCHIVE_EXTRACT_FFLAGS -Attempt to restore extended file flags. -By default, file flags are ignored. .It Cm ARCHIVE_EXTRACT_XATTR -Attempt to restore POSIX.1e extended attributes. +Attempt to restore extended file attributes. By default, they are ignored. -.It Cm ARCHIVE_EXTRACT_SECURE_SYMLINKS -Refuse to extract any object whose final location would be altered -by a symlink on disk. -This is intended to help guard against a variety of mischief -caused by archives that (deliberately or otherwise) extract -files outside of the current directory. -The default is not to perform this check. -If -.Cm ARCHIVE_EXTRACT_UNLINK -is specified together with this option, the library will -remove any intermediate symlinks it finds and return an -error only if such symlink could not be removed. -.It Cm ARCHIVE_EXTRACT_SECURE_NODOTDOT -Refuse to extract a path that contains a -.Pa .. -element anywhere within it. -The default is to not refuse such paths. -Note that paths ending in -.Pa .. -always cause an error, regardless of this flag. -.It Cm ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS -Refuse to extract an absolute path. -The default is to not refuse such paths. -.It Cm ARCHIVE_EXTRACT_SPARSE -Scan data for blocks of NUL bytes and try to recreate them with holes. -This results in sparse files, independent of whether the archive format -supports or uses them. -.It Cm ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS -Before removing a file system object prior to replacing it, clear -platform-specific file flags which might prevent its removal. +See +.Xr xattr 7 +.Pq Linux , +.Xr xattr 2 +.Pq Mac OS X , +or +.Xr getextattr 8 +.Pq FreeBSD +for more information on extended file attributes. .El .It Xo .Fn archive_write_disk_set_group_lookup , Modified: vendor/libarchive/dist/libarchive/archive_write_disk_posix.c ============================================================================== --- vendor/libarchive/dist/libarchive/archive_write_disk_posix.c Mon Apr 3 10:47:01 2017 (r316453) +++ vendor/libarchive/dist/libarchive/archive_write_disk_posix.c Mon Apr 3 11:46:32 2017 (r316454) @@ -4092,61 +4092,86 @@ static int set_xattrs(struct archive_write_disk *a) { struct archive_entry *entry = a->entry; - static int warning_done = 0; + struct archive_string errlist; int ret = ARCHIVE_OK; int i = archive_entry_xattr_reset(entry); + short fail = 0; + + archive_string_init(&errlist); while (i--) { const char *name; const void *value; size_t size; + int e; + archive_entry_xattr_next(entry, &name, &value, &size); - if (name != NULL && - strncmp(name, "xfsroot.", 8) != 0 && - strncmp(name, "system.", 7) != 0) { - int e; - if (a->fd >= 0) { + + if (name == NULL) + continue; #if ARCHIVE_XATTR_LINUX - e = fsetxattr(a->fd, name, value, size, 0); + /* Linux: quietly skip POSIX.1e ACL extended attributes */ + if (strncmp(name, "system.", 7) == 0 && + (strcmp(name + 7, "posix_acl_access") == 0 || + strcmp(name + 7, "posix_acl_default") == 0)) + continue; + if (strncmp(name, "trusted.SGI_", 12) == 0 && + (strcmp(name + 12, "ACL_DEFAULT") == 0 || + strcmp(name + 12, "ACL_FILE") == 0)) + continue; + + /* Linux: xfsroot namespace is obsolete and unsupported */ + if (strncmp(name, "xfsroot.", 8) == 0) { + fail = 1; + archive_strcat(&errlist, name); + archive_strappend_char(&errlist, ' '); + continue; + } +#endif + + if (a->fd >= 0) { +#if ARCHIVE_XATTR_LINUX + e = fsetxattr(a->fd, name, value, size, 0); #elif ARCHIVE_XATTR_DARWIN - e = fsetxattr(a->fd, name, value, size, 0, 0); + e = fsetxattr(a->fd, name, value, size, 0, 0); #elif ARCHIVE_XATTR_AIX - e = fsetea(a->fd, name, value, size, 0); + e = fsetea(a->fd, name, value, size, 0); #endif - } else { + } else { #if ARCHIVE_XATTR_LINUX - e = lsetxattr(archive_entry_pathname(entry), - name, value, size, 0); + e = lsetxattr(archive_entry_pathname(entry), + name, value, size, 0); #elif ARCHIVE_XATTR_DARWIN - e = setxattr(archive_entry_pathname(entry), - name, value, size, 0, XATTR_NOFOLLOW); + e = setxattr(archive_entry_pathname(entry), + name, value, size, 0, XATTR_NOFOLLOW); #elif ARCHIVE_XATTR_AIX - e = lsetea(archive_entry_pathname(entry), - name, value, size, 0); + e = lsetea(archive_entry_pathname(entry), + name, value, size, 0); #endif - } - if (e == -1) { - if (errno == ENOTSUP || errno == ENOSYS) { - if (!warning_done) { - warning_done = 1; - archive_set_error(&a->archive, - errno, - "Cannot restore extended " - "attributes on this file " - "system"); - } - } else - archive_set_error(&a->archive, errno, - "Failed to set extended attribute"); - ret = ARCHIVE_WARN; - } - } else { - archive_set_error(&a->archive, - ARCHIVE_ERRNO_FILE_FORMAT, - "Invalid extended attribute encountered"); + } + if (e == -1) { ret = ARCHIVE_WARN; + archive_strcat(&errlist, name); + archive_strappend_char(&errlist, ' '); + if (errno != ENOTSUP && errno != ENOSYS) + fail = 1; } } + + if (ret == ARCHIVE_WARN) { + if (fail && errlist.length > 0) { + errlist.length--; + errlist.s[errlist.length] = '\0'; + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Cannot restore extended attributes: %s", + errlist.s); + } else + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Cannot restore extended " + "attributes on this file system."); + } + + archive_string_free(&errlist); return (ret); } #elif ARCHIVE_XATTR_FREEBSD @@ -4157,9 +4182,12 @@ static int set_xattrs(struct archive_write_disk *a) { struct archive_entry *entry = a->entry; - static int warning_done = 0; + struct archive_string errlist; int ret = ARCHIVE_OK; int i = archive_entry_xattr_reset(entry); + short fail = 0; + + archive_string_init(&errlist); while (i--) { const char *name; @@ -4175,15 +4203,13 @@ set_xattrs(struct archive_write_disk *a) name += 5; namespace = EXTATTR_NAMESPACE_USER; } else { - /* Warn about other extended attributes. */ - archive_set_error(&a->archive, - ARCHIVE_ERRNO_FILE_FORMAT, - "Can't restore extended attribute ``%s''", - name); + /* Other namespaces are unsupported */ + archive_strcat(&errlist, name); + archive_strappend_char(&errlist, ' '); + fail = 1; ret = ARCHIVE_WARN; continue; } - errno = 0; if (a->fd >= 0) { e = extattr_set_fd(a->fd, namespace, name, @@ -4194,24 +4220,30 @@ set_xattrs(struct archive_write_disk *a) name, value, size); } if (e != (int)size) { - if (errno == ENOTSUP || errno == ENOSYS) { - if (!warning_done) { - warning_done = 1; - archive_set_error(&a->archive, - errno, - "Cannot restore extended " - "attributes on this file " - "system"); - } - } else { - archive_set_error(&a->archive, errno, - "Failed to set extended attribute"); - } - + archive_strcat(&errlist, name); + archive_strappend_char(&errlist, ' '); ret = ARCHIVE_WARN; + if (errno != ENOTSUP && errno != ENOSYS) + fail = 1; } } } + + if (ret == ARCHIVE_WARN) { + if (fail && errlist.length > 0) { + errlist.length--; + errlist.s[errlist.length] = '\0'; + + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Cannot restore extended attributes: %s", + errlist.s); + } else + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Cannot restore extended " + "attributes on this file system."); + } + + archive_string_free(&errlist); return (ret); } #else From owner-svn-src-all@freebsd.org Mon Apr 3 12:22:57 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0980ED297CF; Mon, 3 Apr 2017 12:22:57 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D82A9CB0; Mon, 3 Apr 2017 12:22:56 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33CMtXc068615; Mon, 3 Apr 2017 12:22:55 GMT (envelope-from mm@FreeBSD.org) Received: (from mm@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33CMthR068610; Mon, 3 Apr 2017 12:22:55 GMT (envelope-from mm@FreeBSD.org) Message-Id: <201704031222.v33CMthR068610@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mm set sender to mm@FreeBSD.org using -f From: Martin Matuska Date: Mon, 3 Apr 2017 12:22:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r316455 - in vendor/libarchive/dist: libarchive/test tar/test test_utils X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 12:22:57 -0000 Author: mm Date: Mon Apr 3 12:22:55 2017 New Revision: 316455 URL: https://svnweb.freebsd.org/changeset/base/316455 Log: Update vendor/libarchive to git 500a62194a1faafaffd286f6da50633e86587f3c Vendor changes (FreeBSD-related): Plug memory leaks in xattr tests. Modified: vendor/libarchive/dist/libarchive/test/test_xattr_platform.c vendor/libarchive/dist/tar/test/test_option_acls.c vendor/libarchive/dist/tar/test/test_option_xattrs.c vendor/libarchive/dist/test_utils/test_common.h vendor/libarchive/dist/test_utils/test_main.c Modified: vendor/libarchive/dist/libarchive/test/test_xattr_platform.c ============================================================================== --- vendor/libarchive/dist/libarchive/test/test_xattr_platform.c Mon Apr 3 11:46:32 2017 (r316454) +++ vendor/libarchive/dist/libarchive/test/test_xattr_platform.c Mon Apr 3 12:22:55 2017 (r316455) @@ -35,6 +35,7 @@ DEFINE_TEST(test_xattr_platform) struct archive_entry *ae; const char *name; const void *value; + void *rvalue; size_t size, insize; int e, r; const char *attrname = "user.libarchive.test"; @@ -95,8 +96,9 @@ DEFINE_TEST(test_xattr_platform) assertEqualIntA(a, ARCHIVE_OK, archive_write_close(a)); assertEqualInt(ARCHIVE_OK, archive_write_free(a)); - value = getXattr("writetest", attrname, &insize); + rvalue = getXattr("writetest", attrname, &insize); if (assertEqualInt(insize, strlen(writeval) + 1) != 0) - assertEqualMem(value, writeval, insize); + assertEqualMem(rvalue, writeval, insize); + free(rvalue); #endif } Modified: vendor/libarchive/dist/tar/test/test_option_acls.c ============================================================================== --- vendor/libarchive/dist/tar/test/test_option_acls.c Mon Apr 3 11:46:32 2017 (r316454) +++ vendor/libarchive/dist/tar/test/test_option_acls.c Mon Apr 3 12:22:55 2017 (r316455) @@ -360,8 +360,10 @@ compare_acls(const char *path_a, const c if (richacl_a != NULL) { richacl_b = richacl_get_file(path_b); if (richacl_b == NULL && - (errno == ENODATA || errno == ENOTSUP || errno == ENOSYS)) + (errno == ENODATA || errno == ENOTSUP || errno == ENOSYS)) { + richacl_free(richacl_a); return (0); + } failure("richacl_get_file() error: %s (%s)", path_b, strerror(errno)); if (assert(richacl_b != NULL) == 0) { Modified: vendor/libarchive/dist/tar/test/test_option_xattrs.c ============================================================================== --- vendor/libarchive/dist/tar/test/test_option_xattrs.c Mon Apr 3 11:46:32 2017 (r316454) +++ vendor/libarchive/dist/tar/test/test_option_xattrs.c Mon Apr 3 12:22:55 2017 (r316455) @@ -33,7 +33,7 @@ DEFINE_TEST(test_option_xattrs) const char *testattr = "user.libarchive.test"; const char *testval = "testval"; - const void *readval; + void *readval; size_t size; int r; @@ -62,6 +62,7 @@ DEFINE_TEST(test_option_xattrs) readval = getXattr("xattrs_xattrs/f", testattr, &size); if(assertEqualInt(size, strlen(testval) + 1) != 0) assertEqualMem(readval, testval, size); + free(readval); /* Extract xattrs without xattrs */ assertMakeDir("xattrs_noxattrs", 0755); Modified: vendor/libarchive/dist/test_utils/test_common.h ============================================================================== --- vendor/libarchive/dist/test_utils/test_common.h Mon Apr 3 11:46:32 2017 (r316454) +++ vendor/libarchive/dist/test_utils/test_common.h Mon Apr 3 12:22:55 2017 (r316455) @@ -348,7 +348,7 @@ int canNodump(void); int setTestAcl(const char *path); /* Get extended attribute */ -const void *getXattr(const char *, const char *, size_t *); +void *getXattr(const char *, const char *, size_t *); /* Set extended attribute */ int setXattr(const char *, const char *, const void *, size_t); Modified: vendor/libarchive/dist/test_utils/test_main.c ============================================================================== --- vendor/libarchive/dist/test_utils/test_main.c Mon Apr 3 11:46:32 2017 (r316454) +++ vendor/libarchive/dist/test_utils/test_main.c Mon Apr 3 12:22:55 2017 (r316455) @@ -2451,8 +2451,8 @@ canNodump(void) return (0); } -/* Get extended attribute from a path */ -const void * +/* Get extended attribute value from a path */ +void * getXattr(const char *path, const char *name, size_t *sizep) { void *value = NULL; From owner-svn-src-all@freebsd.org Mon Apr 3 12:26:22 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E133AD29947; Mon, 3 Apr 2017 12:26:22 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B1EFAFF7; Mon, 3 Apr 2017 12:26:22 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33CQLeM069040; Mon, 3 Apr 2017 12:26:21 GMT (envelope-from mm@FreeBSD.org) Received: (from mm@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33CQLGo069031; Mon, 3 Apr 2017 12:26:21 GMT (envelope-from mm@FreeBSD.org) Message-Id: <201704031226.v33CQLGo069031@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mm set sender to mm@FreeBSD.org using -f From: Martin Matuska Date: Mon, 3 Apr 2017 12:26:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316456 - in head/contrib/libarchive: libarchive libarchive/test tar/test test_utils X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 12:26:23 -0000 Author: mm Date: Mon Apr 3 12:26:20 2017 New Revision: 316456 URL: https://svnweb.freebsd.org/changeset/base/316456 Log: MFV r316454,316455: Vendor changes (FreeBSD-related): Report which extended attributes could not be restored Update archive_read_disk.3 and archive_write_disk.3 manual pages Plug memory leaks in xattr tests. MFC after: 1 week Modified: head/contrib/libarchive/libarchive/archive_read_disk.3 head/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c head/contrib/libarchive/libarchive/archive_write_disk.3 head/contrib/libarchive/libarchive/archive_write_disk_posix.c head/contrib/libarchive/libarchive/test/test_xattr_platform.c head/contrib/libarchive/tar/test/test_option_acls.c head/contrib/libarchive/tar/test/test_option_xattrs.c head/contrib/libarchive/test_utils/test_common.h head/contrib/libarchive/test_utils/test_main.c Directory Properties: head/contrib/libarchive/ (props changed) Modified: head/contrib/libarchive/libarchive/archive_read_disk.3 ============================================================================== --- head/contrib/libarchive/libarchive/archive_read_disk.3 Mon Apr 3 12:22:55 2017 (r316455) +++ head/contrib/libarchive/libarchive/archive_read_disk.3 Mon Apr 3 12:26:20 2017 (r316456) @@ -24,11 +24,12 @@ .\" .\" $FreeBSD$ .\" -.Dd December 30, 2016 +.Dd April 3, 2017 .Dt ARCHIVE_READ_DISK 3 .Os .Sh NAME .Nm archive_read_disk_new , +.Nm archive_read_disk_set_behavior , .Nm archive_read_disk_set_symlink_logical , .Nm archive_read_disk_set_symlink_physical , .Nm archive_read_disk_set_symlink_hybrid , @@ -46,6 +47,8 @@ Streaming Archive Library (libarchive, - .Ft struct archive * .Fn archive_read_disk_new "void" .Ft int +.Fn archive_read_disk_set_behavior "struct archive *" "int" +.Ft int .Fn archive_read_disk_set_symlink_logical "struct archive *" .Ft int .Fn archive_read_disk_set_symlink_physical "struct archive *" @@ -89,6 +92,51 @@ objects. Allocates and initializes a .Tn struct archive object suitable for reading object information from disk. +.It Fn archive_read_disk_set_behavior +Configures various behavior options when reading entries from disk. +The flags field consists of a bitwise OR of one or more of the +following values: +.Bl -tag -compact -width "indent" +.It Cm ARCHIVE_READDISK_HONOR_NODUMP +Skip files and directories with the nodump file attribute (file flag) set. +By default, the nodump file atrribute is ignored. +.It Cm ARCHIVE_READDISK_MAC_COPYFILE +Mac OS X specific. Read metadata (ACLs and extended attributes) with +.Xr copyfile 3 . +By default, metadata is read using +.Xr copyfile 3 . +.It Cm ARCHIVE_READDISK_NO_ACL +Do not read Access Control Lists. +By default, ACLs are read from disk. +.It Cm ARCHIVE_READDISK_NO_FFLAGS +Do not read file attributes (file flags). +By default, file attributes are read from disk. +See +.Xr chattr 1 +.Pq Linux +or +.Xr chflags 1 +.Pq FreeBSD, Mac OS X +for more information on file attributes. +.It Cm ARCHIVE_READDISK_NO_TRAVERSE_MOUNTS +Do not traverse mount points. +By defaut, moint points are traversed. +.It Cm ARCHIVE_READDISK_NO_XATTR +Do not read extended file attributes (xattrs). +By default, extended file attributes are read from disk. +See +.Xr xattr 7 +.Pq Linux , +.Xr xattr 2 +.Pq Mac OS X , +or +.Xr getextattr 8 +.Pq FreeBSD +for more information on extended file attributes. +.It Cm ARCHIVE_READDISK_RESTORE_ATIME +Restore access time of traversed files. +By default, access time of traversed files is not restored. +.El .It Xo .Fn archive_read_disk_set_symlink_logical , .Fn archive_read_disk_set_symlink_physical , Modified: head/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c ============================================================================== --- head/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c Mon Apr 3 12:22:55 2017 (r316455) +++ head/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c Mon Apr 3 12:26:20 2017 (r316456) @@ -613,9 +613,21 @@ setup_xattrs(struct archive_read_disk *a } for (p = list; (p - list) < list_size; p += strlen(p) + 1) { - if (strncmp(p, "system.", 7) == 0 || - strncmp(p, "xfsroot.", 8) == 0) +#if ARCHIVE_XATTR_LINUX + /* Linux: skip POSIX.1e ACL extended attributes */ + if (strncmp(p, "system.", 7) == 0 && + (strcmp(p + 7, "posix_acl_access") == 0 || + strcmp(p + 7, "posix_acl_default") == 0)) continue; + if (strncmp(p, "trusted.SGI_", 12) == 0 && + (strcmp(p + 12, "ACL_DEFAULT") == 0 || + strcmp(p + 12, "ACL_FILE") == 0)) + continue; + + /* Linux: xfsroot namespace is obsolete and unsupported */ + if (strncmp(p, "xfsroot.", 8) == 0) + continue; +#endif setup_xattr(a, entry, p, *fd, path); } Modified: head/contrib/libarchive/libarchive/archive_write_disk.3 ============================================================================== --- head/contrib/libarchive/libarchive/archive_write_disk.3 Mon Apr 3 12:22:55 2017 (r316455) +++ head/contrib/libarchive/libarchive/archive_write_disk.3 Mon Apr 3 12:26:20 2017 (r316456) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 28, 2017 +.Dd April 3, 2017 .Dt ARCHIVE_WRITE_DISK 3 .Os .Sh NAME @@ -96,6 +96,33 @@ performance optimization in practice. The options field consists of a bitwise OR of one or more of the following values: .Bl -tag -compact -width "indent" +.It Cm ARCHIVE_EXTRACT_ACL +Attempt to restore Access Control Lists. +By default, extended ACLs are ignored. +.It Cm ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS +Before removing a file system object prior to replacing it, clear +platform-specific file flags which might prevent its removal. +.It Cm ARCHIVE_EXTRACT_FFLAGS +Attempt to restore file attributes (file flags). +By default, file attributes are ignored. +See +.Xr chattr 1 +.Pq Linux +or +.Xr chflags 1 +.Pq FreeBSD, Mac OS X +for more information on file attributes. +.It Cm ARCHIVE_EXTRACT_MAC_METADATA +Mac OS X specific. Restore metadata using +.Xr copyfile 3 . +By default, +.Xr copyfile 3 +metadata is ignored. +.It Cm ARCHIVE_EXTRACT_NO_OVERWRITE +Existing files on disk will not be overwritten. +By default, existing regular files are truncated and overwritten; +existing directories will have their permissions updated; +other pre-existing objects are unlinked and recreated from scratch. .It Cm ARCHIVE_EXTRACT_OWNER The user and group IDs should be set on the restored file. By default, the user and group IDs are not restored. @@ -111,15 +138,37 @@ is not specified, then SUID and SGID bit if the default user and group IDs of newly-created objects on disk happen to match those specified in the archive entry. By default, only basic permissions are restored, and umask is obeyed. +.It Cm ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS +Refuse to extract an absolute path. +The default is to not refuse such paths. +.It Cm ARCHIVE_EXTRACT_SECURE_NODOTDOT +Refuse to extract a path that contains a +.Pa .. +element anywhere within it. +The default is to not refuse such paths. +Note that paths ending in +.Pa .. +always cause an error, regardless of this flag. +.It Cm ARCHIVE_EXTRACT_SECURE_SYMLINKS +Refuse to extract any object whose final location would be altered +by a symlink on disk. +This is intended to help guard against a variety of mischief +caused by archives that (deliberately or otherwise) extract +files outside of the current directory. +The default is not to perform this check. +If +.It Cm ARCHIVE_EXTRACT_SPARSE +Scan data for blocks of NUL bytes and try to recreate them with holes. +This results in sparse files, independent of whether the archive format +supports or uses them. +.Cm ARCHIVE_EXTRACT_UNLINK +is specified together with this option, the library will +remove any intermediate symlinks it finds and return an +error only if such symlink could not be removed. .It Cm ARCHIVE_EXTRACT_TIME The timestamps (mtime, ctime, and atime) should be restored. By default, they are ignored. Note that restoring of atime is not currently supported. -.It Cm ARCHIVE_EXTRACT_NO_OVERWRITE -Existing files on disk will not be overwritten. -By default, existing regular files are truncated and overwritten; -existing directories will have their permissions updated; -other pre-existing objects are unlinked and recreated from scratch. .It Cm ARCHIVE_EXTRACT_UNLINK Existing files on disk will be unlinked before any attempt to create them. @@ -127,45 +176,18 @@ In some cases, this can prove to be a si By default, existing files are truncated and rewritten, but the file is not recreated. In particular, the default behavior does not break existing hard links. -.It Cm ARCHIVE_EXTRACT_ACL -Attempt to restore ACLs. -By default, extended ACLs are ignored. -.It Cm ARCHIVE_EXTRACT_FFLAGS -Attempt to restore extended file flags. -By default, file flags are ignored. .It Cm ARCHIVE_EXTRACT_XATTR -Attempt to restore POSIX.1e extended attributes. +Attempt to restore extended file attributes. By default, they are ignored. -.It Cm ARCHIVE_EXTRACT_SECURE_SYMLINKS -Refuse to extract any object whose final location would be altered -by a symlink on disk. -This is intended to help guard against a variety of mischief -caused by archives that (deliberately or otherwise) extract -files outside of the current directory. -The default is not to perform this check. -If -.Cm ARCHIVE_EXTRACT_UNLINK -is specified together with this option, the library will -remove any intermediate symlinks it finds and return an -error only if such symlink could not be removed. -.It Cm ARCHIVE_EXTRACT_SECURE_NODOTDOT -Refuse to extract a path that contains a -.Pa .. -element anywhere within it. -The default is to not refuse such paths. -Note that paths ending in -.Pa .. -always cause an error, regardless of this flag. -.It Cm ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS -Refuse to extract an absolute path. -The default is to not refuse such paths. -.It Cm ARCHIVE_EXTRACT_SPARSE -Scan data for blocks of NUL bytes and try to recreate them with holes. -This results in sparse files, independent of whether the archive format -supports or uses them. -.It Cm ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS -Before removing a file system object prior to replacing it, clear -platform-specific file flags which might prevent its removal. +See +.Xr xattr 7 +.Pq Linux , +.Xr xattr 2 +.Pq Mac OS X , +or +.Xr getextattr 8 +.Pq FreeBSD +for more information on extended file attributes. .El .It Xo .Fn archive_write_disk_set_group_lookup , Modified: head/contrib/libarchive/libarchive/archive_write_disk_posix.c ============================================================================== --- head/contrib/libarchive/libarchive/archive_write_disk_posix.c Mon Apr 3 12:22:55 2017 (r316455) +++ head/contrib/libarchive/libarchive/archive_write_disk_posix.c Mon Apr 3 12:26:20 2017 (r316456) @@ -4092,61 +4092,86 @@ static int set_xattrs(struct archive_write_disk *a) { struct archive_entry *entry = a->entry; - static int warning_done = 0; + struct archive_string errlist; int ret = ARCHIVE_OK; int i = archive_entry_xattr_reset(entry); + short fail = 0; + + archive_string_init(&errlist); while (i--) { const char *name; const void *value; size_t size; + int e; + archive_entry_xattr_next(entry, &name, &value, &size); - if (name != NULL && - strncmp(name, "xfsroot.", 8) != 0 && - strncmp(name, "system.", 7) != 0) { - int e; - if (a->fd >= 0) { + + if (name == NULL) + continue; #if ARCHIVE_XATTR_LINUX - e = fsetxattr(a->fd, name, value, size, 0); + /* Linux: quietly skip POSIX.1e ACL extended attributes */ + if (strncmp(name, "system.", 7) == 0 && + (strcmp(name + 7, "posix_acl_access") == 0 || + strcmp(name + 7, "posix_acl_default") == 0)) + continue; + if (strncmp(name, "trusted.SGI_", 12) == 0 && + (strcmp(name + 12, "ACL_DEFAULT") == 0 || + strcmp(name + 12, "ACL_FILE") == 0)) + continue; + + /* Linux: xfsroot namespace is obsolete and unsupported */ + if (strncmp(name, "xfsroot.", 8) == 0) { + fail = 1; + archive_strcat(&errlist, name); + archive_strappend_char(&errlist, ' '); + continue; + } +#endif + + if (a->fd >= 0) { +#if ARCHIVE_XATTR_LINUX + e = fsetxattr(a->fd, name, value, size, 0); #elif ARCHIVE_XATTR_DARWIN - e = fsetxattr(a->fd, name, value, size, 0, 0); + e = fsetxattr(a->fd, name, value, size, 0, 0); #elif ARCHIVE_XATTR_AIX - e = fsetea(a->fd, name, value, size, 0); + e = fsetea(a->fd, name, value, size, 0); #endif - } else { + } else { #if ARCHIVE_XATTR_LINUX - e = lsetxattr(archive_entry_pathname(entry), - name, value, size, 0); + e = lsetxattr(archive_entry_pathname(entry), + name, value, size, 0); #elif ARCHIVE_XATTR_DARWIN - e = setxattr(archive_entry_pathname(entry), - name, value, size, 0, XATTR_NOFOLLOW); + e = setxattr(archive_entry_pathname(entry), + name, value, size, 0, XATTR_NOFOLLOW); #elif ARCHIVE_XATTR_AIX - e = lsetea(archive_entry_pathname(entry), - name, value, size, 0); + e = lsetea(archive_entry_pathname(entry), + name, value, size, 0); #endif - } - if (e == -1) { - if (errno == ENOTSUP || errno == ENOSYS) { - if (!warning_done) { - warning_done = 1; - archive_set_error(&a->archive, - errno, - "Cannot restore extended " - "attributes on this file " - "system"); - } - } else - archive_set_error(&a->archive, errno, - "Failed to set extended attribute"); - ret = ARCHIVE_WARN; - } - } else { - archive_set_error(&a->archive, - ARCHIVE_ERRNO_FILE_FORMAT, - "Invalid extended attribute encountered"); + } + if (e == -1) { ret = ARCHIVE_WARN; + archive_strcat(&errlist, name); + archive_strappend_char(&errlist, ' '); + if (errno != ENOTSUP && errno != ENOSYS) + fail = 1; } } + + if (ret == ARCHIVE_WARN) { + if (fail && errlist.length > 0) { + errlist.length--; + errlist.s[errlist.length] = '\0'; + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Cannot restore extended attributes: %s", + errlist.s); + } else + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Cannot restore extended " + "attributes on this file system."); + } + + archive_string_free(&errlist); return (ret); } #elif ARCHIVE_XATTR_FREEBSD @@ -4157,9 +4182,12 @@ static int set_xattrs(struct archive_write_disk *a) { struct archive_entry *entry = a->entry; - static int warning_done = 0; + struct archive_string errlist; int ret = ARCHIVE_OK; int i = archive_entry_xattr_reset(entry); + short fail = 0; + + archive_string_init(&errlist); while (i--) { const char *name; @@ -4175,15 +4203,13 @@ set_xattrs(struct archive_write_disk *a) name += 5; namespace = EXTATTR_NAMESPACE_USER; } else { - /* Warn about other extended attributes. */ - archive_set_error(&a->archive, - ARCHIVE_ERRNO_FILE_FORMAT, - "Can't restore extended attribute ``%s''", - name); + /* Other namespaces are unsupported */ + archive_strcat(&errlist, name); + archive_strappend_char(&errlist, ' '); + fail = 1; ret = ARCHIVE_WARN; continue; } - errno = 0; if (a->fd >= 0) { e = extattr_set_fd(a->fd, namespace, name, @@ -4194,24 +4220,30 @@ set_xattrs(struct archive_write_disk *a) name, value, size); } if (e != (ssize_t)size) { - if (errno == ENOTSUP || errno == ENOSYS) { - if (!warning_done) { - warning_done = 1; - archive_set_error(&a->archive, - errno, - "Cannot restore extended " - "attributes on this file " - "system"); - } - } else { - archive_set_error(&a->archive, errno, - "Failed to set extended attribute"); - } - + archive_strcat(&errlist, name); + archive_strappend_char(&errlist, ' '); ret = ARCHIVE_WARN; + if (errno != ENOTSUP && errno != ENOSYS) + fail = 1; } } } + + if (ret == ARCHIVE_WARN) { + if (fail && errlist.length > 0) { + errlist.length--; + errlist.s[errlist.length] = '\0'; + + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Cannot restore extended attributes: %s", + errlist.s); + } else + archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, + "Cannot restore extended " + "attributes on this file system."); + } + + archive_string_free(&errlist); return (ret); } #else Modified: head/contrib/libarchive/libarchive/test/test_xattr_platform.c ============================================================================== --- head/contrib/libarchive/libarchive/test/test_xattr_platform.c Mon Apr 3 12:22:55 2017 (r316455) +++ head/contrib/libarchive/libarchive/test/test_xattr_platform.c Mon Apr 3 12:26:20 2017 (r316456) @@ -35,6 +35,7 @@ DEFINE_TEST(test_xattr_platform) struct archive_entry *ae; const char *name; const void *value; + void *rvalue; size_t size, insize; int e, r; const char *attrname = "user.libarchive.test"; @@ -95,8 +96,9 @@ DEFINE_TEST(test_xattr_platform) assertEqualIntA(a, ARCHIVE_OK, archive_write_close(a)); assertEqualInt(ARCHIVE_OK, archive_write_free(a)); - value = getXattr("writetest", attrname, &insize); + rvalue = getXattr("writetest", attrname, &insize); if (assertEqualInt(insize, strlen(writeval) + 1) != 0) - assertEqualMem(value, writeval, insize); + assertEqualMem(rvalue, writeval, insize); + free(rvalue); #endif } Modified: head/contrib/libarchive/tar/test/test_option_acls.c ============================================================================== --- head/contrib/libarchive/tar/test/test_option_acls.c Mon Apr 3 12:22:55 2017 (r316455) +++ head/contrib/libarchive/tar/test/test_option_acls.c Mon Apr 3 12:26:20 2017 (r316456) @@ -360,8 +360,10 @@ compare_acls(const char *path_a, const c if (richacl_a != NULL) { richacl_b = richacl_get_file(path_b); if (richacl_b == NULL && - (errno == ENODATA || errno == ENOTSUP || errno == ENOSYS)) + (errno == ENODATA || errno == ENOTSUP || errno == ENOSYS)) { + richacl_free(richacl_a); return (0); + } failure("richacl_get_file() error: %s (%s)", path_b, strerror(errno)); if (assert(richacl_b != NULL) == 0) { Modified: head/contrib/libarchive/tar/test/test_option_xattrs.c ============================================================================== --- head/contrib/libarchive/tar/test/test_option_xattrs.c Mon Apr 3 12:22:55 2017 (r316455) +++ head/contrib/libarchive/tar/test/test_option_xattrs.c Mon Apr 3 12:26:20 2017 (r316456) @@ -33,7 +33,7 @@ DEFINE_TEST(test_option_xattrs) const char *testattr = "user.libarchive.test"; const char *testval = "testval"; - const void *readval; + void *readval; size_t size; int r; @@ -62,6 +62,7 @@ DEFINE_TEST(test_option_xattrs) readval = getXattr("xattrs_xattrs/f", testattr, &size); if(assertEqualInt(size, strlen(testval) + 1) != 0) assertEqualMem(readval, testval, size); + free(readval); /* Extract xattrs without xattrs */ assertMakeDir("xattrs_noxattrs", 0755); Modified: head/contrib/libarchive/test_utils/test_common.h ============================================================================== --- head/contrib/libarchive/test_utils/test_common.h Mon Apr 3 12:22:55 2017 (r316455) +++ head/contrib/libarchive/test_utils/test_common.h Mon Apr 3 12:26:20 2017 (r316456) @@ -348,7 +348,7 @@ int canNodump(void); int setTestAcl(const char *path); /* Get extended attribute */ -const void *getXattr(const char *, const char *, size_t *); +void *getXattr(const char *, const char *, size_t *); /* Set extended attribute */ int setXattr(const char *, const char *, const void *, size_t); Modified: head/contrib/libarchive/test_utils/test_main.c ============================================================================== --- head/contrib/libarchive/test_utils/test_main.c Mon Apr 3 12:22:55 2017 (r316455) +++ head/contrib/libarchive/test_utils/test_main.c Mon Apr 3 12:26:20 2017 (r316456) @@ -2451,8 +2451,8 @@ canNodump(void) return (0); } -/* Get extended attribute from a path */ -const void * +/* Get extended attribute value from a path */ +void * getXattr(const char *path, const char *name, size_t *sizep) { void *value = NULL; From owner-svn-src-all@freebsd.org Mon Apr 3 12:48:58 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 140A4D29E83; Mon, 3 Apr 2017 12:48:58 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D7DA0CA0; Mon, 3 Apr 2017 12:48:57 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33Cmuxu077283; Mon, 3 Apr 2017 12:48:56 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33CmuIN077282; Mon, 3 Apr 2017 12:48:56 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704031248.v33CmuIN077282@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 3 Apr 2017 12:48:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316457 - stable/11/sys/net X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 12:48:58 -0000 Author: ae Date: Mon Apr 3 12:48:56 2017 New Revision: 316457 URL: https://svnweb.freebsd.org/changeset/base/316457 Log: MFC r316012: Declare module version. Modified: stable/11/sys/net/if_enc.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net/if_enc.c ============================================================================== --- stable/11/sys/net/if_enc.c Mon Apr 3 12:26:20 2017 (r316456) +++ stable/11/sys/net/if_enc.c Mon Apr 3 12:48:56 2017 (r316457) @@ -423,3 +423,4 @@ static moduledata_t enc_mod = { }; DECLARE_MODULE(if_enc, enc_mod, SI_SUB_PSEUDO, SI_ORDER_ANY); +MODULE_VERSION(if_enc, 1); From owner-svn-src-all@freebsd.org Mon Apr 3 13:04:38 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 11223D2C8EF; Mon, 3 Apr 2017 13:04:38 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD1A1ACC; Mon, 3 Apr 2017 13:04:37 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33D4aEB089452; Mon, 3 Apr 2017 13:04:36 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33D4aY8089450; Mon, 3 Apr 2017 13:04:36 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704031304.v33D4aY8089450@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 3 Apr 2017 13:04:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316458 - stable/11/sys/net X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 13:04:38 -0000 Author: ae Date: Mon Apr 3 13:04:36 2017 New Revision: 316458 URL: https://svnweb.freebsd.org/changeset/base/316458 Log: MFC r316013: Make pfil's locking macros private. Obtained from: Yandex LLC Modified: stable/11/sys/net/pfil.c stable/11/sys/net/pfil.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net/pfil.c ============================================================================== --- stable/11/sys/net/pfil.c Mon Apr 3 12:48:56 2017 (r316457) +++ stable/11/sys/net/pfil.c Mon Apr 3 13:04:36 2017 (r316458) @@ -63,6 +63,32 @@ VNET_DEFINE(struct pfilheadhead, pfil_he VNET_DEFINE(struct rmlock, pfil_lock); #define V_pfil_lock VNET(pfil_lock) +#define PFIL_LOCK_INIT_REAL(l, t) \ + rm_init_flags(l, "PFil " t " rmlock", RM_RECURSE) +#define PFIL_LOCK_DESTROY_REAL(l) \ + rm_destroy(l) +#define PFIL_LOCK_INIT(p) do { \ + if ((p)->flags & PFIL_FLAG_PRIVATE_LOCK) { \ + PFIL_LOCK_INIT_REAL(&(p)->ph_lock, "private"); \ + (p)->ph_plock = &(p)->ph_lock; \ + } else \ + (p)->ph_plock = &V_pfil_lock; \ +} while (0) +#define PFIL_LOCK_DESTROY(p) do { \ + if ((p)->flags & PFIL_FLAG_PRIVATE_LOCK) \ + PFIL_LOCK_DESTROY_REAL((p)->ph_plock); \ +} while (0) + +#define PFIL_TRY_RLOCK(p, t) rm_try_rlock((p)->ph_plock, (t)) +#define PFIL_RLOCK(p, t) rm_rlock((p)->ph_plock, (t)) +#define PFIL_WLOCK(p) rm_wlock((p)->ph_plock) +#define PFIL_RUNLOCK(p, t) rm_runlock((p)->ph_plock, (t)) +#define PFIL_WUNLOCK(p) rm_wunlock((p)->ph_plock) +#define PFIL_WOWNED(p) rm_wowned((p)->ph_plock) + +#define PFIL_HEADLIST_LOCK() mtx_lock(&pfil_global_lock) +#define PFIL_HEADLIST_UNLOCK() mtx_unlock(&pfil_global_lock) + /* * pfil_run_hooks() runs the specified packet filter hook chain. */ Modified: stable/11/sys/net/pfil.h ============================================================================== --- stable/11/sys/net/pfil.h Mon Apr 3 12:48:56 2017 (r316457) +++ stable/11/sys/net/pfil.h Mon Apr 3 13:04:36 2017 (r316458) @@ -109,7 +109,6 @@ int pfil_head_register(struct pfil_head int pfil_head_unregister(struct pfil_head *); /* Public pfil locking functions for self managed locks by packet filters. */ -struct rm_priotracker; /* Do not require including rmlock header */ int pfil_try_rlock(struct pfil_head *, struct rm_priotracker *); void pfil_rlock(struct pfil_head *, struct rm_priotracker *); void pfil_runlock(struct pfil_head *, struct rm_priotracker *); @@ -117,32 +116,4 @@ void pfil_wlock(struct pfil_head *); void pfil_wunlock(struct pfil_head *); int pfil_wowned(struct pfil_head *ph); -/* Internal pfil locking functions. */ -#define PFIL_LOCK_INIT_REAL(l, t) \ - rm_init_flags(l, "PFil " t " rmlock", RM_RECURSE) -#define PFIL_LOCK_DESTROY_REAL(l) \ - rm_destroy(l) -#define PFIL_LOCK_INIT(p) do { \ - if ((p)->flags & PFIL_FLAG_PRIVATE_LOCK) { \ - PFIL_LOCK_INIT_REAL(&(p)->ph_lock, "private"); \ - (p)->ph_plock = &(p)->ph_lock; \ - } else \ - (p)->ph_plock = &V_pfil_lock; \ -} while (0) -#define PFIL_LOCK_DESTROY(p) do { \ - if ((p)->flags & PFIL_FLAG_PRIVATE_LOCK) \ - PFIL_LOCK_DESTROY_REAL((p)->ph_plock); \ -} while (0) - -#define PFIL_TRY_RLOCK(p, t) rm_try_rlock((p)->ph_plock, (t)) -#define PFIL_RLOCK(p, t) rm_rlock((p)->ph_plock, (t)) -#define PFIL_WLOCK(p) rm_wlock((p)->ph_plock) -#define PFIL_RUNLOCK(p, t) rm_runlock((p)->ph_plock, (t)) -#define PFIL_WUNLOCK(p) rm_wunlock((p)->ph_plock) -#define PFIL_WOWNED(p) rm_wowned((p)->ph_plock) - -/* Internal locking macros for global/vnet pfil_head_list. */ -#define PFIL_HEADLIST_LOCK() mtx_lock(&pfil_global_lock) -#define PFIL_HEADLIST_UNLOCK() mtx_unlock(&pfil_global_lock) - #endif /* _NET_PFIL_H_ */ From owner-svn-src-all@freebsd.org Mon Apr 3 13:06:29 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8B512D2C98C; Mon, 3 Apr 2017 13:06:29 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5BD3AC36; Mon, 3 Apr 2017 13:06:29 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33D6Sr6089625; Mon, 3 Apr 2017 13:06:28 GMT (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33D6Srw089619; Mon, 3 Apr 2017 13:06:28 GMT (envelope-from bde@FreeBSD.org) Message-Id: <201704031306.v33D6Srw089619@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bde set sender to bde@FreeBSD.org using -f From: Bruce Evans Date: Mon, 3 Apr 2017 13:06:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316459 - head/usr.sbin/vidcontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 13:06:29 -0000 Author: bde Date: Mon Apr 3 13:06:28 2017 New Revision: 316459 URL: https://svnweb.freebsd.org/changeset/base/316459 Log: Show high (blinking foreground/bright background) background colors. Format output and source better for this. Format output for 40 columns if there are less than 80 columns. Modified: head/usr.sbin/vidcontrol/vidcontrol.c Modified: head/usr.sbin/vidcontrol/vidcontrol.c ============================================================================== --- head/usr.sbin/vidcontrol/vidcontrol.c Mon Apr 3 13:04:36 2017 (r316458) +++ head/usr.sbin/vidcontrol/vidcontrol.c Mon Apr 3 13:06:28 2017 (r316459) @@ -1167,6 +1167,7 @@ static void test_frame(void) { vid_info_t info; + char *bg, *sep; int i, fore; info.size = sizeof(info); @@ -1174,15 +1175,25 @@ test_frame(void) err(1, "getting console information"); fore = 15; + if (info.mv_csz < 80) { + bg = "BG"; + sep = " "; + } else { + bg = "BACKGROUND"; + sep = " "; + } fprintf(stdout, "\033[=0G\n\n"); for (i=0; i<8; i++) { - fprintf(stdout, "\033[=%dF\033[=0G %2d \033[=%dF%-16s" - "\033[=%dF\033[=0G %2d \033[=%dF%-16s " - "\033[=%dF %2d \033[=%dGBACKGROUND\033[=0G\n", - fore, i, i, legal_colors[i], - fore, i+8, i+8, legal_colors[i+8], - fore, i, i); + fprintf(stdout, + "\033[=%dF\033[=0G%2d \033[=%dF%-7s%s" + "\033[=%dF\033[=0G%2d \033[=%dF%-12s%s" + "\033[=%dF%2d \033[=%dG%s\033[=0G%s" + "\033[=%dF%2d \033[=%dG%s\033[=0G\n", + fore, i, i, legal_colors[i], sep, + fore, i + 8, i + 8, legal_colors[i + 8], sep, + fore, i, i, bg, sep, + fore, i + 8, i + 8, bg); } fprintf(stdout, "\033[=%dF\033[=%dG\033[=%dH\033[=%dI\n", info.mv_norm.fore, info.mv_norm.back, From owner-svn-src-all@freebsd.org Mon Apr 3 13:11:29 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9FE09D2CCCE; Mon, 3 Apr 2017 13:11:29 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6211A23B; Mon, 3 Apr 2017 13:11:29 +0000 (UTC) (envelope-from smh@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33DBSav090643; Mon, 3 Apr 2017 13:11:28 GMT (envelope-from smh@FreeBSD.org) Received: (from smh@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33DBSct090642; Mon, 3 Apr 2017 13:11:28 GMT (envelope-from smh@FreeBSD.org) Message-Id: <201704031311.v33DBSct090642@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: smh set sender to smh@FreeBSD.org using -f From: Steven Hartland Date: Mon, 3 Apr 2017 13:11:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316460 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 13:11:29 -0000 Author: smh Date: Mon Apr 3 13:11:28 2017 New Revision: 316460 URL: https://svnweb.freebsd.org/changeset/base/316460 Log: Fix expandsz 16.0E vals and vdev_min_asize of RAIDZ children When a member of a RAIDZ has been replaced with a device smaller than the original, then the top level vdev can report its expand size as 16.0E. The reduced child asize causes the RAIDZ to have a vdev_asize lower than its vdev_max_asize which then results in an underflow during the calculation of the parents expand size. Fix this by updating the vdev_asize if it shrinks, which is already protected by a check against vdev_min_asize so should always be safe. Also for RAIDZ vdevs, ensure that the sum of their child vdev_min_asize is always greater than the parents vdev_min_size. Fixes: https://www.illumos.org/issues/7885 MFC after: 2 weeks Sponsored by: Multiplay Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Mon Apr 3 13:06:28 2017 (r316459) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Mon Apr 3 13:11:28 2017 (r316460) @@ -229,7 +229,8 @@ vdev_get_min_asize(vdev_t *vd) * so each child must provide at least 1/Nth of its asize. */ if (pvd->vdev_ops == &vdev_raidz_ops) - return (pvd->vdev_min_asize / pvd->vdev_children); + return ((pvd->vdev_min_asize + pvd->vdev_children - 1) / + pvd->vdev_children); return (pvd->vdev_min_asize); } @@ -1377,7 +1378,7 @@ vdev_open(vdev_t *vd) vd->vdev_psize = psize; /* - * Make sure the allocatable size hasn't shrunk. + * Make sure the allocatable size hasn't shrunk too much. */ if (asize < vd->vdev_min_asize) { vdev_set_state(vd, B_TRUE, VDEV_STATE_CANT_OPEN, @@ -1417,12 +1418,21 @@ vdev_open(vdev_t *vd) } /* - * If all children are healthy and the asize has increased, - * then we've experienced dynamic LUN growth. If automatic - * expansion is enabled then use the additional space. - */ - if (vd->vdev_state == VDEV_STATE_HEALTHY && asize > vd->vdev_asize && - (vd->vdev_expanding || spa->spa_autoexpand)) + * If all children are healthy we update asize if either: + * The asize has increased, due to a device expansion caused by dynamic + * LUN growth or vdev replacement, and automatic expansion is enabled; + * making the additional space available. + * + * The asize has decreased, due to a device shrink usually caused by a + * vdev replace with a smaller device. This ensures that calculations + * based of max_asize and asize e.g. esize are always valid. It's safe + * to do this as we've already validated that asize is greater than + * vdev_min_asize. + */ + if (vd->vdev_state == VDEV_STATE_HEALTHY && + ((asize > vd->vdev_asize && + (vd->vdev_expanding || spa->spa_autoexpand)) || + (asize < vd->vdev_asize))) vd->vdev_asize = asize; vdev_set_min_asize(vd); From owner-svn-src-all@freebsd.org Mon Apr 3 13:35:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CC2A9D2C6E4; Mon, 3 Apr 2017 13:35:06 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 88ACC681; Mon, 3 Apr 2017 13:35:06 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33DZ5ua002100; Mon, 3 Apr 2017 13:35:05 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33DZ4eo002090; Mon, 3 Apr 2017 13:35:04 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704031335.v33DZ4eo002090@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 3 Apr 2017 13:35:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316461 - in head/sys: net netpfil/ipfw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 13:35:06 -0000 Author: ae Date: Mon Apr 3 13:35:04 2017 New Revision: 316461 URL: https://svnweb.freebsd.org/changeset/base/316461 Log: Remove "IPFW static rules" rmlock. Make PFIL's lock global and use it for this purpose. This reduces the number of locks needed to acquire for each packet. Obtained from: Yandex LLC MFC after: 2 weeks Sponsored by: Yandex LLC No objection from: #network Differential Revision: https://reviews.freebsd.org/D10154 Modified: head/sys/net/pfil.c head/sys/net/pfil.h head/sys/netpfil/ipfw/ip_fw2.c head/sys/netpfil/ipfw/ip_fw_dynamic.c head/sys/netpfil/ipfw/ip_fw_iface.c head/sys/netpfil/ipfw/ip_fw_nat.c head/sys/netpfil/ipfw/ip_fw_private.h head/sys/netpfil/ipfw/ip_fw_sockopt.c head/sys/netpfil/ipfw/ip_fw_table.c head/sys/netpfil/ipfw/ip_fw_table_value.c Modified: head/sys/net/pfil.c ============================================================================== --- head/sys/net/pfil.c Mon Apr 3 13:11:28 2017 (r316460) +++ head/sys/net/pfil.c Mon Apr 3 13:35:04 2017 (r316461) @@ -61,7 +61,6 @@ LIST_HEAD(pfilheadhead, pfil_head); VNET_DEFINE(struct pfilheadhead, pfil_head_list); #define V_pfil_head_list VNET(pfil_head_list) VNET_DEFINE(struct rmlock, pfil_lock); -#define V_pfil_lock VNET(pfil_lock) #define PFIL_LOCK_INIT_REAL(l, t) \ rm_init_flags(l, "PFil " t " rmlock", RM_RECURSE) Modified: head/sys/net/pfil.h ============================================================================== --- head/sys/net/pfil.h Mon Apr 3 13:11:28 2017 (r316460) +++ head/sys/net/pfil.h Mon Apr 3 13:35:04 2017 (r316461) @@ -38,6 +38,7 @@ #include #include #include +#include struct mbuf; struct ifnet; @@ -94,6 +95,9 @@ struct pfil_head { LIST_ENTRY(pfil_head) ph_list; }; +VNET_DECLARE(struct rmlock, pfil_lock); +#define V_pfil_lock VNET(pfil_lock) + /* Public functions for pfil hook management by packet filters. */ struct pfil_head *pfil_head_get(int, u_long); int pfil_add_hook(pfil_func_t, void *, int, struct pfil_head *); Modified: head/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw2.c Mon Apr 3 13:11:28 2017 (r316460) +++ head/sys/netpfil/ipfw/ip_fw2.c Mon Apr 3 13:35:04 2017 (r316461) @@ -992,7 +992,6 @@ ipfw_chk(struct ip_fw_args *args) int is_ipv4 = 0; int done = 0; /* flag to exit the outer loop */ - IPFW_RLOCK_TRACKER; if (m->m_flags & M_SKIP_FIREWALL || (! V_ipfw_vnet_ready)) return (IP_FW_PASS); /* accept */ Modified: head/sys/netpfil/ipfw/ip_fw_dynamic.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_dynamic.c Mon Apr 3 13:11:28 2017 (r316460) +++ head/sys/netpfil/ipfw/ip_fw_dynamic.c Mon Apr 3 13:35:04 2017 (r316461) @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include /* for ETHERTYPE_IP */ #include #include +#include #include #include Modified: head/sys/netpfil/ipfw/ip_fw_iface.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_iface.c Mon Apr 3 13:11:28 2017 (r316460) +++ head/sys/netpfil/ipfw/ip_fw_iface.c Mon Apr 3 13:35:04 2017 (r316461) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include Modified: head/sys/netpfil/ipfw/ip_fw_nat.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_nat.c Mon Apr 3 13:11:28 2017 (r316460) +++ head/sys/netpfil/ipfw/ip_fw_nat.c Mon Apr 3 13:35:04 2017 (r316461) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include Modified: head/sys/netpfil/ipfw/ip_fw_private.h ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_private.h Mon Apr 3 13:11:28 2017 (r316460) +++ head/sys/netpfil/ipfw/ip_fw_private.h Mon Apr 3 13:35:04 2017 (r316461) @@ -272,8 +272,6 @@ struct ip_fw_chain { void **srvstate; /* runtime service mappings */ #if defined( __linux__ ) || defined( _WIN32 ) spinlock_t rwmtx; -#else - struct rmlock rwmtx; #endif int static_len; /* total len of static rules (v0) */ uint32_t gencnt; /* NAT generation count */ @@ -414,25 +412,23 @@ struct ipfw_ifc { #define IPFW_PF_RUNLOCK(p) IPFW_RUNLOCK(p) #else /* FreeBSD */ #define IPFW_LOCK_INIT(_chain) do { \ - rm_init_flags(&(_chain)->rwmtx, "IPFW static rules", RM_RECURSE); \ rw_init(&(_chain)->uh_lock, "IPFW UH lock"); \ } while (0) #define IPFW_LOCK_DESTROY(_chain) do { \ - rm_destroy(&(_chain)->rwmtx); \ rw_destroy(&(_chain)->uh_lock); \ } while (0) -#define IPFW_RLOCK_ASSERT(_chain) rm_assert(&(_chain)->rwmtx, RA_RLOCKED) -#define IPFW_WLOCK_ASSERT(_chain) rm_assert(&(_chain)->rwmtx, RA_WLOCKED) +#define IPFW_RLOCK_ASSERT(_chain) rm_assert(&V_pfil_lock, RA_RLOCKED) +#define IPFW_WLOCK_ASSERT(_chain) rm_assert(&V_pfil_lock, RA_WLOCKED) #define IPFW_RLOCK_TRACKER struct rm_priotracker _tracker -#define IPFW_RLOCK(p) rm_rlock(&(p)->rwmtx, &_tracker) -#define IPFW_RUNLOCK(p) rm_runlock(&(p)->rwmtx, &_tracker) -#define IPFW_WLOCK(p) rm_wlock(&(p)->rwmtx) -#define IPFW_WUNLOCK(p) rm_wunlock(&(p)->rwmtx) -#define IPFW_PF_RLOCK(p) IPFW_RLOCK(p) -#define IPFW_PF_RUNLOCK(p) IPFW_RUNLOCK(p) +#define IPFW_RLOCK(p) rm_rlock(&V_pfil_lock, &_tracker) +#define IPFW_RUNLOCK(p) rm_runlock(&V_pfil_lock, &_tracker) +#define IPFW_WLOCK(p) rm_wlock(&V_pfil_lock) +#define IPFW_WUNLOCK(p) rm_wunlock(&V_pfil_lock) +#define IPFW_PF_RLOCK(p) +#define IPFW_PF_RUNLOCK(p) #endif #define IPFW_UH_RLOCK_ASSERT(_chain) rw_assert(&(_chain)->uh_lock, RA_RLOCKED) Modified: head/sys/netpfil/ipfw/ip_fw_sockopt.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_sockopt.c Mon Apr 3 13:11:28 2017 (r316460) +++ head/sys/netpfil/ipfw/ip_fw_sockopt.c Mon Apr 3 13:35:04 2017 (r316461) @@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include Modified: head/sys/netpfil/ipfw/ip_fw_table.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_table.c Mon Apr 3 13:11:28 2017 (r316460) +++ head/sys/netpfil/ipfw/ip_fw_table.c Mon Apr 3 13:35:04 2017 (r316461) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include #include /* ip_fw.h requires IFNAMSIZ */ +#include #include #include /* struct ipfw_rule_ref */ Modified: head/sys/netpfil/ipfw/ip_fw_table_value.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_table_value.c Mon Apr 3 13:11:28 2017 (r316460) +++ head/sys/netpfil/ipfw/ip_fw_table_value.c Mon Apr 3 13:35:04 2017 (r316461) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include /* ip_fw.h requires IFNAMSIZ */ +#include #include #include /* struct ipfw_rule_ref */ From owner-svn-src-all@freebsd.org Mon Apr 3 14:12:31 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A91B5D2B7B4; Mon, 3 Apr 2017 14:12:31 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8A25AFEB; Mon, 3 Apr 2017 14:12:31 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from Julian-MBP3.local (106-68-197-149.dyn.iinet.net.au [106.68.197.149]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id v33ECHAx009709 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 3 Apr 2017 07:12:21 -0700 (PDT) (envelope-from julian@freebsd.org) Subject: Re: svn commit: r316435 - in head: sbin/ipfw sys/conf sys/modules sys/modules/ipfw_pmod sys/netpfil/ipfw/pmod To: "Andrey V. Elsukov" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201704030307.v3337mfs039014@repo.freebsd.org> From: Julian Elischer Message-ID: <2fb0e146-8486-09c3-0c44-75c71a74fc2f@freebsd.org> Date: Mon, 3 Apr 2017 22:12:11 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <201704030307.v3337mfs039014@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 14:12:31 -0000 On 3/4/17 11:07 am, Andrey V. Elsukov wrote: > Author: ae > Date: Mon Apr 3 03:07:48 2017 > New Revision: 316435 > URL: https://svnweb.freebsd.org/changeset/base/316435 it was always my intention to hook netgraph modules into ipfw in this way > > Log: > Add ipfw_pmod kernel module. > > The module is designed for modification of a packets of any protocols. > For now it implements only TCP MSS modification. It adds the external > action handler for "tcp-setmss" action. > > A rule with tcp-setmss action does additional check for protocol and > TCP flags. If SYN flag is present, it parses TCP options and modifies > MSS option if its value is greater than configured value in the rule. > Then it adjustes TCP checksum if needed. After handling the search > continues with the next rule. > > Obtained from: Yandex LLC > MFC after: 2 weeks > Relnotes: yes > Sponsored by: Yandex LLC > No objection from: #network > Differential Revision: https://reviews.freebsd.org/D10150 > > Added: > head/sys/modules/ipfw_pmod/ > head/sys/modules/ipfw_pmod/Makefile (contents, props changed) > head/sys/netpfil/ipfw/pmod/ > head/sys/netpfil/ipfw/pmod/ip_fw_pmod.c (contents, props changed) > head/sys/netpfil/ipfw/pmod/pmod.h (contents, props changed) > head/sys/netpfil/ipfw/pmod/tcpmod.c (contents, props changed) > Modified: > head/sbin/ipfw/ipfw.8 > head/sbin/ipfw/ipfw2.c > head/sbin/ipfw/ipfw2.h > head/sys/conf/NOTES > head/sys/conf/files > head/sys/conf/options > head/sys/modules/Makefile > > Modified: head/sbin/ipfw/ipfw.8 > ============================================================================== > --- head/sbin/ipfw/ipfw.8 Mon Apr 3 02:44:40 2017 (r316434) > +++ head/sbin/ipfw/ipfw.8 Mon Apr 3 03:07:48 2017 (r316435) > @@ -1,7 +1,7 @@ > .\" > .\" $FreeBSD$ > .\" > -.Dd March 15, 2017 > +.Dd April 3, 2017 > .Dt IPFW 8 > .Os > .Sh NAME > @@ -1118,6 +1118,20 @@ It is also possible to use the > keyword with setdscp. > If the tablearg value is not within the 0..64 range, lower 6 bits of supplied > value are used. > +.It Cm tcp-setmss Ar mss > +Set the Maximum Segment Size (MSS) in the TCP segment to value > +.Ar mss . > +The kernel module > +.Cm ipfw_pmod > +should be loaded or kernel should have > +.Cm options IPFIREWALL_PMOD > +to be able use this action. > +This command does not change a packet if original MSS value is lower than > +specified value. > +Both TCP over IPv4 and over IPv6 are supported. > +Regardless of matched a packet or not by the > +.Cm tcp-setmss > +rule, the search continues with the next rule. > .It Cm reass > Queue and reassemble IP fragments. > If the packet is not fragmented, counters are updated and > > Modified: head/sbin/ipfw/ipfw2.c > ============================================================================== > --- head/sbin/ipfw/ipfw2.c Mon Apr 3 02:44:40 2017 (r316434) > +++ head/sbin/ipfw/ipfw2.c Mon Apr 3 03:07:48 2017 (r316435) > @@ -36,6 +36,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -238,6 +239,7 @@ static struct _s_x rule_eactions[] = { > { "nat64lsn", TOK_NAT64LSN }, > { "nat64stl", TOK_NAT64STL }, > { "nptv6", TOK_NPTV6 }, > + { "tcp-setmss", TOK_TCPSETMSS }, > { NULL, 0 } /* terminator */ > }; > > @@ -272,6 +274,7 @@ static struct _s_x rule_actions[] = { > { "call", TOK_CALL }, > { "return", TOK_RETURN }, > { "eaction", TOK_EACTION }, > + { "tcp-setmss", TOK_TCPSETMSS }, > { NULL, 0 } /* terminator */ > }; > > @@ -4007,6 +4010,26 @@ chkarg: > fill_cmd(action, O_CALLRETURN, F_NOT, 0); > break; > > + case TOK_TCPSETMSS: { > + u_long mss; > + uint16_t idx; > + > + idx = pack_object(tstate, "tcp-setmss", IPFW_TLV_EACTION); > + if (idx == 0) > + errx(EX_DATAERR, "pack_object failed"); > + fill_cmd(action, O_EXTERNAL_ACTION, 0, idx); > + NEED1("Missing MSS value"); > + action = next_cmd(action, &ablen); > + action->len = 1; > + CHECK_ACTLEN; > + mss = strtoul(*av, NULL, 10); > + if (mss == 0 || mss > UINT16_MAX) > + errx(EX_USAGE, "invalid MSS value %s", *av); > + fill_cmd(action, O_EXTERNAL_DATA, 0, (uint16_t)mss); > + av++; > + break; > + } > + > default: > av--; > if (match_token(rule_eactions, *av) == -1) > > Modified: head/sbin/ipfw/ipfw2.h > ============================================================================== > --- head/sbin/ipfw/ipfw2.h Mon Apr 3 02:44:40 2017 (r316434) > +++ head/sbin/ipfw/ipfw2.h Mon Apr 3 03:07:48 2017 (r316435) > @@ -284,6 +284,8 @@ enum tokens { > TOK_INTPREFIX, > TOK_EXTPREFIX, > TOK_PREFIXLEN, > + > + TOK_TCPSETMSS, > }; > > /* > > Modified: head/sys/conf/NOTES > ============================================================================== > --- head/sys/conf/NOTES Mon Apr 3 02:44:40 2017 (r316434) > +++ head/sys/conf/NOTES Mon Apr 3 03:07:48 2017 (r316435) > @@ -971,6 +971,9 @@ device lagg > # > # IPFIREWALL_NPTV6 adds support for in kernel NPTv6 in ipfw. > # > +# IPFIREWALL_PMOD adds support for protocols modification module. Currently > +# it supports only TCP MSS modification. > +# > # IPSTEALTH enables code to support stealth forwarding (i.e., forwarding > # packets without touching the TTL). This can be useful to hide firewalls > # from traceroute and similar tools. > > Modified: head/sys/conf/files > ============================================================================== > --- head/sys/conf/files Mon Apr 3 02:44:40 2017 (r316434) > +++ head/sys/conf/files Mon Apr 3 03:07:48 2017 (r316435) > @@ -4230,6 +4230,8 @@ netpfil/ipfw/nptv6/ip_fw_nptv6.c optiona > ipfirewall_nptv6 > netpfil/ipfw/nptv6/nptv6.c optional inet inet6 ipfirewall \ > ipfirewall_nptv6 > +netpfil/ipfw/pmod/ip_fw_pmod.c optional inet ipfirewall_pmod > +netpfil/ipfw/pmod/tcpmod.c optional inet ipfirewall_pmod > netpfil/pf/if_pflog.c optional pflog pf inet > netpfil/pf/if_pfsync.c optional pfsync pf inet > netpfil/pf/pf.c optional pf inet > > Modified: head/sys/conf/options > ============================================================================== > --- head/sys/conf/options Mon Apr 3 02:44:40 2017 (r316434) > +++ head/sys/conf/options Mon Apr 3 03:07:48 2017 (r316435) > @@ -426,6 +426,7 @@ IPFIREWALL_NAT64_DIRECT_OUTPUT opt_ipfw. > IPFIREWALL_NPTV6 opt_ipfw.h > IPFIREWALL_VERBOSE opt_ipfw.h > IPFIREWALL_VERBOSE_LIMIT opt_ipfw.h > +IPFIREWALL_PMOD opt_ipfw.h > IPSEC opt_ipsec.h > IPSEC_DEBUG opt_ipsec.h > IPSEC_SUPPORT opt_ipsec.h > > Modified: head/sys/modules/Makefile > ============================================================================== > --- head/sys/modules/Makefile Mon Apr 3 02:44:40 2017 (r316434) > +++ head/sys/modules/Makefile Mon Apr 3 03:07:48 2017 (r316435) > @@ -173,6 +173,7 @@ SUBDIR= \ > ipfw_nat \ > ${_ipfw_nat64} \ > ${_ipfw_nptv6} \ > + ${_ipfw_pmod} \ > ${_ipmi} \ > ip6_mroute_mod \ > ip_mroute_mod \ > @@ -443,6 +444,7 @@ _toecore= toecore > _if_enc= if_enc > _if_gif= if_gif > _if_gre= if_gre > +_ipfw_pmod= ipfw_pmod > .if ${MK_IPSEC_SUPPORT} != "no" > _ipsec= ipsec > .endif > > Added: head/sys/modules/ipfw_pmod/Makefile > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/sys/modules/ipfw_pmod/Makefile Mon Apr 3 03:07:48 2017 (r316435) > @@ -0,0 +1,8 @@ > +# $FreeBSD$ > + > +.PATH: ${SRCTOP}/sys/netpfil/ipfw/pmod > + > +KMOD= ipfw_pmod > +SRCS= ip_fw_pmod.c tcpmod.c opt_inet.h opt_inet6.h > + > +.include > > Added: head/sys/netpfil/ipfw/pmod/ip_fw_pmod.c > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/sys/netpfil/ipfw/pmod/ip_fw_pmod.c Mon Apr 3 03:07:48 2017 (r316435) > @@ -0,0 +1,101 @@ > +/*- > + * Copyright (c) 2017 Yandex LLC > + * Copyright (c) 2017 Andrey V. Elsukov > + * All rights reserved. > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES > + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. > + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, > + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT > + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + */ > + > +#include > +__FBSDID("$FreeBSD$"); > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include > +#include > + > +#include > +#include > +#include > + > +#include > +#include > + > +static int > +vnet_ipfw_pmod_init(const void *arg __unused) > +{ > + int error; > + > + error = tcpmod_init(&V_layer3_chain, IS_DEFAULT_VNET(curvnet)); > + return (error); > +} > + > +static int > +vnet_ipfw_pmod_uninit(const void *arg __unused) > +{ > + > + tcpmod_uninit(&V_layer3_chain, IS_DEFAULT_VNET(curvnet)); > + return (0); > +} > + > +static int > +ipfw_pmod_modevent(module_t mod, int type, void *unused) > +{ > + > + switch (type) { > + case MOD_LOAD: > + case MOD_UNLOAD: > + break; > + default: > + return (EOPNOTSUPP); > + } > + return (0); > +} > + > +static moduledata_t ipfw_pmod_mod = { > + "ipfw_pmod", > + ipfw_pmod_modevent, > + 0 > +}; > + > +/* Define startup order. */ > +#define IPFW_PMOD_SI_SUB_FIREWALL SI_SUB_PROTO_IFATTACHDOMAIN > +#define IPFW_PMOD_MODEVENT_ORDER (SI_ORDER_ANY - 128) /* after ipfw */ > +#define IPFW_PMOD_MODULE_ORDER (IPFW_PMOD_MODEVENT_ORDER + 1) > +#define IPFW_PMOD_VNET_ORDER (IPFW_PMOD_MODEVENT_ORDER + 2) > + > +DECLARE_MODULE(ipfw_pmod, ipfw_pmod_mod, IPFW_PMOD_SI_SUB_FIREWALL, > + IPFW_PMOD_MODULE_ORDER); > +MODULE_DEPEND(ipfw_pmod, ipfw, 3, 3, 3); > +MODULE_VERSION(ipfw_pmod, 1); > + > +VNET_SYSINIT(vnet_ipfw_pmod_init, IPFW_PMOD_SI_SUB_FIREWALL, > + IPFW_PMOD_VNET_ORDER, vnet_ipfw_pmod_init, NULL); > +VNET_SYSUNINIT(vnet_ipfw_pmod_uninit, IPFW_PMOD_SI_SUB_FIREWALL, > + IPFW_PMOD_VNET_ORDER, vnet_ipfw_pmod_uninit, NULL); > > Added: head/sys/netpfil/ipfw/pmod/pmod.h > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/sys/netpfil/ipfw/pmod/pmod.h Mon Apr 3 03:07:48 2017 (r316435) > @@ -0,0 +1,36 @@ > +/*- > + * Copyright (c) 2017 Yandex LLC > + * Copyright (c) 2017 Andrey V. Elsukov > + * All rights reserved. > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES > + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. > + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, > + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT > + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + * > + * $FreeBSD$ > + */ > + > +#ifndef _IP_FW_PMOD_H_ > +#define _IP_FW_PMOD_H_ > + > +int tcpmod_init(struct ip_fw_chain *ch, int first); > +void tcpmod_uninit(struct ip_fw_chain *ch, int last); > +#endif /* _IP_FW_PMOD_H_ */ > + > > Added: head/sys/netpfil/ipfw/pmod/tcpmod.c > ============================================================================== > --- /dev/null 00:00:00 1970 (empty, because file is newly added) > +++ head/sys/netpfil/ipfw/pmod/tcpmod.c Mon Apr 3 03:07:48 2017 (r316435) > @@ -0,0 +1,246 @@ > +/*- > + * Copyright (c) 2017 Yandex LLC > + * Copyright (c) 2017 Andrey V. Elsukov > + * All rights reserved. > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES > + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. > + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, > + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT > + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, > + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY > + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT > + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF > + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > + */ > + > +#include "opt_inet.h" > +#include "opt_inet6.h" > + > +#include > +__FBSDID("$FreeBSD$"); > + > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include > +#include > +#include > +#include > + > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include > +#include > + > +#include > + > +static VNET_DEFINE(uint16_t, tcpmod_setmss_eid) = 0; > +#define V_tcpmod_setmss_eid VNET(tcpmod_setmss_eid) > + > +static int > +tcpmod_setmss(struct mbuf **mp, struct tcphdr *tcp, int tlen, uint16_t mss) > +{ > + struct mbuf *m; > + u_char *cp; > + int optlen, ret; > + uint16_t oldmss, csum; > + > + m = *mp; > + ret = IP_FW_DENY; > + if (m->m_len < m->m_pkthdr.len) { > + /* > + * We shouldn't have any data, IP packet contains only > + * TCP header with options. > + */ > + *mp = m = m_pullup(m, m->m_pkthdr.len); > + if (m == NULL) > + return (ret); > + } > + /* Parse TCP options. */ > + for (tlen -= sizeof(struct tcphdr), cp = (u_char *)(tcp + 1); > + tlen > 0; tlen -= optlen, cp += optlen) { > + if (cp[0] == TCPOPT_EOL) > + break; > + if (cp[0] == TCPOPT_NOP) { > + optlen = 1; > + continue; > + } > + if (tlen < 2) > + break; > + optlen = cp[1]; > + if (optlen < 2 || optlen > tlen) > + break; > + if (cp[0] == TCPOPT_MAXSEG) { > + if (optlen != TCPOLEN_MAXSEG) > + break; > + ret = 0; /* report success */ > + bcopy(cp + 2, &oldmss, sizeof(oldmss)); > + /* Do not update lower MSS value */ > + if (oldmss <= mss) > + break; > + bcopy(&mss, cp + 2, sizeof(mss)); > + /* Update checksum if it is not delayed. */ > + if ((m->m_pkthdr.csum_flags & > + (CSUM_TCP | CSUM_TCP_IPV6)) == 0) { > + bcopy(&tcp->th_sum, &csum, sizeof(csum)); > + csum = cksum_adjust(csum, oldmss, mss); > + bcopy(&csum, &tcp->th_sum, sizeof(csum)); > + } > + break; > + } > + } > + > + return (ret); > +} > + > +#ifdef INET6 > +static int > +tcpmod_ipv6_setmss(struct mbuf **mp, uint16_t mss) > +{ > + struct ip6_hdr *ip6; > + struct ip6_hbh *hbh; > + struct tcphdr *tcp; > + int hlen, plen, proto; > + > + ip6 = mtod(*mp, struct ip6_hdr *); > + hlen = sizeof(*ip6); > + proto = ip6->ip6_nxt; > + /* > + * Skip IPv6 extension headers and get the TCP header. > + * ipfw_chk() has already done this work. So we are sure that > + * we will not do an access to the out of bounds. For this > + * reason we skip some checks here. > + */ > + while (proto == IPPROTO_HOPOPTS || proto == IPPROTO_ROUTING || > + proto == IPPROTO_DSTOPTS) { > + hbh = mtodo(*mp, hlen); > + proto = hbh->ip6h_nxt; > + hlen += hbh->ip6h_len << 3; > + } > + tcp = mtodo(*mp, hlen); > + plen = (*mp)->m_pkthdr.len - hlen; > + hlen = tcp->th_off << 2; > + /* We must have TCP options and enough data in a packet. */ > + if (hlen <= sizeof(struct tcphdr) || hlen > plen) > + return (IP_FW_DENY); > + return (tcpmod_setmss(mp, tcp, hlen, mss)); > +} > +#endif /* INET6 */ > + > +#ifdef INET > +static int > +tcpmod_ipv4_setmss(struct mbuf **mp, uint16_t mss) > +{ > + struct tcphdr *tcp; > + struct ip *ip; > + int hlen, plen; > + > + ip = mtod(*mp, struct ip *); > + hlen = ip->ip_hl << 2; > + tcp = mtodo(*mp, hlen); > + plen = (*mp)->m_pkthdr.len - hlen; > + hlen = tcp->th_off << 2; > + /* We must have TCP options and enough data in a packet. */ > + if (hlen <= sizeof(struct tcphdr) || hlen > plen) > + return (IP_FW_DENY); > + return (tcpmod_setmss(mp, tcp, hlen, mss)); > +} > +#endif /* INET */ > + > +/* > + * ipfw external action handler. > + */ > +static int > +ipfw_tcpmod(struct ip_fw_chain *chain, struct ip_fw_args *args, > + ipfw_insn *cmd, int *done) > +{ > + ipfw_insn *icmd; > + int ret; > + > + *done = 0; /* try next rule if not matched */ > + ret = IP_FW_DENY; > + icmd = cmd + 1; > + if (cmd->opcode != O_EXTERNAL_ACTION || > + cmd->arg1 != V_tcpmod_setmss_eid || > + icmd->opcode != O_EXTERNAL_DATA || > + icmd->len != F_INSN_SIZE(ipfw_insn)) > + return (ret); > + > + /* > + * NOTE: ipfw_chk() can set f_id.proto from IPv6 fragment header, > + * but f_id._flags can be filled only from real TCP header. > + * > + * NOTE: ipfw_chk() drops very short packets in the PULLUP_TO() > + * macro. But we need to check that mbuf is contiguous more than > + * IP+IP_options/IP_extensions+tcphdr length, because TCP header > + * must have TCP options, and ipfw_chk() does PULLUP_TO() size of > + * struct tcphdr. > + * > + * NOTE: we require only the presence of SYN flag. User should > + * properly configure the rule to select the direction of packets, > + * that should be modified. > + */ > + if (args->f_id.proto != IPPROTO_TCP || > + (args->f_id._flags & TH_SYN) == 0) > + return (ret); > + > + switch (args->f_id.addr_type) { > +#ifdef INET > + case 4: > + ret = tcpmod_ipv4_setmss(&args->m, htons(icmd->arg1)); > + break; > +#endif > +#ifdef INET6 > + case 6: > + ret = tcpmod_ipv6_setmss(&args->m, htons(icmd->arg1)); > + break; > +#endif > + } > + /* > + * We return zero in both @ret and @done on success, and ipfw_chk() > + * will update rule counters. Otherwise a packet will not be matched > + * by rule. > + */ > + return (ret); > +} > + > +int > +tcpmod_init(struct ip_fw_chain *ch, int first) > +{ > + > + V_tcpmod_setmss_eid = ipfw_add_eaction(ch, ipfw_tcpmod, "tcp-setmss"); > + if (V_tcpmod_setmss_eid == 0) > + return (ENXIO); > + return (0); > +} > + > +void > +tcpmod_uninit(struct ip_fw_chain *ch, int last) > +{ > + > + ipfw_del_eaction(ch, V_tcpmod_setmss_eid); > + V_tcpmod_setmss_eid = 0; > +} > + > > From owner-svn-src-all@freebsd.org Mon Apr 3 15:11:29 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49A5FD2B04E; Mon, 3 Apr 2017 15:11:29 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1A411C74; Mon, 3 Apr 2017 15:11:29 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33FBSlJ038682; Mon, 3 Apr 2017 15:11:28 GMT (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33FBSDX038681; Mon, 3 Apr 2017 15:11:28 GMT (envelope-from bde@FreeBSD.org) Message-Id: <201704031511.v33FBSDX038681@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bde set sender to bde@FreeBSD.org using -f From: Bruce Evans Date: Mon, 3 Apr 2017 15:11:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316462 - head/usr.sbin/vidcontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 15:11:29 -0000 Author: bde Date: Mon Apr 3 15:11:28 2017 New Revision: 316462 URL: https://svnweb.freebsd.org/changeset/base/316462 Log: Fix a missing const in my previous commit which broke the build at normal WARNS. Reported by: lwhsu Modified: head/usr.sbin/vidcontrol/vidcontrol.c Modified: head/usr.sbin/vidcontrol/vidcontrol.c ============================================================================== --- head/usr.sbin/vidcontrol/vidcontrol.c Mon Apr 3 13:35:04 2017 (r316461) +++ head/usr.sbin/vidcontrol/vidcontrol.c Mon Apr 3 15:11:28 2017 (r316462) @@ -1167,7 +1167,7 @@ static void test_frame(void) { vid_info_t info; - char *bg, *sep; + const char *bg, *sep; int i, fore; info.size = sizeof(info); From owner-svn-src-all@freebsd.org Mon Apr 3 17:37:43 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 13011D2C203; Mon, 3 Apr 2017 17:37:43 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D865F8D6; Mon, 3 Apr 2017 17:37:42 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33HbgkT099372; Mon, 3 Apr 2017 17:37:42 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33HbgLT099371; Mon, 3 Apr 2017 17:37:42 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704031737.v33HbgLT099371@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 3 Apr 2017 17:37:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316463 - stable/11/crypto/heimdal/lib/roken X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 17:37:43 -0000 Author: emaste Date: Mon Apr 3 17:37:41 2017 New Revision: 316463 URL: https://svnweb.freebsd.org/changeset/base/316463 Log: MFC r303156: Remove duplicate symbols from libroken version-script.map Upstream commit r24759 (efed563) prefixed some symbols with rk_, but introduced 6 duplicate symbols in the version script (because the rk_-prefixed versions of the symbols were already present). Sponsored by: The FreeBSD Foundation Modified: stable/11/crypto/heimdal/lib/roken/version-script.map Directory Properties: stable/11/ (props changed) Modified: stable/11/crypto/heimdal/lib/roken/version-script.map ============================================================================== --- stable/11/crypto/heimdal/lib/roken/version-script.map Mon Apr 3 15:11:28 2017 (r316462) +++ stable/11/crypto/heimdal/lib/roken/version-script.map Mon Apr 3 17:37:41 2017 (r316463) @@ -123,17 +123,12 @@ HEIMDAL_ROKEN_1.0 { rk_strptime; rk_strsep_copy; rk_strsvis; - rk_strsvis; rk_strsvisx; rk_strunvis; - rk_strunvis; rk_strunvisx; rk_strupr; rk_strvis; - rk_strvis; rk_strvisx; - rk_strvisx; - rk_svis; rk_svis; rk_timegm; rk_timevaladd; @@ -148,7 +143,6 @@ HEIMDAL_ROKEN_1.0 { rk_vasnprintf; rk_vasprintf; rk_vis; - rk_vis; rk_vsnprintf; rk_vstrcollect; rk_wait_for_process; From owner-svn-src-all@freebsd.org Mon Apr 3 18:50:05 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 96E62D2CF39; Mon, 3 Apr 2017 18:50:05 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 63E4FDA3; Mon, 3 Apr 2017 18:50:05 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33Io4Ac027730; Mon, 3 Apr 2017 18:50:04 GMT (envelope-from sevan@FreeBSD.org) Received: (from sevan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33Io4L6027729; Mon, 3 Apr 2017 18:50:04 GMT (envelope-from sevan@FreeBSD.org) Message-Id: <201704031850.v33Io4L6027729@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sevan set sender to sevan@FreeBSD.org using -f From: Sevan Janiyan Date: Mon, 3 Apr 2017 18:50:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316464 - head/sbin/mount_msdosfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 18:50:05 -0000 Author: sevan (doc committer) Date: Mon Apr 3 18:50:04 2017 New Revision: 316464 URL: https://svnweb.freebsd.org/changeset/base/316464 Log: Whilst mount_pcfs originated as a patch in 386BSD, NetBSD 0.8 actually was the first release of an OS to ship with it. Heads up by Ingo Schwarze. Approved by: bcr (mentor) MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D10209 Modified: head/sbin/mount_msdosfs/mount_msdosfs.8 Modified: head/sbin/mount_msdosfs/mount_msdosfs.8 ============================================================================== --- head/sbin/mount_msdosfs/mount_msdosfs.8 Mon Apr 3 17:37:41 2017 (r316463) +++ head/sbin/mount_msdosfs/mount_msdosfs.8 Mon Apr 3 18:50:04 2017 (r316464) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 3, 2016 +.Dd April 3, 2017 .Dt MOUNT_MSDOSFS 8 .Os .Sh NAME @@ -198,7 +198,7 @@ The predecessor to utility named .Nm mount_pcfs appeared in -.Bx 386 . +.Nx 0.8 . It was rewritten in .Nx 1.0 and first appeared in From owner-svn-src-all@freebsd.org Mon Apr 3 19:57:07 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3E328D2B67A; Mon, 3 Apr 2017 19:57:07 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0DB42A0E; Mon, 3 Apr 2017 19:57:06 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33Jv6rn055965; Mon, 3 Apr 2017 19:57:06 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33Jv6UM055964; Mon, 3 Apr 2017 19:57:06 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704031957.v33Jv6UM055964@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 3 Apr 2017 19:57:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316465 - stable/11/crypto/heimdal/lib/hx509 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 19:57:07 -0000 Author: emaste Date: Mon Apr 3 19:57:05 2017 New Revision: 316465 URL: https://svnweb.freebsd.org/changeset/base/316465 Log: MFC r304624: Remove duplicate symbol from libhx509 version-script.map Upstream commit r21331 (7758a5d0) added semiprivate function _hx509_request_to_pkcs10 twice. This change has been committed upstream as 8ef0071d. Sponsored by: The FreeBSD Foundation Modified: stable/11/crypto/heimdal/lib/hx509/version-script.map Directory Properties: stable/11/ (props changed) Modified: stable/11/crypto/heimdal/lib/hx509/version-script.map ============================================================================== --- stable/11/crypto/heimdal/lib/hx509/version-script.map Mon Apr 3 18:50:04 2017 (r316464) +++ stable/11/crypto/heimdal/lib/hx509/version-script.map Mon Apr 3 19:57:05 2017 (r316465) @@ -23,7 +23,6 @@ HEIMDAL_X509_1.2 { _hx509_request_print; _hx509_request_set_email; _hx509_request_to_pkcs10; - _hx509_request_to_pkcs10; _hx509_unmap_file_os; _hx509_write_file; hx509_bitstring_print; From owner-svn-src-all@freebsd.org Mon Apr 3 20:28:35 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6AC79D2C3BD; Mon, 3 Apr 2017 20:28:35 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4520EDCA; Mon, 3 Apr 2017 20:28:35 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33KSYrk067958; Mon, 3 Apr 2017 20:28:34 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33KSYs3067957; Mon, 3 Apr 2017 20:28:34 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201704032028.v33KSYs3067957@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 3 Apr 2017 20:28:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316466 - head/share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 20:28:35 -0000 Author: trasz Date: Mon Apr 3 20:28:34 2017 New Revision: 316466 URL: https://svnweb.freebsd.org/changeset/base/316466 Log: Remove excessive horizontal whitespace from hier(7) by correctly using "-width". The http://mdocml.bsd.lv/mdoc/details/width.html says: "Do not use macros in the argument specifying the width, that's not portable. While GNU troff can handle it, mandoc cannot." The same problem seems to exist in many other man pages. Reviewed by: bapt, vangyzen MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D10238 Modified: head/share/man/man7/hier.7 Modified: head/share/man/man7/hier.7 ============================================================================== --- head/share/man/man7/hier.7 Mon Apr 3 19:57:05 2017 (r316465) +++ head/share/man/man7/hier.7 Mon Apr 3 20:28:34 2017 (r316466) @@ -36,7 +36,7 @@ .Nd layout of file systems .Sh DESCRIPTION A sketch of the file system hierarchy. -.Bl -tag -width ".Pa /libexec/" +.Bl -tag -width "/libexec/" .It Pa / root directory of the file system .It Pa /bin/ @@ -44,7 +44,7 @@ user utilities fundamental to both singl .It Pa /boot/ programs and configuration files used during operating system bootstrap .Pp -.Bl -tag -width ".Pa defaults/" -compact +.Bl -tag -width "defaults/" -compact .It Pa defaults/ default bootstrapping configuration files; see .Xr loader.conf 5 @@ -80,7 +80,7 @@ comments apply device special files managed by .Xr devfs 5 .Pp -.Bl -tag -width ".Pa net/" -compact +.Bl -tag -width "net/" -compact .It Pa fd/ file descriptor files; see @@ -91,7 +91,7 @@ network devices .It Pa /etc/ system configuration files and scripts .Pp -.Bl -tag -width ".Pa bluetooth/" -compact +.Bl -tag -width "bluetooth/" -compact .It Pa defaults/ default system configuration files; see @@ -141,7 +141,7 @@ critical system libraries needed for bin and .Pa /sbin .Pp -.Bl -tag -width ".Pa geom/" -compact +.Bl -tag -width "geom/" -compact .It Pa geom/ class-specific libraries for the .Xr geom 8 @@ -181,7 +181,7 @@ temporary files that are not guaranteed .It Pa /usr/ contains the majority of user utilities and applications .Pp -.Bl -tag -width ".Pa libdata/" -compact +.Bl -tag -width "libdata/" -compact .It Pa bin/ common utilities, programming tools, and applications .It Pa compat/ @@ -190,7 +190,7 @@ such as Linux .It Pa include/ standard C include files .Pp -.Bl -tag -width ".Pa kerberos5/" -compact +.Bl -tag -width "kerberos5/" -compact .It Pa altq/ C include files for alternate queueing .It Pa arpa/ @@ -201,7 +201,7 @@ C include files for the SNMP daemon C++ include files .It Pa cam/ C include files for the Common Access Methods Layer -.Bl -tag -width ".Pa kerberos5/" -compact +.Bl -tag -width "kerberos5/" -compact .It Pa scsi/ The SCSI device on top of CAM .El @@ -209,7 +209,7 @@ The SCSI device on top of CAM C include files for programming various .Fx devices -.Bl -tag -width ".Pa kerberos5/" -compact +.Bl -tag -width "kerberos5/" -compact .It Pa ic/ Various header files describing driver- and bus-independent hardware circuits @@ -235,7 +235,7 @@ The WaveLAN driver .El .It Pa fs/ -.Bl -tag -width ".Pa kerberos5/" -compact +.Bl -tag -width "kerberos5/" -compact .It Pa cd9660/ iso9660 file system .It Pa fdescfs/ @@ -260,7 +260,7 @@ union file system .El .It Pa geom/ GEOM framework -.Bl -tag -width ".Pa kerberos5/" -compact +.Bl -tag -width "kerberos5/" -compact .It Pa concat/ CONCAT GEOM class .It Pa gate/ @@ -306,7 +306,7 @@ see NATM include files; see .Xr natm 4 -.Bl -tag -width ".Pa kerberos5/" -compact +.Bl -tag -width "kerberos5/" -compact .It Pa api/ include files for the signalling API .It Pa msg/ @@ -349,7 +349,7 @@ system C include files (kernel data stru .\" Tcl language; .\" see .\" .Xr Tcl n -.\" .Bl -tag -width ".Pa kerberos5/" -compact +.\" .Bl -tag -width "kerberos5/" -compact .\" .It Pa generic/ .\" ??? .\" .It Pa unix/ @@ -357,7 +357,7 @@ system C include files (kernel data stru .\" .El .It Pa ufs/ C include files for UFS (The U-word File System) -.Bl -tag -width ".Pa kerberos5/" -compact +.Bl -tag -width "kerberos5/" -compact .It Pa ffs/ Fast file system .It Pa ufs/ @@ -472,7 +472,7 @@ system daemons & system utilities (execu .It Pa share/ architecture-independent files .Pp -.Bl -tag -width ".Pa calendar/" -compact +.Bl -tag -width "calendar/" -compact .It Pa calendar/ a variety of pre-fab calendar files; see @@ -553,7 +553,7 @@ ASCII text files used by various games device description file for device name .It Pa keys/ known trusted and revoked keys. -.Bl -tag -width ".Pa keys/pkg/" -compact +.Bl -tag -width "keys/pkg/" -compact .It Pa keys/pkg/ fingerprints for .Xr pkg 7 @@ -614,7 +614,7 @@ MIB files files used by syscons; see .Xr syscons 4 -.Bl -tag -width ".Pa scrnmaps/" -compact +.Bl -tag -width "scrnmaps/" -compact .It Pa fonts/ console fonts; see @@ -648,7 +648,7 @@ localization support and utilities for files used by vt; see .Xr vt 4 -.Bl -tag -width ".Pa scrnmaps/" -compact +.Bl -tag -width "scrnmaps/" -compact .It Pa fonts/ console fonts; see @@ -673,7 +673,7 @@ see .Bx , third-party, and/or local source files .Pp -.Bl -tag -width ".Pa kerberos5/" -compact +.Bl -tag -width "kerberos5/" -compact .It Pa bin/ source code for files in /bin .It Pa cddl/ @@ -743,7 +743,7 @@ for more details. .It Pa /var/ multi-purpose log, temporary, transient, and spool files .Pp -.Bl -tag -width ".Pa preserve/" -compact +.Bl -tag -width "preserve/" -compact .It Pa account/ system accounting files .Pp @@ -758,7 +758,7 @@ see timed command scheduling files; see .Xr \&at 1 -.Bl -tag -width ".Pa preserve/" -compact +.Bl -tag -width "preserve/" -compact .It Pa jobs/ directory containing job files .It Pa spool/ @@ -769,7 +769,7 @@ directory containing output spool files miscellaneous backup files .It Pa cache/ miscellaneous cached files -.Bl -tag -width ".Pa pkg/" -compact +.Bl -tag -width "pkg/" -compact .It Pa pkg/ cached packages for .Xr pkg 8 @@ -784,7 +784,7 @@ and files used by cron; see .Xr cron 8 -.Bl -tag -width ".Pa preserve/" -compact +.Bl -tag -width "preserve/" -compact .It Pa tabs/ crontab files; see From owner-svn-src-all@freebsd.org Mon Apr 3 20:33:15 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A3A56D2C9F6; Mon, 3 Apr 2017 20:33:15 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 759C8697; Mon, 3 Apr 2017 20:33:15 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33KXEOo071851; Mon, 3 Apr 2017 20:33:14 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33KXEit071850; Mon, 3 Apr 2017 20:33:14 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201704032033.v33KXEit071850@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 3 Apr 2017 20:33:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316467 - head/share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 20:33:15 -0000 Author: trasz Date: Mon Apr 3 20:33:14 2017 New Revision: 316467 URL: https://svnweb.freebsd.org/changeset/base/316467 Log: Add basic description of kernel source layout. MFC after: 2 weeks Modified: head/share/man/man7/hier.7 Modified: head/share/man/man7/hier.7 ============================================================================== --- head/share/man/man7/hier.7 Mon Apr 3 20:28:34 2017 (r316466) +++ head/share/man/man7/hier.7 Mon Apr 3 20:33:14 2017 (r316467) @@ -28,7 +28,7 @@ .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd March 13, 2017 +.Dd April 3, 2017 .Dt HIER 7 .Os .Sh NAME @@ -716,6 +716,67 @@ source for files in .Pa /usr/share .It Pa sys/ kernel source code +.Bl -tag -width ".Pa opencrypto/" -compact +.It Pa amd64/ +AMD64 architecture support +.It Pa arm/ +ARM architecture support +.It Pa arm64/ +ARMv8 architecture support +.It Pa boot/ +bootloader code +.It Pa cam/ +.Xr cam 4 +.It Pa cddl/ +CDDL-licensed optional sources, including ZFS +and DTrace +.It Pa ddb/ +.Xr ddb 4 +.It Pa fs/ +most filesystems +.It Pa dev/ +device drivers +.It Pa geom/ +.Xr geom 4 +.It Pa i386/ +i386 (32 bit) architecture support +.It Pa kern/ +main part of the kernel +.It Pa mips/ +MIPS architecture support +.It Pa net80211/ +.Xr net80211 4 +.It Pa netgraph/ +.Xr netgraph 4 +.It Pa netinet/ +.Xr inet 4 +.It Pa netinet6/ +.Xr inet6 4 +.It Pa netipsec/ +.Xr ipsec 4 +.It Pa netpfil/ +.Xr ipfw 4 +and +.Xr pf 4 +.It Pa opencrypto/ +.Xr crypto 7 +.It Pa powerpc/ +PowerPC/POWER architecture support +.It Pa riscv/ +RISC-V architecture support +.It Pa security/ +.Xr audit 4 +and +.Xr mac 4 +.It Pa sparc64/ +SPARC64 architecture support +.It Pa sys/ +kernel headers +.It Pa ufs/ +Unix File System +.It Pa x86/ +code shared by AMD64 and i386 architectures +.El .It Pa targets/ support for experimental DIRDEPS_BUILD .It Pa tests/ From owner-svn-src-all@freebsd.org Mon Apr 3 20:35:18 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CE77D2CA8C; Mon, 3 Apr 2017 20:35:18 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5D4D286F; Mon, 3 Apr 2017 20:35:18 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33KZHsV071979; Mon, 3 Apr 2017 20:35:17 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33KZHjl071978; Mon, 3 Apr 2017 20:35:17 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201704032035.v33KZHjl071978@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 3 Apr 2017 20:35:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316468 - head/lib/libpmc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 20:35:18 -0000 Author: trasz Date: Mon Apr 3 20:35:17 2017 New Revision: 316468 URL: https://svnweb.freebsd.org/changeset/base/316468 Log: Fix typo. MFC after: 2 weeks Sponsored by: DARPA, AFRL Modified: head/lib/libpmc/pmc.haswell.3 Modified: head/lib/libpmc/pmc.haswell.3 ============================================================================== --- head/lib/libpmc/pmc.haswell.3 Mon Apr 3 20:33:14 2017 (r316467) +++ head/lib/libpmc/pmc.haswell.3 Mon Apr 3 20:35:17 2017 (r316468) @@ -31,7 +31,7 @@ .Nm pmc.haswell .Nd measurement events for .Tn Intel -.Tn Haswsell +.Tn Haswell family CPUs .Sh LIBRARY .Lb libpmc From owner-svn-src-all@freebsd.org Mon Apr 3 20:46:56 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 98344D2CDA0; Mon, 3 Apr 2017 20:46:56 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 73687DF8; Mon, 3 Apr 2017 20:46:56 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33Kktpp075940; Mon, 3 Apr 2017 20:46:55 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33Kktww075937; Mon, 3 Apr 2017 20:46:55 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704032046.v33Kktww075937@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 3 Apr 2017 20:46:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316469 - stable/11/sys/conf X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 20:46:56 -0000 Author: emaste Date: Mon Apr 3 20:46:55 2017 New Revision: 316469 URL: https://svnweb.freebsd.org/changeset/base/316469 Log: MFC r306041: Always pass -m to ld for converting binary files to ELF This is in preparation for linking with LLVM's lld, which does not have a compiled-in default output emulation. lld requires that it is specified via the -m option, or obtained from the object file(s) being linked. This will also allow all build targets to share a common linker binary. Sponsored by: The FreeBSD Foundation Modified: stable/11/sys/conf/kern.mk stable/11/sys/conf/kern.pre.mk stable/11/sys/conf/kmod.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/conf/kern.mk ============================================================================== --- stable/11/sys/conf/kern.mk Mon Apr 3 20:35:17 2017 (r316468) +++ stable/11/sys/conf/kern.mk Mon Apr 3 20:46:55 2017 (r316469) @@ -232,3 +232,23 @@ CFLAGS+= -std=iso9899:1999 .else # CSTD CFLAGS+= -std=${CSTD} .endif # CSTD + +# Set target-specific linker emulation name. Used by ld -b binary to convert +# binary files into ELF objects. +LD_EMULATION_aarch64=aarch64elf +LD_EMULATION_amd64=elf_x86_64_fbsd +LD_EMULATION_arm=armelf_fbsd +LD_EMULATION_armeb=armelf_fbsd +LD_EMULATION_armv6=armelf_fbsd +LD_EMULATION_i386=elf_i386_fbsd +LD_EMULATION_mips= elf32btsmip_fbsd +LD_EMULATION_mips64= elf64btsmip_fbsd +LD_EMULATION_mipsel= elf32ltsmip_fbsd +LD_EMULATION_mips64el= elf64ltsmip_fbsd +LD_EMULATION_mipsn32= elf32btsmipn32_fbsd +LD_EMULATION_mipsn32el= elf32btsmipn32_fbsd # I don't think this is a thing that works +LD_EMULATION_powerpc= elf32ppc_fbsd +LD_EMULATION_powerpc64= elf64ppc_fbsd +LD_EMULATION_riscv= elf64riscv +LD_EMULATION_sparc64= elf64_sparc_fbsd +LD_EMULATION=${LD_EMULATION_${MACHINE_ARCH}} Modified: stable/11/sys/conf/kern.pre.mk ============================================================================== --- stable/11/sys/conf/kern.pre.mk Mon Apr 3 20:35:17 2017 (r316468) +++ stable/11/sys/conf/kern.pre.mk Mon Apr 3 20:46:55 2017 (r316469) @@ -119,7 +119,7 @@ NORMAL_M= ${AWK} -f $S/tools/makeobjops. NORMAL_FW= uudecode -o ${.TARGET} ${.ALLSRC} NORMAL_FWO= ${LD} -b binary --no-warn-mismatch -d -warn-common -r \ - -o ${.TARGET} ${.ALLSRC:M*.fw} + -m ${LD_EMULATION} -o ${.TARGET} ${.ALLSRC:M*.fw} # Common for dtrace / zfs CDDL_CFLAGS= -DFREEBSD_NAMECACHE -nostdinc -I$S/cddl/compat/opensolaris -I$S/cddl/contrib/opensolaris/uts/common -I$S -I$S/cddl/contrib/opensolaris/common ${CFLAGS} -Wno-unknown-pragmas -Wno-missing-prototypes -Wno-undef -Wno-strict-prototypes -Wno-cast-qual -Wno-parentheses -Wno-redundant-decls -Wno-missing-braces -Wno-uninitialized -Wno-unused -Wno-inline -Wno-switch -Wno-pointer-arith -Wno-unknown-pragmas Modified: stable/11/sys/conf/kmod.mk ============================================================================== --- stable/11/sys/conf/kmod.mk Mon Apr 3 20:35:17 2017 (r316468) +++ stable/11/sys/conf/kmod.mk Mon Apr 3 20:46:55 2017 (r316469) @@ -171,11 +171,13 @@ ${_firmw:C/\:.*$/.fwo/:T}: ${_firmw:C/\: @${ECHO} ${_firmw:C/\:.*$//} ${.ALLSRC:M*${_firmw:C/\:.*$//}} @if [ -e ${_firmw:C/\:.*$//} ]; then \ ${LD} -b binary --no-warn-mismatch ${_LDFLAGS} \ - -r -d -o ${.TARGET} ${_firmw:C/\:.*$//}; \ + -m ${LD_EMULATION} -r -d \ + -o ${.TARGET} ${_firmw:C/\:.*$//}; \ else \ ln -s ${.ALLSRC:M*${_firmw:C/\:.*$//}} ${_firmw:C/\:.*$//}; \ ${LD} -b binary --no-warn-mismatch ${_LDFLAGS} \ - -r -d -o ${.TARGET} ${_firmw:C/\:.*$//}; \ + -m ${LD_EMULATION} -r -d \ + -o ${.TARGET} ${_firmw:C/\:.*$//}; \ rm ${_firmw:C/\:.*$//}; \ fi From owner-svn-src-all@freebsd.org Mon Apr 3 21:04:16 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F83ED2C230; Mon, 3 Apr 2017 21:04:16 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 10D1C9BA; Mon, 3 Apr 2017 21:04:15 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33L4FqZ084300; Mon, 3 Apr 2017 21:04:15 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33L4EEt084295; Mon, 3 Apr 2017 21:04:14 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201704032104.v33L4EEt084295@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 3 Apr 2017 21:04:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316470 - stable/11/usr.sbin/fstyp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 21:04:16 -0000 Author: trasz Date: Mon Apr 3 21:04:14 2017 New Revision: 316470 URL: https://svnweb.freebsd.org/changeset/base/316470 Log: MFC r312003 by cem: fstyp(8): Detect exFAT filesystems Simply detect the exFAT filesystem name in the Volume Boot Record (superblock). Added: stable/11/usr.sbin/fstyp/exfat.c - copied unchanged from r312003, head/usr.sbin/fstyp/exfat.c Modified: stable/11/usr.sbin/fstyp/Makefile stable/11/usr.sbin/fstyp/fstyp.8 stable/11/usr.sbin/fstyp/fstyp.c stable/11/usr.sbin/fstyp/fstyp.h Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/fstyp/Makefile ============================================================================== --- stable/11/usr.sbin/fstyp/Makefile Mon Apr 3 20:46:55 2017 (r316469) +++ stable/11/usr.sbin/fstyp/Makefile Mon Apr 3 21:04:14 2017 (r316470) @@ -3,7 +3,7 @@ .include PROG= fstyp -SRCS= cd9660.c ext2fs.c fstyp.c geli.c msdosfs.c ntfs.c ufs.c +SRCS= cd9660.c exfat.c ext2fs.c fstyp.c geli.c msdosfs.c ntfs.c ufs.c .if ${MK_ZFS} != "no" SRCS += zfs.c Copied: stable/11/usr.sbin/fstyp/exfat.c (from r312003, head/usr.sbin/fstyp/exfat.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/11/usr.sbin/fstyp/exfat.c Mon Apr 3 21:04:14 2017 (r316470, copy of r312003, head/usr.sbin/fstyp/exfat.c) @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2017 Conrad Meyer + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +#include "fstyp.h" + +struct exfat_vbr { + char ev_jmp[3]; + char ev_fsname[8]; + char ev_zeros[53]; + uint64_t ev_part_offset; + uint64_t ev_vol_length; + uint32_t ev_fat_offset; + uint32_t ev_fat_length; + uint32_t ev_cluster_offset; + uint32_t ev_cluster_count; + uint32_t ev_rootdir_cluster; + uint32_t ev_vol_serial; + uint16_t ev_fs_revision; + uint16_t ev_vol_flags; + uint8_t ev_log_bytes_per_sect; + uint8_t ev_log_sect_per_clust; + uint8_t ev_num_fats; + uint8_t ev_drive_sel; + uint8_t ev_percent_used; +} __packed; + +int +fstyp_exfat(FILE *fp, char *label, size_t size) +{ + struct exfat_vbr *ev; + + ev = (struct exfat_vbr *)read_buf(fp, 0, 512); + if (ev == NULL || strncmp(ev->ev_fsname, "EXFAT ", 8) != 0) + goto fail; + + /* + * Reading the volume label requires walking the root directory to look + * for a special label file. Left as an exercise for the reader. + */ + free(ev); + return (0); + +fail: + free(ev); + return (1); +} Modified: stable/11/usr.sbin/fstyp/fstyp.8 ============================================================================== --- stable/11/usr.sbin/fstyp/fstyp.8 Mon Apr 3 20:46:55 2017 (r316469) +++ stable/11/usr.sbin/fstyp/fstyp.8 Mon Apr 3 21:04:14 2017 (r316470) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 28, 2016 +.Dd January 12, 2017 .Dt FSTYP 8 .Os .Sh NAME @@ -43,7 +43,7 @@ The .Nm utility is used to determine the filesystem type on a given device. -It can recognize ISO-9660, Ext2, FAT, NTFS, and UFS filesystems. +It can recognize ISO-9660, exFAT, Ext2, FAT, NTFS, and UFS filesystems. When the .Fl u flag is specified, @@ -61,6 +61,8 @@ as, respectively: .It cd9660 .It +exfat +.It ext2fs .It geli Modified: stable/11/usr.sbin/fstyp/fstyp.c ============================================================================== --- stable/11/usr.sbin/fstyp/fstyp.c Mon Apr 3 20:46:55 2017 (r316469) +++ stable/11/usr.sbin/fstyp/fstyp.c Mon Apr 3 21:04:14 2017 (r316470) @@ -57,6 +57,7 @@ static struct { bool unmountable; } fstypes[] = { { "cd9660", &fstyp_cd9660, false }, + { "exfat", &fstyp_exfat, true }, { "ext2fs", &fstyp_ext2fs, false }, { "geli", &fstyp_geli, true }, { "msdosfs", &fstyp_msdosfs, false }, Modified: stable/11/usr.sbin/fstyp/fstyp.h ============================================================================== --- stable/11/usr.sbin/fstyp/fstyp.h Mon Apr 3 20:46:55 2017 (r316469) +++ stable/11/usr.sbin/fstyp/fstyp.h Mon Apr 3 21:04:14 2017 (r316470) @@ -39,6 +39,7 @@ char *checked_strdup(const char *s); void rtrim(char *label, size_t size); int fstyp_cd9660(FILE *fp, char *label, size_t size); +int fstyp_exfat(FILE *fp, char *label, size_t size); int fstyp_ext2fs(FILE *fp, char *label, size_t size); int fstyp_geli(FILE *fp, char *label, size_t size); int fstyp_msdosfs(FILE *fp, char *label, size_t size); From owner-svn-src-all@freebsd.org Mon Apr 3 21:05:29 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 04674D2C30B; Mon, 3 Apr 2017 21:05:29 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CA256B0E; Mon, 3 Apr 2017 21:05:28 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33L5RwQ084396; Mon, 3 Apr 2017 21:05:27 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33L5Rx8084395; Mon, 3 Apr 2017 21:05:27 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201704032105.v33L5Rx8084395@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 3 Apr 2017 21:05:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316471 - stable/11/usr.sbin/fstyp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 21:05:29 -0000 Author: trasz Date: Mon Apr 3 21:05:27 2017 New Revision: 316471 URL: https://svnweb.freebsd.org/changeset/base/316471 Log: MFC r312078 by cem: fstyp.8: Move initial exFAT blurb to the -u section Didn't notice the second list in r312003. Modified: stable/11/usr.sbin/fstyp/fstyp.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/fstyp/fstyp.8 ============================================================================== --- stable/11/usr.sbin/fstyp/fstyp.8 Mon Apr 3 21:04:14 2017 (r316470) +++ stable/11/usr.sbin/fstyp/fstyp.8 Mon Apr 3 21:05:27 2017 (r316471) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 12, 2017 +.Dd January 13, 2017 .Dt FSTYP 8 .Os .Sh NAME @@ -43,7 +43,7 @@ The .Nm utility is used to determine the filesystem type on a given device. -It can recognize ISO-9660, exFAT, Ext2, FAT, NTFS, and UFS filesystems. +It can recognize ISO-9660, Ext2, FAT, NTFS, and UFS filesystems. When the .Fl u flag is specified, @@ -51,9 +51,10 @@ flag is specified, also recognizes certain additional metadata formats that cannot be handled using .Xr mount 8 , -such as ZFS pools and +such as exFAT filesystems, .Xr geli 8 -providers. +providers, and +ZFS pools. .Pp The filesystem name is printed to the standard output as, respectively: From owner-svn-src-all@freebsd.org Mon Apr 3 21:06:50 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2AEED2C3D5; Mon, 3 Apr 2017 21:06:50 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7F2B6CD2; Mon, 3 Apr 2017 21:06:50 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33L6nkk084502; Mon, 3 Apr 2017 21:06:49 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33L6nbn084501; Mon, 3 Apr 2017 21:06:49 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201704032106.v33L6nbn084501@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Mon, 3 Apr 2017 21:06:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316472 - stable/11/usr.sbin/fstyp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 21:06:50 -0000 Author: trasz Date: Mon Apr 3 21:06:49 2017 New Revision: 316472 URL: https://svnweb.freebsd.org/changeset/base/316472 Log: MFC r315564: Improve formatting. Modified: stable/11/usr.sbin/fstyp/fstyp.8 Directory Properties: stable/11/ (props changed) Modified: stable/11/usr.sbin/fstyp/fstyp.8 ============================================================================== --- stable/11/usr.sbin/fstyp/fstyp.8 Mon Apr 3 21:05:27 2017 (r316471) +++ stable/11/usr.sbin/fstyp/fstyp.8 Mon Apr 3 21:06:49 2017 (r316472) @@ -121,10 +121,11 @@ The command appeared in .Fx 10.2 . .Sh AUTHORS +.An -nosplit The .Nm utility was developed by .An Edward Tomasz Napierala Aq Mt trasz@FreeBSD.org under sponsorship from the FreeBSD Foundation. ZFS and GELI support was added by -.An Allan Jude Aq Mt allanjude@FreeBSD.org +.An Allan Jude Aq Mt allanjude@FreeBSD.org . From owner-svn-src-all@freebsd.org Mon Apr 3 21:10:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 11D75D2C4B6; Mon, 3 Apr 2017 21:10:04 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D83ACE6C; Mon, 3 Apr 2017 21:10:03 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33LA3L0084697; Mon, 3 Apr 2017 21:10:03 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33LA3Lu084696; Mon, 3 Apr 2017 21:10:03 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704032110.v33LA3Lu084696@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 3 Apr 2017 21:10:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316473 - head/usr.bin/grep X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 21:10:04 -0000 Author: emaste Date: Mon Apr 3 21:10:02 2017 New Revision: 316473 URL: https://svnweb.freebsd.org/changeset/base/316473 Log: bsdgrep: treat rgrep as grep -r Submitted by: Kyle Evans Modified: head/usr.bin/grep/grep.c Modified: head/usr.bin/grep/grep.c ============================================================================== --- head/usr.bin/grep/grep.c Mon Apr 3 21:06:49 2017 (r316472) +++ head/usr.bin/grep/grep.c Mon Apr 3 21:10:02 2017 (r316473) @@ -360,6 +360,9 @@ main(int argc, char *argv[]) } else if (pn[0] == 'l' && pn[1] == 'z') { filebehave = FILE_LZMA; pn += 2; + } else if (pn[0] == 'r') { + dirbehave = DIR_RECURSE; + Hflag = true; } else if (pn[0] == 'z') { filebehave = FILE_GZIP; pn += 1; From owner-svn-src-all@freebsd.org Mon Apr 3 21:17:59 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 03096D2C6F4; Mon, 3 Apr 2017 21:17:59 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C4161391; Mon, 3 Apr 2017 21:17:58 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33LHvBJ088479; Mon, 3 Apr 2017 21:17:57 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33LHvao088478; Mon, 3 Apr 2017 21:17:57 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704032117.v33LHvao088478@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Mon, 3 Apr 2017 21:17:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316474 - head/sys/dev/e1000 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 21:17:59 -0000 Author: sbruno Date: Mon Apr 3 21:17:57 2017 New Revision: 316474 URL: https://svnweb.freebsd.org/changeset/base/316474 Log: Remove rx_processing_limit sysctl and now orphaned function em_set_sysctl_value Sponsored by: Limelight Networks Modified: head/sys/dev/e1000/if_em.c Modified: head/sys/dev/e1000/if_em.c ============================================================================== --- head/sys/dev/e1000/if_em.c Mon Apr 3 21:10:02 2017 (r316473) +++ head/sys/dev/e1000/if_em.c Mon Apr 3 21:17:57 2017 (r316474) @@ -290,8 +290,6 @@ static void em_handle_link(void *context static void em_enable_vectors_82574(if_ctx_t); -static void em_set_sysctl_value(struct adapter *, const char *, - const char *, int *, int); static int em_set_flowcntl(SYSCTL_HANDLER_ARGS); static int em_sysctl_eee(SYSCTL_HANDLER_ARGS); static void em_if_led_func(if_ctx_t ctx, int onoff); @@ -896,11 +894,6 @@ em_if_attach_pre(if_ctx_t ctx) E1000_REGISTER(hw, E1000_ITR), DEFAULT_ITR); - /* Sysctl for limiting the amount of work done in the taskqueue */ - em_set_sysctl_value(adapter, "rx_processing_limit", - "max number of rx packets to process", &adapter->rx_process_limit, - em_rx_process_limit); - hw->mac.autoneg = DO_AUTO_NEG; hw->phy.autoneg_wait_to_complete = FALSE; hw->phy.autoneg_advertised = AUTONEG_ADV_DEFAULT; @@ -4217,17 +4210,6 @@ em_add_int_delay_sysctl(struct adapter * info, 0, em_sysctl_int_delay, "I", description); } -static void -em_set_sysctl_value(struct adapter *adapter, const char *name, - const char *description, int *limit, int value) -{ - *limit = value; - SYSCTL_ADD_INT(device_get_sysctl_ctx(adapter->dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(adapter->dev)), - OID_AUTO, name, CTLFLAG_RW, limit, value, description); -} - - /* * Set flow control using sysctl: * Flow control values: From owner-svn-src-all@freebsd.org Mon Apr 3 21:19:13 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C6364D2C79D; Mon, 3 Apr 2017 21:19:13 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 96CE4774; Mon, 3 Apr 2017 21:19:13 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33LJCGu088573; Mon, 3 Apr 2017 21:19:12 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33LJCFr088572; Mon, 3 Apr 2017 21:19:12 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704032119.v33LJCFr088572@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Mon, 3 Apr 2017 21:19:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316475 - head/sys/dev/e1000 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 21:19:13 -0000 Author: sbruno Date: Mon Apr 3 21:19:12 2017 New Revision: 316475 URL: https://svnweb.freebsd.org/changeset/base/316475 Log: Remove unsafe and non-functional DDB functions that I added long ago for debugging. Modified: head/sys/dev/e1000/if_em.c Modified: head/sys/dev/e1000/if_em.c ============================================================================== --- head/sys/dev/e1000/if_em.c Mon Apr 3 21:17:57 2017 (r316474) +++ head/sys/dev/e1000/if_em.c Mon Apr 3 21:19:12 2017 (r316475) @@ -4378,40 +4378,3 @@ em_enable_vectors_82574(if_ctx_t ctx) device_printf(dev, "Writing to eeprom: done\n"); } } - - -#ifdef DDB -DB_COMMAND(em_reset_dev, em_ddb_reset_dev) -{ - devclass_t dc; - int max_em; - - dc = devclass_find("em"); - max_em = devclass_get_maxunit(dc); - - for (int index = 0; index < (max_em - 1); index++) { - device_t dev; - dev = devclass_get_device(dc, index); - if (device_get_driver(dev) == &em_driver) { - struct adapter *adapter = device_get_softc(dev); - em_if_init(adapter->ctx); - } - } -} -DB_COMMAND(em_dump_queue, em_ddb_dump_queue) -{ - devclass_t dc; - int max_em; - - dc = devclass_find("em"); - max_em = devclass_get_maxunit(dc); - - for (int index = 0; index < (max_em - 1); index++) { - device_t dev; - dev = devclass_get_device(dc, index); - if (device_get_driver(dev) == &em_driver) - em_print_debug_info(device_get_softc(dev)); - } - -} -#endif From owner-svn-src-all@freebsd.org Mon Apr 3 22:36:47 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1652ED2DC49; Mon, 3 Apr 2017 22:36:47 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C0A34827; Mon, 3 Apr 2017 22:36:46 +0000 (UTC) (envelope-from gavin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33MajRa021338; Mon, 3 Apr 2017 22:36:45 GMT (envelope-from gavin@FreeBSD.org) Received: (from gavin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33MajLi021337; Mon, 3 Apr 2017 22:36:45 GMT (envelope-from gavin@FreeBSD.org) Message-Id: <201704032236.v33MajLi021337@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gavin set sender to gavin@FreeBSD.org using -f From: Gavin Atkinson Date: Mon, 3 Apr 2017 22:36:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316476 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 22:36:47 -0000 Author: gavin Date: Mon Apr 3 22:36:45 2017 New Revision: 316476 URL: https://svnweb.freebsd.org/changeset/base/316476 Log: Fix spelling mistake, BCM2835_PASWORD -> BCM2835_PASSWORD Modified: head/sys/arm/broadcom/bcm2835/bcm2835_wdog.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_wdog.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_wdog.c Mon Apr 3 21:19:12 2017 (r316475) +++ head/sys/arm/broadcom/bcm2835/bcm2835_wdog.c Mon Apr 3 22:36:45 2017 (r316476) @@ -43,7 +43,7 @@ __FBSDID("$FreeBSD$"); #include -#define BCM2835_PASWORD 0x5a +#define BCM2835_PASSWORD 0x5a #define BCM2835_WDOG_RESET 0 #define BCM2835_PASSWORD_MASK 0xff000000 @@ -115,7 +115,7 @@ bcmwd_attach(device_t dev) sc = device_get_softc(dev); sc->wdog_period = 7; - sc->wdog_passwd = BCM2835_PASWORD; + sc->wdog_passwd = BCM2835_PASSWORD; sc->wdog_armed = 0; sc->dev = dev; @@ -163,27 +163,27 @@ bcmwd_watchdog_fn(void *private, u_int c device_printf(sc->dev, "Can't arm, timeout must be between 1-15 seconds\n"); WRITE(sc, BCM2835_RSTC_REG, - (BCM2835_PASWORD << BCM2835_PASSWORD_SHIFT) | + (BCM2835_PASSWORD << BCM2835_PASSWORD_SHIFT) | BCM2835_RSTC_RESET); mtx_unlock(&sc->mtx); return; } ticks = (sec << 16) & BCM2835_WDOG_TIME_MASK; - reg = (BCM2835_PASWORD << BCM2835_PASSWORD_SHIFT) | ticks; + reg = (BCM2835_PASSWORD << BCM2835_PASSWORD_SHIFT) | ticks; WRITE(sc, BCM2835_WDOG_REG, reg); reg = READ(sc, BCM2835_RSTC_REG); reg &= BCM2835_RSTC_WRCFG_CLR; reg |= BCM2835_RSTC_WRCFG_FULL_RESET; - reg |= (BCM2835_PASWORD << BCM2835_PASSWORD_SHIFT); + reg |= (BCM2835_PASSWORD << BCM2835_PASSWORD_SHIFT); WRITE(sc, BCM2835_RSTC_REG, reg); *error = 0; } else WRITE(sc, BCM2835_RSTC_REG, - (BCM2835_PASWORD << BCM2835_PASSWORD_SHIFT) | + (BCM2835_PASSWORD << BCM2835_PASSWORD_SHIFT) | BCM2835_RSTC_RESET); mtx_unlock(&sc->mtx); @@ -197,11 +197,11 @@ bcmwd_watchdog_reset(void) return; WRITE(bcmwd_lsc, BCM2835_WDOG_REG, - (BCM2835_PASWORD << BCM2835_PASSWORD_SHIFT) | 10); + (BCM2835_PASSWORD << BCM2835_PASSWORD_SHIFT) | 10); WRITE(bcmwd_lsc, BCM2835_RSTC_REG, (READ(bcmwd_lsc, BCM2835_RSTC_REG) & BCM2835_RSTC_WRCFG_CLR) | - (BCM2835_PASWORD << BCM2835_PASSWORD_SHIFT) | + (BCM2835_PASSWORD << BCM2835_PASSWORD_SHIFT) | BCM2835_RSTC_WRCFG_FULL_RESET); } From owner-svn-src-all@freebsd.org Mon Apr 3 23:16:52 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6D447D2C93E; Mon, 3 Apr 2017 23:16:52 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2E07EE2F; Mon, 3 Apr 2017 23:16:52 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v33NGp1j037306; Mon, 3 Apr 2017 23:16:51 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v33NGpbo037305; Mon, 3 Apr 2017 23:16:51 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704032316.v33NGpbo037305@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 3 Apr 2017 23:16:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316477 - head/usr.bin/grep X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Apr 2017 23:16:52 -0000 Author: emaste Date: Mon Apr 3 23:16:51 2017 New Revision: 316477 URL: https://svnweb.freebsd.org/changeset/base/316477 Log: bsdgrep: fix matching behaviour - Set REG_NOTBOL if we've already matched beginning of line and we're examining later parts - For each pattern we examine, apply it to the remaining bits of the line rather than (potentially) smaller subsets - Check for REG_NOSUB after we've looked at all patterns initially matching the line - Keep track of the last match we made to later determine if we're simply not matching any longer or if we need to proceed another byte because we hit a zero-length match - Match the earliest and longest bit of each line before moving the beginning of what we match to further in the line, past the end of the longest match; this generally matches how gnugrep(1) seems to behave, and seems like pretty good behavior to me - Finally, bail out of printing any matches if we were set to print all (empty pattern) but -o (output matches) was set PR: 195763, 180990, 197555, 197531, 181263, 209116 Submitted by: "Kyle Evans" Reviewed by: cem MFC after: 1 month Relnotes: Yes Differential Revision: https://reviews.freebsd.org/D10104 Modified: head/usr.bin/grep/util.c Modified: head/usr.bin/grep/util.c ============================================================================== --- head/usr.bin/grep/util.c Mon Apr 3 22:36:45 2017 (r316476) +++ head/usr.bin/grep/util.c Mon Apr 3 23:16:51 2017 (r316477) @@ -276,28 +276,29 @@ static int procline(struct str *l, int nottext) { regmatch_t matches[MAX_LINE_MATCHES]; - regmatch_t pmatch; - size_t st = 0; + regmatch_t pmatch, lastmatch; + size_t st = 0, nst = 0; unsigned int i; - int c = 0, m = 0, r = 0; + int c = 0, m = 0, r = 0, lastmatches = 0, leflags = eflags; + int startm = 0; /* Loop to process the whole line */ while (st <= l->len) { - pmatch.rm_so = st; - pmatch.rm_eo = l->len; - + lastmatches = 0; + startm = m; + if (st > 0) + leflags |= REG_NOTBOL; /* Loop to compare with all the patterns */ for (i = 0; i < patterns; i++) { + pmatch.rm_so = st; + pmatch.rm_eo = l->len; if (fg_pattern[i].pattern) r = fastexec(&fg_pattern[i], - l->dat, 1, &pmatch, eflags); + l->dat, 1, &pmatch, leflags); else r = regexec(&r_pattern[i], l->dat, 1, - &pmatch, eflags); + &pmatch, leflags); r = (r == 0) ? 0 : REG_NOMATCH; - st = (cflags & REG_NOSUB) - ? (size_t)l->len - : (size_t)pmatch.rm_eo; if (r == REG_NOMATCH) continue; /* Check for full match */ @@ -324,10 +325,29 @@ procline(struct str *l, int nottext) r = REG_NOMATCH; } if (r == 0) { + lastmatches++; + lastmatch = pmatch; + /* Skip over zero-length matches */ + if (pmatch.rm_so == pmatch.rm_eo) + continue; if (m == 0) c++; - if (m < MAX_LINE_MATCHES) - matches[m++] = pmatch; + + if (m < MAX_LINE_MATCHES) { + /* Replace previous match if the new one is earlier and/or longer */ + if (m > startm) { + if (pmatch.rm_so < matches[m-1].rm_so || + (pmatch.rm_so == matches[m-1].rm_so && (pmatch.rm_eo - pmatch.rm_so) > (matches[m-1].rm_eo - matches[m-1].rm_so))) { + matches[m-1] = pmatch; + nst = pmatch.rm_eo; + } + } else { + /* Advance as normal if not */ + matches[m++] = pmatch; + nst = pmatch.rm_eo; + } + } + /* matches - skip further patterns */ if ((color == NULL && !oflag) || qflag || lflag) @@ -344,8 +364,19 @@ procline(struct str *l, int nottext) if (!wflag && ((color == NULL && !oflag) || qflag || lflag || Lflag)) break; - if (st == (size_t)pmatch.rm_so) - break; /* No matches */ + /* If we didn't have any matches or REG_NOSUB set */ + if (lastmatches == 0 || (cflags & REG_NOSUB)) + nst = l->len; + + if (lastmatches == 0) + /* No matches */ + break; + else if (st == nst && lastmatch.rm_so == lastmatch.rm_eo) + /* Zero-length match -- advance one more so we don't get stuck */ + nst++; + + /* Advance st based on previous matches */ + st = nst; } @@ -444,6 +475,10 @@ printline(struct str *line, int sep, reg size_t a = 0; int i, n = 0; + /* If matchall, everything matches but don't actually print for -o */ + if (oflag && matchall) + return; + if (!hflag) { if (!nullflag) { fputs(line->file, stdout); @@ -474,13 +509,13 @@ printline(struct str *line, int sep, reg fwrite(line->dat + a, matches[i].rm_so - a, 1, stdout); if (color) - fprintf(stdout, "\33[%sm\33[K", color); + fprintf(stdout, "\33[%sm", color); fwrite(line->dat + matches[i].rm_so, matches[i].rm_eo - matches[i].rm_so, 1, stdout); if (color) - fprintf(stdout, "\33[m\33[K"); + fprintf(stdout, "\33[00m\33[K"); a = matches[i].rm_eo; if (oflag) putchar('\n'); From owner-svn-src-all@freebsd.org Tue Apr 4 00:43:10 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7962ED2B55C; Tue, 4 Apr 2017 00:43:10 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54AEBD97; Tue, 4 Apr 2017 00:43:10 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v340h9DX073233; Tue, 4 Apr 2017 00:43:09 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v340h9mC073232; Tue, 4 Apr 2017 00:43:09 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201704040043.v340h9mC073232@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Tue, 4 Apr 2017 00:43:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316478 - head/sys/dev/tsec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 00:43:10 -0000 Author: jhibbits Date: Tue Apr 4 00:43:09 2017 New Revision: 316478 URL: https://svnweb.freebsd.org/changeset/base/316478 Log: Use a common tsec_mii_wait() function to busy wait for status changes. The status indicators are not set immediatly after a command. Discard the first value. Unlock the PHY mutex after a timeout in tsec_init_locked(). Tested on the P1020RDB. Submitted by: Sebastian Huber Modified: head/sys/dev/tsec/if_tsec.c Modified: head/sys/dev/tsec/if_tsec.c ============================================================================== --- head/sys/dev/tsec/if_tsec.c Mon Apr 3 23:16:51 2017 (r316477) +++ head/sys/dev/tsec/if_tsec.c Tue Apr 4 00:43:09 2017 (r316478) @@ -357,13 +357,33 @@ tsec_init(void *xsc) TSEC_GLOBAL_UNLOCK(sc); } +static int +tsec_mii_wait(struct tsec_softc *sc, uint32_t flags) +{ + int timeout; + + /* + * The status indicators are not set immediatly after a command. + * Discard the first value. + */ + TSEC_PHY_READ(sc, TSEC_REG_MIIMIND); + + timeout = TSEC_READ_RETRY; + while ((TSEC_PHY_READ(sc, TSEC_REG_MIIMIND) & flags) && --timeout) + DELAY(TSEC_READ_DELAY); + + return (timeout == 0); +} + + static void tsec_init_locked(struct tsec_softc *sc) { struct tsec_desc *tx_desc = sc->tsec_tx_vaddr; struct tsec_desc *rx_desc = sc->tsec_rx_vaddr; struct ifnet *ifp = sc->tsec_ifp; - uint32_t timeout, val, i; + uint32_t val, i; + int timeout; if (ifp->if_drv_flags & IFF_DRV_RUNNING) return; @@ -422,15 +442,13 @@ tsec_init_locked(struct tsec_softc *sc) TSEC_PHY_WRITE(sc, TSEC_REG_MIIMCFG, TSEC_MIIMCFG_CLKDIV28); /* Step 8: Read MII Mgmt indicator register and check for Busy = 0 */ - timeout = TSEC_READ_RETRY; - while (--timeout && (TSEC_PHY_READ(sc, TSEC_REG_MIIMIND) & - TSEC_MIIMIND_BUSY)) - DELAY(TSEC_READ_DELAY); - if (timeout == 0) { + timeout = tsec_mii_wait(sc, TSEC_MIIMIND_BUSY); + + TSEC_PHY_UNLOCK(sc); + if (timeout) { if_printf(ifp, "tsec_init_locked(): Mgmt busy timeout\n"); return; } - TSEC_PHY_UNLOCK(sc); /* Step 9: Setup the MII Mgmt */ mii_mediachg(sc->tsec_mii); @@ -1570,7 +1588,7 @@ int tsec_miibus_readreg(device_t dev, int phy, int reg) { struct tsec_softc *sc; - uint32_t timeout; + int timeout; int rv; sc = device_get_softc(dev); @@ -1580,17 +1598,13 @@ tsec_miibus_readreg(device_t dev, int ph TSEC_PHY_WRITE(sc, TSEC_REG_MIIMCOM, 0); TSEC_PHY_WRITE(sc, TSEC_REG_MIIMCOM, TSEC_MIIMCOM_READCYCLE); - timeout = TSEC_READ_RETRY; - while (--timeout && TSEC_PHY_READ(sc, TSEC_REG_MIIMIND) & - (TSEC_MIIMIND_NOTVALID | TSEC_MIIMIND_BUSY)) - DELAY(TSEC_READ_DELAY); + timeout = tsec_mii_wait(sc, TSEC_MIIMIND_NOTVALID | TSEC_MIIMIND_BUSY); + rv = TSEC_PHY_READ(sc, TSEC_REG_MIIMSTAT); + TSEC_PHY_UNLOCK(); if (timeout == 0) device_printf(dev, "Timeout while reading from PHY!\n"); - rv = TSEC_PHY_READ(sc, TSEC_REG_MIIMSTAT); - TSEC_PHY_UNLOCK(); - return (rv); } @@ -1598,18 +1612,14 @@ int tsec_miibus_writereg(device_t dev, int phy, int reg, int value) { struct tsec_softc *sc; - uint32_t timeout; + int timeout; sc = device_get_softc(dev); TSEC_PHY_LOCK(); TSEC_PHY_WRITE(sc, TSEC_REG_MIIMADD, (phy << 8) | reg); TSEC_PHY_WRITE(sc, TSEC_REG_MIIMCON, value); - - timeout = TSEC_READ_RETRY; - while (--timeout && (TSEC_READ(sc, TSEC_REG_MIIMIND) & - TSEC_MIIMIND_BUSY)) - DELAY(TSEC_READ_DELAY); + timeout = tsec_mii_wait(sc, TSEC_MIIMIND_BUSY); TSEC_PHY_UNLOCK(); if (timeout == 0) From owner-svn-src-all@freebsd.org Tue Apr 4 00:46:49 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DAC3BD2B658; Tue, 4 Apr 2017 00:46:49 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ACA6AF40; Tue, 4 Apr 2017 00:46:49 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v340kmBE073454; Tue, 4 Apr 2017 00:46:48 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v340kmbY073453; Tue, 4 Apr 2017 00:46:48 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201704040046.v340kmbY073453@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Tue, 4 Apr 2017 00:46:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316479 - head/sys/dev/tsec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 00:46:50 -0000 Author: jhibbits Date: Tue Apr 4 00:46:48 2017 New Revision: 316479 URL: https://svnweb.freebsd.org/changeset/base/316479 Log: Fix set-but-not-used warnings Submitted by: Sebastian Huber Modified: head/sys/dev/tsec/if_tsec.c Modified: head/sys/dev/tsec/if_tsec.c ============================================================================== --- head/sys/dev/tsec/if_tsec.c Tue Apr 4 00:43:09 2017 (r316478) +++ head/sys/dev/tsec/if_tsec.c Tue Apr 4 00:46:48 2017 (r316479) @@ -370,7 +370,7 @@ tsec_mii_wait(struct tsec_softc *sc, uin timeout = TSEC_READ_RETRY; while ((TSEC_PHY_READ(sc, TSEC_REG_MIIMIND) & flags) && --timeout) - DELAY(TSEC_READ_DELAY); + DELAY(TSEC_READ_DELAY); return (timeout == 0); } @@ -927,11 +927,8 @@ tsec_ioctl(struct ifnet *ifp, u_long com { struct tsec_softc *sc = ifp->if_softc; struct ifreq *ifr = (struct ifreq *)data; - device_t dev; int mask, error = 0; - dev = sc->dev; - switch (command) { case SIOCSIFMTU: TSEC_GLOBAL_LOCK(sc); @@ -1290,7 +1287,6 @@ tsec_receive_intr_locked(struct tsec_sof struct ifnet *ifp; struct rx_data_type *rx_data; struct mbuf *m; - device_t dev; uint32_t i; int c, rx_npkts; uint16_t flags; @@ -1299,7 +1295,6 @@ tsec_receive_intr_locked(struct tsec_sof ifp = sc->tsec_ifp; rx_data = sc->rx_data; - dev = sc->dev; rx_npkts = 0; bus_dmamap_sync(sc->tsec_rx_dtag, sc->tsec_rx_dmap, From owner-svn-src-all@freebsd.org Tue Apr 4 02:37:42 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6B538D2D7E5; Tue, 4 Apr 2017 02:37:42 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3D3EDCB4; Tue, 4 Apr 2017 02:37:42 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v342bflj018034; Tue, 4 Apr 2017 02:37:41 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v342bfeo018033; Tue, 4 Apr 2017 02:37:41 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201704040237.v342bfeo018033@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Tue, 4 Apr 2017 02:37:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316480 - head/sys/dev/tsec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 02:37:42 -0000 Author: jhibbits Date: Tue Apr 4 02:37:41 2017 New Revision: 316480 URL: https://svnweb.freebsd.org/changeset/base/316480 Log: Fix mis-manual merge. Timeout is now effectively a boolean rather than a time-remaining. This was missed in r316478, but included in the original patch (mis-merged with a manual merge). Modified: head/sys/dev/tsec/if_tsec.c Modified: head/sys/dev/tsec/if_tsec.c ============================================================================== --- head/sys/dev/tsec/if_tsec.c Tue Apr 4 00:46:48 2017 (r316479) +++ head/sys/dev/tsec/if_tsec.c Tue Apr 4 02:37:41 2017 (r316480) @@ -1597,7 +1597,7 @@ tsec_miibus_readreg(device_t dev, int ph rv = TSEC_PHY_READ(sc, TSEC_REG_MIIMSTAT); TSEC_PHY_UNLOCK(); - if (timeout == 0) + if (timeout) device_printf(dev, "Timeout while reading from PHY!\n"); return (rv); @@ -1617,7 +1617,7 @@ tsec_miibus_writereg(device_t dev, int p timeout = tsec_mii_wait(sc, TSEC_MIIMIND_BUSY); TSEC_PHY_UNLOCK(); - if (timeout == 0) + if (timeout) device_printf(dev, "Timeout while writing to PHY!\n"); return (0); From owner-svn-src-all@freebsd.org Tue Apr 4 02:48:28 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4E597D2DAE3; Tue, 4 Apr 2017 02:48:28 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 14BFC19E; Tue, 4 Apr 2017 02:48:28 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v342mRZj022112; Tue, 4 Apr 2017 02:48:27 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v342mRDS022110; Tue, 4 Apr 2017 02:48:27 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201704040248.v342mRDS022110@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Tue, 4 Apr 2017 02:48:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316481 - head/sys/dev/tsec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 02:48:28 -0000 Author: jhibbits Date: Tue Apr 4 02:48:27 2017 New Revision: 316481 URL: https://svnweb.freebsd.org/changeset/base/316481 Log: Defragment the transmit mbuf chain only if necessary. Use a method similar to the if_dwc driver. Use a wmb() before the flags of the first transmit buffer of a frame are written. Group transmit/receive structure members for better cache efficiency. Tested on P1020RDB. TCP transmit throughput increases from 60MiB/s to 90MiB/s. Submitted by: Sebastian Huber Modified: head/sys/dev/tsec/if_tsec.c head/sys/dev/tsec/if_tsec.h Modified: head/sys/dev/tsec/if_tsec.c ============================================================================== --- head/sys/dev/tsec/if_tsec.c Tue Apr 4 02:37:41 2017 (r316480) +++ head/sys/dev/tsec/if_tsec.c Tue Apr 4 02:48:27 2017 (r316481) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -71,8 +72,8 @@ static int tsec_alloc_dma_desc(device_t bus_dmamap_t *dmap, bus_size_t dsize, void **vaddr, void *raddr, const char *dname); static void tsec_dma_ctl(struct tsec_softc *sc, int state); -static int tsec_encap(struct tsec_softc *sc, struct mbuf *m_head, - int fcb_inserted); +static void tsec_encap(struct ifnet *ifp, struct tsec_softc *sc, + struct mbuf *m0, uint16_t fcb_flags, int *start_tx); static void tsec_free_dma(struct tsec_softc *sc); static void tsec_free_dma_desc(bus_dma_tag_t dtag, bus_dmamap_t dmap, void *vaddr); static int tsec_ifmedia_upd(struct ifnet *ifp); @@ -119,8 +120,6 @@ tsec_attach(struct tsec_softc *sc) { uint8_t hwaddr[ETHER_ADDR_LEN]; struct ifnet *ifp; - bus_dmamap_t *map_ptr; - bus_dmamap_t **map_pptr; int error = 0; int i; @@ -175,7 +174,7 @@ tsec_attach(struct tsec_softc *sc) BUS_SPACE_MAXADDR, /* highaddr */ NULL, NULL, /* filtfunc, filtfuncarg */ MCLBYTES * (TSEC_TX_NUM_DESC - 1), /* maxsize */ - TSEC_TX_NUM_DESC - 1, /* nsegments */ + TSEC_TX_MAX_DMA_SEGS, /* nsegments */ MCLBYTES, 0, /* maxsegsz, flags */ NULL, NULL, /* lockfunc, lockfuncarg */ &sc->tsec_tx_mtag); /* dmat */ @@ -205,17 +204,15 @@ tsec_attach(struct tsec_softc *sc) } /* Create TX busdma maps */ - map_ptr = sc->tx_map_data; - map_pptr = sc->tx_map_unused_data; - for (i = 0; i < TSEC_TX_NUM_DESC; i++) { - map_pptr[i] = &map_ptr[i]; - error = bus_dmamap_create(sc->tsec_tx_mtag, 0, map_pptr[i]); + error = bus_dmamap_create(sc->tsec_tx_mtag, 0, + &sc->tx_bufmap[i].map); if (error) { device_printf(sc->dev, "failed to init TX ring\n"); tsec_detach(sc); return (ENXIO); } + sc->tx_bufmap[i].map_initialized = 1; } /* Create RX busdma maps and zero mbuf handlers */ @@ -726,124 +723,135 @@ static void tsec_start_locked(struct ifnet *ifp) { struct tsec_softc *sc; - struct mbuf *m0, *mtmp; + struct mbuf *m0; struct tsec_tx_fcb *tx_fcb; - unsigned int queued = 0; - int csum_flags, fcb_inserted = 0; + int csum_flags; + int start_tx; + uint16_t fcb_flags; sc = ifp->if_softc; + start_tx = 0; TSEC_TRANSMIT_LOCK_ASSERT(sc); - if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != - IFF_DRV_RUNNING) - return; - if (sc->tsec_link == 0) return; bus_dmamap_sync(sc->tsec_tx_dtag, sc->tsec_tx_dmap, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); - while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { + for (;;) { + + if (TSEC_FREE_TX_DESC(sc) < TSEC_TX_MAX_DMA_SEGS) { + /* No free descriptors */ + ifp->if_drv_flags |= IFF_DRV_OACTIVE; + break; + } + /* Get packet from the queue */ IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); if (m0 == NULL) break; /* Insert TCP/IP Off-load frame control block */ + fcb_flags = 0; csum_flags = m0->m_pkthdr.csum_flags; if (csum_flags) { - M_PREPEND(m0, sizeof(struct tsec_tx_fcb), M_NOWAIT); if (m0 == NULL) break; - tx_fcb = mtod(m0, struct tsec_tx_fcb *); - tx_fcb->flags = 0; - tx_fcb->l3_offset = ETHER_HDR_LEN; - tx_fcb->l4_offset = sizeof(struct ip); - if (csum_flags & CSUM_IP) - tx_fcb->flags |= TSEC_TX_FCB_IP4 | + fcb_flags |= TSEC_TX_FCB_IP4 | TSEC_TX_FCB_CSUM_IP; if (csum_flags & CSUM_TCP) - tx_fcb->flags |= TSEC_TX_FCB_TCP | + fcb_flags |= TSEC_TX_FCB_TCP | TSEC_TX_FCB_CSUM_TCP_UDP; if (csum_flags & CSUM_UDP) - tx_fcb->flags |= TSEC_TX_FCB_UDP | + fcb_flags |= TSEC_TX_FCB_UDP | TSEC_TX_FCB_CSUM_TCP_UDP; - fcb_inserted = 1; + tx_fcb = mtod(m0, struct tsec_tx_fcb *); + tx_fcb->flags = fcb_flags; + tx_fcb->l3_offset = ETHER_HDR_LEN; + tx_fcb->l4_offset = sizeof(struct ip); } - mtmp = m_defrag(m0, M_NOWAIT); - if (mtmp) - m0 = mtmp; - - if (tsec_encap(sc, m0, fcb_inserted)) { - IFQ_DRV_PREPEND(&ifp->if_snd, m0); - ifp->if_drv_flags |= IFF_DRV_OACTIVE; - break; - } - queued++; - BPF_MTAP(ifp, m0); + tsec_encap(ifp, sc, m0, fcb_flags, &start_tx); } bus_dmamap_sync(sc->tsec_tx_dtag, sc->tsec_tx_dmap, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); - if (queued) { + if (start_tx) { /* Enable transmitter and watchdog timer */ TSEC_WRITE(sc, TSEC_REG_TSTAT, TSEC_TSTAT_THLT); sc->tsec_watchdog = 5; } } -static int -tsec_encap(struct tsec_softc *sc, struct mbuf *m0, int fcb_inserted) +static void +tsec_encap(struct ifnet *ifp, struct tsec_softc *sc, struct mbuf *m0, + uint16_t fcb_flags, int *start_tx) { - struct tsec_desc *tx_desc = NULL; - struct ifnet *ifp; - bus_dma_segment_t segs[TSEC_TX_NUM_DESC]; - bus_dmamap_t *mapp; - int csum_flag = 0, error, seg, nsegs; + bus_dma_segment_t segs[TSEC_TX_MAX_DMA_SEGS]; + int error, i, nsegs; + struct tsec_bufmap *tx_bufmap; + uint32_t tx_idx; + uint16_t flags; TSEC_TRANSMIT_LOCK_ASSERT(sc); - ifp = sc->tsec_ifp; - - if (TSEC_FREE_TX_DESC(sc) == 0) { - /* No free descriptors */ - return (-1); + tx_idx = sc->tx_idx_head; + tx_bufmap = &sc->tx_bufmap[tx_idx]; + + /* Create mapping in DMA memory */ + error = bus_dmamap_load_mbuf_sg(sc->tsec_tx_mtag, tx_bufmap->map, m0, + segs, &nsegs, BUS_DMA_NOWAIT); + if (error == EFBIG) { + /* Too many segments! Defrag and try again. */ + struct mbuf *m = m_defrag(m0, M_NOWAIT); + + if (m == NULL) { + m_freem(m0); + return; + } + m0 = m; + error = bus_dmamap_load_mbuf_sg(sc->tsec_tx_mtag, + tx_bufmap->map, m0, segs, &nsegs, BUS_DMA_NOWAIT); + } + if (error != 0) { + /* Give up. */ + m_freem(m0); + return; } - /* Fetch unused map */ - mapp = TSEC_ALLOC_TX_MAP(sc); + bus_dmamap_sync(sc->tsec_tx_mtag, tx_bufmap->map, + BUS_DMASYNC_PREWRITE); + tx_bufmap->mbuf = m0; + + /* + * Fill in the TX descriptors back to front so that READY bit in first + * descriptor is set last. + */ + tx_idx = (tx_idx + (uint32_t)nsegs) & (TSEC_TX_NUM_DESC - 1); + sc->tx_idx_head = tx_idx; + flags = TSEC_TXBD_L | TSEC_TXBD_I | TSEC_TXBD_R | TSEC_TXBD_TC; + for (i = nsegs - 1; i >= 0; i--) { + struct tsec_desc *tx_desc; + + tx_idx = (tx_idx - 1) & (TSEC_TX_NUM_DESC - 1); + tx_desc = &sc->tsec_tx_vaddr[tx_idx]; + tx_desc->length = segs[i].ds_len; + tx_desc->bufptr = segs[i].ds_addr; - /* Create mapping in DMA memory */ - error = bus_dmamap_load_mbuf_sg(sc->tsec_tx_mtag, - *mapp, m0, segs, &nsegs, BUS_DMA_NOWAIT); - if (error != 0 || nsegs > TSEC_FREE_TX_DESC(sc) || nsegs <= 0) { - bus_dmamap_unload(sc->tsec_tx_mtag, *mapp); - TSEC_FREE_TX_MAP(sc, mapp); - return ((error != 0) ? error : -1); - } - bus_dmamap_sync(sc->tsec_tx_mtag, *mapp, BUS_DMASYNC_PREWRITE); - - if ((ifp->if_flags & IFF_DEBUG) && (nsegs > 1)) - if_printf(ifp, "TX buffer has %d segments\n", nsegs); - - if (fcb_inserted) - csum_flag = TSEC_TXBD_TOE; - - /* Everything is ok, now we can send buffers */ - for (seg = 0; seg < nsegs; seg++) { - tx_desc = TSEC_GET_CUR_TX_DESC(sc); + if (i == 0) { + wmb(); - tx_desc->length = segs[seg].ds_len; - tx_desc->bufptr = segs[seg].ds_addr; + if (fcb_flags != 0) + flags |= TSEC_TXBD_TOE; + } /* * Set flags: @@ -853,17 +861,14 @@ tsec_encap(struct tsec_softc *sc, struct * - transmit the CRC sequence after the last data byte * - interrupt after the last buffer */ - tx_desc->flags = - (tx_desc->flags & TSEC_TXBD_W) | - ((seg == 0) ? csum_flag : 0) | TSEC_TXBD_R | TSEC_TXBD_TC | - ((seg == nsegs - 1) ? TSEC_TXBD_L | TSEC_TXBD_I : 0); - } + tx_desc->flags = (tx_idx == (TSEC_TX_NUM_DESC - 1) ? + TSEC_TXBD_W : 0) | flags; - /* Save mbuf and DMA mapping for release at later stage */ - TSEC_PUT_TX_MBUF(sc, m0); - TSEC_PUT_TX_MAP(sc, mapp); + flags &= ~(TSEC_TXBD_L | TSEC_TXBD_I); + } - return (0); + BPF_MTAP(ifp, m0); + *start_tx = 1; } static void @@ -1174,9 +1179,9 @@ tsec_free_dma(struct tsec_softc *sc) /* Free TX maps */ for (i = 0; i < TSEC_TX_NUM_DESC; i++) - if (sc->tx_map_data[i] != NULL) + if (sc->tx_bufmap[i].map_initialized) bus_dmamap_destroy(sc->tsec_tx_mtag, - sc->tx_map_data[i]); + sc->tx_bufmap[i].map); /* Destroy tag for TX mbufs */ bus_dma_tag_destroy(sc->tsec_tx_mtag); @@ -1211,8 +1216,6 @@ static void tsec_stop(struct tsec_softc *sc) { struct ifnet *ifp; - struct mbuf *m0; - bus_dmamap_t *mapp; uint32_t tmpval; TSEC_GLOBAL_LOCK_ASSERT(sc); @@ -1229,16 +1232,15 @@ tsec_stop(struct tsec_softc *sc) tsec_dma_ctl(sc, 0); /* Remove pending data from TX queue */ - while (!TSEC_EMPTYQ_TX_MBUF(sc)) { - m0 = TSEC_GET_TX_MBUF(sc); - mapp = TSEC_GET_TX_MAP(sc); - - bus_dmamap_sync(sc->tsec_tx_mtag, *mapp, + while (sc->tx_idx_tail != sc->tx_idx_head) { + bus_dmamap_sync(sc->tsec_tx_mtag, + sc->tx_bufmap[sc->tx_idx_tail].map, BUS_DMASYNC_POSTWRITE); - bus_dmamap_unload(sc->tsec_tx_mtag, *mapp); - - TSEC_FREE_TX_MAP(sc, mapp); - m_freem(m0); + bus_dmamap_unload(sc->tsec_tx_mtag, + sc->tx_bufmap[sc->tx_idx_tail].map); + m_freem(sc->tx_bufmap[sc->tx_idx_tail].mbuf); + sc->tx_idx_tail = (sc->tx_idx_tail + 1) + & (TSEC_TX_NUM_DESC - 1); } /* Disable RX and TX */ @@ -1362,7 +1364,7 @@ tsec_receive_intr_locked(struct tsec_sof if (tsec_new_rxbuf(sc->tsec_rx_mtag, rx_data[i].map, &rx_data[i].mbuf, &rx_data[i].paddr)) { - if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); + if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); /* * We ran out of mbufs; didn't consume current * descriptor and have to return it to the queue. @@ -1432,11 +1434,8 @@ tsec_receive_intr(void *arg) static void tsec_transmit_intr_locked(struct tsec_softc *sc) { - struct tsec_desc *tx_desc; struct ifnet *ifp; - struct mbuf *m0; - bus_dmamap_t *mapp; - int send = 0; + uint32_t tx_idx; TSEC_TRANSMIT_LOCK_ASSERT(sc); @@ -1455,44 +1454,41 @@ tsec_transmit_intr_locked(struct tsec_so bus_dmamap_sync(sc->tsec_tx_dtag, sc->tsec_tx_dmap, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); - while (TSEC_CUR_DIFF_DIRTY_TX_DESC(sc)) { - tx_desc = TSEC_GET_DIRTY_TX_DESC(sc); + tx_idx = sc->tx_idx_tail; + while (tx_idx != sc->tx_idx_head) { + struct tsec_desc *tx_desc; + struct tsec_bufmap *tx_bufmap; + + tx_desc = &sc->tsec_tx_vaddr[tx_idx]; if (tx_desc->flags & TSEC_TXBD_R) { - TSEC_BACK_DIRTY_TX_DESC(sc); break; } - if ((tx_desc->flags & TSEC_TXBD_L) == 0) + tx_bufmap = &sc->tx_bufmap[tx_idx]; + tx_idx = (tx_idx + 1) & (TSEC_TX_NUM_DESC - 1); + if (tx_bufmap->mbuf == NULL) continue; /* * This is the last buf in this packet, so unmap and free it. */ - m0 = TSEC_GET_TX_MBUF(sc); - mapp = TSEC_GET_TX_MAP(sc); - - bus_dmamap_sync(sc->tsec_tx_mtag, *mapp, + bus_dmamap_sync(sc->tsec_tx_mtag, tx_bufmap->map, BUS_DMASYNC_POSTWRITE); - bus_dmamap_unload(sc->tsec_tx_mtag, *mapp); - - TSEC_FREE_TX_MAP(sc, mapp); - m_freem(m0); + bus_dmamap_unload(sc->tsec_tx_mtag, tx_bufmap->map); + m_freem(tx_bufmap->mbuf); + tx_bufmap->mbuf = NULL; if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); - send = 1; } + sc->tx_idx_tail = tx_idx; bus_dmamap_sync(sc->tsec_tx_dtag, sc->tsec_tx_dmap, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); - if (send) { - /* Now send anything that was pending */ - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - tsec_start_locked(ifp); + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + tsec_start_locked(ifp); - /* Stop wathdog if all sent */ - if (TSEC_EMPTYQ_TX_MBUF(sc)) - sc->tsec_watchdog = 0; - } + if (sc->tx_idx_tail == sc->tx_idx_head) + sc->tsec_watchdog = 0; } void @@ -1543,9 +1539,8 @@ tsec_error_intr_locked(struct tsec_softc TSEC_WRITE(sc, TSEC_REG_TSTAT, TSEC_TSTAT_THLT); } - /* Check receiver errors */ + /* Check for discarded frame due to a lack of buffers */ if (eflags & TSEC_IEVENT_BSY) { - if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); /* Get data from RX buffers */ Modified: head/sys/dev/tsec/if_tsec.h ============================================================================== --- head/sys/dev/tsec/if_tsec.h Tue Apr 4 02:37:41 2017 (r316480) +++ head/sys/dev/tsec/if_tsec.h Tue Apr 4 02:48:27 2017 (r316481) @@ -32,6 +32,7 @@ #define TSEC_RX_NUM_DESC 256 #define TSEC_TX_NUM_DESC 256 +#define TSEC_TX_MAX_DMA_SEGS 8 /* Interrupt Coalescing types */ #define TSEC_IC_RX 0 @@ -44,6 +45,12 @@ #define TSEC_MIN_FRAME_SIZE 64 #define TSEC_MAX_FRAME_SIZE 9600 +struct tsec_bufmap { + bus_dmamap_t map; + int map_initialized; + struct mbuf *mbuf; +}; + struct tsec_softc { /* XXX MII bus requires that struct ifnet is first!!! */ struct ifnet *tsec_ifp; @@ -59,16 +66,16 @@ struct tsec_softc { bus_dma_tag_t tsec_tx_dtag; /* TX descriptors tag */ bus_dmamap_t tsec_tx_dmap; /* TX descriptors map */ - struct tsec_desc *tsec_tx_vaddr;/* vadress of TX descriptors */ - uint32_t tsec_tx_raddr; /* real address of TX descriptors */ + bus_dma_tag_t tsec_tx_mtag; /* TX mbufs tag */ + uint32_t tx_idx_head; /* TX head descriptor/bufmap index */ + uint32_t tx_idx_tail; /* TX tail descriptor/bufmap index */ + struct tsec_desc *tsec_tx_vaddr;/* virtual address of TX descriptors */ + struct tsec_bufmap tx_bufmap[TSEC_TX_NUM_DESC]; + bus_dma_tag_t tsec_rx_mtag; /* TX mbufs tag */ bus_dma_tag_t tsec_rx_dtag; /* RX descriptors tag */ bus_dmamap_t tsec_rx_dmap; /* RX descriptors map */ struct tsec_desc *tsec_rx_vaddr; /* vadress of RX descriptors */ - uint32_t tsec_rx_raddr; /* real address of RX descriptors */ - - bus_dma_tag_t tsec_tx_mtag; /* TX mbufs tag */ - bus_dma_tag_t tsec_rx_mtag; /* TX mbufs tag */ struct rx_data_type { bus_dmamap_t map; /* mbuf map */ @@ -76,8 +83,6 @@ struct tsec_softc { uint32_t paddr; /* DMA address of buffer */ } rx_data[TSEC_RX_NUM_DESC]; - uint32_t tx_cur_desc_cnt; - uint32_t tx_dirty_desc_cnt; uint32_t rx_cur_desc_cnt; struct resource *sc_rres; /* register resource */ @@ -104,24 +109,6 @@ struct tsec_softc { struct callout tsec_callout; int tsec_watchdog; - /* TX maps */ - bus_dmamap_t tx_map_data[TSEC_TX_NUM_DESC]; - - /* unused TX maps data */ - uint32_t tx_map_unused_get_cnt; - uint32_t tx_map_unused_put_cnt; - bus_dmamap_t *tx_map_unused_data[TSEC_TX_NUM_DESC]; - - /* used TX maps data */ - uint32_t tx_map_used_get_cnt; - uint32_t tx_map_used_put_cnt; - bus_dmamap_t *tx_map_used_data[TSEC_TX_NUM_DESC]; - - /* mbufs in TX queue */ - uint32_t tx_mbuf_used_get_cnt; - uint32_t tx_mbuf_used_put_cnt; - struct mbuf *tx_mbuf_used_data[TSEC_TX_NUM_DESC]; - /* interrupt coalescing */ struct mtx ic_lock; uint32_t rx_ic_time; /* RW, valid values 0..65535 */ @@ -136,6 +123,9 @@ struct tsec_softc { bus_space_tag_t phy_bst; bus_space_handle_t phy_bsh; int phy_regoff; + + uint32_t tsec_rx_raddr; /* real address of RX descriptors */ + uint32_t tsec_tx_raddr; /* real address of TX descriptors */ }; /* interface to get/put generic objects */ @@ -156,75 +146,8 @@ struct tsec_softc { (sc)->count = (wrap) - 1; \ } while (0) -/* TX maps interface */ -#define TSEC_TX_MAP_CNT_INIT(sc) do { \ - TSEC_CNT_INIT((sc)->tx_map_unused_get_cnt, TSEC_TX_NUM_DESC); \ - TSEC_CNT_INIT((sc)->tx_map_unused_put_cnt, TSEC_TX_NUM_DESC); \ - TSEC_CNT_INIT((sc)->tx_map_used_get_cnt, TSEC_TX_NUM_DESC); \ - TSEC_CNT_INIT((sc)->tx_map_used_put_cnt, TSEC_TX_NUM_DESC); \ -} while (0) - -/* interface to get/put unused TX maps */ -#define TSEC_ALLOC_TX_MAP(sc) \ - TSEC_GET_GENERIC(sc, tx_map_unused_data, tx_map_unused_get_cnt, \ - TSEC_TX_NUM_DESC) - -#define TSEC_FREE_TX_MAP(sc, val) \ - TSEC_PUT_GENERIC(sc, tx_map_unused_data, tx_map_unused_put_cnt, \ - TSEC_TX_NUM_DESC, val) - -/* interface to get/put used TX maps */ -#define TSEC_GET_TX_MAP(sc) \ - TSEC_GET_GENERIC(sc, tx_map_used_data, tx_map_used_get_cnt, \ - TSEC_TX_NUM_DESC) - -#define TSEC_PUT_TX_MAP(sc, val) \ - TSEC_PUT_GENERIC(sc, tx_map_used_data, tx_map_used_put_cnt, \ - TSEC_TX_NUM_DESC, val) - -/* interface to get/put TX mbufs in send queue */ -#define TSEC_TX_MBUF_CNT_INIT(sc) do { \ - TSEC_CNT_INIT((sc)->tx_mbuf_used_get_cnt, TSEC_TX_NUM_DESC); \ - TSEC_CNT_INIT((sc)->tx_mbuf_used_put_cnt, TSEC_TX_NUM_DESC); \ -} while (0) - -#define TSEC_GET_TX_MBUF(sc) \ - TSEC_GET_GENERIC(sc, tx_mbuf_used_data, tx_mbuf_used_get_cnt, \ - TSEC_TX_NUM_DESC) - -#define TSEC_PUT_TX_MBUF(sc, val) \ - TSEC_PUT_GENERIC(sc, tx_mbuf_used_data, tx_mbuf_used_put_cnt, \ - TSEC_TX_NUM_DESC, val) - -#define TSEC_EMPTYQ_TX_MBUF(sc) \ - ((sc)->tx_mbuf_used_get_cnt == (sc)->tx_mbuf_used_put_cnt) - -/* interface for manage tx tsec_desc */ -#define TSEC_TX_DESC_CNT_INIT(sc) do { \ - TSEC_CNT_INIT((sc)->tx_cur_desc_cnt, TSEC_TX_NUM_DESC); \ - TSEC_CNT_INIT((sc)->tx_dirty_desc_cnt, TSEC_TX_NUM_DESC); \ -} while (0) - -#define TSEC_GET_CUR_TX_DESC(sc) \ - &TSEC_GET_GENERIC(sc, tsec_tx_vaddr, tx_cur_desc_cnt, \ - TSEC_TX_NUM_DESC) - -#define TSEC_GET_DIRTY_TX_DESC(sc) \ - &TSEC_GET_GENERIC(sc, tsec_tx_vaddr, tx_dirty_desc_cnt, \ - TSEC_TX_NUM_DESC) - -#define TSEC_BACK_DIRTY_TX_DESC(sc) \ - TSEC_BACK_GENERIC(sc, tx_dirty_desc_cnt, TSEC_TX_NUM_DESC) - -#define TSEC_CUR_DIFF_DIRTY_TX_DESC(sc) \ - ((sc)->tx_cur_desc_cnt != (sc)->tx_dirty_desc_cnt) - -#define TSEC_FREE_TX_DESC(sc) \ - (((sc)->tx_cur_desc_cnt < (sc)->tx_dirty_desc_cnt) ? \ - ((sc)->tx_dirty_desc_cnt - (sc)->tx_cur_desc_cnt - 1) \ - : \ - (TSEC_TX_NUM_DESC - (sc)->tx_cur_desc_cnt \ - + (sc)->tx_dirty_desc_cnt - 1)) +#define TSEC_FREE_TX_DESC(sc) \ + (((sc)->tx_idx_tail - (sc)->tx_idx_head - 1) & (TSEC_TX_NUM_DESC - 1)) /* interface for manage rx tsec_desc */ #define TSEC_RX_DESC_CNT_INIT(sc) do { \ @@ -243,9 +166,8 @@ struct tsec_softc { /* init all counters (for init only!) */ #define TSEC_TX_RX_COUNTERS_INIT(sc) do { \ - TSEC_TX_MAP_CNT_INIT(sc); \ - TSEC_TX_MBUF_CNT_INIT(sc); \ - TSEC_TX_DESC_CNT_INIT(sc); \ + sc->tx_idx_head = 0; \ + sc->tx_idx_tail = 0; \ TSEC_RX_DESC_CNT_INIT(sc); \ } while (0) From owner-svn-src-all@freebsd.org Tue Apr 4 02:55:56 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 524B6D2DD1D; Tue, 4 Apr 2017 02:55:56 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2263C8AD; Tue, 4 Apr 2017 02:55:56 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v342ttZG026004; Tue, 4 Apr 2017 02:55:55 GMT (envelope-from jhibbits@FreeBSD.org) Received: (from jhibbits@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v342ttNT026003; Tue, 4 Apr 2017 02:55:55 GMT (envelope-from jhibbits@FreeBSD.org) Message-Id: <201704040255.v342ttNT026003@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhibbits set sender to jhibbits@FreeBSD.org using -f From: Justin Hibbits Date: Tue, 4 Apr 2017 02:55:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316482 - head/sys/dev/tsec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 02:55:56 -0000 Author: jhibbits Date: Tue Apr 4 02:55:55 2017 New Revision: 316482 URL: https://svnweb.freebsd.org/changeset/base/316482 Log: Don't calltsec_receive_intr_locked() from the error interrupt handler. The tsec_error_intr_locked() is called with the global lock owned (e.g. the transmit and the receive lock are both owned). We must not call tsec_receive_intr_locked() while owning the transmit lock. The normal receive interrupt takes care that frames are received, this is none of the business of the error interrupt. Submitted by: Sebastian Huber Modified: head/sys/dev/tsec/if_tsec.c Modified: head/sys/dev/tsec/if_tsec.c ============================================================================== --- head/sys/dev/tsec/if_tsec.c Tue Apr 4 02:48:27 2017 (r316481) +++ head/sys/dev/tsec/if_tsec.c Tue Apr 4 02:55:55 2017 (r316482) @@ -1542,9 +1542,6 @@ tsec_error_intr_locked(struct tsec_softc /* Check for discarded frame due to a lack of buffers */ if (eflags & TSEC_IEVENT_BSY) { if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); - - /* Get data from RX buffers */ - tsec_receive_intr_locked(sc, count); } if (ifp->if_flags & IFF_DEBUG) From owner-svn-src-all@freebsd.org Tue Apr 4 04:01:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4CDB7D2D30C; Tue, 4 Apr 2017 04:01:04 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 19AD2C8C; Tue, 4 Apr 2017 04:01:04 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34413M4050966; Tue, 4 Apr 2017 04:01:03 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34413lS050965; Tue, 4 Apr 2017 04:01:03 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201704040401.v34413lS050965@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Tue, 4 Apr 2017 04:01:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316483 - head/sys/opencrypto X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 04:01:04 -0000 Author: allanjude Date: Tue Apr 4 04:01:02 2017 New Revision: 316483 URL: https://svnweb.freebsd.org/changeset/base/316483 Log: remove machine/metadata.h from sys/opencrypto/crypto.c The header was added by the recent keybuf feature (r316343) MODINFOMD_KEYBUF originally resided here, but was moved to linker.h This change fixes the build on risc-5 which doesn't have a metadata.h Detected by Jenkins: https://ci.freebsd.org/job/FreeBSD-head-riscv64-build/1167/console Reported by: lwhsu Modified: head/sys/opencrypto/crypto.c Modified: head/sys/opencrypto/crypto.c ============================================================================== --- head/sys/opencrypto/crypto.c Tue Apr 4 02:55:55 2017 (r316482) +++ head/sys/opencrypto/crypto.c Tue Apr 4 04:01:02 2017 (r316483) @@ -86,7 +86,6 @@ __FBSDID("$FreeBSD$"); #if defined(__i386__) || defined(__amd64__) || defined(__aarch64__) #include #endif -#include SDT_PROVIDER_DEFINE(opencrypto); From owner-svn-src-all@freebsd.org Tue Apr 4 05:56:44 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A655D2D1DA; Tue, 4 Apr 2017 05:56:44 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1552DE7; Tue, 4 Apr 2017 05:56:44 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v345uh62099477; Tue, 4 Apr 2017 05:56:43 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v345uhOT099475; Tue, 4 Apr 2017 05:56:43 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201704040556.v345uhOT099475@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Tue, 4 Apr 2017 05:56:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316484 - head/usr.bin/grep X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 05:56:44 -0000 Author: cem Date: Tue Apr 4 05:56:42 2017 New Revision: 316484 URL: https://svnweb.freebsd.org/changeset/base/316484 Log: bsdgrep(1): create rgrep link Create a convenience rgrep link for bsdgrep(1) that observes 'grep -r' behavior. A follow-up to r316473. Submitted by: Kyle Evans Reviewed by: emaste (earlier version), cem Differential Revision: https://reviews.freebsd.org/D10109 Modified: head/usr.bin/grep/Makefile head/usr.bin/grep/grep.1 Modified: head/usr.bin/grep/Makefile ============================================================================== --- head/usr.bin/grep/Makefile Tue Apr 4 04:01:02 2017 (r316483) +++ head/usr.bin/grep/Makefile Tue Apr 4 05:56:42 2017 (r316484) @@ -25,12 +25,14 @@ CFLAGS.gcc+= --param max-inline-insns-si .if ${MK_BSD_GREP} == "yes" LINKS= ${BINDIR}/grep ${BINDIR}/egrep \ ${BINDIR}/grep ${BINDIR}/fgrep \ + ${BINDIR}/grep ${BINDIR}/rgrep \ ${BINDIR}/grep ${BINDIR}/zgrep \ ${BINDIR}/grep ${BINDIR}/zegrep \ ${BINDIR}/grep ${BINDIR}/zfgrep MLINKS= grep.1 egrep.1 \ grep.1 fgrep.1 \ + grep.1 rgrep.1 \ grep.1 zgrep.1 \ grep.1 zegrep.1 \ grep.1 zfgrep.1 Modified: head/usr.bin/grep/grep.1 ============================================================================== --- head/usr.bin/grep/grep.1 Tue Apr 4 04:01:02 2017 (r316483) +++ head/usr.bin/grep/grep.1 Tue Apr 4 05:56:42 2017 (r316484) @@ -34,7 +34,7 @@ .Dt GREP 1 .Os .Sh NAME -.Nm grep , egrep , fgrep , +.Nm grep , egrep , fgrep , rgrep , .Nm zgrep , zegrep , zfgrep .Nd file pattern searcher .Sh SYNOPSIS @@ -341,6 +341,10 @@ will only search a file until a match ha making searches potentially less expensive. .It Fl R , Fl r , Fl Fl recursive Recursively search subdirectories listed. +(i.e. force +.Nm grep +to behave as +.Nm rgrep ) . .It Fl S If .Fl R From owner-svn-src-all@freebsd.org Tue Apr 4 06:17:01 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E7174D2D5F4; Tue, 4 Apr 2017 06:17:01 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9EBE2B26; Tue, 4 Apr 2017 06:17:01 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v346H0Db007681; Tue, 4 Apr 2017 06:17:00 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v346H0Eg007675; Tue, 4 Apr 2017 06:17:00 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201704040617.v346H0Eg007675@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Tue, 4 Apr 2017 06:17:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316485 - in head: share/man/man4 sys/conf sys/dev/qlnx sys/dev/qlnx/qlnxe sys/modules sys/modules/qlnx sys/modules/qlnx/qlnxe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 06:17:02 -0000 Author: davidcs Date: Tue Apr 4 06:16:59 2017 New Revision: 316485 URL: https://svnweb.freebsd.org/changeset/base/316485 Log: Add 25/40/100Gigabit Ethernet Driver version v1.3.0 for Cavium Inc's. Qlogic 45000 Series Adapters MFC after:2 weeks Added: head/share/man/man4/qlnxe.4 (contents, props changed) head/sys/dev/qlnx/ head/sys/dev/qlnx/qlnxe/ head/sys/dev/qlnx/qlnxe/bcm_osal.h (contents, props changed) head/sys/dev/qlnx/qlnxe/common_hsi.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_chain.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_cxt.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_cxt.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_cxt_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_dbg_fw_funcs.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_dbg_values.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_dcbx.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_dcbx.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_dcbx_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_dev.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_dev_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_fcoe.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_fcoe_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_gtt_reg_addr.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_gtt_values.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hsi_common.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hsi_debug_tools.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hsi_eth.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hsi_fcoe.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hsi_init_func.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hsi_init_tool.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hsi_iscsi.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hsi_iwarp.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hsi_rdma.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hsi_roce.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hw.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hw.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_hw_defs.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_init_fw_funcs.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_init_ops.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_init_ops.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_init_values.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_int.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_int.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_int_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_iov_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_iro.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_iro_values.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_iscsi.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_iscsi_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_l2.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_l2.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_l2_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_ll2.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_ll2_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_mcp.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_mcp.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_mcp_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_ooo.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_proto_if.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_roce.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_roce_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_rt_defs.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_sp_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_sp_commands.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_sp_commands.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_spq.c (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_spq.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_sriov.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_status.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_utils.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_vf.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_vf_api.h (contents, props changed) head/sys/dev/qlnx/qlnxe/ecore_vfpf_if.h (contents, props changed) head/sys/dev/qlnx/qlnxe/eth_common.h (contents, props changed) head/sys/dev/qlnx/qlnxe/fcoe_common.h (contents, props changed) head/sys/dev/qlnx/qlnxe/iscsi_common.h (contents, props changed) head/sys/dev/qlnx/qlnxe/iwarp_common.h (contents, props changed) head/sys/dev/qlnx/qlnxe/mcp_private.h (contents, props changed) head/sys/dev/qlnx/qlnxe/mcp_public.h (contents, props changed) head/sys/dev/qlnx/qlnxe/mfw_hsi.h (contents, props changed) head/sys/dev/qlnx/qlnxe/nvm_cfg.h (contents, props changed) head/sys/dev/qlnx/qlnxe/nvm_map.h (contents, props changed) head/sys/dev/qlnx/qlnxe/pcics_reg_driver.h (contents, props changed) head/sys/dev/qlnx/qlnxe/qlnx_def.h (contents, props changed) head/sys/dev/qlnx/qlnxe/qlnx_ioctl.c (contents, props changed) head/sys/dev/qlnx/qlnxe/qlnx_ioctl.h (contents, props changed) head/sys/dev/qlnx/qlnxe/qlnx_os.c (contents, props changed) head/sys/dev/qlnx/qlnxe/qlnx_os.h (contents, props changed) head/sys/dev/qlnx/qlnxe/qlnx_ver.h (contents, props changed) head/sys/dev/qlnx/qlnxe/rdma_common.h (contents, props changed) head/sys/dev/qlnx/qlnxe/reg_addr.h (contents, props changed) head/sys/dev/qlnx/qlnxe/roce_common.h (contents, props changed) head/sys/dev/qlnx/qlnxe/spad_layout.h (contents, props changed) head/sys/dev/qlnx/qlnxe/storage_common.h (contents, props changed) head/sys/dev/qlnx/qlnxe/tcp_common.h (contents, props changed) head/sys/modules/qlnx/ head/sys/modules/qlnx/Makefile (contents, props changed) head/sys/modules/qlnx/qlnxe/ head/sys/modules/qlnx/qlnxe/Makefile (contents, props changed) Modified: head/share/man/man4/Makefile head/sys/conf/files.amd64 head/sys/modules/Makefile Modified: head/share/man/man4/Makefile ============================================================================== --- head/share/man/man4/Makefile Tue Apr 4 05:56:42 2017 (r316484) +++ head/share/man/man4/Makefile Tue Apr 4 06:16:59 2017 (r316485) @@ -426,6 +426,7 @@ MAN= aac.4 \ ${_qlxge.4} \ ${_qlxgb.4} \ ${_qlxgbe.4} \ + ${_qlnxe.4} \ ral.4 \ random.4 \ rc.4 \ @@ -846,11 +847,13 @@ _ntb_transport.4=ntb_transport.4 _qlxge.4= qlxge.4 _qlxgb.4= qlxgb.4 _qlxgbe.4= qlxgbe.4 +_qlnxe.4= qlnxe.4 _sfxge.4= sfxge.4 MLINKS+=qlxge.4 if_qlxge.4 MLINKS+=qlxgb.4 if_qlxgb.4 MLINKS+=qlxgbe.4 if_qlxgbe.4 +MLINKS+=qlnxe.4 if_qlnxe.4 MLINKS+=sfxge.4 if_sfxge.4 .if ${MK_BHYVE} != "no" Added: head/share/man/man4/qlnxe.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man4/qlnxe.4 Tue Apr 4 06:16:59 2017 (r316485) @@ -0,0 +1,90 @@ +.\"- +.\" Copyright (c) 2017 Cavium Inc. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd March 24, 2017 +.Dt QLNXE 4 +.Os +.Sh NAME +.Nm qlnxe +.Nd "Cavium 25/40/100 Gigabit Ethernet & CNA Adapter Driver" +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device qlnxe" +.Ed +.Pp +To load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +if_qlnxe_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver supports IPv4 checksum offload, +TCP and UDP checksum offload for both IPv4 and IPv6, +Large Segment Offload for both IPv4 and IPv6, +Jumbo frames, VLAN Tag, Receive Side scaling, HW and Soft LRO. +For further hardware information, see +.Pa http://www.qlogic.com/ . +.Sh HARDWARE +The +.Nm +driver supports 25/40/100 Gigabit Ethernet & CNA Adapter based on the following +chipsets: +.Pp +.Bl -bullet -compact +.It +QLogic 45000 series +.El +.Sh SUPPORT +For support questions please contact your Cavium approved reseller or +Cavium Technical Support at +.Pa http://support.qlogic.com , +or by E-mail at +.Aq Mt support@qlogic.com . +.Sh SEE ALSO +.Xr altq 4 , +.Xr arp 4 , +.Xr netintro 4 , +.Xr ng_ether 4 , +.Xr ifconfig 8 +.Sh HISTORY +The +.Nm +device driver first appeared in +.Fx 12.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was written by +.An David C Somayajulu +at Cavium Inc. Modified: head/sys/conf/files.amd64 ============================================================================== --- head/sys/conf/files.amd64 Tue Apr 4 05:56:42 2017 (r316484) +++ head/sys/conf/files.amd64 Tue Apr 4 06:16:59 2017 (r316485) @@ -364,6 +364,20 @@ dev/qlxgbe/ql_isr.c optional qlxgbe pci dev/qlxgbe/ql_misc.c optional qlxgbe pci dev/qlxgbe/ql_os.c optional qlxgbe pci dev/qlxgbe/ql_reset.c optional qlxgbe pci +dev/qlnx/qlnxe/ecore_cxt.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_dcbx.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_dev.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_hw.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_init_fw_funcs.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_init_ops.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_int.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_l2.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_mcp.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_sp_commands.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_spq.c optional qlnxe pci +dev/qlnx/qlnxe/qlnx_ioctl.c optional qlnxe pci +dev/qlnx/qlnxe/qlnx_os.c optional qlnxe pci dev/sfxge/common/ef10_ev.c optional sfxge pci dev/sfxge/common/ef10_filter.c optional sfxge pci dev/sfxge/common/ef10_intr.c optional sfxge pci Added: head/sys/dev/qlnx/qlnxe/bcm_osal.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/qlnx/qlnxe/bcm_osal.h Tue Apr 4 06:16:59 2017 (r316485) @@ -0,0 +1,527 @@ +/* + * Copyright (c) 2017-2018 Cavium, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef __BCM_OSAL_ECORE_PACKAGE +#define __BCM_OSAL_ECORE_PACKAGE + +#include "qlnx_os.h" +#include "ecore_status.h" +#include + +#if __FreeBSD_version >= 1100090 +#include +#else +#include +#endif + +/* + * prototypes of freebsd specific functions required by ecore + */ +extern uint32_t qlnx_pci_bus_get_bar_size(void *ecore_dev, uint8_t bar_id); +extern uint32_t qlnx_pci_read_config_byte(void *ecore_dev, uint32_t pci_reg, + uint8_t *reg_value); +extern uint32_t qlnx_pci_read_config_word(void *ecore_dev, uint32_t pci_reg, + uint16_t *reg_value); +extern uint32_t qlnx_pci_read_config_dword(void *ecore_dev, uint32_t pci_reg, + uint32_t *reg_value); +extern void qlnx_pci_write_config_byte(void *ecore_dev, uint32_t pci_reg, + uint8_t reg_value); +extern void qlnx_pci_write_config_word(void *ecore_dev, uint32_t pci_reg, + uint16_t reg_value); +extern void qlnx_pci_write_config_dword(void *ecore_dev, uint32_t pci_reg, + uint32_t reg_value); +extern int qlnx_pci_find_capability(void *ecore_dev, int cap); + +extern uint32_t qlnx_direct_reg_rd32(void *p_hwfn, uint32_t *reg_addr); +extern void qlnx_direct_reg_wr32(void *p_hwfn, void *reg_addr, uint32_t value); + +extern uint32_t qlnx_reg_rd32(void *p_hwfn, uint32_t reg_addr); +extern void qlnx_reg_wr32(void *p_hwfn, uint32_t reg_addr, uint32_t value); +extern void qlnx_reg_wr16(void *p_hwfn, uint32_t reg_addr, uint16_t value); + +extern void qlnx_dbell_wr32(void *p_hwfn, uint32_t reg_addr, uint32_t value); + +extern void *qlnx_dma_alloc_coherent(void *ecore_dev, bus_addr_t *phys, + uint32_t size); +extern void qlnx_dma_free_coherent(void *ecore_dev, void *v_addr, + bus_addr_t phys, uint32_t size); + +extern void qlnx_link_update(void *p_hwfn); +extern void qlnx_barrier(void *p_hwfn); + +extern void *qlnx_zalloc(uint32_t size); + +extern void qlnx_get_protocol_stats(void *cdev, int proto_type, + void *proto_stats); + +extern void qlnx_sp_isr(void *arg); + + +#ifdef ECORE_PACKAGE + +/* Memory Types */ +#define u8 uint8_t +#define u16 uint16_t +#define u32 uint32_t +#define u64 uint64_t +#define s16 uint16_t +#define s32 uint32_t + +#ifndef QLNX_RDMA + +typedef uint16_t __le16; +typedef uint32_t __le32; +typedef uint16_t __be16; +typedef uint32_t __be32; + +static __inline unsigned long +roundup_pow_of_two(unsigned long x) +{ + return (1UL << flsl(x - 1)); +} + +static __inline int +is_power_of_2(unsigned long n) +{ + return (n == roundup_pow_of_two(n)); +} + +static __inline unsigned long +rounddown_pow_of_two(unsigned long x) +{ + return (1UL << (flsl(x) - 1)); +} + +#define max_t(type, val1, val2) \ + ((type)(val1) > (type)(val2) ? (type)(val1) : (val2)) +#define min_t(type, val1, val2) \ + ((type)(val1) < (type)(val2) ? (type)(val1) : (val2)) + +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) +#define nothing do {} while(0) +#define BUILD_BUG_ON(cond) nothing + +#endif /* #ifndef QLNX_RDMA */ + +#define OSAL_CPU_TO_BE64(val) htobe64(val) +#define OSAL_BE64_TO_CPU(val) be64toh(val) + +#define OSAL_CPU_TO_BE32(val) htobe32(val) +#define OSAL_BE32_TO_CPU(val) be32toh(val) + +#define OSAL_CPU_TO_LE32(val) htole32(val) +#define OSAL_LE32_TO_CPU(val) le32toh(val) + +#define OSAL_CPU_TO_BE16(val) htobe16(val) +#define OSAL_BE16_TO_CPU(val) be16toh(val) + +#define OSAL_CPU_TO_LE16(val) htole16(val) +#define OSAL_LE16_TO_CPU(val) le16toh(val) + +#define OSAL_CACHE_LINE_SIZE CACHE_LINE_SIZE +#define OSAL_BE32 uint32_t +#define dma_addr_t bus_addr_t +#define osal_size_t size_t + +typedef struct mtx osal_spinlock_t; +typedef struct mtx osal_mutex_t; + +typedef void * osal_dpc_t; + +typedef struct _osal_list_entry_t +{ + struct _osal_list_entry_t *next, *prev; +} osal_list_entry_t; + +typedef struct osal_list_t +{ + osal_list_entry_t *head, *tail; + unsigned long cnt; +} osal_list_t; + +/* OSAL functions */ + +#define OSAL_UDELAY(time) DELAY(time) +#define OSAL_MSLEEP(time) qlnx_mdelay(__func__, time) + +#define OSAL_ALLOC(dev, GFP, size) qlnx_zalloc(size) +#define OSAL_ZALLOC(dev, GFP, size) qlnx_zalloc(size) +#define OSAL_VALLOC(dev, size) qlnx_zalloc(size) +#define OSAL_VZALLOC(dev, size) qlnx_zalloc(size) + +#define OSAL_FREE(dev, memory) free(memory, M_QLNXBUF) +#define OSAL_VFREE(dev, memory) free(memory, M_QLNXBUF) + +#define OSAL_MEM_ZERO(mem, size) bzero(mem, size) + +#define OSAL_MEMCPY(dst, src, size) memcpy(dst, src, size) + +#define OSAL_DMA_ALLOC_COHERENT(dev, phys, size) \ + qlnx_dma_alloc_coherent(dev, phys, size) + +#define OSAL_DMA_FREE_COHERENT(dev, virt, phys, size) \ + qlnx_dma_free_coherent(dev, virt, phys, size) +#define OSAL_VF_CQE_COMPLETION(_dev_p, _cqe, _protocol) (0) + +#define REG_WR(hwfn, addr, val) qlnx_reg_wr32(hwfn, addr, val) +#define REG_WR16(hwfn, addr, val) qlnx_reg_wr16(hwfn, addr, val) +#define DIRECT_REG_WR(p_hwfn, addr, value) qlnx_direct_reg_wr32(p_hwfn, addr, value) +#define DIRECT_REG_RD(p_hwfn, addr) qlnx_direct_reg_rd32(p_hwfn, addr) +#define REG_RD(hwfn, addr) qlnx_reg_rd32(hwfn, addr) +#define DOORBELL(hwfn, addr, value) \ + qlnx_dbell_wr32(hwfn, addr, value) + +#define OSAL_SPIN_LOCK_ALLOC(p_hwfn, mutex) +#define OSAL_SPIN_LOCK_DEALLOC(mutex) mtx_destroy(mutex) +#define OSAL_SPIN_LOCK_INIT(lock) {\ + mtx_init(lock, __func__, MTX_NETWORK_LOCK, MTX_SPIN); \ + } + +#define OSAL_SPIN_UNLOCK(lock) {\ + mtx_unlock(lock); \ + } +#define OSAL_SPIN_LOCK(lock) {\ + mtx_lock(lock); \ + } + +#define OSAL_MUTEX_ALLOC(p_hwfn, mutex) +#define OSAL_MUTEX_DEALLOC(mutex) mtx_destroy(mutex) +#define OSAL_MUTEX_INIT(lock) {\ + mtx_init(lock, __func__, MTX_NETWORK_LOCK, MTX_DEF);\ + } + +#define OSAL_MUTEX_ACQUIRE(lock) mtx_lock(lock) +#define OSAL_MUTEX_RELEASE(lock) mtx_unlock(lock) + +#define OSAL_DPC_ALLOC(hwfn) malloc(PAGE_SIZE, M_QLNXBUF, M_NOWAIT) +#define OSAL_DPC_INIT(dpc, hwfn) nothing +#define OSAL_SCHEDULE_RECOVERY_HANDLER(x) nothing +#define OSAL_HW_ERROR_OCCURRED(hwfn, err_type) nothing +#define OSAL_DPC_SYNC(hwfn) nothing + +static inline void OSAL_DCBX_AEN(void *p_hwfn, u32 mib_type) +{ + return; +} + +static inline bool OSAL_NVM_IS_ACCESS_ENABLED(void *p_hwfn) +{ + return 1; +} + +#define OSAL_LIST_INIT(list) \ + do { \ + (list)->head = NULL; \ + (list)->tail = NULL; \ + (list)->cnt = 0; \ + } while (0) + +#define OSAL_LIST_INSERT_ENTRY_AFTER(entry, entry_prev, list) \ +do { \ + (entry)->prev = (entry_prev); \ + (entry)->next = (entry_prev)->next; \ + (entry)->next->prev = (entry); \ + (entry_prev)->next = (entry); \ + (list)->cnt++; \ +} while (0); + +#define OSAL_LIST_SPLICE_TAIL_INIT(new_list, list) \ +do { \ + ((new_list)->tail)->next = ((list)->head); \ + ((list)->head)->prev = ((new_list)->tail); \ + (list)->head = (new_list)->head; \ + (list)->cnt = (list)->cnt + (new_list)->cnt; \ + OSAL_LIST_INIT(new_list); \ +} while (0); + +#define OSAL_LIST_PUSH_HEAD(entry, list) \ + do { \ + (entry)->prev = (osal_list_entry_t *)0; \ + (entry)->next = (list)->head; \ + if ((list)->tail == (osal_list_entry_t *)0) { \ + (list)->tail = (entry); \ + } else { \ + (list)->head->prev = (entry); \ + } \ + (list)->head = (entry); \ + (list)->cnt++; \ + } while (0) + +#define OSAL_LIST_PUSH_TAIL(entry, list) \ + do { \ + (entry)->next = (osal_list_entry_t *)0; \ + (entry)->prev = (list)->tail; \ + if ((list)->tail) { \ + (list)->tail->next = (entry); \ + } else { \ + (list)->head = (entry); \ + } \ + (list)->tail = (entry); \ + (list)->cnt++; \ + } while (0) + +#define OSAL_LIST_FIRST_ENTRY(list, type, field) \ + (type *)((list)->head) + +#define OSAL_LIST_REMOVE_ENTRY(entry, list) \ + do { \ + if ((list)->head == (entry)) { \ + if ((list)->head) { \ + (list)->head = (list)->head->next; \ + if ((list)->head) { \ + (list)->head->prev = (osal_list_entry_t *)0; \ + } else { \ + (list)->tail = (osal_list_entry_t *)0; \ + } \ + (list)->cnt--; \ + } \ + } else if ((list)->tail == (entry)) { \ + if ((list)->tail) { \ + (list)->tail = (list)->tail->prev; \ + if ((list)->tail) { \ + (list)->tail->next = (osal_list_entry_t *)0; \ + } else { \ + (list)->head = (osal_list_entry_t *)0; \ + } \ + (list)->cnt--; \ + } \ + } else { \ + (entry)->prev->next = (entry)->next; \ + (entry)->next->prev = (entry)->prev; \ + (list)->cnt--; \ + } \ + } while (0) + + +#define OSAL_LIST_IS_EMPTY(list) \ + ((list)->cnt == 0) + +#define OSAL_LIST_NEXT(entry, field, type) \ + (type *)((&((entry)->field))->next) + +#define OSAL_LIST_FOR_EACH_ENTRY(entry, list, field, type) \ + for (entry = OSAL_LIST_FIRST_ENTRY(list, type, field); \ + entry; \ + entry = OSAL_LIST_NEXT(entry, field, type)) + +#define OSAL_LIST_FOR_EACH_ENTRY_SAFE(entry, tmp_entry, list, field, type) \ + for (entry = OSAL_LIST_FIRST_ENTRY(list, type, field), \ + tmp_entry = (entry) ? OSAL_LIST_NEXT(entry, field, type) : NULL; \ + entry != NULL; \ + entry = (type *)tmp_entry, \ + tmp_entry = (entry) ? OSAL_LIST_NEXT(entry, field, type) : NULL) + + +#define OSAL_BAR_SIZE(dev, bar_id) qlnx_pci_bus_get_bar_size(dev, bar_id) + +#define OSAL_PCI_READ_CONFIG_BYTE(dev, reg, value) \ + qlnx_pci_read_config_byte(dev, reg, value); +#define OSAL_PCI_READ_CONFIG_WORD(dev, reg, value) \ + qlnx_pci_read_config_word(dev, reg, value); +#define OSAL_PCI_READ_CONFIG_DWORD(dev, reg, value) \ + qlnx_pci_read_config_dword(dev, reg, value); + +#define OSAL_PCI_WRITE_CONFIG_BYTE(dev, reg, value) \ + qlnx_pci_write_config_byte(dev, reg, value); +#define OSAL_PCI_WRITE_CONFIG_WORD(dev, reg, value) \ + qlnx_pci_write_config_word(dev, reg, value); +#define OSAL_PCI_WRITE_CONFIG_DWORD(dev, reg, value) \ + qlnx_pci_write_config_dword(dev, reg, value); + +#define OSAL_PCI_FIND_CAPABILITY(dev, cap) qlnx_pci_find_capability(dev, cap); + +#define OSAL_MMIOWB(dev) qlnx_barrier(dev) +#define OSAL_BARRIER(dev) qlnx_barrier(dev) + +#define OSAL_SMP_MB(dev) mb() +#define OSAL_SMP_RMB(dev) rmb() +#define OSAL_SMP_WMB(dev) wmb() +#define OSAL_RMB(dev) rmb() +#define OSAL_WMB(dev) wmb() +#define OSAL_DMA_SYNC(dev, addr, length, is_post) + +#define OSAL_FIND_FIRST_BIT find_first_bit +#define OSAL_SET_BIT(bit, bitmap) bit_set((bitstr_t *)bitmap, bit) +#define OSAL_CLEAR_BIT(bit, bitmap) bit_clear((bitstr_t *)bitmap, bit) +#define OSAL_TEST_BIT(bit, bitmap) bit_test((bitstr_t *)bitmap, bit) +#define OSAL_FIND_FIRST_ZERO_BIT(bitmap, length) \ + find_first_zero_bit(bitmap, length) + +#define OSAL_LINK_UPDATE(hwfn) qlnx_link_update(hwfn) +#define OSAL_VF_FLR_UPDATE(hwfn) + +#define QLNX_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) +#define QLNX_ROUNDUP(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) + +#define OSAL_NUM_ACTIVE_CPU() mp_ncpus + +#ifndef DIV_ROUND_UP +#define DIV_ROUND_UP(size, to_what) QLNX_DIV_ROUND_UP((size), (to_what)) +#endif + +#define ROUNDUP(value, to_what) QLNX_ROUNDUP((value), (to_what)) + +#define OSAL_ROUNDUP_POW_OF_TWO(val) roundup_pow_of_two((val)) + +static __inline uint32_t +qlnx_log2(uint32_t x) +{ + uint32_t log = 0; + + while (x >>= 1) log++; + + return (log); +} + +#define OSAL_LOG2(val) qlnx_log2(val) +#define OFFSETOF(str, field) offsetof(str, field) +#define PRINT device_printf +#define PRINT_ERR device_printf +#define OSAL_ASSERT(is_assert) nothing +#define OSAL_BEFORE_PF_START(cdev, my_id) {}; +#define OSAL_AFTER_PF_STOP(cdev, my_id) {}; + +#define INLINE __inline +#define OSAL_INLINE __inline +#define OSAL_UNLIKELY +#define OSAL_NULL NULL + + +#define OSAL_MAX_T(type, __max1, __max2) max_t(type, __max1, __max2) +#define OSAL_MIN_T(type, __max1, __max2) min_t(type, __max1, __max2) + +#define __iomem +#define OSAL_IOMEM + +#define int_ptr_t void * +#define osal_int_ptr_t void * +#define OSAL_BUILD_BUG_ON(cond) nothing +#define REG_ADDR(hwfn, offset) (void *)((u8 *)(hwfn->regview) + (offset)) +#define OSAL_REG_ADDR(hwfn, offset) (void *)((u8 *)(hwfn->regview) + (offset)) + +#define OSAL_PAGE_SIZE PAGE_SIZE + +#define OSAL_STRCPY(dst, src) strcpy(dst, src) +#define OSAL_STRNCPY(dst, src, bytes) strncpy(dst, src, bytes) +#define OSAL_STRLEN(src) strlen(src) +#define OSAL_SPRINTF sprintf +#define OSAL_SNPRINTF snprintf +#define OSAL_MEMSET memset +#define OSAL_ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) +#define osal_uintptr_t u64 + +#define OSAL_SLOWPATH_IRQ_REQ(p_hwfn) (0) +#define OSAL_GET_PROTOCOL_STATS(p_hwfn, type, stats) \ + qlnx_get_protocol_stats(p_hwfn, type, stats); +#define OSAL_POLL_MODE_DPC(hwfn) {if (cold) qlnx_sp_isr(hwfn);} +#define OSAL_WARN(cond, fmt, args...) \ + if (cond) printf("%s: WARNING: " fmt, __func__, ## args); + +#define OSAL_BITMAP_WEIGHT(bitmap, nbits) bitmap_weight(bitmap, nbits) +#define OSAL_GET_RDMA_SB_ID(p_hwfn, cnq_id) ecore_rdma_get_sb_id(p_hwfn, cnq_id) + +static inline int +qlnx_test_and_change_bit(long bit, volatile unsigned long *var) +{ + long val; + + var += BIT_WORD(bit); + bit %= BITS_PER_LONG; + bit = (1UL << bit); + + val = *var; + +#if __FreeBSD_version >= 1100000 + if (val & bit) + return (test_and_clear_bit(bit, var)); + + return (test_and_set_bit(bit, var)); +#else + if (val & bit) + return (test_and_clear_bit(bit, (long *)var)); + + return (test_and_set_bit(bit, (long *)var)); + +#endif +} + +#if __FreeBSD_version < 1100000 +static inline unsigned +bitmap_weight(unsigned long *bitmap, unsigned nbits) +{ + unsigned bit; + unsigned retval = 0; + + for_each_set_bit(bit, bitmap, nbits) + retval++; + return (retval); +} + +#endif + + +#define OSAL_TEST_AND_FLIP_BIT qlnx_test_and_change_bit +#define OSAL_TEST_AND_CLEAR_BIT test_and_clear_bit +#define OSAL_MEMCMP memcmp +#define OSAL_SPIN_LOCK_IRQSAVE(x,y) {y=0; mtx_lock(x);} +#define OSAL_SPIN_UNLOCK_IRQSAVE(x,y) {y= 0; mtx_unlock(x);} + +static inline u32 +OSAL_CRC32(u32 crc, u8 *ptr, u32 length) +{ + int i; + + while (length--) { + crc ^= *ptr++; + for (i = 0; i < 8; i++) + crc = (crc >> 1) ^ ((crc & 1) ? 0xedb88320 : 0); + } + return crc; +} + +static inline void +OSAL_CRC8_POPULATE(u8 * cdu_crc8_table, u8 polynomial) +{ + return; +} + +static inline u8 +OSAL_CRC8(u8 * cdu_crc8_table, u8 * data_to_crc, int data_to_crc_len, u8 init_value) +{ + return ECORE_NOTIMPL; +} + +#define OSAL_HW_INFO_CHANGE(p_hwfn, offset) +#define OSAL_MFW_TLV_REQ(p_hwfn) +#define OSAL_VF_FILL_ACQUIRE_RESC_REQ(p_hwfn, req, vf_sw_info) {}; +#define OSAL_VF_UPDATE_ACQUIRE_RESC_RESP(p_hwfn, res) (0) + +#endif /* #ifdef ECORE_PACKAGE */ + +#endif /* #ifdef __BCM_OSAL_ECORE_PACKAGE */ Added: head/sys/dev/qlnx/qlnxe/common_hsi.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/qlnx/qlnxe/common_hsi.h Tue Apr 4 06:16:59 2017 (r316485) @@ -0,0 +1,1589 @@ +/* + * Copyright (c) 2017-2018 Cavium, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + * + */ + +#ifndef __COMMON_HSI__ +#define __COMMON_HSI__ +/********************************/ +/* PROTOCOL COMMON FW CONSTANTS */ +/********************************/ + +/* Temporarily here should be added to HSI automatically by resource allocation tool.*/ +#define T_TEST_AGG_INT_TEMP 6 +#define M_TEST_AGG_INT_TEMP 8 +#define U_TEST_AGG_INT_TEMP 6 +#define X_TEST_AGG_INT_TEMP 14 +#define Y_TEST_AGG_INT_TEMP 4 +#define P_TEST_AGG_INT_TEMP 4 + +#define X_FINAL_CLEANUP_AGG_INT 1 + +#define EVENT_RING_PAGE_SIZE_BYTES 4096 + +#define NUM_OF_GLOBAL_QUEUES 128 +#define COMMON_QUEUE_ENTRY_MAX_BYTE_SIZE 64 + +#define ISCSI_CDU_TASK_SEG_TYPE 0 +#define FCOE_CDU_TASK_SEG_TYPE 0 +#define RDMA_CDU_TASK_SEG_TYPE 1 + +#define FW_ASSERT_GENERAL_ATTN_IDX 32 + +#define MAX_PINNED_CCFC 32 + +#define EAGLE_ENG1_WORKAROUND_NIG_FLOWCTRL_MODE 3 + +/* Queue Zone sizes in bytes */ +#define TSTORM_QZONE_SIZE 8 /*tstorm_scsi_queue_zone*/ +#define MSTORM_QZONE_SIZE 16 /*mstorm_eth_queue_zone. Used only for RX producer of VFs in backward compatibility mode.*/ +#define USTORM_QZONE_SIZE 8 /*ustorm_eth_queue_zone*/ +#define XSTORM_QZONE_SIZE 8 /*xstorm_eth_queue_zone*/ +#define YSTORM_QZONE_SIZE 0 +#define PSTORM_QZONE_SIZE 0 + +#define MSTORM_VF_ZONE_DEFAULT_SIZE_LOG 7 /*Log of mstorm default VF zone size.*/ +#define ETH_MAX_NUM_RX_QUEUES_PER_VF_DEFAULT 16 /*Maximum number of RX queues that can be allocated to VF by default*/ +#define ETH_MAX_NUM_RX_QUEUES_PER_VF_DOUBLE 48 /*Maximum number of RX queues that can be allocated to VF with doubled VF zone size. Up to 96 VF supported in this mode*/ +#define ETH_MAX_NUM_RX_QUEUES_PER_VF_QUAD 112 /*Maximum number of RX queues that can be allocated to VF with 4 VF zone size. Up to 48 VF supported in this mode*/ + + +/********************************/ +/* CORE (LIGHT L2) FW CONSTANTS */ +/********************************/ + +#define CORE_LL2_MAX_RAMROD_PER_CON 8 +#define CORE_LL2_TX_BD_PAGE_SIZE_BYTES 4096 +#define CORE_LL2_RX_BD_PAGE_SIZE_BYTES 4096 +#define CORE_LL2_RX_CQE_PAGE_SIZE_BYTES 4096 +#define CORE_LL2_RX_NUM_NEXT_PAGE_BDS 1 + +#define CORE_LL2_TX_MAX_BDS_PER_PACKET 12 + +#define CORE_SPQE_PAGE_SIZE_BYTES 4096 + +/* + * Usually LL2 queues are opened in pairs TX-RX. + * There is a hard restriction on number of RX queues (limited by Tstorm RAM) and TX counters (Pstorm RAM). + * Number of TX queues is almost unlimited. + * The constants are different so as to allow asymmetric LL2 connections + */ + +#define MAX_NUM_LL2_RX_QUEUES 48 +#define MAX_NUM_LL2_TX_STATS_COUNTERS 48 + + +/////////////////////////////////////////////////////////////////////////////////////////////////// +// Include firmware version number only- do not add constants here to avoid redundunt compilations +/////////////////////////////////////////////////////////////////////////////////////////////////// + + +#define FW_MAJOR_VERSION 8 +#define FW_MINOR_VERSION 18 +#define FW_REVISION_VERSION 14 +#define FW_ENGINEERING_VERSION 0 + +/***********************/ +/* COMMON HW CONSTANTS */ +/***********************/ + +/* PCI functions */ +#define MAX_NUM_PORTS_K2 (4) +#define MAX_NUM_PORTS_BB (2) +#define MAX_NUM_PORTS (MAX_NUM_PORTS_K2) + +#define MAX_NUM_PFS_K2 (16) +#define MAX_NUM_PFS_BB (8) +#define MAX_NUM_PFS (MAX_NUM_PFS_K2) +#define MAX_NUM_OF_PFS_IN_CHIP (16) /* On both engines */ + +#define MAX_NUM_VFS_BB (120) +#define MAX_NUM_VFS_K2 (192) +#define E4_MAX_NUM_VFS (MAX_NUM_VFS_K2) +#define E5_MAX_NUM_VFS (240) +#define COMMON_MAX_NUM_VFS (E5_MAX_NUM_VFS) + +#define MAX_NUM_FUNCTIONS_BB (MAX_NUM_PFS_BB + MAX_NUM_VFS_BB) +#define MAX_NUM_FUNCTIONS_K2 (MAX_NUM_PFS_K2 + MAX_NUM_VFS_K2) +#define MAX_NUM_FUNCTIONS (MAX_NUM_PFS + E4_MAX_NUM_VFS) + +/* in both BB and K2, the VF number starts from 16. so for arrays containing all */ +/* possible PFs and VFs - we need a constant for this size */ +#define MAX_FUNCTION_NUMBER_BB (MAX_NUM_PFS + MAX_NUM_VFS_BB) +#define MAX_FUNCTION_NUMBER_K2 (MAX_NUM_PFS + MAX_NUM_VFS_K2) +#define MAX_FUNCTION_NUMBER (MAX_NUM_PFS + E4_MAX_NUM_VFS) + +#define MAX_NUM_VPORTS_K2 (208) +#define MAX_NUM_VPORTS_BB (160) +#define MAX_NUM_VPORTS (MAX_NUM_VPORTS_K2) + +#define MAX_NUM_L2_QUEUES_K2 (320) +#define MAX_NUM_L2_QUEUES_BB (256) +#define MAX_NUM_L2_QUEUES (MAX_NUM_L2_QUEUES_K2) + +/* Traffic classes in network-facing blocks (PBF, BTB, NIG, BRB, PRS and QM) */ +// 4-Port K2. +#define NUM_PHYS_TCS_4PORT_K2 (4) +#define NUM_OF_PHYS_TCS (8) + +#define NUM_TCS_4PORT_K2 (NUM_PHYS_TCS_4PORT_K2 + 1) +#define NUM_OF_TCS (NUM_OF_PHYS_TCS + 1) + +#define LB_TC (NUM_OF_PHYS_TCS) + +/* Num of possible traffic priority values */ +#define NUM_OF_PRIO (8) + +#define MAX_NUM_VOQS_K2 (NUM_TCS_4PORT_K2 * MAX_NUM_PORTS_K2) +#define MAX_NUM_VOQS_BB (NUM_OF_TCS * MAX_NUM_PORTS_BB) +#define MAX_NUM_VOQS (MAX_NUM_VOQS_K2) +#define MAX_PHYS_VOQS (NUM_OF_PHYS_TCS * MAX_NUM_PORTS_BB) + +/* CIDs */ +#define E4_NUM_OF_CONNECTION_TYPES (8) +#define E5_NUM_OF_CONNECTION_TYPES (16) +#define NUM_OF_TASK_TYPES (8) +#define NUM_OF_LCIDS (320) +#define NUM_OF_LTIDS (320) + +/* Clock values */ +#define MASTER_CLK_FREQ_E4 (375e6) +#define STORM_CLK_FREQ_E4 (1000e6) +#define CLK25M_CLK_FREQ_E4 (25e6) + +#define STORM_CLK_DUAL_CORE_FREQ_E5 (3000e6) + +/* Global PXP windows (GTT) */ +#define NUM_OF_GTT 19 +#define GTT_DWORD_SIZE_BITS 10 +#define GTT_BYTE_SIZE_BITS (GTT_DWORD_SIZE_BITS + 2) +#define GTT_DWORD_SIZE (1 << GTT_DWORD_SIZE_BITS) + +/* Tools Version */ +#define TOOLS_VERSION 10 +/*****************/ +/* CDU CONSTANTS */ +/*****************/ + +#define CDU_SEG_TYPE_OFFSET_REG_TYPE_SHIFT (17) +#define CDU_SEG_TYPE_OFFSET_REG_OFFSET_MASK (0x1ffff) + +#define CDU_VF_FL_SEG_TYPE_OFFSET_REG_TYPE_SHIFT (12) +#define CDU_VF_FL_SEG_TYPE_OFFSET_REG_OFFSET_MASK (0xfff) + +#define CDU_CONTEXT_VALIDATION_CFG_ENABLE_SHIFT (0) +#define CDU_CONTEXT_VALIDATION_CFG_VALIDATION_TYPE_SHIFT (1) +#define CDU_CONTEXT_VALIDATION_CFG_USE_TYPE (2) +#define CDU_CONTEXT_VALIDATION_CFG_USE_REGION (3) +#define CDU_CONTEXT_VALIDATION_CFG_USE_CID (4) +#define CDU_CONTEXT_VALIDATION_CFG_USE_ACTIVE (5) + + +/*****************/ +/* DQ CONSTANTS */ +/*****************/ + +/* DEMS */ +#define DQ_DEMS_LEGACY 0 +#define DQ_DEMS_TOE_MORE_TO_SEND 3 +#define DQ_DEMS_TOE_LOCAL_ADV_WND 4 +#define DQ_DEMS_ROCE_CQ_CONS 7 + +/* XCM agg val selection (HW) */ +#define DQ_XCM_AGG_VAL_SEL_WORD2 0 +#define DQ_XCM_AGG_VAL_SEL_WORD3 1 +#define DQ_XCM_AGG_VAL_SEL_WORD4 2 +#define DQ_XCM_AGG_VAL_SEL_WORD5 3 +#define DQ_XCM_AGG_VAL_SEL_REG3 4 +#define DQ_XCM_AGG_VAL_SEL_REG4 5 +#define DQ_XCM_AGG_VAL_SEL_REG5 6 +#define DQ_XCM_AGG_VAL_SEL_REG6 7 + +/* XCM agg val selection (FW) */ +#define DQ_XCM_CORE_TX_BD_CONS_CMD DQ_XCM_AGG_VAL_SEL_WORD3 +#define DQ_XCM_CORE_TX_BD_PROD_CMD DQ_XCM_AGG_VAL_SEL_WORD4 +#define DQ_XCM_CORE_SPQ_PROD_CMD DQ_XCM_AGG_VAL_SEL_WORD4 +#define DQ_XCM_ETH_EDPM_NUM_BDS_CMD DQ_XCM_AGG_VAL_SEL_WORD2 +#define DQ_XCM_ETH_TX_BD_CONS_CMD DQ_XCM_AGG_VAL_SEL_WORD3 +#define DQ_XCM_ETH_TX_BD_PROD_CMD DQ_XCM_AGG_VAL_SEL_WORD4 +#define DQ_XCM_ETH_GO_TO_BD_CONS_CMD DQ_XCM_AGG_VAL_SEL_WORD5 +#define DQ_XCM_FCOE_SQ_CONS_CMD DQ_XCM_AGG_VAL_SEL_WORD3 +#define DQ_XCM_FCOE_SQ_PROD_CMD DQ_XCM_AGG_VAL_SEL_WORD4 +#define DQ_XCM_FCOE_X_FERQ_PROD_CMD DQ_XCM_AGG_VAL_SEL_WORD5 +#define DQ_XCM_ISCSI_SQ_CONS_CMD DQ_XCM_AGG_VAL_SEL_WORD3 +#define DQ_XCM_ISCSI_SQ_PROD_CMD DQ_XCM_AGG_VAL_SEL_WORD4 +#define DQ_XCM_ISCSI_MORE_TO_SEND_SEQ_CMD DQ_XCM_AGG_VAL_SEL_REG3 +#define DQ_XCM_ISCSI_EXP_STAT_SN_CMD DQ_XCM_AGG_VAL_SEL_REG6 +#define DQ_XCM_ROCE_SQ_PROD_CMD DQ_XCM_AGG_VAL_SEL_WORD4 +#define DQ_XCM_TOE_TX_BD_PROD_CMD DQ_XCM_AGG_VAL_SEL_WORD4 +#define DQ_XCM_TOE_MORE_TO_SEND_SEQ_CMD DQ_XCM_AGG_VAL_SEL_REG3 +#define DQ_XCM_TOE_LOCAL_ADV_WND_SEQ_CMD DQ_XCM_AGG_VAL_SEL_REG4 + +/* UCM agg val selection (HW) */ +#define DQ_UCM_AGG_VAL_SEL_WORD0 0 +#define DQ_UCM_AGG_VAL_SEL_WORD1 1 +#define DQ_UCM_AGG_VAL_SEL_WORD2 2 +#define DQ_UCM_AGG_VAL_SEL_WORD3 3 +#define DQ_UCM_AGG_VAL_SEL_REG0 4 +#define DQ_UCM_AGG_VAL_SEL_REG1 5 +#define DQ_UCM_AGG_VAL_SEL_REG2 6 +#define DQ_UCM_AGG_VAL_SEL_REG3 7 + +/* UCM agg val selection (FW) */ +#define DQ_UCM_ETH_PMD_TX_CONS_CMD DQ_UCM_AGG_VAL_SEL_WORD2 +#define DQ_UCM_ETH_PMD_RX_CONS_CMD DQ_UCM_AGG_VAL_SEL_WORD3 +#define DQ_UCM_ROCE_CQ_CONS_CMD DQ_UCM_AGG_VAL_SEL_REG0 +#define DQ_UCM_ROCE_CQ_PROD_CMD DQ_UCM_AGG_VAL_SEL_REG2 + +/* TCM agg val selection (HW) */ +#define DQ_TCM_AGG_VAL_SEL_WORD0 0 +#define DQ_TCM_AGG_VAL_SEL_WORD1 1 +#define DQ_TCM_AGG_VAL_SEL_WORD2 2 +#define DQ_TCM_AGG_VAL_SEL_WORD3 3 +#define DQ_TCM_AGG_VAL_SEL_REG1 4 +#define DQ_TCM_AGG_VAL_SEL_REG2 5 +#define DQ_TCM_AGG_VAL_SEL_REG6 6 +#define DQ_TCM_AGG_VAL_SEL_REG9 7 + +/* TCM agg val selection (FW) */ +#define DQ_TCM_L2B_BD_PROD_CMD DQ_TCM_AGG_VAL_SEL_WORD1 +#define DQ_TCM_ROCE_RQ_PROD_CMD DQ_TCM_AGG_VAL_SEL_WORD0 + +/* XCM agg counter flag selection (HW) */ +#define DQ_XCM_AGG_FLG_SHIFT_BIT14 0 +#define DQ_XCM_AGG_FLG_SHIFT_BIT15 1 +#define DQ_XCM_AGG_FLG_SHIFT_CF12 2 +#define DQ_XCM_AGG_FLG_SHIFT_CF13 3 +#define DQ_XCM_AGG_FLG_SHIFT_CF18 4 +#define DQ_XCM_AGG_FLG_SHIFT_CF19 5 +#define DQ_XCM_AGG_FLG_SHIFT_CF22 6 +#define DQ_XCM_AGG_FLG_SHIFT_CF23 7 + +/* XCM agg counter flag selection (FW) */ +#define DQ_XCM_CORE_DQ_CF_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF18) +#define DQ_XCM_CORE_TERMINATE_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF19) +#define DQ_XCM_CORE_SLOW_PATH_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF22) +#define DQ_XCM_ETH_DQ_CF_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF18) +#define DQ_XCM_ETH_TERMINATE_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF19) +#define DQ_XCM_ETH_SLOW_PATH_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF22) +#define DQ_XCM_ETH_TPH_EN_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF23) +#define DQ_XCM_FCOE_SLOW_PATH_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF22) +#define DQ_XCM_ISCSI_DQ_FLUSH_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF19) +#define DQ_XCM_ISCSI_SLOW_PATH_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF22) +#define DQ_XCM_ISCSI_PROC_ONLY_CLEANUP_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF23) +#define DQ_XCM_TOE_DQ_FLUSH_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF19) +#define DQ_XCM_TOE_SLOW_PATH_CMD (1 << DQ_XCM_AGG_FLG_SHIFT_CF22) + +/* UCM agg counter flag selection (HW) */ +#define DQ_UCM_AGG_FLG_SHIFT_CF0 0 +#define DQ_UCM_AGG_FLG_SHIFT_CF1 1 +#define DQ_UCM_AGG_FLG_SHIFT_CF3 2 +#define DQ_UCM_AGG_FLG_SHIFT_CF4 3 +#define DQ_UCM_AGG_FLG_SHIFT_CF5 4 +#define DQ_UCM_AGG_FLG_SHIFT_CF6 5 +#define DQ_UCM_AGG_FLG_SHIFT_RULE0EN 6 +#define DQ_UCM_AGG_FLG_SHIFT_RULE1EN 7 + +/* UCM agg counter flag selection (FW) */ +#define DQ_UCM_ETH_PMD_TX_ARM_CMD (1 << DQ_UCM_AGG_FLG_SHIFT_CF4) +#define DQ_UCM_ETH_PMD_RX_ARM_CMD (1 << DQ_UCM_AGG_FLG_SHIFT_CF5) +#define DQ_UCM_ROCE_CQ_ARM_SE_CF_CMD (1 << DQ_UCM_AGG_FLG_SHIFT_CF4) +#define DQ_UCM_ROCE_CQ_ARM_CF_CMD (1 << DQ_UCM_AGG_FLG_SHIFT_CF5) +#define DQ_UCM_TOE_TIMER_STOP_ALL_CMD (1 << DQ_UCM_AGG_FLG_SHIFT_CF3) +#define DQ_UCM_TOE_SLOW_PATH_CF_CMD (1 << DQ_UCM_AGG_FLG_SHIFT_CF4) +#define DQ_UCM_TOE_DQ_CF_CMD (1 << DQ_UCM_AGG_FLG_SHIFT_CF5) + +/* TCM agg counter flag selection (HW) */ +#define DQ_TCM_AGG_FLG_SHIFT_CF0 0 +#define DQ_TCM_AGG_FLG_SHIFT_CF1 1 +#define DQ_TCM_AGG_FLG_SHIFT_CF2 2 +#define DQ_TCM_AGG_FLG_SHIFT_CF3 3 +#define DQ_TCM_AGG_FLG_SHIFT_CF4 4 +#define DQ_TCM_AGG_FLG_SHIFT_CF5 5 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Tue Apr 4 08:17:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 53A9ED2DA81; Tue, 4 Apr 2017 08:17:04 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23FC2C9F; Tue, 4 Apr 2017 08:17:04 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v348H3s1059516; Tue, 4 Apr 2017 08:17:03 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v348H3UA059515; Tue, 4 Apr 2017 08:17:03 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201704040817.v348H3UA059515@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Tue, 4 Apr 2017 08:17:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316486 - head/sys/mips/mips X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 08:17:04 -0000 Author: trasz Date: Tue Apr 4 08:17:03 2017 New Revision: 316486 URL: https://svnweb.freebsd.org/changeset/base/316486 Log: Remove dead code/ifdef. MFC after: 2 weeks Sponsored by: DARPA, AFRL Modified: head/sys/mips/mips/trap.c Modified: head/sys/mips/mips/trap.c ============================================================================== --- head/sys/mips/mips/trap.c Tue Apr 4 06:16:59 2017 (r316485) +++ head/sys/mips/mips/trap.c Tue Apr 4 08:17:03 2017 (r316486) @@ -1334,13 +1334,8 @@ log_frame_dump(struct trapframe *frame) log(LOG_ERR, "\tsr: %#jx\tmullo: %#jx\tmulhi: %#jx\tbadvaddr: %#jx\n", (intmax_t)frame->sr, (intmax_t)frame->mullo, (intmax_t)frame->mulhi, (intmax_t)frame->badvaddr); -#ifdef IC_REG - log(LOG_ERR, "\tcause: %#jx\tpc: %#jx\tic: %#jx\n", - (intmax_t)frame->cause, (intmax_t)frame->pc, (intmax_t)frame->ic); -#else log(LOG_ERR, "\tcause: %#jx\tpc: %#jx\n", (intmax_t)frame->cause, (intmax_t)frame->pc); -#endif } #ifdef TRAP_DEBUG @@ -1381,13 +1376,8 @@ trap_frame_dump(struct trapframe *frame) printf("\tsr: %#jx\tmullo: %#jx\tmulhi: %#jx\tbadvaddr: %#jx\n", (intmax_t)frame->sr, (intmax_t)frame->mullo, (intmax_t)frame->mulhi, (intmax_t)frame->badvaddr); -#ifdef IC_REG - printf("\tcause: %#jx\tpc: %#jx\tic: %#jx\n", - (intmax_t)frame->cause, (intmax_t)frame->pc, (intmax_t)frame->ic); -#else printf("\tcause: %#jx\tpc: %#jx\n", (intmax_t)frame->cause, (intmax_t)frame->pc); -#endif } #endif From owner-svn-src-all@freebsd.org Tue Apr 4 11:43:32 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3E282D2DD9A; Tue, 4 Apr 2017 11:43:32 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 18B37B18; Tue, 4 Apr 2017 11:43:32 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34BhV4F046205; Tue, 4 Apr 2017 11:43:31 GMT (envelope-from des@FreeBSD.org) Received: (from des@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34BhVNA046204; Tue, 4 Apr 2017 11:43:31 GMT (envelope-from des@FreeBSD.org) Message-Id: <201704041143.v34BhVNA046204@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: des set sender to des@FreeBSD.org using -f From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= Date: Tue, 4 Apr 2017 11:43:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316487 - head/etc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 11:43:32 -0000 Author: des Date: Tue Apr 4 11:43:31 2017 New Revision: 316487 URL: https://svnweb.freebsd.org/changeset/base/316487 Log: Allow command modifiers (fast, quiet etc.) to be stacked in any order. Add a "debug" modifier that sets rc_debug. MFC after: 3 weeks Modified: head/etc/rc.subr Modified: head/etc/rc.subr ============================================================================== --- head/etc/rc.subr Tue Apr 4 08:17:03 2017 (r316486) +++ head/etc/rc.subr Tue Apr 4 11:43:31 2017 (r316487) @@ -703,10 +703,11 @@ check_startmsgs() # If argument has a given prefix, then change the operation as follows: # Prefix Operation # ------ --------- -# fast Skip the pid check, and set rc_fast=yes, rc_quiet=yes -# force Set ${rcvar} to YES, and set rc_force=yes -# one Set ${rcvar} to YES -# quiet Don't output some diagnostics, and set rc_quiet=yes +# debug Enable debugging messages and set rc_debug to yes +# fast Skip the pid check and set rc_fast and rc_quiet to yes +# force Skip sanity checks and set ${rcvar} and rc_force to yes +# one Set ${rcvar} and set rc_one to yes +# quiet Don't output some diagnostics, and set rc_quiet to yes # # The following globals are used: # @@ -856,6 +857,8 @@ check_startmsgs() # rc_arg Argument to command, after fast/force/one processing # performed # +# rc_debug True if "debug" was provided +# # rc_flags Flags to start the default command with. # Defaults to ${name}_flags, unless overridden # by $flags from the environment. @@ -863,9 +866,11 @@ check_startmsgs() # # rc_pid PID of command (if appropriate) # -# rc_fast Not empty if "fast" was provided (q.v.) +# rc_fast Not empty if "fast" was provided +# +# rc_force Not empty if "force" was provided # -# rc_force Not empty if "force" was provided (q.v.) +# rc_one Not empty if "one" was provided # # rc_quiet Not empty if "quiet" was provided # @@ -884,34 +889,47 @@ run_rc_command() shift 1 rc_extra_args="$*" - _rc_prefix= - case "$rc_arg" in - fast*) # "fast" prefix; don't check pid - rc_arg=${rc_arg#fast} - rc_fast=yes - rc_quiet=yes - ;; - force*) # "force" prefix; always run - rc_force=yes - _rc_prefix=force - rc_arg=${rc_arg#${_rc_prefix}} - if [ -n "${rcvar}" ]; then - eval ${rcvar}=YES - fi - ;; - one*) # "one" prefix; set ${rcvar}=yes - _rc_prefix=one - rc_arg=${rc_arg#${_rc_prefix}} + : ${rc_debug:=no} ${rc_fast:=no} ${rc_force:=no} ${rc_one:=no} ${rc_quiet:=no} + while :; do + case "$rc_arg" in + debug*) # "debug" prefix; enable debugging + rc_debug=yes + rc_quiet=no + rc_arg=${rc_arg#debug} + _rc_prefix="${_rc_prefix}debug" + ;; + fast*) # "fast" prefix; don't check pid + rc_fast=yes + rc_quiet=yes + rc_arg=${rc_arg#fast} + _rc_prefix="${_rc_prefix}fast" + ;; + force*) # "force" prefix; always run + rc_force=yes + rc_arg=${rc_arg#force} + _rc_prefix="${_rc_prefix}force" + ;; + one*) # "one" prefix; set ${rcvar}=yes + rc_one=yes + rc_arg=${rc_arg#one} + _rc_prefix="${_rc_prefix}one" + ;; + quiet*) # "quiet" prefix; omit some messages + rc_quiet=yes + rc_arg=${rc_arg#quiet} + _rc_prefix="${_rc_prefix}quiet" + ;; + *) + break + ;; + esac + done + if checkyesno rc_force || checkyesno rc_one ; then if [ -n "${rcvar}" ]; then eval ${rcvar}=YES fi - ;; - quiet*) # "quiet" prefix; omit some messages - _rc_prefix=quiet - rc_arg=${rc_arg#${_rc_prefix}} - rc_quiet=yes - ;; - esac + fi + debug "_rc_prefix=${_rc_prefix}" eval _override_command=\$${name}_program command=${_override_command:-$command} From owner-svn-src-all@freebsd.org Tue Apr 4 12:07:48 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5AC06D2EDE1 for ; Tue, 4 Apr 2017 12:07:48 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: from mail-lf0-f65.google.com (mail-lf0-f65.google.com [209.85.215.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 09BB5DFE for ; Tue, 4 Apr 2017 12:07:47 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: by mail-lf0-f65.google.com with SMTP id n78so15323511lfi.3 for ; Tue, 04 Apr 2017 05:07:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=2GpFCjcriEOHhIcu31VpcA3IiXFUoW5VwM7zCtBHDXo=; b=ZT0qrbb0r8C/EC+4+f48jHpaffLmLNSKQr42WpSMHkKy7q13FsQLEDbXbrlZx51UIX 7DB+oKpKRHZKRAh7mQM2yOgUUOnpals2L/6yYBVkCw2kAD62jXiripm458Kl+Jb7Fz7J gQFaGXVtBpR4nPc3Th0mRK1i5rolUSj5zh7yeWMP4zVEXXawaK0KY4NqbyFcnTqsNFek MsMCcKUjc4DuOw65Icm6KdCc4wRdw8QcgXp7vmBnQwLUi5uDxbSm3VpdY6854dShwh32 emRrqMfIQu2G1PpojxBU0Q8oUyry5G7jeNF6s69XrRQWU/H0w8tRHvrB7n5pmn3HZeXY 7QIA== X-Gm-Message-State: AFeK/H2TofpE+iEi3dWIjFOoU1ih/4Vfafwx3q8X/km8vxBq2CyuFJAIBFwSeR5jlcbWAA== X-Received: by 10.25.43.8 with SMTP id r8mr6287137lfr.41.1491307660231; Tue, 04 Apr 2017 05:07:40 -0700 (PDT) Received: from [192.168.1.2] ([89.169.173.68]) by smtp.gmail.com with ESMTPSA id d72sm3074032lfe.58.2017.04.04.05.07.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Apr 2017 05:07:39 -0700 (PDT) Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201704032316.v33NGpbo037305@repo.freebsd.org> From: Andrey Chernov Message-ID: <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> Date: Tue, 4 Apr 2017 15:07:38 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <201704032316.v33NGpbo037305@repo.freebsd.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 12:07:48 -0000 On 04.04.2017 2:16, Ed Maste wrote: > if (color) > - fprintf(stdout, "\33[m\33[K"); > + fprintf(stdout, "\33[00m\33[K"); Please back that one out. We don't need to handle internally or print remotely excessive 00. At least according to https://en.wikipedia.org/wiki/ANSI_escape_code "With no parameters, CSI m is treated as CSI 0 m (reset / normal), which is typical of most of the ANSI escape sequences." From owner-svn-src-all@freebsd.org Tue Apr 4 12:25:03 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 680DFD2D5BD; Tue, 4 Apr 2017 12:25:03 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0079.outbound.protection.outlook.com [104.47.32.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 00AEDB80; Tue, 4 Apr 2017 12:25:02 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=w7t+BYSmOODUPPV0NzL2fVeU198Clq5jKAou3cC9NTo=; b=Kl/ZTbotFsR7yLhBYLJQxrcklNN3UgSzMuM4/WDdNP2ctiMIcaCEGnpbHSpJeRKTe9rLAUvu0uxPRDtLikFuRgVfR0ZpUh7z9CQEDlouP8a7C3wE8bdpAo+RjtbTm60uZ+FQGqAiiIEJHlyZZmwkMVOeZR82Y4SLv1rD2nBut30= Received: from BLUPR05CA0075.namprd05.prod.outlook.com (10.141.20.45) by CY4PR05MB3573.namprd05.prod.outlook.com (10.171.244.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Tue, 4 Apr 2017 12:25:00 +0000 Received: from BL2NAM02FT060.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::207) by BLUPR05CA0075.outlook.office365.com (2a01:111:e400:855::45) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Tue, 4 Apr 2017 12:25:00 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp1.campus.ksu.edu; Received: from ome-vm-smtp1.campus.ksu.edu (129.130.18.151) by BL2NAM02FT060.mail.protection.outlook.com (10.152.76.124) with Microsoft SMTP Server id 15.1.1005.5 via Frontend Transport; Tue, 4 Apr 2017 12:24:59 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp1.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v34COxZF003681; Tue, 4 Apr 2017 07:24:59 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 43944248305; Tue, 4 Apr 2017 07:24:59 -0500 (CDT) Received: from mail-wr0-f169.google.com (mail-wr0-f169.google.com [209.85.128.169]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id E3A65248302; Tue, 4 Apr 2017 07:24:56 -0500 (CDT) Received: by mail-wr0-f169.google.com with SMTP id k6so208283089wre.2; Tue, 04 Apr 2017 05:24:56 -0700 (PDT) X-Gm-Message-State: AFeK/H0FakktpmJKJT/V82lMFcFtXMVZjyZkbmq5cxtLkIYXIYGKVZir1nMI1JPEEBZ5nOi5eJH2lS/Q0dKChQ== X-Received: by 10.28.113.73 with SMTP id m70mr14946344wmc.12.1491308695060; Tue, 04 Apr 2017 05:24:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Tue, 4 Apr 2017 05:24:34 -0700 (PDT) In-Reply-To: <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> From: Kyle Evans Date: Tue, 4 Apr 2017 07:24:34 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Andrey Chernov CC: Ed Maste , , , X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(39840400002)(39450400003)(39850400002)(39410400002)(39400400002)(2980300002)(438002)(24454002)(199003)(189002)(377454003)(450100002)(90966002)(106466001)(88552002)(93516999)(63696999)(356003)(9686003)(498394004)(98316002)(305945005)(8936002)(7906003)(54906002)(6306002)(9896002)(2906002)(50986999)(4326008)(606005)(42186005)(5660300001)(54356999)(229853002)(2950100002)(236005)(61266001)(45336002)(53546009)(46386002)(512874002)(61726006)(189998001)(38730400002)(86362001)(55446002)(8676002)(84326002)(8576002)(6916009)(6246003)(75432002)(59536001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR05MB3573; H:ome-vm-smtp1.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT060; 1:QcLjRdy1pIi3CKXRebfa0H2tRRSQTU+7xRE4FnK67knb8vQsVvnSw4Vb/TxoComneVGqnafzCiv9zYbpalBiNxd5cEWuEJdAxGbOHtkgQtT8GuW/DAG4ayv6/a8ItIEd6Ts7iLfaECcBb5hcveWrugGc6Qr7AK/OwieIw8nxl4OEa3EPmRxtfvmISDqhyCUduADDvJ1+VZRj0F7h9cGC0JtkzZQI1ty7aBbB+MIRQSHy8O/52pWy2b4gxcchZTFeL1/0gDPHsVur5tamLXTK7BD0cSlsJbhOv/g7bw04bHGLLJ4pk4EiDq6X5XapXcGWwl/KyKbZhLJAvllAv/u6VxQWvw0ryGiTDY1f1R3FDRjI7ljS7M+JWeD2VWPvrW0MHZyr+C+Q4XxIcNsuE9lhC3VGT3wBsMhWLw3mEXroh7O/MDWfvssSs72jzGiZ9nJBn9+Mpdj4Fei2SOCUl5cfbk2jnzBLA9oFwgnnfc44pV0vGZGt9Iu9DP4IzXjt1X0lx73Wv7XXwzy6RT+lfebIhIbQNPTDjKNxtXAEIIwjh68= X-MS-Office365-Filtering-Correlation-Id: 4d1e3450-9e41-445a-5dc8-08d47b559cea X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:CY4PR05MB3573; X-Microsoft-Exchange-Diagnostics: 1; CY4PR05MB3573; 3:nTfP5CZQPj3PjY28H71kd2lX1g5yI7V7tdkpbFXVrsQFHgaUcxUKo2BrBPPPhMkoQ/vOkOYDBOdD8l8RDLqJyGhRbtoSbS2gOnGTWdgL6UNPPoALlK8ZLZKb/zeH7U47N7yGrjVT6cuZ0KnY9H/REBVGb43Kz1TiodnVYSk3ujVg5MIunKq8ULNzYEjK7072tTJ8Z/If/uYeJfL0STsCq+r+Mh1jdFsMPnr3n4padnUv7jo0Eef6NgPiQdrnSSyMA+OH29mC6J3+Cw/bfWXViTaJVstqu3huC4mQLR8GdCDHD0ng8ciHxuEojcFiNkmdsv+iuuUaXitwUv0ZwSjj5enXmPFPruJs35AZFValZdX+C2NdURcOrwFlHXfCzewj+GxSXEh6T2I4eiFDWudamBf+Hy7ayfhwsLM2Lrqp5G2qRcJ6Tq80HU4wMhQFcQzjmvi3qOwl2dg5kUWfVP9MlCe3Uzuzv24j0DzYSYcpuD1Aw/lZSr8sAEfgeIIQOD78HRiOMmzEBbbKMxEpSnobgg== X-Microsoft-Exchange-Diagnostics: 1; CY4PR05MB3573; 25:8YwA/NYRk0DSVWSysSxukvDgK5jezN+c7oC38fFvBqi02qMNgJzJVH50wIW0bF1yr58OC0QBNqYIFyahlBWxii3eDNnGkXPnrB50KDzX2MxBtOIzMaYLfMvqPahqWXHcJSvaewDMVmno/LTp6Ms49RoQvxecOKiV/D5tr+IISx+2rKzM/YimG9HbDMGk4hhfBqFeYR0blbffIQ/Gw2GrBpfuPbXKV6hl7J6iEW4W5sgJBPoB2M2l3yPNsof1qI0YwICvBXEH+zfYoNXbT/HGJBobvyFhOtju0hvXsRqBZqPtOq5vFtaMe+T17iBnDa6zaZG9547G0fVQz6ndljG3Flj5puuiL1VEyRJuF6C+nw3Wq+SVtI3zlSnkNx/EEjw5RVTFzT1igVH/vwpmVeC+sd3J18z1jpT7QLJlXf6F/QGUcWRuYg4G6U75h9Uv1HnaC4nluNVs1BvtLztju9fIbA==; 31:X0nlZ4a8wlP+wNbhoCk5TcsTD/ywZaVtOhlaUVISmAVApCdsjcffTRiPu8rM/OAWIWwc0pynRxPYt+NjD9y+h96jyfiG2yAczsQP4RZ/keXLftjn1y/K3xYxX3IS/IJVo7qOTRw9qDYvRKm/dfjovgaEbGxQTNGjlL7Oi2kMzbKM4giHA9/bctcnky5UBmo1VgT3sZFFY69icYeZtcACu5U0PZAwPkwFWW759srjj7LdEng4QEwogTDUE4aD7XXq6t3t96kYpS3bYa+3X35QCw== X-Microsoft-Exchange-Diagnostics: 1; CY4PR05MB3573; 20:BcNmW4mKNm7x6rN6x4YFGhimRnLvXiU6nqWzoNFnIWxSsX1Xkd/NqmQPzHSRvBAegyNR2TKF94mmUgPuVmM59aYgZbZS7ML03tGB23fuK3WYKKJfWlvAX5+FlbHAN/2KGG4c0UkR3ETP1VhMzn1mnr2uLm6OX9rCAey6INFxhEQCuzbSWAAdTe5QJY4Bc2+rrfU/gRw4i6JGmrX3XRLri2kJj0rkkWjKconlBhx+2ABCRprodupgpOtIe2I35GV9TvKwDhQIgUQQvwbcSGOxkIspTBBzgqKR8cw14rIk1fY+THEHnwwcj8xH6xm9B6O7vCSRzJNPk0GmvZ/Sg+TR+J6PD9SG0sE/ElG+5ssSiWEW51cTWBhqsIJPJQkhUNDYKngISn7L1BX5W3y8vqBHE90I65u6pYcpPZ3SQrP+IR6W05v8zqQZ9EpTqWvEL/PwHyjhHziUxO0EHE8p5okKCsthrxr7wNHyLrsSe1b09MZjFkiInks6Hy0A2Bd96783 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13018025)(13024025)(13023025)(8121501046)(13015025)(13017025)(5005006)(93006095)(93004095)(3002001)(10201501046)(6041248)(20161123560025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(20161123555025)(20161123564025)(20161123562025)(6072148); SRVR:CY4PR05MB3573; BCL:0; PCL:0; RULEID:; SRVR:CY4PR05MB3573; X-Microsoft-Exchange-Diagnostics: 1; CY4PR05MB3573; 4:OckyB7p0B/h24WiDt/nTr27z1oH1vwuDQcnpsxu7ZYoJ36HVYsYBJGwjuDSbbuuP0YJFsMkCyOXIvTdGKtK2gK10O3yIA3nxHtSOve3xWoBDXaOn8wpL047a6Xgj/357whguZqbz+/hYN7OXDvvgTnFa5OmH+QKgPiw7nAW4bqcOnYg8lmvhw5E5flDbosL1lCjAbG4wM8LW+/iKJeQakAxCbxzf2VP6l0wDRaxOCGbOiBj8haZsZR3oa3ygXXH+HDduHIUOwJMma9PAqc0/N1HekGS+bfZUJQFOHpJ4XMMgosxnarRV5uAzspkuPkW9Qr8hVKnuuVoAQjZQwPFKjypGyG+epwb1Jlz3op2i4Hdvq1JZ6X+n1gncLp/U2y4cxeaqhwelZm7SFz2m20e4huA4eK4o5BFRyRztssXjUTbjoS/fcPaP0NdcDEn0iAoGg4DMY/PnhYDnoARkCENwhqMXKaN9jK4rIsTukfcVU8pzvB44mS6SBSQAUJAY6y/pTF8UcbxJ6LWYh8GHA/dTeEHbRrbtpZrTA17/8J9oM2Aan19OELpfKtLNyuZugNT+sQmWxdfDHr0KsOSg9WmPaH/5S++Vqu73UpKQJPZ9AAgKkW3vsloOAUT/VaYqRXqtrYsROzYmviVINHG1khXWk5CjoeiDlv1mO2p3pfloC8PZUrtJWOIbJeqdMSqzG1KdsFNMUL5WG6kZUR/ZqtpStkwDK2BNBG8p/v0mLjICaO9jc8WUBFkSWYnBmrkEr1oXpWFKmw39IFGlLQj5ifUs7ZVvfyth3y1HuT8g3chTV4ruKV6AFHgvAXQrf377U2npntS93vFvp2/SWi0HLiPl1A== X-Forefront-PRVS: 0267E514F9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR05MB3573; 23:ytbogGDiyNTPvHUoVjbgAm383F2qJQcpuFTDKMa8m?= =?us-ascii?Q?4I4WCv3jT/xObPbTlTly8NHQ1atW3SaygXVopXGLf//zUzd+5Pxni3T8n0nY?= =?us-ascii?Q?mYRj/hBxw2BsSPFNUWiXiJH3ZoICgZLmjnv5rMGKVhbFkJx679vG8EUjo1yh?= =?us-ascii?Q?n1hDEh63ZIHv+wlZ+RnVwcMUvEFI/4yr72BZf3isIVTY6BmTkVslzTZnQ9k6?= =?us-ascii?Q?BPNqJ0tJuzV/k4+TmyID31QzcufjmwVZrZIU6TwLLpCyA17SR10pOhJRo67O?= =?us-ascii?Q?gTq4+oFOpr0EqB/uD38j708hjGPh+QrQRyxFchwvQANlC+A7P8Z9l5RahdkU?= =?us-ascii?Q?F1lkUUub5XM7zT+sicklhvVZgmT1aqJ9njLExPLOnZIFNT0tPEeFQ4dPIVRH?= =?us-ascii?Q?V+HT0rlOViYzZ00umos1IpCCnyacJ1AG7gnJoscjRgrpk4QRPyNXSff0QRyI?= =?us-ascii?Q?FB0GxqEn7HzsFbJ9UKPpC23Q7EiKTbwPJ7vy0cLzQ0QhZzMOZm92pX/wPwtg?= =?us-ascii?Q?W9/7QokpIjyoiAj1p5BbpHDydmWEbgmBHfDRHD5JUJJnMPDj/GQ1SiqrCTiD?= =?us-ascii?Q?BR+6wTCvItlbdRoInyBcCyFnVe3HJESCxHBv4WR3vrLHoQodAaYmiZaQ2jJL?= =?us-ascii?Q?fsMxRrK255zJioTOWtxVJs14BBfkgSCW6Prj53DGJJfocbTUN3S5JFe3rPJ3?= =?us-ascii?Q?SOBFl0mKcT0mnm1vx3gtilvmhP1VPsYhYDBT4w2F8vh3gctuo7r0BR/7juat?= =?us-ascii?Q?dTB35mxjQ0Rzn7oGEYl8/jH6uqXnCIH4w1c+/RmClI+30pdzaHn+GHW1o7ZE?= =?us-ascii?Q?yBon6IZgrfS1zigTDqZIboY/A1oC+BqbbpJQf1aMvW6ZmezwOcQFEl6+UPvo?= =?us-ascii?Q?WGPbuCgDRHz3+3eMjMHzaknHLJqeXy+scXn+qcN/l/9uG1m1xQY6Awwl8vGT?= =?us-ascii?Q?h2cYFg5a805NSXEAGNzuyOViCv9jSbjzN+aK2zxRL3ir6sw/9Iu0vTa/j0P5?= =?us-ascii?Q?v9ZTOCFRXIk8TujR84oWD8Lv6QJwWjuvNJsLVDznc9Nxjoehj00PNHUTJDQZ?= =?us-ascii?Q?968/kOxitnKltJoCE8O2cOG7ZsHsgjx0zfx3MKvII5ZG7gRlkxrMtaztv1Vf?= =?us-ascii?Q?StRZIXtLturQg0kxWqaV/BfWGGy6HMaCqyX2Emk6gJm5mQsYpdzs1+ZmA3Q9?= =?us-ascii?Q?P+4dTTz0D5fPLtxO618uSlZ7h3KzBnGWY7gXvkTypwJZnUAwvLkuG6Jkizn5?= =?us-ascii?Q?w05DFnfpign07tjGYkKJmWo1a6SvbJrrxlaHDtVDIQnhmsQm68drEaLQ4s+2?= =?us-ascii?Q?vBYt601eX6jnwhgHHymoRo=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR05MB3573; 6:ReKaW7fTaJXjrC7AdfEqxFfXmWP2suJf6Bl/o64Fkr1Sk0NPCKfiRL4V7XSoakzkIGHVdghNw5yfZwuL/klW1xP2ckzEn6cCDifBg+0GTgChxdVS6iRfueqcBEDy5Y12dUuHzSW45/z9Y8FkeJtmSphDqT5ewANCld5i5kvmPSS6nM03j3FEWu6LJgGR/sN6A8Su7/rFHQkcmmraZIGRcLw7Elww8E0D4KwizMlQcnD/9gLzI+gnpfihFs3U8IfQpKZiYKk15HRzy7wlYdGduwWpImu9O97PfYowvYR0qnDLhUdySmLukcPpVwB1vtO8enPud/cX6ctyART0s5HRMaGDr3Mnec6rFAFmQubp3sTYQqnEWH+dQjKTJVhY85rGrVP7p+J9ZLQebj7OC5QYdQ==; 5:e8jKAIEA9PgPmxjR8szueOt/8t+HCFaY9JHM72FJ7coAkroVTCPOtNJL+qgJ7NEQ7ERaSHZ1iWSqpqXCh1OZL1f1zxVB9PCe8KH9aNBzqCjLj/uMk1yP2V4lmj3lvPdbEmpPBAykkS2/dxM0xClT+Q==; 24:vPbmiJbzqwU2NIvfdSR6y+wP0yFlpzCO1FV+18JEAsZEruAIWA5Ub8SDskqDY2AgN/wgleV+yywwa+fT+P1pV0KYgDiV64sEqvmkHOmJr7M= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR05MB3573; 7:1ghaGAnXBQ20RfypK17L2H/NM7W+6uJ4g/UB/3a+g4T19o0oVvJT0Md+bqj2sgFdvM7vXMtuDQPWdUUnBu018qfIuiNU+lfnA43cp8bRIM9PY06himV2JM0gIUqkANZVddYDXxMunOrsJwDKiUAQQW5yzKa8t468jB3Ua+tBeMjw3m/SvuAueAlSS4z5kmX6MiDXvL67H+q3pdZ+lrSemjWBqp0mctpY/6RKui9lZObeECsp170oDv4cvRrZhhHtF3TccrGe0eP1vvUa9RQJRcRQtUsFv4SUXbcTYkBLAdW+aedNqj4/hz5L7yvk6gMOW/QKGMIhIaBeA6uUh5SmPw==; 20:13YpZh/ZAp3akyhBsjsvgdrSOFYaaf1rJrzVddecNFxk1ZnRdK5byO2nW6UcqmqVt8ar9a0fjJfdDPbC+WwT0ZtB6oFvSx9CrpAw/g0Lof/4oWwAgYkvOEq3637BEFjdRb0afQyu/+96frVo5rgjsgPiCIgXnKUrGQz1RsZYByg= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2017 12:24:59.9561 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp1.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR05MB3573 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 12:25:03 -0000 On Tue, Apr 4, 2017 at 7:07 AM, Andrey Chernov wrote: > On 04.04.2017 2:16, Ed Maste wrote: > > if (color) > > - fprintf(stdout, "\33[m\33[K"); > > + fprintf(stdout, "\33[00m\33[K"); > > Please back that one out. We don't need to handle internally or print > remotely excessive 00. > At least according to > https://en.wikipedia.org/wiki/ANSI_escape_code > "With no parameters, CSI m is treated as CSI 0 m (reset / normal), which > is typical of most of the ANSI escape sequences." Hi ache@, This specific change was made in the name of explicitly matching colored output of GNU grep for simplification of regression test purposes, rather than for good form. Is it still unacceptable to do so? Thanks, Kyle Evans From owner-svn-src-all@freebsd.org Tue Apr 4 12:37:57 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 059C2D2D0E3 for ; Tue, 4 Apr 2017 12:37:57 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: from mail-lf0-f67.google.com (mail-lf0-f67.google.com [209.85.215.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8C29C928 for ; Tue, 4 Apr 2017 12:37:56 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: by mail-lf0-f67.google.com with SMTP id v2so15417603lfi.2 for ; Tue, 04 Apr 2017 05:37:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=tMD33QUFqBPjGzXohfPDTvvCw/x8keBKa2QR8O5hPq4=; b=rW1K2YJay4VJ44c9oWlhKRaHXpftwCQAZeplY1RD1ZZBjy2Mn0CnrnIEmKvy4FM5hq KfXQQmSgCr/40KaC691asR7qNnAJu1NH0L8E3Ypu14i9rGogBviw/wfwsUEEm8ylYe7r BbnIOwq1ilIiZQiGXFZqVAXAEY4c2k6FYH1G/ddxRtNTQui03KZ1RRPpE6aq3zO+BuAW NNlwZjoxztoZtYJtm7PUXwj/jUKLO7lJv/R2KZpKFFlkSYqepXeZuqURsRMWUFcmXICp oDGE+2iW0w89UyvM41xilAIogz29t9jVXYXSNQ97bV/hBjsxxVm4D4Qs8I2Aa23qErCC hASQ== X-Gm-Message-State: AFeK/H39vn8hknX6AOhFJpSWmzlZevZaeENY1D6NIc0a/mih6mV4DGcHEKyTo37vg597pw== X-Received: by 10.46.20.87 with SMTP id 23mr6435014lju.54.1491309474117; Tue, 04 Apr 2017 05:37:54 -0700 (PDT) Received: from [192.168.1.2] ([89.169.173.68]) by smtp.gmail.com with ESMTPSA id w78sm3134953lfi.23.2017.04.04.05.37.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Apr 2017 05:37:53 -0700 (PDT) Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Kyle Evans References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> Cc: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: Andrey Chernov Message-ID: <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> Date: Tue, 4 Apr 2017 15:37:52 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 12:37:57 -0000 On 04.04.2017 15:24, Kyle Evans wrote: > On Tue, Apr 4, 2017 at 7:07 AM, Andrey Chernov > wrote: > > On 04.04.2017 2:16, Ed Maste wrote: > > if (color) > > - fprintf(stdout, "\33[m\33[K"); > > + fprintf(stdout, "\33[00m\33[K"); > > Please back that one out. We don't need to handle internally or print > remotely excessive 00. > At least according to > https://en.wikipedia.org/wiki/ANSI_escape_code > > "With no parameters, CSI m is treated as CSI 0 m (reset / normal), which > is typical of most of the ANSI escape sequences." > > > Hi ache@, > > This specific change was made in the name of explicitly matching colored > output of GNU grep for simplification of regression test purposes, > rather than for good form. Is it still unacceptable to do so? IMHO everyday usage by everyone weights much more than occasional regression tests run which can be fixed instead of this place. F.e. we already do a lot of local fixes in the NetBSD regression tests instead of pretending to mimic NetBSD in 100% in the system itself. From owner-svn-src-all@freebsd.org Tue Apr 4 13:06:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6BBC4D2DE18; Tue, 4 Apr 2017 13:06:00 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail106.syd.optusnet.com.au (mail106.syd.optusnet.com.au [211.29.132.42]) by mx1.freebsd.org (Postfix) with ESMTP id 3598FDE1; Tue, 4 Apr 2017 13:05:59 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from besplex.bde.org (c122-106-153-191.carlnfd1.nsw.optusnet.com.au [122.106.153.191]) by mail106.syd.optusnet.com.au (Postfix) with ESMTPS id 262243CDEA7; Tue, 4 Apr 2017 23:05:51 +1000 (AEST) Date: Tue, 4 Apr 2017 23:05:51 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Andrey Chernov cc: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316477 - head/usr.bin/grep In-Reply-To: <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> Message-ID: <20170404222532.X2274@besplex.bde.org> References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=AYLBJzfG c=1 sm=1 tr=0 a=Tj3pCpwHnMupdyZSltBt7Q==:117 a=Tj3pCpwHnMupdyZSltBt7Q==:17 a=kj9zAlcOel0A:10 a=8pif782wAAAA:8 a=jjjBKoQsI9oc35qS1gEA:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:06:00 -0000 On Tue, 4 Apr 2017, Andrey Chernov wrote: > On 04.04.2017 2:16, Ed Maste wrote: >> if (color) >> - fprintf(stdout, "\33[m\33[K"); >> + fprintf(stdout, "\33[00m\33[K"); > > Please back that one out. We don't need to handle internally or print > remotely excessive 00. > At least according to > https://en.wikipedia.org/wiki/ANSI_escape_code > "With no parameters, CSI m is treated as CSI 0 m (reset / normal), which > is typical of most of the ANSI escape sequences." This might be to work around a bug in a terminal driver. I needed the 0 (but just one) to reset the attributes in my attribute tests, on at least 1 of the tested terminals (current sc, current vt, old sc, old xterm, old cygwin xterm). CSI m seems to be working for sc now, and the teken code looks OK. I first thought that this was a misplaced 0 for \033. 2 digits for octal looks strange. I would use hex in C anyway. In my user attribute tests, I have to use printf(1), and noticed that printf(1) is missing too many features in printf(3), or worse, is incompatible, especially for hex escape sequences and %c format. Bruce From owner-svn-src-all@freebsd.org Tue Apr 4 13:09:35 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B133AD2DF10; Tue, 4 Apr 2017 13:09:35 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0075.outbound.protection.outlook.com [104.47.42.75]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 577F8FED; Tue, 4 Apr 2017 13:09:34 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=wIFBPD813775G31hag4/KtLgRM+kQAdeHJAD5KFm/OU=; b=rTJgSVPYa5zvlNfF5ikW6tofhm1yda3DpDAGQPBH1dGRkbhHxcqua7IvoSMa/gW1dwHBCsIUtrohPR354riFVY5yeocjgfi9x+hMdA22PkxPGfWPC3jNI14lWT2Ybl3Q80gSV9Ud5D+yjMu3OafxjEN0gKMIEq6Ia/JP/N6PQcg= Received: from DM5PR05CA0014.namprd05.prod.outlook.com (10.173.226.24) by DM5PR05MB3579.namprd05.prod.outlook.com (10.174.242.160) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Tue, 4 Apr 2017 13:09:33 +0000 Received: from SN1NAM02FT064.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::201) by DM5PR05CA0014.outlook.office365.com (2603:10b6:3:d4::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Tue, 4 Apr 2017 13:09:33 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp2.campus.ksu.edu; Received: from ome-vm-smtp2.campus.ksu.edu (129.130.18.151) by SN1NAM02FT064.mail.protection.outlook.com (10.152.72.143) with Microsoft SMTP Server id 15.1.1005.5 via Frontend Transport; Tue, 4 Apr 2017 13:09:32 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp2.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v34D9WWb028076; Tue, 4 Apr 2017 08:09:32 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 6A4CA248307; Tue, 4 Apr 2017 08:09:32 -0500 (CDT) Received: from mail-wr0-f174.google.com (mail-wr0-f174.google.com [209.85.128.174]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id 14759248302; Tue, 4 Apr 2017 08:09:30 -0500 (CDT) Received: by mail-wr0-f174.google.com with SMTP id t20so10023377wra.1; Tue, 04 Apr 2017 06:09:30 -0700 (PDT) X-Gm-Message-State: AFeK/H2SsQfB7FoNBP5P+POwzG+iMYRvdlmvclevaScRRox1m4VA0Jmk/RkaAb1jlh8vdMeT7DiXMaoBVlZ0nw== X-Received: by 10.223.135.196 with SMTP id c4mr223559wrc.109.1491311368980; Tue, 04 Apr 2017 06:09:28 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Tue, 4 Apr 2017 06:09:08 -0700 (PDT) In-Reply-To: <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> From: Kyle Evans Date: Tue, 4 Apr 2017 08:09:08 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Andrey Chernov CC: Ed Maste , , , X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39450400003)(39860400002)(39840400002)(39410400002)(39850400002)(39400400002)(2980300002)(438002)(189002)(377454003)(24454002)(199003)(86362001)(8576002)(84326002)(42186005)(6916009)(2950100002)(93886004)(90966002)(189998001)(7906003)(236005)(305945005)(8936002)(45336002)(55446002)(356003)(8676002)(93516999)(54356999)(63696999)(53546009)(61726006)(606005)(5660300001)(54906002)(50986999)(498394004)(75432002)(9896002)(6306002)(9686003)(229853002)(6246003)(38730400002)(2906002)(59536001)(106466001)(61266001)(512874002)(98316002)(450100002)(46386002)(88552002)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR05MB3579; H:ome-vm-smtp2.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT064; 1:UNeQCFBRWXveYL8PHcTKHZofvTIAErONTSTpJZepJokAjslmHJJzTjkdpZdVRV1uTB5PxslMH9+cHU+ubshSYxTsFc+0P+c3P9xoKw6lVgpeMg3Fbnc90eLcuBqP73Lq0doIdESqfxpCzIl1TfFpQnoSjpdOFHRQ+9TfNMlUSyFwcIVJT4WucSZWx06UyHiulbESvOxOtOKRPTtrnG/I/YxsMcsYl5GO0b1aXvn+uFzSwfpwt2aJqDqd7Seu7HczP2HkL5ABPdTNaCoISVvMG87LeI9LXDC7zQma6KaMDgQHNZ36MKSxtUBQ119KGcrEXxpMSwH+i1MG1quB0PSGS8hRsv59X8oZrChQV0ofz878zp3PZ3h8dVAz4ut0VU4VLJyZXC/L+M6NbIQInTWPijH8jwwTkwvlzL1vcsCbpXI0Gacg9jXfZWS5+x59mdToqBGScL6iPrZIr5IHOBkzS2Y8yAjMHIMw/ZEZR3P81d/G2u9T3U2LGcRHhmp09js2pcDRVv6C+NaGVIU+mBwnwhctwogXGfX55M+SNFSFB5o= X-MS-Office365-Filtering-Correlation-Id: 6eb7080d-a246-4801-5564-08d47b5bd628 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:DM5PR05MB3579; X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3579; 3:WfdQtKkiFSSfnaF9k0+6zYooL1cbHJGag6Tk6PBcF0kHTlslj8okNZhaxXQd53jSlktJycg14e0Rm1LvtwBLMbOK9cGbc431/PQrUpKGF9oHjbPza1lLQxhSeKjgek9NJMyk0CuoQPje8SHEXl0mCWQHF5O2v1bfqlvEgc17oYXgL4fPc2MdrZm+sNXbYH0/NW1CVyf7ym8ATZpZPa9MpPzWPpNW9q2otpV5psHpZ5nbt0sGzx2MAwaGkuvfqSIrdQnj5cihYAmlJV7jMAGjZ7vsVULCiqYPhSw6C3Bwptu0ZsMTNayQr6DOXJl/j9F7lYUbj5bOgayWK8S/Eto7/TTCf3Lzxmz6LuIBXkv9ytz7NVE9NW0w9nXL59CMn1N7kcnQ81U58sAH4R3B+nTEWIMzpwvMzPTy8YMnKOwxnLmEWCh7BRM+9o7yzDcPiXOJcn8WCrMmcRM6apXqbypChkg+sHAE03kzgIPECJt/i4EfVR0sqXaExAHHgSqrglWVD5osRjzhO0wov25r1C/D8Q== X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3579; 25:3TfYC3YFgX2DN8thCccb+Scviy+kcYg3UlxWdRbljipGJsEOpMaf/Vn0EzHE2EJ90uf1oQShVH/IhDZ+aKFEC0dzY+kNz2huyvZ7404q5bbyO/hGFSR0p1hvnHhFFLP1IM7+vtjGXEMrKlloKDIJY1nVCf/upt4ypJ+Vx0Au+dZAjtaO6EyKqP+R5LFDnKa4k5oxUy7O9prsJcKgLjLMbuK5XZks8uVdYHwZnVDz4NXUE7Mam0WC7a3buh1CPketOl2eKDDm0QO6TNAjRXlsoFgbdfRW+D5Q/iR4bx1cY6h/CP50/yvN48tF4ppb+61/kdHNDms2TP+tmQpEEdDYJhLj9c/St06zq7ljCfwB8F53IPB816NQnj7U5l/8bUtPLF6B4Os984ByP/bGsZjIhpZffwQ/85WnuFNn7Ge89OH4/NASl/aDEz5lSQzMbThf; 31:jbUNKJPsZzrcq8UeXESDUlJaVAMNLsIoM5DeFRy3hZrfZ7kd/cyMBHvHjBg3JIrDDbDckqtl4JS1bQsfWGQuiUMWw6L4S+GOEIvketF6j4CIUMJx0c0F2A9ZVOWZ5xkuyD/Z01suYNGKPy40iAkh2D3p08/akF05jsKS2VRrdYSnzoSMe3p7JFop9kxzKw1/sygtFM88DjTxW75NWRrK+ZGiIEkbF8ZbXPRNZzdbZD0hEjVIdkmlvvh5ZE2T5wOv2Wi0Do+rINenY2/AhImDUw== X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3579; 20:XBE7R0hIBQxDF2G5tevVs2rVRvpwdFen4+OaXbAUBJuEZOW+f932Y3HW7kI20yFDOemMWOnTX3Jmc5St2W1OV5exbulpcjTdLncL+EO34ZZzrCFMnsnCIEinU/qFa9PJoTCduM/Pt3xcKdBNYjc+GwxvnFJbYOQSbYPReEpn9PxCJz0Ey8YgBx62/6KubB1yO6r1VmzzeHG4IvfP/Od1kqTR847qDRyXoWIoOm8OK2bpcwFHVY+sBp2dkOUEF3evldlme5w0e9sZL1ax7pb9P4oSGIA45nEzwI8Kq4tTZKLlqR4KoTmEny+gB25h0Mbmyd/BRn2tl9fWq3n3c86ZsFcm9eVDRPFFWBGaRU+ahg4p4FlvS8M70z9Al/0suHPNDupeVgG8UsjKijEDy/vqI6lXg0KfQv5bSUdi1lTg8Lfg5tAcOSk87mtp7m1VR4m7Wi2+vXtyR830ut1XvIl0H6ywL/DpLDlPRj0ZXwuNEpgOyPOAX7FVkR+D+1fQ40Mb X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(13017025)(13015025)(13024025)(13023025)(13018025)(93006095)(93004095)(10201501046)(3002001)(6041248)(20161123562025)(20161123555025)(20161123564025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(20161123560025)(6072148); SRVR:DM5PR05MB3579; BCL:0; PCL:0; RULEID:; SRVR:DM5PR05MB3579; X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3579; 4:gSfaUs9Yd8ck5NbYg84c29i5Q1YWZpMJ6JmldY2Te564TidDTDsbfWE5V2eMGDVnE2K18xF4fW9KmFyOwFGxH+ngv9h28l8JdCmuOU5xd3xSbUBpBBSoVdFkjQRciFghxUwzrloWz4HEqsqsQXQuV3vjLhyXZ6YqseEFOF3TorKM64myJuRC0LaDJLE8KrZsrMbq2XqRwWX7jbiqLDTG2Il0pvp0W2RE6/jZCx9XGNOLsT4XEiGNrn86xIH8nDiCWY4phV9IQv820UCCTga3kFFrZKna2cptTkelHO845T0QQnblpwc95oEv7w3enjRLi+3cqggs6s31rwQYmOMp1NGqHoz/zdK5Rajz24cJu3lrI54ePgnugLnww2P0wbRPZ4Pp17F+eo9pDyndt/4vM8QIp5zMwJIWUhlm6m+fT8A5VD+oeuX2fMGASWOivuBVQlVashtkEBt2CsaIK9hcg+f4KTLBB6WfZBWwnF6esDXjLveidhSl2qtkAP6cXj0EbNyZe0xWA4lIvmAffKqzIKofu9bncyzrLfaBaL9nzK6f9OCy+F/HTG2GQK5ST26ISn0fzJ462yFnio4cNkHhi5tUrAM0FxRBWjwwmEKAompdYuYj4MpG88ZRGuO4twBWrVQRw/jk0rl/dq296+lOUNOO2jCBuZfUyDrRRGYvf/4qiayuv7AUoSRhevjAI8b49j8aLusEp7XUbrEr+LhgxQn76SiIbJjY6BwG5ZekAz5EqqPpeQOSdHH2279DI+EVYg/SJLSZs08OCGKEb6cHQZQ8YVCRnX+ZV98lQY4vDxliCC2aP140OWy0tgYz0atuq50vu91xDeth/pofbeMwhg== X-Forefront-PRVS: 0267E514F9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR05MB3579; 23:4VyY3tZEnnUD0N8PnzinUw1Hear+v+rWQjXo2vsdW?= =?us-ascii?Q?0YoSjZoK7xX+h+1zIyDnN2JxvofrpTbghJVHGQHccrbGxU3DQGJVCcmmOQPM?= =?us-ascii?Q?tFryuyjecg+9fc96XUN7SZJZXzMRlBiBRvzp+qGuEPcRxjF0kVNjsN5jzlv4?= =?us-ascii?Q?giTIKfPmwU5Jg2JvB+yWYSkwzySqJQTvQLNBYHCmF50vDDGiwJ/1mknTbE9s?= =?us-ascii?Q?84vovMVBQ9cnebEqx8QbbzMkpLb3D0J7CAPwot2Lua9bBS4kiFXR3M79cxoF?= =?us-ascii?Q?XCZq0uhkTM5JVOXs/CMvlacclB2Tf+I06+Mt4zAgaAj+9+avIDGaknnsHaiM?= =?us-ascii?Q?qj3XprMh2VpgnU5fN2+T0IyT+aCWmozHwMFNXXhsvmaRHgMyy8VUqN6JcUip?= =?us-ascii?Q?vo/cmGA74JFfwRu5FQBh06ELAXE9zLDH6xWEP5Xw/3w1hQXX/+t64yTgj74W?= =?us-ascii?Q?1Ah0uiqNJN5UcyHDk7QimIqARqTSwdpdTgCG4Xhu4dP786FrgxjG4+P30ST8?= =?us-ascii?Q?e4LMhpzTQ3c0d9AsQp0SJL4BwN+imQyoOUhoMX3j2JOVusKw5cenH1b/+L8W?= =?us-ascii?Q?UB2LJ1BFieAaVHBBo9Xz8pfi94wLjSWoW56DIyL7urtDYdU5pU3jDPnwSpo1?= =?us-ascii?Q?r/UgAYvlnvoMjuo3cf29Mu81tAdGkdLSdjsIXoC0elnrsn9lZ/dyi9A06NbU?= =?us-ascii?Q?LsjrsW2D8fDolGf9Z2Mj/v02qo2slrK9A62nUP+u2LZurz+/X2SJSVVCDeFS?= =?us-ascii?Q?wuT/rELJGwakUxsyyGIubX9iVdjZGyw5sS/rtRiLKaqJqXWQKP6PrB5FTJ/o?= =?us-ascii?Q?Gup215qf38HhqOSvRNyb1rNd1AL5K+aCK29KEC62Y1bQJceRN76fj5vhADF8?= =?us-ascii?Q?6SVjtkCqB1S7rkGyiyBKC5JNEEr4u5ITAe4pxrA9GU8YM0PPrHDvojquiZTx?= =?us-ascii?Q?ChaBG6zDbsxpj4Dhc5WczEttjtk4M/NfzHrh3q4Vo2m565i4Ql0jlYuRSWwz?= =?us-ascii?Q?pLmDnyBQsI7sCByCvPxZoxF0cvCA61CwMaGHj0nghN9xcXL2x7ludP/mbLpd?= =?us-ascii?Q?fUYteL2txh3Xi/DzRPEb+WlI7sH7ewIAcHGo/oir18pTaoA+ALy+6TNkxZ5O?= =?us-ascii?Q?gaLWRxb4juQGYDtPhaYqxR4NNUoq+FjqOXGeI0Lp1FOIAtwoqlz02xUlxvil?= =?us-ascii?Q?O973e0KS6HuWeZ1uuS1TSfXsxZ78rKnYK9nLq4AGmsjQHdhdebFVjYhgS4lt?= =?us-ascii?Q?BzbkQD7YNtZ/kSwSTrbMsRTEW8wMlOnlyVWERRcNAjMLOtgQR1j+9Lrg7uF+?= =?us-ascii?Q?XZVxOYRTBlp5vKYJpSH0hAiCoAoOJ9ujJ7gbkFQ/48w?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3579; 6:eukhSLhelRPmJ1CfnFDa2ZE2ha/gcrC21MEnwfszFy1o1RcP9qMejjbOzbhroYT36OnliQ5mRo1kqaRZf9tBOg4rb5E0XnTWqOFRbPznqfu6XhYKzU/TSTlaUcuA0tbLFYZ5rAcNAJmoljFSskO09LTGST/SE+bf60FwN561I7qbchKI8X/vOvLV7Qe+U6qgbBa0thfxs/HmPC7cm55/UVnxGsG5LyWKP2GvclslszGxn+4GtogGSVA3txjxu6xNPAtbdjvhb+bvbG+BIgC9pn3sPPPhibiBPNeo4AjtXVze5JC368QOf08OY3z4cF4HPsmBPbCuqfo5/WgLh+xEEjdu+zYl7Ikr+3anxrJs9XrWUY7LdvZZSPE3ifdmADsII+vZbp4e3UVb3v8YU73Xfw==; 5:6yTZSxjl0s5KUPjD8q6Wgfko7x6KOY9y4PEa8NrMNf6fRYITjYTv9olc6ZH5wA2LbWGHJhEWA9E46NrQWemr56CmqI4s16k1mk/fDYIZqF7HQTyhoQNw+Go70sWYmzyvmvwnut2yjTocK7kCOtXszQ==; 24:8EiatpVkBBLMkBEWpkgwmkHq9vfs+TxmKxCyl+XmhMafK9S5XzVVA81WI7OumyxYIy76qqLGaws97opbPjTk4GY65Siz/g8FzZFFEJm8N4o= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3579; 7:bg+ck3rEKUbRTd/XiEGfACHJB9s8YBjvQuH/DaqIgy9DOZlO8w/i5hTqIY7g8y2OhEDYpBYzHdMAqwulYvFilZc24ieP9eHXfORcg+uckjyzY5TNxWwE3iFNuBg7YzihfgC8ADhbi2fGZMwTw8q3FYCVOiyea7oiLX7o+ifTeYzRNi5eK0GNhZNJPLKArMQXR+A3xPLtqXmwy9HUz5kSE95o+lccnv1iSlXMlX2EKsPrOBLy6N7iTpigCsN3gP9fctpLPoYMEB2japBab4HAvfatloCcvIOma3sX/0V9tWbVWCgfJTj+OtBm6OcKFptmT/LaF89jv2OXtoKduWNqlw==; 20:EVFSC/uqzDdAAGeW2U2SAHfhB9yO360Dh4mJxTntQKbAYpe94WiA9FIxorWLG1yIPL93f8EM5ncujp/aQkb89U/Mjbc64aL8IllxFqOxlUVY+T/gyNofkCbTLDRVM0u3nQL+xvUzPw6tMDTQctXtHwac4aw1Fh4xy9/EFedAMBY= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2017 13:09:32.8634 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp2.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR05MB3579 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:09:35 -0000 First, apologies, I must rewind: what did you mean initially by "We don't need to handle internally [...]" -- the second half I understand, but it occurs to me that we should already be internally handling \33[m = \33[00m as defined by ANSI. On Tue, Apr 4, 2017 at 7:37 AM, Andrey Chernov wrote: > > IMHO everyday usage by everyone weights much more than occasional > regression tests run which can be fixed instead of this place. F.e. we > already do a lot of local fixes in the NetBSD regression tests instead > of pretending to mimic NetBSD in 100% in the system itself. This is where it gets kind of finnicky, and I'll step out and let others weigh in -- the test I refer to was specifically written by me ( https://reviews.freebsd.org/D10112), and it's entirely to make it easier for me to check and quantify to others where we're actually regressing or improving as I continue fixing things in bsdgrep(1). This is easier to do so when we don't have trivial failures due to minor formatting differences when they should ultimately be interpreted equivalently either way, such as in this case. I expect to be find other quirky bugs in gnugrep(1) while reviewing the remaining PRs in Bugzilla, and thus expect this to be more important in the months to come. From owner-svn-src-all@freebsd.org Tue Apr 4 13:18:57 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7665ED2D413; Tue, 4 Apr 2017 13:18:57 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2A0F4AF7; Tue, 4 Apr 2017 13:18:57 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34DIudk085551; Tue, 4 Apr 2017 13:18:56 GMT (envelope-from sevan@FreeBSD.org) Received: (from sevan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34DIuwc085550; Tue, 4 Apr 2017 13:18:56 GMT (envelope-from sevan@FreeBSD.org) Message-Id: <201704041318.v34DIuwc085550@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sevan set sender to sevan@FreeBSD.org using -f From: Sevan Janiyan Date: Tue, 4 Apr 2017 13:18:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316488 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:18:57 -0000 Author: sevan (doc committer) Date: Tue Apr 4 13:18:56 2017 New Revision: 316488 URL: https://svnweb.freebsd.org/changeset/base/316488 Log: Replace an with a Reword caveat on PCI 2.2 requirement. PR: 218070 Submitted by: Approved by: bcr MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D10262 Modified: head/share/man/man4/ral.4 Modified: head/share/man/man4/ral.4 ============================================================================== --- head/share/man/man4/ral.4 Tue Apr 4 11:43:31 2017 (r316487) +++ head/share/man/man4/ral.4 Tue Apr 4 13:18:56 2017 (r316488) @@ -14,7 +14,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 4, 2015 +.Dd April 4, 2017 .Dt RAL 4 .Os .Sh NAME @@ -45,7 +45,7 @@ driver supports PCI/PCIe/CardBus wireles RT2501, RT2600, RT2700, RT2800, RT3090 and RT3900E chipsets. .Pp The RT2500 chipset is the first generation of 802.11b/g adapters from Ralink. -It consists of two integrated chips, an RT2560 MAC/BBP and an RT2525 radio +It consists of two integrated chips, a RT2560 MAC/BBP and a RT2525 radio transceiver. .Pp The RT2501 chipset is the second generation of 802.11a/b/g adapters from @@ -292,13 +292,13 @@ driver does not support any of the 802.1 the RT2700 and RT2800 chipsets. Additional work is required in before those features can be supported. .Pp -Host AP mode doesn't support power saving. +Host AP mode does not support power saving. Clients attempting to use power saving mode may experience significant packet loss (disabling power saving on the client will fix this). .Pp Some PCI .Nm -adapters seem to strictly require a system supporting PCI 2.2 or greater and -will likely not work in systems based on older revisions of the PCI +adapters strictly require a system supporting PCI 2.2 or greater. +Check the board's PCI version before purchasing the card as it is likely these +adapters will not work in systems based on older revisions of the PCI specification. -Check the board's PCI version before purchasing the card. From owner-svn-src-all@freebsd.org Tue Apr 4 13:19:22 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 94DDED2D4E4 for ; Tue, 4 Apr 2017 13:19:22 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: from mail-lf0-f68.google.com (mail-lf0-f68.google.com [209.85.215.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 435F7CCF for ; Tue, 4 Apr 2017 13:19:22 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: by mail-lf0-f68.google.com with SMTP id n78so15493214lfi.3 for ; Tue, 04 Apr 2017 06:19:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=SF3xAWBJrZ4A/35OH7O+OIj8Niz6w81xFybrAu0Yi4U=; b=HMRvaxJiHCnYL6+n2trz1F605xRz+t3jhES9grN9BBZCCjEuT0RaKAn/i/aDM4eTNW BcpkY0QT+n0fBPt5ficXgv4da4XzzTSQH6P3IKi1KJqJPenQp63B5jilltflNvb0tx0a LFS+9TYjgFrVVHd+vObFDTOS0gQ3bRl9GpyiUKtJZyAdJU5TIv2/N7fvTQsfUq5dbPps 9jwTUgGcUTlVW4MESYiHEVzxess+t2p1pPke92xub1XM6jqvOTo1kClTQa8++TCKzsQl 5MtTl9+SXvK19mopbJksqXNS49ufi8EdoGOpTqogDxgoAtRHFvOYjFbMW8gDoRrUqDoT STbg== X-Gm-Message-State: AFeK/H3Q7WUaJ3b8U46J+QnWF+n4J1Syh2w430URfvc0Ah/7xzrdpDLnkGAE8swKOaIvlw== X-Received: by 10.25.44.16 with SMTP id s16mr7429404lfs.6.1491311959507; Tue, 04 Apr 2017 06:19:19 -0700 (PDT) Received: from [192.168.1.2] ([89.169.173.68]) by smtp.gmail.com with ESMTPSA id 191sm3120019lfz.44.2017.04.04.06.19.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Apr 2017 06:19:19 -0700 (PDT) Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Kyle Evans References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> Cc: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: Andrey Chernov Message-ID: Date: Tue, 4 Apr 2017 16:19:18 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:19:22 -0000 On 04.04.2017 16:09, Kyle Evans wrote: > > First, apologies, I must rewind: what did you mean initially by "We > don't need to handle internally [...]" > -- the second half I understand, but it occurs to me that we should > already be internally handling \33[m = \33[00m as defined by ANSI. Of course we must handle (and already handle) both according to ANSI, but few CPU cycles here, then in another place, yet another, etc. making big time in sum when CPU does nothing useful but resource eating. > On Tue, Apr 4, 2017 at 7:37 AM, Andrey Chernov > wrote: > > IMHO everyday usage by everyone weights much more than occasional > regression tests run which can be fixed instead of this place. F.e. we > already do a lot of local fixes in the NetBSD regression tests instead > of pretending to mimic NetBSD in 100% in the system itself. > > > This is where it gets kind of finnicky, and I'll step out and let others > weigh in -- the test I refer to was specifically written by me > (https://reviews.freebsd.org/D10112), and it's entirely to make it > easier for me to check and quantify to others where we're actually > regressing or improving as I continue fixing things in bsdgrep(1). This > is easier to do so when we don't have trivial failures due to minor > formatting differences when they should ultimately be interpreted > equivalently either way, such as in this case. I expect to be find other > quirky bugs in gnugrep(1) while reviewing the remaining PRs in Bugzilla, > and thus expect this to be more important in the months to come. I see another problem, but it sounds a bit artificially. What if someone decides to parse grep-colored output and assumes gnu grep only (which is usual in Linux). I can't determine probability of such situation. Usually people use generic ANSI parser which understand both cases (f.e. to convert it to HTML). From owner-svn-src-all@freebsd.org Tue Apr 4 13:21:14 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 902A8D2D7AF for ; Tue, 4 Apr 2017 13:21:14 +0000 (UTC) (envelope-from freebsd-listen@fabiankeil.de) Received: from smtprelay04.ispgateway.de (smtprelay04.ispgateway.de [80.67.31.38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 57E05FA2; Tue, 4 Apr 2017 13:21:13 +0000 (UTC) (envelope-from freebsd-listen@fabiankeil.de) Received: from [78.35.162.128] (helo=fabiankeil.de) by smtprelay04.ispgateway.de with esmtpsa (TLSv1.2:AES256-GCM-SHA384:256) (Exim 4.84) (envelope-from ) id 1cvO6U-0003JO-2F; Tue, 04 Apr 2017 15:02:34 +0200 Date: Tue, 4 Apr 2017 14:58:29 +0200 From: Fabian Keil To: David C Somayajulu Cc: svn-src-all@freebsd.org Subject: Re: svn commit: r316485 - in head: share/man/man4 sys/conf sys/dev/qlnx sys/dev/qlnx/qlnxe sys/modules sys/modules/qlnx sys/modules/qlnx/qlnxe Message-ID: <20170404145822.02d923cf@fabiankeil.de> In-Reply-To: <201704040617.v346H0Eg007675@repo.freebsd.org> References: <201704040617.v346H0Eg007675@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; boundary="Sig_/7JF3x0G+x.OarEhjkiemGEn"; protocol="application/pgp-signature" X-Df-Sender: Nzc1MDY3 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:21:14 -0000 --Sig_/7JF3x0G+x.OarEhjkiemGEn Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable David C Somayajulu wrote: > Author: davidcs > Date: Tue Apr 4 06:16:59 2017 > New Revision: 316485 > URL: https://svnweb.freebsd.org/changeset/base/316485 >=20 > Log: > Add 25/40/100Gigabit Ethernet Driver version v1.3.0 for Cavium Inc's. > Qlogic 45000 Series Adapters > =20 > MFC after:2 weeks Looks like this driver contains source-less microcode and should thus honour WITHOUT_SOURCELESS_UCODE. As pointed out previously, qlxbge has the same issue: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D204749 Some of the copyright headers imply that parts of this driver were written in the future (2018) which seems unlikely ... Fabian --Sig_/7JF3x0G+x.OarEhjkiemGEn Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQTKUNd6H/m3+ByGULIFiohV/3dUnQUCWOOYdQAKCRAFiohV/3dU nXq1AKC+1FT05BzOqEWUjiEnmsM11vGA5QCgguAx6gJp0BxkbBO6gMvOmGAsr8U= =sgxg -----END PGP SIGNATURE----- --Sig_/7JF3x0G+x.OarEhjkiemGEn-- From owner-svn-src-all@freebsd.org Tue Apr 4 13:25:54 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CE9F5D2DCB0 for ; Tue, 4 Apr 2017 13:25:54 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: from mail-lf0-f66.google.com (mail-lf0-f66.google.com [209.85.215.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6A74091B for ; Tue, 4 Apr 2017 13:25:54 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: by mail-lf0-f66.google.com with SMTP id n78so15508004lfi.3 for ; Tue, 04 Apr 2017 06:25:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=8xjaCz12ykPgPOTsIVLgq2tH2knyRAecQARCjIlSmWE=; b=fewpuO9/BbJqM27dLuNv8WOO2TDQD7wg4W1mzS1qnJD6Km6sgL55wAKOZ4/1BdkdWw j7n1LKuCNSmffMR1yhWOJwTW4UXWhQhh9W541LizxSdaBGIgP8nTHGmjXCM8CZn6llla thvX1186rDtuh1DtOBbZ6CKMEWP0GSKUcPr14lYeSn42fEMC0HRzKYzcFO+kaQMqyZRP OdmKbzpHK/KTj2+BBKEM4IlO6SL2rbmUsX5xp9pzjJriiVVqUymbWET5cffAK2yryS4W X180+pr4mfIFHlP+4+qsgV/MSEjjE/uQPki003JqA5ah9mml1F4m2S93RzlKVY/XVHZY qCmQ== X-Gm-Message-State: AFeK/H0CM6zxbzsYphEmkid/yGH2Pn+rb5j3d9J4nLniUAz/fz6Dd2V/vNKXdMCRQBeR9A== X-Received: by 10.25.41.11 with SMTP id p11mr6960315lfp.154.1491312352382; Tue, 04 Apr 2017 06:25:52 -0700 (PDT) Received: from [192.168.1.2] ([89.169.173.68]) by smtp.gmail.com with ESMTPSA id 187sm3163680ljf.32.2017.04.04.06.25.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Apr 2017 06:25:51 -0700 (PDT) Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Bruce Evans References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> <20170404222532.X2274@besplex.bde.org> Cc: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org From: Andrey Chernov Message-ID: <7f84df5f-10ef-5522-1ac2-b8bec5b3bcaa@freebsd.org> Date: Tue, 4 Apr 2017 16:25:51 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170404222532.X2274@besplex.bde.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:25:54 -0000 On 04.04.2017 16:05, Bruce Evans wrote: > This might be to work around a bug in a terminal driver. I needed the > 0 (but just one) to reset the attributes in my attribute tests, on at > least 1 of the tested terminals (current sc, current vt, old sc, old > xterm, old cygwin xterm). CSI m seems to be working for sc now, and the > teken code looks OK. I never meet such one. Even most earlier specs tells about CSI m and it works in sc from its first day. You can check how often CSI m used by inspecting /etc/termcap changes, there is no 00 too. From owner-svn-src-all@freebsd.org Tue Apr 4 13:34:20 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82C12D2E127; Tue, 4 Apr 2017 13:34:20 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 521096F; Tue, 4 Apr 2017 13:34:20 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34DYJoG093548; Tue, 4 Apr 2017 13:34:19 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34DYJt1093547; Tue, 4 Apr 2017 13:34:19 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704041334.v34DYJt1093547@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 4 Apr 2017 13:34:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316489 - head/usr.bin/grep X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:34:20 -0000 Author: emaste Date: Tue Apr 4 13:34:19 2017 New Revision: 316489 URL: https://svnweb.freebsd.org/changeset/base/316489 Log: bsdgrep: Initialize vars to avoid a false positive GCC warning Reported by: lwhsu MFC after: 1 month MFC with: r316477 Modified: head/usr.bin/grep/util.c Modified: head/usr.bin/grep/util.c ============================================================================== --- head/usr.bin/grep/util.c Tue Apr 4 13:18:56 2017 (r316488) +++ head/usr.bin/grep/util.c Tue Apr 4 13:34:19 2017 (r316489) @@ -282,6 +282,9 @@ procline(struct str *l, int nottext) int c = 0, m = 0, r = 0, lastmatches = 0, leflags = eflags; int startm = 0; + /* Initialize to avoid a false positive warning from GCC. */ + lastmatch.rm_so = lastmatch.rm_eo = 0; + /* Loop to process the whole line */ while (st <= l->len) { lastmatches = 0; From owner-svn-src-all@freebsd.org Tue Apr 4 13:41:51 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8577FD2E63C; Tue, 4 Apr 2017 13:41:51 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 579228C9; Tue, 4 Apr 2017 13:41:51 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34DfoIF097449; Tue, 4 Apr 2017 13:41:50 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34Dfol0097448; Tue, 4 Apr 2017 13:41:50 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704041341.v34Dfol0097448@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Tue, 4 Apr 2017 13:41:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316490 - head/sys/netipsec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:41:51 -0000 Author: ae Date: Tue Apr 4 13:41:50 2017 New Revision: 316490 URL: https://svnweb.freebsd.org/changeset/base/316490 Log: When we are doing SA lookup for TCP-MD5, check both source and destination addresses. Previous code has used only destination address for lookup. But for inbound packets the source address was used as SA destination address. Thus only outbound SA were used for both directions. Now we use addresses from a packet as is, thus SAs for both directions are needed. Reported by: Mike Tancsa MFC after: 1 week Modified: head/sys/netipsec/key.c Modified: head/sys/netipsec/key.c ============================================================================== --- head/sys/netipsec/key.c Tue Apr 4 13:34:19 2017 (r316489) +++ head/sys/netipsec/key.c Tue Apr 4 13:41:50 2017 (r316490) @@ -863,7 +863,8 @@ key_allocsa_tcpmd5(struct secasindex *sa kdebug_secash(sah, " ")); if (sah->saidx.proto != IPPROTO_TCP) continue; - if (!key_sockaddrcmp(&saidx->dst.sa, &sah->saidx.dst.sa, 0)) + if (!key_sockaddrcmp(&saidx->dst.sa, &sah->saidx.dst.sa, 0) && + !key_sockaddrcmp(&saidx->src.sa, &sah->saidx.src.sa, 0)) break; } if (sah != NULL) { @@ -4962,7 +4963,8 @@ key_getsav_tcpmd5(struct secasindex *sai LIST_FOREACH(sah, SAHADDRHASH_HASH(saidx), addrhash) { if (sah->saidx.proto != IPPROTO_TCP) continue; - if (!key_sockaddrcmp(&saidx->dst.sa, &sah->saidx.dst.sa, 0)) + if (!key_sockaddrcmp(&saidx->dst.sa, &sah->saidx.dst.sa, 0) && + !key_sockaddrcmp(&saidx->src.sa, &sah->saidx.src.sa, 0)) break; } if (sah != NULL) { From owner-svn-src-all@freebsd.org Tue Apr 4 13:41:55 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6F2EAD2E660; Tue, 4 Apr 2017 13:41:55 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0064.outbound.protection.outlook.com [104.47.38.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DDB558DB; Tue, 4 Apr 2017 13:41:54 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ql0mFJwWvr1cbbJpVWmTXHsLyQ6B0yMrT5A4LlEBbNY=; b=Fat3E/6XApOcwKHNtWDwcvuNt39DXZhNm5UR3d+ZXiXpmJZY2RpRvs5kMZZ0ywZUXsCudFCuAQXvmTNf6FlB1rQbntjdgSbsbI0KL/Cf5DaWNq4LSJNk2xaSZe0a6XUH1BU4FO3Lq6YgwM4X/4f8FUiS26/gH9CuUoA9DaodWhc= Received: from DM2PR0501CA0010.namprd05.prod.outlook.com (10.162.29.148) by DM5PR05MB3580.namprd05.prod.outlook.com (10.174.242.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Tue, 4 Apr 2017 13:41:52 +0000 Received: from BL2NAM02FT045.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::209) by DM2PR0501CA0010.outlook.office365.com (2a01:111:e400:5148::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Tue, 4 Apr 2017 13:41:52 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp2.campus.ksu.edu; Received: from ome-vm-smtp2.campus.ksu.edu (129.130.18.151) by BL2NAM02FT045.mail.protection.outlook.com (10.152.77.16) with Microsoft SMTP Server id 15.1.1005.5 via Frontend Transport; Tue, 4 Apr 2017 13:41:51 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp2.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v34Dfp7Z013419; Tue, 4 Apr 2017 08:41:51 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 29FC5248307; Tue, 4 Apr 2017 08:41:51 -0500 (CDT) Received: from mail-wr0-f180.google.com (mail-wr0-f180.google.com [209.85.128.180]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id D0CF0248302; Tue, 4 Apr 2017 08:41:48 -0500 (CDT) Received: by mail-wr0-f180.google.com with SMTP id k6so211491154wre.2; Tue, 04 Apr 2017 06:41:48 -0700 (PDT) X-Gm-Message-State: AFeK/H3R8EB/OfX5Ft0LMrQyrH0P0w7w+gD+p/Nc4YUPDi8zdlFzquLf VBSLrCK0EHafZMXoOBcnkGmgxjEEYQ== X-Received: by 10.28.88.2 with SMTP id m2mr14985184wmb.12.1491313307381; Tue, 04 Apr 2017 06:41:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Tue, 4 Apr 2017 06:41:26 -0700 (PDT) In-Reply-To: References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> From: Kyle Evans Date: Tue, 4 Apr 2017 08:41:26 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Andrey Chernov CC: , , , Ed Maste X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(39450400003)(39840400002)(39850400002)(39400400002)(39410400002)(2980300002)(438002)(377454003)(189002)(24454002)(199003)(90966002)(54356999)(5660300001)(50986999)(93516999)(55446002)(63696999)(4326008)(38730400002)(75432002)(54906002)(498394004)(9686003)(305945005)(86362001)(236005)(6246003)(98316002)(229853002)(356003)(93886004)(61726006)(2950100002)(6916009)(53546009)(84326002)(2906002)(8936002)(88552002)(45336002)(46386002)(189998001)(450100002)(9896002)(106466001)(59536001)(512874002)(61266001)(8676002)(8576002)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR05MB3580; H:ome-vm-smtp2.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT045; 1:4l70IcQ4llC1qhI/aRqmdqrRnEKMSpJRlnH6LjOopPv0VtvELSRVylSwzwKJK6tzdHgjctuu/V2JyENgem7eR/BGC7YlNuvVLS5RDIhIGhL8fbdg4pi8J/238Ay161ttOU8tdeQQErYIYgn3HOPC90sjhSnu3gdtUGiyyAzgdQL30duPWIT2UhSP/zTKiTAqQEejucAjVWgzymEUMDYxNXZCz/COOVsB2FqtYUAsUJAklh8TrMDGWWoOOWo+gAZTwqDjP4ZVZzoG+xDrxUl0mLWe5HsI4Z24fwN7dkF2Budh9+/KIo4kS/xBPDxXEKVEyhYjAYmUAc3y/Y/gaMy4298v9IiUH27O79h70ODTw+ATvUWGBNFUbAPev5gZ6VgT2vTer0sYyOoUM5+SsYj38jMJZZhuInw19e4dIWyabuXLlfKb7hkjf6dKFA0HxFECVdUtsEiPwTlEVdkvv7KRuej9Q8QXgF+YddfmnIzIZmeqfAA05D+YVdgvrSJ+O2G1RiUEtfJlBTCZvn3Hyo3kT6cnmWixOYTYdD3c5OkvKqI= X-MS-Office365-Filtering-Correlation-Id: 7422aa08-c2e0-4247-ba3c-08d47b6059e2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:DM5PR05MB3580; X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 3:dWABqOFRkPxaIbn3yYm5tFp6ax+CVDUOuSyzOweA3a4gBn72qx32/isi5yv9JRMY+dpZOF+/9EBnA1G2P6nI+9uHKUos1LAndDUZvYRRvyYYwWoInnVJB8YpEdFnEDEMzydgPaA1sKXj67d0vh0R2gshH2jw6pR/NwE1Vo1Re3pMiuXevCxQVo31XEIggh4PV5E4gfrBXuT1MDHsl/pCGHKcdOX3aX4eCD7KyGt3GpWTLZsZIE53a5SZzflSdVSFvv3e7d/jqd1HwY8nOmYrZq4Ah/u+Juh9vLU6jZh/fg94dtzubYKCA20zoG/fBrwKzAvDW5wmrbRbeCXsYPto+xOGGcCZz/w+ekFtRvEMlj1pxQF9atHG/sW+GNqktL9/+d90VoTVt6ZiDS9/vh6LJN/O6tDdqVSxRA5EdWfLom4atOsMIeEIWI3O84WFNNWfIkuU5YivHhrvfC1hKmJIpc0hl4IDr2MhrH7TSzzMsSRssnlqAsS/9yR2KbLv5lerguBdLXiDCEsYLCrLLmBMrA== X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 25:jWw2qoh5mrvKEyP959Y/GEeJbdbO/mBoiOmhNj8l7QWep3tZggAvF+nJNYEHkcjH6ezJULMa99w8cud1GmPIF+IERDXJCanXKAjj2b3DoaDeA9JrGnmowLjz2f/qvfLJkwhRR6jWTPL7wol5FC5gy0ddYxuMoOmY045j8dfx1pGm1lnwAO+ZJIApLkkjMXPcOBOTHF8v3vD5N8yrRbhZ9tL4gf/+iUh3zoKfwgIH2DCf/F0fYVtcrBLI72JlcTp1b/yDW3llBzw+v3BB/3IU8C6HAzj0fWVpBaT5uaIwamQLCZ2skAfgGL8xOylDO0x2hpva+3j+vZgHfL8Ba4sHVPCRuVlMQ6R3b3IkQwSw2Xv0v7s+fJNoyMV7nWcTeA23mSFVksOL/D5JLl9etn0DtQiyIg/D+jDWV9sCYcJNovLlrQQecgvQ5c61g5TEYOhSGCT7aAj1O6iknNtkkLhwgA==; 31:Zhiz7oIGHOs/jHj2ObP4Rd1ZbhcQXTtVP5mk2tIiY24Kafrl8vYnzzYk+2jwk27cavxB67dZMxro6GcTf9fEO23dnHFrAKAZVElTeOLJ9H0ok1BT6D0lWraA6Lqy75s2as9XCJLqghOrcuClmU0Mo0HAZYJCyJMreBK8R4tF9KK1gmILQJJt0SneAjWeDzM240tENWYstjEmfJrYJIv05xu9hu1rYO7cxQQwJYEaz0LfmIwXq0xWJ339+t358U2sWFzT6aBbZwxgkFi5elrzfg== X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 20:cqjnAlsvX4OJmriGQxiLWylnPpplcuHexasEYjo+VW0r+enNnjuPVK3J71KWY0sUT6saTUH+qlaimgdx/EAj6ReLB5LtQbbfkXm72O6gygoXOwosUDhwobOgDrV70pTyDzL9SnkfHJOKb7vl7naj6L7r+NjT6pjBfG5h2lkuLcsyJrcr/XnmzqwGtABm+Z/S0ch0I8tShmEW95i0FXpPxmAG7eOWhOWVfgvmC2DCxLJURrZsi0wJemdsozWkRy6BqjqC7HD2DRlMjCh/W2UETW3xPuJXmksnvU1BQpoS4tvbRIZQmPT4fimhXjsmrqEakOI6V1wd+9Ho/OBqfa5wuc+Fns27KeksDQCLvWRS1+wxFwtn+1rMCUr+GyajdGngyyF6HeTTQxDfA5cpXm9/0vtz72nbuPrXd+YcMknUKA3I2wGf22xLZA/pSxufFLeZn5Yx789XG1Cq1UzPeBk2Pi2Lk2m41qiL2N1//g1NWLGGNi8z5CQ4p2pCBOOEYonv X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13024025)(13018025)(13023025)(8121501046)(13015025)(13017025)(5005006)(10201501046)(3002001)(93006095)(93004095)(6041248)(20161123555025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(20161123560025)(20161123564025)(20161123562025)(6072148); SRVR:DM5PR05MB3580; BCL:0; PCL:0; RULEID:; SRVR:DM5PR05MB3580; X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 4:9gwcZ5bH4GO+GsedfuAuSp96MdrGOBZ3IFG409RWCffHZSD9Qqfz4J1sMcFTaX0pjZ+m4x7Q1fdmrb05aY9xG13yUIyBqju+/0+8g2rOGybbf38gzwrlwHdLum3pvEvqu4N3+4MRFHRjD4UKh+vjSdu4cpu4t1rGYqmA+8LagLze/rsxnHxv8xy1EJpEVYWQLsk8hhMHDCeNP5SrlxUdgGGRJ//JlUYc+nw5ZxmaN3lYwVfxa5shVcvGpHZyBpTWAkOpps+JRsjF3HSthYE6Tx7bIlVemPNDkjptmUZPwtAgXo3F57NEj/K3LuvwNbY566sqEahj7NQronAhAmMaTsmOjFrYV1OgpopNwRJ2rlojKx70RsqkNMyycLyUoyeaY8IJOsJumWmEvoNVYhi3xlRK7KkyZc3ZNS4wq42kW8QdG2k8orF61dOHe8u4oM8MKFxHM6Q/uAqRccK/Z0mqhkBB4z7cQY3CZ+EhXZX1Selys6PDhG2X5Q3PeMcdCJRA1oizL0kh8jBpB4Qs4fyDjMAL2Ns6AqZ/exvzCt5G0ejBiJHDJE8GSK1HnB9mLzD9yWLwTKJ7MzorgWBNp1Wo4vOmK0H0jO2FftkXh+FAnxDvxdBZ4HTJqp8ngqifSF8kXL35baiweHUY5gm2gL9XBwsoIiOoOOby3YAkvWwZmcBJFo6HGjUtMT/MlShLYkOCDMm/dwHXHhKGZx5Rnix7OEECXZG/sofDnmOwsiO30+7w6SgXlcBHCKbM7j9ltw3fw5oiUcTccD66nzOrXMbwMDknTUgFOXyUt69QJwy6ve69rz6xTMAT4+6B7xLZy37qCCRtfKXj+ca/Bnk5QRPQ/g== X-Forefront-PRVS: 0267E514F9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR05MB3580; 23:nDSdVJqqxJ0DFe8f8e965RC0ue9p77YasSfLaYM+Q?= =?us-ascii?Q?g3HQuhP4xE+YpF5Aq9cSsFG7BVyfxfR001d5wrbRvpthlG8tTJO5r+blElQi?= =?us-ascii?Q?L/Ec8yP1kaEk/zaPmKNTcLYxrYLdzTqi9h6eBK456sEFnyt3+bZuLocFb+a+?= =?us-ascii?Q?yvSTGD7KZwKbRP5ybze0Hfp60RlsyvhxkFnqfvhbhfYDpt0dQpSBzACOeJNk?= =?us-ascii?Q?PRB/Y/TG7jL4NkxZGC+iJujUek2oeuy/3BbqmHb7uahYk6u3F2zz1GE2JRkS?= =?us-ascii?Q?f8sj67BGdLtt8UnPY6pgjuPOVrtreE9mVwa1WE9rDfFGc8xNxAVfkdv+G37e?= =?us-ascii?Q?nDLYIMMcfiUzhy7ocmZupBfSOxLpoBWz0zpK+F+YCcgtphKJnS92BclLbMLS?= =?us-ascii?Q?ik64hsRbuTT0pMYUw6S/FrR1ky2j88zya28997EGD675XuGuyqc462DbxliW?= =?us-ascii?Q?QLnANlb70Rfr7khNbi/z6fm9rVH3nzqlMN3nVmSVG540hMGZUHLFUq2SGHYE?= =?us-ascii?Q?78hDULMyWipF2EhiNDcEsnfE1SD7CLzYYYXgVWHQC6K7Dxeei90bi5141nxw?= =?us-ascii?Q?F6Rinx3vW9UidsB9oi0F65TPvn8dXOAjmO76WNtpmNvr/TPD3EoBtmi2Q086?= =?us-ascii?Q?Vy7vzjM7Gs1yXruJdEFr2zEvm9yxTrqk6Tz1pXCFRwjgrSMSn4CMqDpAjpMc?= =?us-ascii?Q?AdvUwoLcwUoq6SqwikZEqamvKxKQyed+lUBFAEIa8Wh7cEe+D0KMPUga1xu2?= =?us-ascii?Q?GvYXCzGac/CGRQAsXYBOgDWNwfE8jWlh7ML1R/F2iAncg9+uT4q//i0ZsClc?= =?us-ascii?Q?RLCrCUZhZaHnKacb0bOL1wQJ1Q8Dmexqoh6YyF8yWKQOfn7akbBMwBCWdjdf?= =?us-ascii?Q?Ak0OI1YRfiRkkpDkiT6ZkQshbvxurfwfPTCfhfxWmC/DO3gdBB/T0o3vujLz?= =?us-ascii?Q?pxmgkIdshcRsCNhdLbAmrsS9NUADgLk5r+pA8kcJacW3h0ro4h74AYNo2xBt?= =?us-ascii?Q?3Z22eCAHxoUUJrRAlbeqcIRfdXPO3eozQWi4d6vboSmjIAUUNH5wTFE1IaNb?= =?us-ascii?Q?sANZEeOSfHEdzH5q+iEBUyq9nA3oX2CvsVJNP0xINpYQxs3yz1UX+wY809UE?= =?us-ascii?Q?tn0N/TFlkq8NrI+sF0dr0u91k1RBVb851OXYSZhsA64UB7CZk/fak74sBZWy?= =?us-ascii?Q?vR3Qp43vHFaw3DjQDac5WmD9tAm9MoByZmFaNm536Jw/DpIAzHvuiyw/TLGB?= =?us-ascii?Q?YoOs5B75dCezUd3X1xGGBPdpNpxea6My4CDz8KssQ43UJ/A4H5GnQi3AHu9N?= =?us-ascii?B?UT09?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 6:hwpdJ07MOPoN/MDiMDFpSV6EiTXI9mJLOFLsYR2g5xlcl4T1GnberhUDn+lmVIGw32JY39XfWZaaju9+0lj/XA7O5ovDw1ffXhKyaOfgkjyXu15Wiq06m1S/o/UqQ+UTRiPKOwOAZE5msDAwhJ2FNwWQDVyLmVMfskaQBpsxQCZyllkjUziUflkQ7eoXbuiLz38LHO+7EwoDkizLOT1MQmmvxX6biebBFbs6e4wr4pqG31bJI2TI6K65B9+msHE/kgoxEZHZTU84enJ/myp27yhI9GFjk0ON+fZj/R7iv67eQF3sVX6Qh5hBPKT+iojScZI4bsIaNawboW/kKID2rZodd4rA559XEzc/PgEOSIu64hhdcq7TVqARakdz481lgglIQlwM6T1AX3fEPiE1EA==; 5:dq4xQVI40HEcNovcbvFEFC3QaOfWX3wa9y7Z0MZFOk1Q5llmJwmRwnokQrFHsSs0rYLoUc4OA57aWN3r2QYuOBgtCAOMOf8PQ+FVm+CztBlDHBPu7oa0ZsBot3Isx7ZtLtTf8xfGBeEnbjOEJvF+QA==; 24:6xvr3q9G5G4Lo1MtwIJEoQhmD4uxsIU+3NO5mQtb5g33aRfNFRnrYh/fbLVMJKPeUOM7ANcpDrr0jqynqKWz6hTbmEMD8yGw0rLiyFV+VIE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 7:w+hz1Vq9bRVoHPs7W0EUs1GXvoT72z8fyj7X+EjSULbXoVQ8uv4C+RbavNlyLqW+aRxb1HNifPe0EBNCIr1NcMXqEQznLqb9GsVJE8k/o9uq+cHtj9sMdbDJG9Gqhs6x+U/rv2ymmXmh2tWnv7xgK3XC8g5pS7FFSjg1NjPBeSJuE57lqQcCO6sbNV7tEWDE9XcbwqAX5zNgsE0M/ulOkcyVS+3ks2X0pT4+cHdlDKoW/8l9NKOrCk/wf07UubVYs8NX/p6zhDXqwJAOs9b39XERPUiOgd73+e71rOoImKahbOInfmzYXT8nWTcLwOcFh4oiXTfeGUPxxH7/Plf0Wg==; 20:Dwdrhfaxh3PWVwmMuLdwe7soPPOdOcLkre8aeQgNSwl414LXyTdqgsvH0PapHeTBJ5bnEhaxWIaztwjNqELTKiyyeXLBqJ5aLb+SNjNPCdsvTuYr6diMRsrsqcTx1jUkB6J7xtNhHgOCBr9/yloEila2DfKPZRVPMo+58d4ABrA= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2017 13:41:51.9315 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp2.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR05MB3580 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:41:55 -0000 On Tue, Apr 4, 2017 at 8:19 AM, Andrey Chernov wrote: > On 04.04.2017 16:09, Kyle Evans wrote: > > > > First, apologies, I must rewind: what did you mean initially by "We > > don't need to handle internally [...]" > > -- the second half I understand, but it occurs to me that we should > > already be internally handling \33[m = \33[00m as defined by ANSI. > > Of course we must handle (and already handle) both according to ANSI, > but few CPU cycles here, then in another place, yet another, etc. making > big time in sum when CPU does nothing useful but resource eating. I'm omitting a response to this due to the previously mentioned "letting others weigh in," but I do see where you're coming from. =) I see another problem, but it sounds a bit artificially. What if someone > decides to parse grep-colored output and assumes gnu grep only (which is > usual in Linux). I can't determine probability of such situation. > Usually people use generic ANSI parser which understand both cases (f.e. > to convert it to HTML). I agree that this sounds like an artificially conceived situation. On the other hand, we've seen a lot of people make *a lot* of bad assumptions biased towards Linux over in ports. I would hope that the probability of one relying on this exact output to be really really really really close to 0%. Upon further review, newer versions of GNU grep(1) drop the explicit '00' and add the \33[K dropped in this commit a few lines above the mentioned one. In that case, we might as well revert those two lines and consider this an improvement. I guess it depends on the overall outlook of the tests, though -- should we introduce more tests that fail by default as they go in, or adapt similar (not strictly buggy, but not ideal) behavior to start with and then improve after we can grant bsdgrep(1) replacement status? From owner-svn-src-all@freebsd.org Tue Apr 4 13:53:55 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 86E88D2ED50; Tue, 4 Apr 2017 13:53:55 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-it0-x234.google.com (mail-it0-x234.google.com [IPv6:2607:f8b0:4001:c0b::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4E2D0842; Tue, 4 Apr 2017 13:53:55 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-it0-x234.google.com with SMTP id a140so28734594ita.0; Tue, 04 Apr 2017 06:53:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=v7xJEnQk40W+zqhe3vpGj2PmVbT3qRKkA3UmPCNa1UU=; b=mIwGqipG21HevIo3+tmfBTuIyB9XtvbE/PbGYwEez+4kOr4nRWcwEPZxI3C/C6tY22 yTJmKBEpE5L9PyN/6LNOmxabT6pg9at+EDXjm7rVu+v8AvITKl4NQEWc4w7y3kYO8zTy 3zyhzfGlo9De1SvptLDpELoVoTWDCMk3YFjc2os5dwFnmfn8VnVrv35T8vfWH6Wecdkg DElnDPHIJxfnK4Z1FR86iP0z9SVU/VUZD2C0klWFlZBmV8UY281swSlg1PNZnV20SOsy 8wCvX+ohhNvGhHxpvg6Xwmz47cvf+VSIuvt/tMq5MDGBXsOpEXPgAPLsOcut8L7VMwm0 FQMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=v7xJEnQk40W+zqhe3vpGj2PmVbT3qRKkA3UmPCNa1UU=; b=OMoUheihXaAs55ME/HycmTRWs8OxD2omZpcb/5SkO8mVs3nwTxDgBr1XvUbFlkOMw7 8gV8WTx80TcwoGtg8RTuNl+N1rp6K+4eCHJk/0F3J0xu5VKvLQmFIgkLpfmL7ryxxkx4 URRIGG83uV5mUB6qXdWP3Jw+2n//0FjeMvYA/c+4yqVLQpgGCif2LEvyRPdASjXsd930 SvXfNdHFlxiXUGy3bdUe+2WdzQ4/YNFuXgDGELjvYQb/Yo9KvMjcOJB1LZN+YrLOkX3R wsBqV08kTXCd415BhshxTjEhoslwvpxG/1WsFPg7V6MN6almS3DgsGtPsZ+Jh3cFiNLP PJew== X-Gm-Message-State: AFeK/H167yNd1st6Fhg32dLF18Avcnq3Sy9Y1jFR7Tqb2jP0qxSfuU/d SaRkq3LsFV68p2f3S0ulPFZzjUf8gjPa X-Received: by 10.36.0.198 with SMTP id 189mr14994110ita.82.1491314034738; Tue, 04 Apr 2017 06:53:54 -0700 (PDT) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.30.209 with HTTP; Tue, 4 Apr 2017 06:53:34 -0700 (PDT) In-Reply-To: References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> From: Ed Maste Date: Tue, 4 Apr 2017 09:53:34 -0400 X-Google-Sender-Auth: 5z5V68MdYEF9cNkwoidFgGAvtmQ Message-ID: Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Kyle Evans Cc: Andrey Chernov , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:53:55 -0000 On 4 April 2017 at 09:09, Kyle Evans wrote: > > This is where it gets kind of finnicky, and I'll step out and let others > weigh in -- the test I refer to was specifically written by me > (https://reviews.freebsd.org/D10112), and it's entirely to make it easier > for me to check and quantify to others where we're actually regressing or > improving as I continue fixing things in bsdgrep(1). In this case I'd rather we remove the 00 and have the test verify that. I think it's fine if there are a few tests that fail when run with GNU grep where it has the undesired, differing behaviour. From owner-svn-src-all@freebsd.org Tue Apr 4 13:55:41 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C5EC5D2EEF1; Tue, 4 Apr 2017 13:55:41 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0052.outbound.protection.outlook.com [104.47.38.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F285A81; Tue, 4 Apr 2017 13:55:40 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=1tpjkhBIG+I8A8s/jrP2vxgBggD1XSX0/AJgCkIPEn0=; b=WqdSLFA/s5dcEmZLckHBhUeAD+uGsMlRpcgmOEzjGdtPLHuFvEVMbYLuxAPlj8ocXrU/vdJUHhnPvGzuB5lpYB+ydclXY10Y6iv61MYoVa2+Rx3IqZ6cFgkLsU3f7HtF9v6LhHzw78ZcIaY0aoWWDPHEPXxVgEl5bVE5JEfheeQ= Received: from DM5PR05CA0001.namprd05.prod.outlook.com (10.173.226.11) by BN6PR05MB3570.namprd05.prod.outlook.com (10.174.234.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Tue, 4 Apr 2017 13:55:38 +0000 Received: from BL2NAM02FT022.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::204) by DM5PR05CA0001.outlook.office365.com (2603:10b6:3:d4::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Tue, 4 Apr 2017 13:55:37 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp1.campus.ksu.edu; Received: from ome-vm-smtp1.campus.ksu.edu (129.130.18.151) by BL2NAM02FT022.mail.protection.outlook.com (10.152.77.153) with Microsoft SMTP Server id 15.1.1005.5 via Frontend Transport; Tue, 4 Apr 2017 13:55:37 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp1.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v34DtbQF023134; Tue, 4 Apr 2017 08:55:37 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 5ACF5248305; Tue, 4 Apr 2017 08:55:37 -0500 (CDT) Received: from mail-wr0-f171.google.com (mail-wr0-f171.google.com [209.85.128.171]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id 003CF248302; Tue, 4 Apr 2017 08:55:34 -0500 (CDT) Received: by mail-wr0-f171.google.com with SMTP id w11so214088341wrc.3; Tue, 04 Apr 2017 06:55:34 -0700 (PDT) X-Gm-Message-State: AFeK/H03YR8nyEGwKYx8Da/7WQHX0V09xkmDm8ZdonteN8KUIxCdT9u865F6UVyTC84PA5NNESfZDlIDNTJ+nw== X-Received: by 10.223.154.54 with SMTP id z51mr201770wrb.76.1491314134083; Tue, 04 Apr 2017 06:55:34 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Tue, 4 Apr 2017 06:55:13 -0700 (PDT) In-Reply-To: References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> From: Kyle Evans Date: Tue, 4 Apr 2017 08:55:13 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Ed Maste CC: Andrey Chernov , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39850400002)(39450400003)(39400400002)(39410400002)(39860400002)(39840400002)(2980300002)(438002)(24454002)(377454003)(189002)(199003)(5660300001)(93516999)(63696999)(54356999)(50986999)(6246003)(38730400002)(4326008)(450100002)(6916009)(2950100002)(93886004)(45336002)(229853002)(46386002)(236005)(90966002)(54906002)(498394004)(55446002)(9686003)(53546009)(8676002)(8936002)(59536001)(8576002)(106466001)(61266001)(9896002)(189998001)(88552002)(61726006)(305945005)(84326002)(75432002)(2906002)(86362001)(512874002)(42186005)(356003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR05MB3570; H:ome-vm-smtp1.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT022; 1:7J3MlJni4TZ9FqSFs1iuxC+uFYFUf1BHRB7Ae86BaVzjy+yF5beurj6cDY5G+MPB3L1J3+Xu9iwnQ3kPP3QGfMIgpa2xzuq0QvKRYfYIMEvuzEfvXGd5kCbK7PBAK7a1wvOWrsAVJyapqngAMtrmXy47eV+u7vtp0P448GSbzftrTc8V9JHEDQN1Sfx2ypcY6WMCYSM8k68PWJ6ziwbHQq2H2UhaFO3HsNvUYUK8TEneI6hFDTct/plyHc0wDJxfsz6N0PnBeIAiG1knLD+PjyUWB5xfiu2H47NjXLKZklaiLLvTAYR6KZRz6u438ctwhXPoDw4fu7SXEPZuZ6p8rmFkwoXqTpd5eLw9rykBkw9CasEv9E2j91vsvOu5eDCF6V27h1dneOjjfms5Cq23SHohs/p/J5PpToZYtFaq/EhN+o3sZICf4N0Rbzhpjtsu/BRGYRK92DU6lZ53+8UCR/aj+J9QP2F70u/L/A8RwkmDQeDyPIv0UIpFBs4vstnK+edWchTKT3jscFVDIZEjpA686EPk1XD7KUCkiZhtU68= X-MS-Office365-Filtering-Correlation-Id: 1071a257-2770-4ed6-d22e-08d47b62460d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:BN6PR05MB3570; X-Microsoft-Exchange-Diagnostics: 1; BN6PR05MB3570; 3:ZU7sQpYuTMG5XpaGbcAwe7TfF9tqPqpJWukR4NxjwlShVUtsusqRVSnZlv7nohC/oKNu6TUd0gC4tLEWuEhD6EKvMdWOP6EpBuYo2hOwDNiN6VBxKZU/TIjbI2vPQFRgk3A8Je2zzyqtyBwr2DNl7auQ456KPoRYh/urEAtVYxSHMB34L0hDublitABsLQSC+dTCcjCpj/RRn5UcgDHit8NFxnUETbADhruOK28LjPZD4aWAmWKhMA/Tq/DLsw/vCDx5VTq1XMao36bVVGT1KuAYSsLTJpFjUCqvsvqURN2Bek6xMOjtucgGIv3H2qmkJAcocg8h2r5ab3MkxAvXmlD9yC1r+PHo7HUHin6UG+lrxAgmfabjjjH7sN5HOelvtKFaoZsf1KGLrhcXKnxq681GIzHYLKwY1VZRWgZsKWQfHVlHBkPTC2J4xD8/RwIFBqiJdVAaun/HZ7AtJvLhaat/Tw8j2IZNss+MfSy+a6bSBpxSiHm/PQ/yS2+AQ9+TSnivzKE29bqtnNhYBmoXtg== X-Microsoft-Exchange-Diagnostics: 1; BN6PR05MB3570; 25:EwUvId/AjS6D8rVD3QhS25ZJPWFlzD+6ZVZIHWeppczZxMVBylUUWNU3dS1iqmhsMLDroyIBwNUt72IcOEUuWNESUXOPESq2h7bCiYoM3vz2mXWU29KOgmuW3IRzTLuK7HtwqOyUHCg9w5yTZOgNhPoLdFZf08wYqzIsWkpsJx6l3KJkjP+rcy2vANwHnwFeZcwv32lL1tTHyYEUEgo1hXD+lfYJ+7jJcmbu5bDhO3eFBVKQNhdKjGGI1WiiHIwn9C9UwikEeMldTBLEsMk0TTOfy2VU32X/1zbQLeBEIkAeLVPKwO/CK24eHwIeSC/nFNwKRbg7K7rq4DSrvN58LfzLi6eq0bPDwk6Ydkb+FOzXu+37v01HO+xaitSl1UDA1+iCMgPT/50Szyjs+dL2Rv7QoZwop7xO5zImIusewRsW6QPLJgUo0ZqtsDUZu3FzUL2iKZwzfoqQ4LrPqSG2lA==; 31:AGQXI+HIKCdeo6sdY980bykavIY+CpZsHfhWDDW+RTRLQl+CNkRwJvcshsnriBMLReF8lQ6/YzUXRk0iBJoYQh1Z4tAzL56gqyUk2XrO28y/U8/E1KrEfcSezQm9W7+AT+70sstSoanj8Tke4QFk8qCf/q53m8j68tVNeu1s7OPESHgqFE0S4EoAIjuGT+ZyYex6j/jl4brldDGLFnZ6lGlH3nyI0Pl5o3W1283A06nYSizICy42s5gTm5i37J+IQKrLdH0FEL2uviWfh/iLE07xfvy3pGDgP/g0CXK6DOQ= X-Microsoft-Exchange-Diagnostics: 1; BN6PR05MB3570; 20:9jYGX+IdT3erlCsJtGbtAR4Ct0AQIQwTcmthtySmPJDN58NUqa1cuLjeGCUE8zO01mUh9aOyKbwl8W2rJB0zaWvAvGFfrYlr1zRU6MKXR7OteN9kIKzXiTiqtoBYewew+yJMAKnuWfm5+vuTDrUk+PGQZTK4GvHHeF/IEwFiCwKzhELB4P4TJre9LSoHMuoqzvOOjoJz79eURcQkLoy1mwrL/58foY8jT4yEl4lc0egRo43Thk7/6ExMWBG6hda+o1aNCD6c6Bqf51sj6wD7bs1Qp77cwuCUgVQqkZ81ngkWUL6I0YMgenKZSndKAzuRr2rP+dqn6DQIx5QO+RgnZWwtU2XCFIStR6kwknYeZzD2pocYYrLsDG+FPRjcDTz4A6qshL4LBqSQR/IN5IGridXN6iOLyKNTfoORyRxtxAECPfvuIwr16DPjFcaGXPScdLxVRHZYj81983iWej2gNEXw3jsh3Ipc9o3pAk7ohcoN7dCkMlgxbnUffWkWEntA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(13017025)(13015025)(13024025)(13023025)(13018025)(5005006)(93006095)(93004095)(3002001)(10201501046)(6041248)(20161123562025)(20161123560025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(20161123564025)(20161123555025)(6072148); SRVR:BN6PR05MB3570; BCL:0; PCL:0; RULEID:; SRVR:BN6PR05MB3570; X-Microsoft-Exchange-Diagnostics: 1; BN6PR05MB3570; 4:c8sFQTvHkbvrTOQIQHcG4IWPdxAJGbrzpTdC4W2Pz82GCr/gWNntOGRCD2z9rsvDtD9D/oykZ1jzHogiimuzl6sL6op8EaCaos2awHMQ1cVwZm6MiVSxm3jWLQvqMVqFNuilOcZZuB4la+LF9I/dEVEZ3KRRNXGndAN6ccN/qUfWb1zWEQX1il5MKIgYRnZ8vht8l1gUuY9x6uFpTrPwmlX4yJVi+3H/y23fzrTzPzoDPk6PneijX21VKjkIEaW0t9Z5fwJAcHB1QDkA6eSvyWmvisuFyjt4HKDkcHO440YLMj9wkuKlXFPcpF4vqnFivobG+6zK39FdLav84eWDyqGmZTD0YJ99KHwEyCxs1HO6P2pGUeupf3jJFLdiJ5MMFrxd5JTCrRf4amoZ7+mxwPjS8TDL5c1IGeIOXoDmHvj0jTbdRatNonGrK55qh9HHnZuGhveL4bkC/Z66QwZZimhQmFw4KcReeta1g3albIMR8Vf6rr7zgxaW3FiwTcLuJ4bZQl8rnyEQ994DRDq+phrzU7shx1yIKq+nZv0NL3hEj6SDlemM/DCL0HK4gU/JixDD0i7tQHR57sJveRFyZS9qR39y/ZuDGNnbW+FRtDJ7qUWZD5SEhn3dxZiNtdW2MykOmzaSofBz/iN7sA45lfwEpIEPV91zM/4Z9Zs0L5TWmiqKg6UqPfZui5W6L8mozn6hTHgKwjVm+hQMPHRbdtNaVIm6ypUejIq/JQigZBDvtYVwiTUgWuzzSG5CgGpogY4ggD+joBzXtoeKA+3RLGg/UdnJ+JvkYwwciqd1DnuUCQyuVoq6UpcKoGY8c1sA9dvHa+d5Sa0atnAMX00Gvw== X-Forefront-PRVS: 0267E514F9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR05MB3570; 23:P9bKsTe9xvRlD0K1OJi75XjVyFw5liUDpbjFBPSYi?= =?us-ascii?Q?9eiqM+jjndZNrABLnScet9jeF/K5RFWj5oFMpSf9lql+0tF6BnV4ecpHbols?= =?us-ascii?Q?INjP+M2X8ofGU9iJn34A47024YYEc5R4eZKteJ9eijNTnjHa50LoMPBIcjYv?= =?us-ascii?Q?aYE6jW9PWonlRQ+Hb3Lj+vsfn28uCMHfeUfCSFYnm9DWGYsXmbK9LqDKU+3J?= =?us-ascii?Q?699lEwp4YrtcgJ52ycUMnLopfP9fVTDlzQ7k0kBZ3XlvhbVy8bgb3ZoNEp7U?= =?us-ascii?Q?J7reUTlJ/fS0Bt418uJpKr/PW29UNCqvPNXiUX7E6D/gjn/E+G23ZrYVTWmV?= =?us-ascii?Q?MxemMzvq6bK1Cl+f4AYIVVVSlYKhjkFs4wPTFN3pcPVjSbiBY6pxaX4fk8KA?= =?us-ascii?Q?kma5wbbrFef8mmppaUkGrNBqnuR+99R3e5jrCP70g3KkOVOpQ44uHbjcdth3?= =?us-ascii?Q?zFc/SjJVHajJ8ulM6dDpjiLRDtqoecudMAE4B/JhXbJa2Hb1laYg9JgTvoKo?= =?us-ascii?Q?Qx3/mlTrVNyEm5jPRkczp4uTYj5KSvGgOOhB4z+mb5Amuqf6abeTc/VFVV6G?= =?us-ascii?Q?c0ewYcB8cK+dHMiabP1cB/WXAegqX325pvApTmFGo3b8m5ioNed4+Vk1qk9t?= =?us-ascii?Q?SVdehukPW6RCyFcyTJLkdBnQmhc1jCCgS6oD3754MM9+1Qf7GbvpFORe0cC6?= =?us-ascii?Q?qAIuNofdykw7N4sGDwYY3bgWZU7cwhWmmdruWia3BeSvGehDL4ceqS6e0TDP?= =?us-ascii?Q?m1NdzxAh81Wvj1Oik6z0eZbooBCKs1Ca7Jf2pR5q/zLpiTOMa3B8pqnEQmzn?= =?us-ascii?Q?WkizBT9qiYXkYOo85IwxgqwrnN8PrEgAy/6iXu72HVU3Gz7bc+/DIbSI9CUt?= =?us-ascii?Q?bhHG0Imh0MQES5PL+eBO/uO2X1HaLd1yvJNk1c3SVE1roNDE9kE69TusWTFW?= =?us-ascii?Q?KUiZ/5xVdBS89vBSiGmoaUNdDEBezHQUdlmTddMogzFtgSaE1KpbrL/qUIEI?= =?us-ascii?Q?mjkpbNJYj1gxUvQx09KtR9Fqd8rrU6jYRYvNDkEg65dAf3s+PQEUEg6rrCjK?= =?us-ascii?Q?pVr34vy399GPj/kO13vFfUxDqJtd1MB14O/WcmcTaNcSjygf+OmANLzfEaTz?= =?us-ascii?Q?0jG/faWxzqpHpzU48BIMBIa7ecSg0pTLDWFmjr+sfyJtXxIblAuW89AX14q/?= =?us-ascii?Q?8xeurYDfEnbTzaxeiwnIqhGe49iK2elZsfrL32HNr+CUybqBqqLpbD1XAxvo?= =?us-ascii?Q?oezGhA0qslbt/+ZEdL3S/poSO6SiiLcj4vEvFc+?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR05MB3570; 6:+WV4Wbr6H3dGCxBi+R3N0HE7t7Ilx/zcYMkWA7EKoKalvvbMXF6G/bSLGPdM/t+D1zE9ynsxavut30yWDF8dVWZnG1dIWzGdr8GbDlaDIIU0n5C8rW5+Jp4DIxTwSxRETxniC+vl40apM3Po+88sYcSLcxfAzwsAJP9LqLvas/vfWXd/kVuiWqhXFCIdoVcHhLnVWqOkmbo075ups0uYia0P/OBqIm7IkPqDL5SNX4S62WnC/6f3kdBPTNwvW5b9eVseW086e0KmTEfk0aTht9qAPjU9EvNc0A/Kp79QIV1VwjpLVQHqA0QyLNvKp6JdhCoHP6LRXNu2BBs+4TRyhKMVoaRPUm3ABawwchPM2rRYwFjuf2zfuJjjssOrbgfXQfLjLah0WZhpahHKfm+z2Q==; 5:x0rQL7qLYZrFevIyuPidsj7jN1waXSJLnHC9+XNcwD5A7nTRXPtpx4kPjvqjOkuNqs2C7O0kxYpOPC8+wWYzs0fg1ngD5OWgS3gQ3Pn+oKGTzvITl1IggCklGzUlK8Hf9eCzR0/8BeUD1l1TcNZ19w==; 24:MBPg+Yzd6V0Q64s7HgoTg6fZqJZVZFW3albbPvOcJNLzS1ZIDbTxuUDw2/XIPIDSBOxwEpxGCj4nNxn0gK9eqg7SlzbhPSbLQmsj7ydVG/Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR05MB3570; 7:D4KR0dmjCE2Dc3+RSkyQp4p/qAOkPwXboeJrShEbE8e7kB1RpEsNQRgigwD5PoEl9qYJKiIzhtpsHY8jQtYobrUrtyzIvlr+cZLidXkidXZaokAqEMPOun5aKgoCSItz3QfGtDDNjXJy7ZPIAvDR6ZHT8PgRG0DGA79MV0NasyiwCI3S6eyH/BKzUprbyliMLZ8TlKMP8I/JVVLFUoxaZ3f63Y40pDdgusDq7NjUuSsqiYhRuheBg0HFV6O6rMXLQGYsDQ7reH8BK2Kw2RDEmJjh50GvCOE+O9glLSdwoe2b4eDsaOwyH+GTZ1SmCZYHRWiLLY5RlsPe8OiUtme8BA==; 20:gAKq4cZnBxOwnopg9wCemWSdZn2j21OOMFFK1GfjMj9YDwhmnnH7PLA0b5xFDdslEtKNrQrqHoRaRwbpndtkvnK9OEkEYvhSil9WYHRUJoLbx6zrO0LPVMJmVoa/Vt9nST2kuhLWl9wdIyxwgbGSiQkazUGniOrQMpUiatg0tpw= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2017 13:55:37.6998 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp1.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR05MB3570 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:55:41 -0000 On Tue, Apr 4, 2017 at 8:53 AM, Ed Maste wrote: > In this case I'd rather we remove the 00 and have the test verify > that. I think it's fine if there are a few tests that fail when run > with GNU grep where it has the undesired, differing behaviour. > Excellent- can you please revert this entire bit then: @@ -474,13 +509,13 @@ printline(struct str *line, int sep, reg fwrite(line->dat + a, matches[i].rm_so - a, 1, stdout); if (color) - fprintf(stdout, "\33[%sm\33[K", color); + fprintf(stdout, "\33[%sm", color); fwrite(line->dat + matches[i].rm_so, matches[i].rm_eo - matches[i].rm_so, 1, stdout); if (color) - fprintf(stdout, "\33[m\33[K"); + fprintf(stdout, "\33[00m\33[K"); a = matches[i].rm_eo; if (oflag) putchar('\n'); I'll address this in the unit tests review shortly. From owner-svn-src-all@freebsd.org Tue Apr 4 14:17:51 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 75171D2DA81; Tue, 4 Apr 2017 14:17:51 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 454A4C80; Tue, 4 Apr 2017 14:17:51 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34EHooa010716; Tue, 4 Apr 2017 14:17:50 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34EHo3h010715; Tue, 4 Apr 2017 14:17:50 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704041417.v34EHo3h010715@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 4 Apr 2017 14:17:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316491 - head/usr.bin/grep X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 14:17:51 -0000 Author: emaste Date: Tue Apr 4 14:17:50 2017 New Revision: 316491 URL: https://svnweb.freebsd.org/changeset/base/316491 Log: bsdgrep: revert color changes from r316477 r316477 changed the color output to match exactly the in-tree GNU grep, but introduces unnecessary escape sequences. Submitted by: Kyle Evans Reported by: ache MFC after: 1 month MFC with: r316477 Modified: head/usr.bin/grep/util.c Modified: head/usr.bin/grep/util.c ============================================================================== --- head/usr.bin/grep/util.c Tue Apr 4 13:41:50 2017 (r316490) +++ head/usr.bin/grep/util.c Tue Apr 4 14:17:50 2017 (r316491) @@ -512,13 +512,13 @@ printline(struct str *line, int sep, reg fwrite(line->dat + a, matches[i].rm_so - a, 1, stdout); if (color) - fprintf(stdout, "\33[%sm", color); + fprintf(stdout, "\33[%sm\33[K", color); fwrite(line->dat + matches[i].rm_so, matches[i].rm_eo - matches[i].rm_so, 1, stdout); if (color) - fprintf(stdout, "\33[00m\33[K"); + fprintf(stdout, "\33[m\33[K"); a = matches[i].rm_eo; if (oflag) putchar('\n'); From owner-svn-src-all@freebsd.org Tue Apr 4 15:19:17 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA966D2E931 for ; Tue, 4 Apr 2017 15:19:17 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: from mail-lf0-f65.google.com (mail-lf0-f65.google.com [209.85.215.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 64ADDD0F for ; Tue, 4 Apr 2017 15:19:17 +0000 (UTC) (envelope-from mailing-machine@vniz.net) Received: by mail-lf0-f65.google.com with SMTP id x137so15814794lff.1 for ; Tue, 04 Apr 2017 08:19:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=BFGjt5zfaTsnkArbqpgtcUqUj6VaCZnWN7rD/sNJJRs=; b=oMqoUziSqlDAIpMfQiKtdtYIVVQIJDtvxeuxymZVmFITuY3w9BRpYKJ6eBB7lb5myS HnQeJ2RTHEOJVV0GLdI4uUNmo8ns2hNHhIiNN3VlRGqyy/zpLQmQMJHfzmKWEzxMQ5Zz Zg3X/5qUhCttqo5UqY55cUZLUUPb2KYRuvKY8wGyWpEuHb9WF50qc0ReaQGnbbW6jtNQ o5G3x8Aylrfytsrl+2wB7pP29YpgfKf9JKIDibqIR1J1bv4fT/Z5EkGfbW4Pm8gjZ0s+ 31/p6An5yXS2yA3Yxk7T5EjrFqR5Q6Dm1noGfIIH842LjwoxqCoSZS9At1lvPHppH50M xing== X-Gm-Message-State: AFeK/H2Q43m/FHRO7CNdh7/9FooVfqf74qupEzmFkGnJC91245p7VS78JGhY2MyBoCwnIw== X-Received: by 10.25.80.1 with SMTP id e1mr2759811lfb.82.1491319154955; Tue, 04 Apr 2017 08:19:14 -0700 (PDT) Received: from [192.168.1.2] ([89.169.173.68]) by smtp.gmail.com with ESMTPSA id 4sm3197400ljf.33.2017.04.04.08.19.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Apr 2017 08:19:14 -0700 (PDT) Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Kyle Evans References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Ed Maste From: Andrey Chernov Message-ID: Date: Tue, 4 Apr 2017 18:19:13 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 15:19:17 -0000 On 04.04.2017 16:41, Kyle Evans wrote: > Upon further review, newer versions of GNU grep(1) drop the explicit > '00' and add the \33[K dropped in this commit a few lines above the > mentioned one. In that case, we might as well revert those two lines and > consider this an improvement. I guess it depends on the overall outlook > of the tests, though -- should we introduce more tests that fail by > default as they go in, or adapt similar (not strictly buggy, but not > ideal) behavior to start with and then improve after we can grant > bsdgrep(1) replacement status? It seems new GNU grep takes right course, so I vote to make our thing like there and not as in its obsoleted version. \33[K clears from cursor to the rest of the line (with background color, in case terminal have "ut" termcap capability). Consider how multi-line pattern will look with it and without. From owner-svn-src-all@freebsd.org Tue Apr 4 15:40:14 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 299BBD2E10D for ; Tue, 4 Apr 2017 15:40:14 +0000 (UTC) (envelope-from David.Somayajulu@cavium.com) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0058.outbound.protection.outlook.com [104.47.33.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B8965C43; Tue, 4 Apr 2017 15:40:13 +0000 (UTC) (envelope-from David.Somayajulu@cavium.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Kka61spUrw2b0tz7+y+G9Xp1xkJXcYMzr4zrmfi1hfE=; b=DBm5RrdINyy5j+y+CQOrUX5ntSvQrmIdahG74jJENwLbS6n+ZbheFM607pKae04Mfb6Ybb9H7QlU/oNJ7PYz12alBhJDCbYxr8E1MXqMq5JNDL1uak2yTqozNNvdrFVxZR3GGxwGh4a8pgkLnzaL8+hezCRPHyKXhojylcD+/Aw= Received: from BY2PR07MB1474.namprd07.prod.outlook.com (10.162.76.152) by BY2PR07MB1476.namprd07.prod.outlook.com (10.162.76.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1005.10; Tue, 4 Apr 2017 15:40:10 +0000 Received: from BY2PR07MB1474.namprd07.prod.outlook.com ([10.162.76.152]) by BY2PR07MB1474.namprd07.prod.outlook.com ([10.162.76.152]) with mapi id 15.01.1005.019; Tue, 4 Apr 2017 15:40:09 +0000 From: "Somayajulu, David" To: Fabian Keil , David C Somayajulu CC: "svn-src-all@freebsd.org" Subject: RE: svn commit: r316485 - in head: share/man/man4 sys/conf sys/dev/qlnx sys/dev/qlnx/qlnxe sys/modules sys/modules/qlnx sys/modules/qlnx/qlnxe Thread-Topic: svn commit: r316485 - in head: share/man/man4 sys/conf sys/dev/qlnx sys/dev/qlnx/qlnxe sys/modules sys/modules/qlnx sys/modules/qlnx/qlnxe Thread-Index: AQHSrQsgofWSeHw/eUWQr5cHDYvKz6G1LDmAgAAs5BA= Date: Tue, 4 Apr 2017 15:40:09 +0000 Message-ID: References: <201704040617.v346H0Eg007675@repo.freebsd.org> <20170404145822.02d923cf@fabiankeil.de> In-Reply-To: <20170404145822.02d923cf@fabiankeil.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: fabiankeil.de; dkim=none (message not signed) header.d=none;fabiankeil.de; dmarc=none action=none header.from=cavium.com; x-originating-ip: [2602:306:3449:7630:a4ea:3aa6:9b6:18a3] x-microsoft-exchange-diagnostics: 1; BY2PR07MB1476; 7:EwLZmmLw6Ay/yHUQqCne28WhJ7pV2t5hkHTkXOmwVT3YYGqsNGhPEdRHlA8Kl7ptBgDewtlZUGiItzgUon3oGd1mr9OIIF0WW4DI44gXuZq3HQd/daEkSooIw5tUquyHqa6ZV6HpexEA8nUQ11JxLXYNiSdTXzZXWIJAq9DWmTJpcPZeOBRE7ir8gVgkoWCQCwwzq1fiHsfPUBKKiWz6VmTLA66ixJnS2SexcFZIe3wi8nqTlVyhJvrQzOL1AFRhBzPNczkTmzdUttjR3dx763p3Xx7kK7dSigjOg6D5579eioRBUAbimSYzvNY6eWY6jIN4aVdHxwX/N/Lfb1u/Jw== x-ms-office365-filtering-correlation-id: cc9aed43-1f0c-41d9-21b9-08d47b70e081 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081); SRVR:BY2PR07MB1476; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(56005881305849); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123560025)(20161123555025)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(6072148); SRVR:BY2PR07MB1476; BCL:0; PCL:0; RULEID:; SRVR:BY2PR07MB1476; x-forefront-prvs: 0267E514F9 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(39450400003)(39850400002)(39410400002)(39400400002)(39840400002)(377454003)(13464003)(24454002)(38730400002)(6506006)(122556002)(86362001)(6246003)(77096006)(6436002)(2950100002)(33656002)(9686003)(6306002)(55016002)(99286003)(50986999)(54356999)(76176999)(53936002)(189998001)(7696004)(2900100001)(8936002)(81166006)(8676002)(7736002)(53546009)(5660300001)(74316002)(6116002)(305945005)(4326008)(3280700002)(102836003)(25786009)(3660700001)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR07MB1476; H:BY2PR07MB1474.namprd07.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Apr 2017 15:40:09.6643 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR07MB1476 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 15:40:14 -0000 > Looks like this driver contains source-less microcode and should thus hon= our WITHOUT_SOURCELESS_UCODE. Sure will fix. Thanks David S. -----Original Message----- From: Fabian Keil [mailto:freebsd-listen@fabiankeil.de]=20 Sent: Tuesday, April 04, 2017 5:58 AM To: David C Somayajulu Cc: svn-src-all@freebsd.org Subject: Re: svn commit: r316485 - in head: share/man/man4 sys/conf sys/dev= /qlnx sys/dev/qlnx/qlnxe sys/modules sys/modules/qlnx sys/modules/qlnx/qlnx= e David C Somayajulu wrote: > Author: davidcs > Date: Tue Apr 4 06:16:59 2017 > New Revision: 316485 > URL: https://svnweb.freebsd.org/changeset/base/316485 >=20 > Log: > Add 25/40/100Gigabit Ethernet Driver version v1.3.0 for Cavium Inc's. > Qlogic 45000 Series Adapters > =20 > MFC after:2 weeks Looks like this driver contains source-less microcode and should thus honou= r WITHOUT_SOURCELESS_UCODE. As pointed out previously, qlxbge has the same issue: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D204749 Some of the copyright headers imply that parts of this driver were written = in the future (2018) which seems unlikely ... Fabian From owner-svn-src-all@freebsd.org Tue Apr 4 15:59:08 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 67932D2EA91 for ; Tue, 4 Apr 2017 15:59:08 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from pmta2.delivery6.ore.mailhop.org (pmta2.delivery6.ore.mailhop.org [54.200.129.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4A78FA6C for ; Tue, 4 Apr 2017 15:59:07 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: 913df94d-194f-11e7-8c45-c35e37f62db1 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.78.92.27 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.78.92.27]) by outbound2.ore.mailhop.org (Halon) with ESMTPSA id 913df94d-194f-11e7-8c45-c35e37f62db1; Tue, 04 Apr 2017 15:58:39 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id v34FwvNX004446; Tue, 4 Apr 2017 09:58:57 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <1491321537.37037.49.camel@freebsd.org> Subject: Re: svn commit: r316488 - head/share/man/man4 From: Ian Lepore To: Sevan Janiyan , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Tue, 04 Apr 2017 09:58:57 -0600 In-Reply-To: <201704041318.v34DIuwc085550@repo.freebsd.org> References: <201704041318.v34DIuwc085550@repo.freebsd.org> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 15:59:08 -0000 On Tue, 2017-04-04 at 13:18 +0000, Sevan Janiyan wrote: > Author: sevan (doc committer) > Date: Tue Apr  4 13:18:56 2017 > New Revision: 316488 > URL: https://svnweb.freebsd.org/changeset/base/316488 > > Log: >   Replace an with a >   Reword caveat on PCI 2.2 requirement. >    >   PR: 218070 >   Submitted by: >   Approved by: bcr >   MFC after: 5 days >   Differential Revision:  https://reviews.freebsd.org/D10262 > > Modified: >   head/share/man/man4/ral.4 > > Modified: head/share/man/man4/ral.4 > ============================================================================== > --- head/share/man/man4/ral.4 Tue Apr  4 11:43:31 2017 (r316487) > +++ head/share/man/man4/ral.4 Tue Apr  4 13:18:56 2017 (r316488) > @@ -14,7 +14,7 @@ >  .\" >  .\" $FreeBSD$ >  .\" > -.Dd August 4, 2015 > +.Dd April 4, 2017 >  .Dt RAL 4 >  .Os >  .Sh NAME > @@ -45,7 +45,7 @@ driver supports PCI/PCIe/CardBus wireles >  RT2501, RT2600, RT2700, RT2800, RT3090 and RT3900E chipsets. >  .Pp >  The RT2500 chipset is the first generation of 802.11b/g adapters from Ralink. > -It consists of two integrated chips, an RT2560 MAC/BBP and an RT2525 radio > +It consists of two integrated chips, a RT2560 MAC/BBP and a RT2525 radio 'An' was correct for these usages.  The choice should be based on the sound of the word that follows, which in this case is 'ar'. -- Ian From owner-svn-src-all@freebsd.org Tue Apr 4 16:08:53 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5FD93D2E255; Tue, 4 Apr 2017 16:08:53 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3A6D33A4; Tue, 4 Apr 2017 16:08:53 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34G8qmK055332; Tue, 4 Apr 2017 16:08:52 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34G8qSo055328; Tue, 4 Apr 2017 16:08:52 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201704041608.v34G8qSo055328@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Tue, 4 Apr 2017 16:08:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316492 - in head/usr.bin/grep: . regex X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 16:08:53 -0000 Author: cem Date: Tue Apr 4 16:08:51 2017 New Revision: 316492 URL: https://svnweb.freebsd.org/changeset/base/316492 Log: bsdgrep(1): Rip out "xmalloc" bits xmalloc was a debug malloc implementation, but the x{malloc,calloc,free} functions default to calling the malloc(3) equivalents. Instead of relying on this malloc shim, we can devise better ways to debug malloc issues that aren't misleading upon initial inspection. (I.e., using jemalloc's various built-in debugging capabilities.) Submitted by: Kyle Evans Reviewed by: emaste, cem Differential Revision: https://reviews.freebsd.org/D10269 Deleted: head/usr.bin/grep/regex/xmalloc.c head/usr.bin/grep/regex/xmalloc.h Modified: head/usr.bin/grep/Makefile head/usr.bin/grep/regex/fastmatch.c head/usr.bin/grep/regex/tre-compile.c head/usr.bin/grep/regex/tre-fastmatch.c Modified: head/usr.bin/grep/Makefile ============================================================================== --- head/usr.bin/grep/Makefile Tue Apr 4 14:17:50 2017 (r316491) +++ head/usr.bin/grep/Makefile Tue Apr 4 16:08:51 2017 (r316492) @@ -17,7 +17,7 @@ SRCS= file.c grep.c queue.c util.c # Extra files ported backported form some regex improvements .PATH: ${.CURDIR}/regex -SRCS+= fastmatch.c hashtable.c tre-compile.c tre-fastmatch.c xmalloc.c +SRCS+= fastmatch.c hashtable.c tre-compile.c tre-fastmatch.c CFLAGS+=-I${.CURDIR}/regex CFLAGS.gcc+= --param max-inline-insns-single=500 Modified: head/usr.bin/grep/regex/fastmatch.c ============================================================================== --- head/usr.bin/grep/regex/fastmatch.c Tue Apr 4 14:17:50 2017 (r316491) +++ head/usr.bin/grep/regex/fastmatch.c Tue Apr 4 16:08:51 2017 (r316492) @@ -34,7 +34,6 @@ #include #include "tre-fastmatch.h" -#include "xmalloc.h" int tre_fixncomp(fastmatch_t *preg, const char *regex, size_t n, int cflags) Modified: head/usr.bin/grep/regex/tre-compile.c ============================================================================== --- head/usr.bin/grep/regex/tre-compile.c Tue Apr 4 14:17:50 2017 (r316491) +++ head/usr.bin/grep/regex/tre-compile.c Tue Apr 4 16:08:51 2017 (r316492) @@ -9,8 +9,6 @@ #include #include -#include "xmalloc.h" - int tre_convert_pattern(const char *regex, size_t n, tre_char_t **w, size_t *wn) @@ -19,7 +17,7 @@ tre_convert_pattern(const char *regex, s tre_char_t *wregex; size_t wlen; - wregex = xmalloc(sizeof(tre_char_t) * (n + 1)); + wregex = malloc(sizeof(tre_char_t) * (n + 1)); if (wregex == NULL) return REG_ESPACE; @@ -60,13 +58,13 @@ tre_convert_pattern(const char *regex, s consumed = 1; else { - xfree(wregex); + free(wregex); return REG_BADPAT; } break; case -1: DPRINT(("mbrtowc: error %d: %s.\n", errno, strerror(errno))); - xfree(wregex); + free(wregex); return REG_BADPAT; case -2: /* The last character wasn't complete. Let's not call it a @@ -98,6 +96,6 @@ void tre_free_pattern(tre_char_t *wregex) { #if TRE_WCHAR - xfree(wregex); + free(wregex); #endif } Modified: head/usr.bin/grep/regex/tre-fastmatch.c ============================================================================== --- head/usr.bin/grep/regex/tre-fastmatch.c Tue Apr 4 14:17:50 2017 (r316491) +++ head/usr.bin/grep/regex/tre-fastmatch.c Tue Apr 4 16:08:51 2017 (r316492) @@ -42,7 +42,6 @@ #include "hashtable.h" #include "tre-fastmatch.h" -#include "xmalloc.h" static int fastcmp(const fastmatch_t *fg, const void *data, tre_str_type_t type); @@ -53,9 +52,9 @@ static int fastcmp(const fastmatch_t *fg #define FAIL_COMP(errcode) \ { \ if (fg->pattern) \ - xfree(fg->pattern); \ + free(fg->pattern); \ if (fg->wpattern) \ - xfree(fg->wpattern); \ + free(fg->wpattern); \ if (fg->qsBc_table) \ hashtable_free(fg->qsBc_table); \ fg = NULL; \ @@ -92,7 +91,7 @@ static int fastcmp(const fastmatch_t *fg if (siz == (size_t)-1) \ return REG_BADPAT; \ fg->len = siz; \ - fg->pattern = xmalloc(siz + 1); \ + fg->pattern = malloc(siz + 1); \ if (fg->pattern == NULL) \ return REG_ESPACE; \ wcstombs(fg->pattern, fg->wpattern, siz); \ @@ -340,7 +339,7 @@ static int fastcmp(const fastmatch_t *fg #define FILL_BMGS \ if (!fg->hasdot) \ { \ - fg->sbmGs = xmalloc(fg->len * sizeof(int)); \ + fg->sbmGs = malloc(fg->len * sizeof(int)); \ if (!fg->sbmGs) \ return REG_ESPACE; \ if (fg->len == 1) \ @@ -356,7 +355,7 @@ static int fastcmp(const fastmatch_t *fg #define FILL_BMGS_WIDE \ if (!fg->hasdot) \ { \ - fg->bmGs = xmalloc(fg->wlen * sizeof(int)); \ + fg->bmGs = malloc(fg->wlen * sizeof(int)); \ if (!fg->bmGs) \ return REG_ESPACE; \ if (fg->wlen == 1) \ @@ -376,13 +375,13 @@ static int fastcmp(const fastmatch_t *fg { \ if (fg->icase) \ { \ - wp = xmalloc(plen * sizeof(tre_char_t)); \ + wp = malloc(plen * sizeof(tre_char_t)); \ if (wp == NULL) \ return REG_ESPACE; \ for (unsigned int i = 0; i < plen; i++) \ wp[i] = towlower(pat[i]); \ _CALC_BMGS(arr, wp, plen); \ - xfree(wp); \ + free(wp); \ } \ else \ _CALC_BMGS(arr, pat, plen); \ @@ -391,13 +390,13 @@ static int fastcmp(const fastmatch_t *fg { \ if (fg->icase) \ { \ - p = xmalloc(plen); \ + p = malloc(plen); \ if (p == NULL) \ return REG_ESPACE; \ for (unsigned int i = 0; i < plen; i++) \ p[i] = tolower((unsigned char)pat[i]); \ _CALC_BMGS(arr, p, plen); \ - xfree(p); \ + free(p); \ } \ else \ _CALC_BMGS(arr, pat, plen); \ @@ -408,7 +407,7 @@ static int fastcmp(const fastmatch_t *fg { \ int f = 0, g; \ \ - int *suff = xmalloc(plen * sizeof(int)); \ + int *suff = malloc(plen * sizeof(int)); \ if (suff == NULL) \ return REG_ESPACE; \ \ @@ -440,7 +439,7 @@ static int fastcmp(const fastmatch_t *fg for (unsigned int i = 0; i <= plen - 2; i++) \ arr[plen - 1 - suff[i]] = plen - 1 - i; \ \ - xfree(suff); \ + free(suff); \ } /* @@ -449,7 +448,7 @@ static int fastcmp(const fastmatch_t *fg */ #define SAVE_PATTERN(src, srclen, dst, dstlen) \ dstlen = srclen; \ - dst = xmalloc((dstlen + 1) * sizeof(tre_char_t)); \ + dst = malloc((dstlen + 1) * sizeof(tre_char_t)); \ if (dst == NULL) \ return REG_ESPACE; \ if (dstlen > 0) \ @@ -489,11 +488,11 @@ static int fastcmp(const fastmatch_t *fg if (n == 0) \ { \ fg->matchall = true; \ - fg->pattern = xmalloc(sizeof(char)); \ + fg->pattern = malloc(sizeof(char)); \ if (!fg->pattern) \ FAIL_COMP(REG_ESPACE); \ fg->pattern[0] = '\0'; \ - fg->wpattern = xmalloc(sizeof(tre_char_t)); \ + fg->wpattern = malloc(sizeof(tre_char_t)); \ if (!fg->wpattern) \ FAIL_COMP(REG_ESPACE); \ fg->wpattern[0] = TRE_CHAR('\0'); \ @@ -580,7 +579,7 @@ tre_compile_fast(fastmatch_t *fg, const if (fg->word && (TRE_MB_CUR_MAX > 1)) return REG_BADPAT; - tmp = xmalloc((n + 1) * sizeof(tre_char_t)); + tmp = malloc((n + 1) * sizeof(tre_char_t)); if (tmp == NULL) return REG_ESPACE; @@ -631,10 +630,10 @@ tre_compile_fast(fastmatch_t *fg, const if (escaped) { if (!_escmap) - _escmap = xmalloc(n * sizeof(bool)); + _escmap = malloc(n * sizeof(bool)); if (!_escmap) { - xfree(tmp); + free(tmp); return REG_ESPACE; } _escmap[i] = true; @@ -688,7 +687,7 @@ tre_compile_fast(fastmatch_t *fg, const } continue; badpat: - xfree(tmp); + free(tmp); DPRINT(("tre_compile_fast: compilation of pattern failed, falling" "back to NFA\n")); return REG_BADPAT; @@ -715,7 +714,7 @@ badpat: { if (fg->wescmap != NULL) { - fg->escmap = xmalloc(fg->len * sizeof(bool)); + fg->escmap = malloc(fg->len * sizeof(bool)); if (!fg->escmap) { tre_free_fast(fg); @@ -746,7 +745,7 @@ badpat: fg->escmap = _escmap; #endif - xfree(tmp); + free(tmp); DPRINT(("tre_compile_fast: pattern: %s, len %zu, bol %c, eol %c, " "icase: %c, word: %c, newline %c\n", fg->pattern, fg->len, @@ -977,16 +976,16 @@ tre_free_fast(fastmatch_t *fg) #ifdef TRE_WCHAR hashtable_free(fg->qsBc_table); if (!fg->hasdot) - xfree(fg->bmGs); + free(fg->bmGs); if (fg->wescmap) - xfree(fg->wescmap); - xfree(fg->wpattern); + free(fg->wescmap); + free(fg->wpattern); #endif if (!fg->hasdot) - xfree(fg->sbmGs); + free(fg->sbmGs); if (fg->escmap) - xfree(fg->escmap); - xfree(fg->pattern); + free(fg->escmap); + free(fg->pattern); } /* From owner-svn-src-all@freebsd.org Tue Apr 4 16:26:47 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C6626D2EB4B; Tue, 4 Apr 2017 16:26:47 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 938F036E; Tue, 4 Apr 2017 16:26:47 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34GQkEm063280; Tue, 4 Apr 2017 16:26:46 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34GQkuP063279; Tue, 4 Apr 2017 16:26:46 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201704041626.v34GQkuP063279@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Tue, 4 Apr 2017 16:26:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316493 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 16:26:47 -0000 Author: jhb Date: Tue Apr 4 16:26:46 2017 New Revision: 316493 URL: https://svnweb.freebsd.org/changeset/base/316493 Log: Assert that the align parameter to uma_zcreate() is valid. Reviewed by: kib MFC after: 1 week Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D10100 Modified: head/sys/vm/uma_core.c Modified: head/sys/vm/uma_core.c ============================================================================== --- head/sys/vm/uma_core.c Tue Apr 4 16:08:51 2017 (r316492) +++ head/sys/vm/uma_core.c Tue Apr 4 16:26:46 2017 (r316493) @@ -1888,6 +1888,9 @@ uma_zcreate(const char *name, size_t siz uma_zone_t res; bool locked; + KASSERT(powerof2(align + 1), ("invalid zone alignment %d for \"%s\"", + align, name)); + /* This stuff is essential for the zone ctor */ memset(&args, 0, sizeof(args)); args.name = name; From owner-svn-src-all@freebsd.org Tue Apr 4 16:54:47 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 84ED2D2E624; Tue, 4 Apr 2017 16:54:47 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 57000876; Tue, 4 Apr 2017 16:54:47 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34GskUU075295; Tue, 4 Apr 2017 16:54:46 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34GskON075292; Tue, 4 Apr 2017 16:54:46 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704041654.v34GskON075292@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Tue, 4 Apr 2017 16:54:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316494 - head/sys/dev/e1000 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 16:54:47 -0000 Author: sbruno Date: Tue Apr 4 16:54:46 2017 New Revision: 316494 URL: https://svnweb.freebsd.org/changeset/base/316494 Log: no_desc_avail is tracked in iflib now making this redundant. Sponsored by: Limelight Networks Modified: head/sys/dev/e1000/if_em.c head/sys/dev/e1000/if_em.h Modified: head/sys/dev/e1000/if_em.c ============================================================================== --- head/sys/dev/e1000/if_em.c Tue Apr 4 16:26:46 2017 (r316493) +++ head/sys/dev/e1000/if_em.c Tue Apr 4 16:54:46 2017 (r316494) @@ -3883,9 +3883,6 @@ em_add_hw_stats(struct adapter *adapter) SYSCTL_ADD_ULONG(ctx, queue_list, OID_AUTO, "tx_irq", CTLFLAG_RD, &txr->tx_irq, "Queue MSI-X Transmit Interrupts"); - SYSCTL_ADD_ULONG(ctx, queue_list, OID_AUTO, "no_desc_avail", - CTLFLAG_RD, &txr->no_desc_avail, - "Queue No Descriptor Available"); } for (int j = 0; j < adapter->rx_num_queues; j++, rx_que++) { Modified: head/sys/dev/e1000/if_em.h ============================================================================== --- head/sys/dev/e1000/if_em.h Tue Apr 4 16:26:46 2017 (r316493) +++ head/sys/dev/e1000/if_em.h Tue Apr 4 16:54:46 2017 (r316494) @@ -368,7 +368,6 @@ struct tx_ring { void *tag; struct resource *res; unsigned long tx_irq; - unsigned long no_desc_avail; /* Saved csum offloading context information */ int csum_flags; From owner-svn-src-all@freebsd.org Tue Apr 4 17:05:39 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 031ACD2EB64; Tue, 4 Apr 2017 17:05:39 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C6B11140; Tue, 4 Apr 2017 17:05:38 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34H5bZ9079395; Tue, 4 Apr 2017 17:05:37 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34H5bZ5079394; Tue, 4 Apr 2017 17:05:37 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201704041705.v34H5bZ5079394@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Tue, 4 Apr 2017 17:05:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316495 - head/usr.bin/grep/regex X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 17:05:39 -0000 Author: cem Date: Tue Apr 4 17:05:37 2017 New Revision: 316495 URL: https://svnweb.freebsd.org/changeset/base/316495 Log: bsdgrep(1): Fix errors with invalid expressions Invalid expressions with an ultimate compiled pattern length of 0 (e.g., "grep -E {") were not taken into account and caused a segfault while trying to fill in the good suffix table. Submitted by: Kyle Evans Reviewed by: me Differential Revision: https://reviews.freebsd.org/D10113 Modified: head/usr.bin/grep/regex/tre-fastmatch.c Modified: head/usr.bin/grep/regex/tre-fastmatch.c ============================================================================== --- head/usr.bin/grep/regex/tre-fastmatch.c Tue Apr 4 16:54:46 2017 (r316494) +++ head/usr.bin/grep/regex/tre-fastmatch.c Tue Apr 4 17:05:37 2017 (r316495) @@ -337,7 +337,7 @@ static int fastcmp(const fastmatch_t *fg * Fills in the good suffix table for SB/MB strings. */ #define FILL_BMGS \ - if (!fg->hasdot) \ + if (fg->len > 0 && !fg->hasdot) \ { \ fg->sbmGs = malloc(fg->len * sizeof(int)); \ if (!fg->sbmGs) \ @@ -353,7 +353,7 @@ static int fastcmp(const fastmatch_t *fg * Fills in the good suffix table for wide strings. */ #define FILL_BMGS_WIDE \ - if (!fg->hasdot) \ + if (fg->wlen > 0 && !fg->hasdot) \ { \ fg->bmGs = malloc(fg->wlen * sizeof(int)); \ if (!fg->bmGs) \ From owner-svn-src-all@freebsd.org Tue Apr 4 17:14:30 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F16DED2E364; Tue, 4 Apr 2017 17:14:30 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x241.google.com (mail-pg0-x241.google.com [IPv6:2607:f8b0:400e:c05::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C8283AF7; Tue, 4 Apr 2017 17:14:30 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x241.google.com with SMTP id g2so38466273pge.2; Tue, 04 Apr 2017 10:14:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=EnNUZKPlzuYmStgAFNoU/I3ypHcnFQZ91Vd9ccm2NRs=; b=QKVMQdEyF0Dk8GSRifgGgF6Fgla6sWFQaFeAJu+YB1O+O9+JTxyxu2dJ5yrHD9Ym7W 8K0Ei9FnY4f2EmbGHxQn6fYtF2FRgqnEO5NUSI4vD4n7l/T7PLsBOqxc98/esamcs3dL j0wnVyK8w61nSAWcKVPPJYSmDb00zcaBb5Shdl6RL+ssaHnKig0dtlSUltnE7OCB8wX0 2pVW27CA9dcYFvpoh/DwBRh5E3ZfoXlXEdVcS9ESl4MMVamkectIGtvlHqgX/q+177gL NMpT+K5brIZl+xgKcKDxmV6uEEK05uWiZPoM52GlWxo/0h1+0iJpee/3ONR7h/FH6e7z sPbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=EnNUZKPlzuYmStgAFNoU/I3ypHcnFQZ91Vd9ccm2NRs=; b=ManglzN+0cDzZ1Gpev64sGvd7kUzgYRBzs10L2YcuPBL5AblGXtHGbVsNVyqUWWDHs MTqOWdkWzQXTpIXsTYC28zoopwZQruaozcTRsvrUUERLDGOOL+8vOYJ2vSKF1rk7XNTd PIEiy9KhH8F6sVcOhPSYPXCvQ14oV+ow1DdFpLOSve5KeJmKy8693Fcy3evW0Q6Y7rZB ExrkayUwtAXvElgt9l3Gg1YRqGta+waMAXbVVEPppVNFccI9QHskxyeKJuWacGf2V80S FXNmgSUYdYhWnN0xmuiLkch8Htc7UdaFTeD7csy9wNCOXKLhlqR3/4R7ZDBHkgRSGxA5 AT8w== X-Gm-Message-State: AFeK/H2bSxE8+bfN4DG1SQkKknlInynF9u5lwOtR6NgQ7DpPuAj/tP4vc62FzEOcnDUhjA== X-Received: by 10.98.40.5 with SMTP id o5mr24174651pfo.262.1491326070094; Tue, 04 Apr 2017 10:14:30 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id f81sm32933026pfe.61.2017.04.04.10.14.29 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 04 Apr 2017 10:14:29 -0700 (PDT) Subject: Re: svn commit: r316492 - in head/usr.bin/grep: . regex Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_018AE2D7-942D-4F34-9002-4AAECA5CC6F5"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201704041608.v34G8qSo055328@repo.freebsd.org> Date: Tue, 4 Apr 2017 10:14:28 -0700 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <4D675D2F-7D6F-4AF2-AE10-5DF19D4158D0@gmail.com> References: <201704041608.v34G8qSo055328@repo.freebsd.org> To: Conrad Meyer X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 17:14:31 -0000 --Apple-Mail=_018AE2D7-942D-4F34-9002-4AAECA5CC6F5 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Apr 4, 2017, at 09:08, Conrad Meyer wrote: >=20 > Author: cem > Date: Tue Apr 4 16:08:51 2017 > New Revision: 316492 > URL: https://svnweb.freebsd.org/changeset/base/316492 >=20 > Log: > bsdgrep(1): Rip out "xmalloc" bits >=20 > xmalloc was a debug malloc implementation, but the = x{malloc,calloc,free} > functions default to calling the malloc(3) equivalents. >=20 > Instead of relying on this malloc shim, we can devise better ways to = debug > malloc issues that aren't misleading upon initial inspection. (I.e., = using > jemalloc's various built-in debugging capabilities.) >=20 > Submitted by: Kyle Evans > Reviewed by: emaste, cem > Differential Revision: https://reviews.freebsd.org/D10269 >=20 > Deleted: > head/usr.bin/grep/regex/xmalloc.c > head/usr.bin/grep/regex/xmalloc.h > Modified: > head/usr.bin/grep/Makefile > head/usr.bin/grep/regex/fastmatch.c > head/usr.bin/grep/regex/tre-compile.c > head/usr.bin/grep/regex/tre-fastmatch.c Where did xmalloc.c originate from? I can=E2=80=99t find any references = to it in OpenBSD=E2=80=99s grep implementation (I=E2=80=99m pretty sure = this copy of grep started there). Thanks, -Ngie --Apple-Mail=_018AE2D7-942D-4F34-9002-4AAECA5CC6F5 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJY49R0AAoJEPWDqSZpMIYVxoQP/0EBXD4HmhucR/qKXw/VKGcw gFLsU0PwPekHIdM1CaRN0nMYtBKoJK7kwjKsh+iE8pAX6qlhLsg0IchesnMDDhPY 2N8jccFSlYU8tdQSKc6XOgXprKhnTucNovWlOqOztvPy72EJiT51QzcNq4Q27AlN evKpen9LmK0JkuKc7gerj4cFQn8m0QLl/ytQMCHQsqREV2T1h+MMtgvd+HH8IVZ9 XwLGijuaBCJxC77+tOeKOEegwb210qknx/P4yO74vPIrCU0KkDNDA7QkJ9enugCJ 2bdB3lo+Fn0ZTSC/lxClTXqRrFo/JU0LM64OmtyLZ69etEZpKLpRq7Qvp5pvsSb4 rUgEF8YXyuyCHLfDY4NcQCH7R8QKGbWh2w31p6EwqVQWdZKIkTnRsiUop2R1OQGn EJXWISKcCIBsvZeUNHQhtkGS4cMDtcjGKbnXkKyaR5CGeAhm+jfrpL/I2VpK1mx9 1zmiIcgUxGrbru09URo4I2AW/LY4d9wJWiqebRkahX9RyVI0MeNugnv5owdIOqGZ nkJzxEq1O6oO4bvt7nrwlowbQeqkcEg5NIgxLMJIJuHYi3Hpypr9I+43XgQ8Irrg eNqWpcijDXjTuo18YTpY7Sep2Xjzu0CtOoLUpWxC8BLS8fKnoRCezdMVFHcm5pcP BAxRpAilZin4OezaMN9z =jJ2J -----END PGP SIGNATURE----- --Apple-Mail=_018AE2D7-942D-4F34-9002-4AAECA5CC6F5-- From owner-svn-src-all@freebsd.org Tue Apr 4 17:18:47 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 11A7AD2E4AC; Tue, 4 Apr 2017 17:18:47 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D7EABCFD; Tue, 4 Apr 2017 17:18:46 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34HIkAr083383; Tue, 4 Apr 2017 17:18:46 GMT (envelope-from sevan@FreeBSD.org) Received: (from sevan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34HIkdl083382; Tue, 4 Apr 2017 17:18:46 GMT (envelope-from sevan@FreeBSD.org) Message-Id: <201704041718.v34HIkdl083382@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sevan set sender to sevan@FreeBSD.org using -f From: Sevan Janiyan Date: Tue, 4 Apr 2017 17:18:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316496 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 17:18:47 -0000 Author: sevan (doc committer) Date: Tue Apr 4 17:18:45 2017 New Revision: 316496 URL: https://svnweb.freebsd.org/changeset/base/316496 Log: Correct the grammar mistakes introduced by me in the previous commit. The original sentence used the correct article to reference the MAC & radio. Reported by: ian MFC after: 5 days Modified: head/share/man/man4/ral.4 Modified: head/share/man/man4/ral.4 ============================================================================== --- head/share/man/man4/ral.4 Tue Apr 4 17:05:37 2017 (r316495) +++ head/share/man/man4/ral.4 Tue Apr 4 17:18:45 2017 (r316496) @@ -45,7 +45,7 @@ driver supports PCI/PCIe/CardBus wireles RT2501, RT2600, RT2700, RT2800, RT3090 and RT3900E chipsets. .Pp The RT2500 chipset is the first generation of 802.11b/g adapters from Ralink. -It consists of two integrated chips, a RT2560 MAC/BBP and a RT2525 radio +It consists of two integrated chips, an RT2560 MAC/BBP and an RT2525 radio transceiver. .Pp The RT2501 chipset is the second generation of 802.11a/b/g adapters from From owner-svn-src-all@freebsd.org Tue Apr 4 17:18:58 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9ECE7D2E50E; Tue, 4 Apr 2017 17:18:58 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7E807DC5; Tue, 4 Apr 2017 17:18:58 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by mail.baldwin.cx (Postfix) with ESMTPSA id 3348810A7B9; Tue, 4 Apr 2017 13:18:57 -0400 (EDT) From: John Baldwin To: Edward Tomasz Napierala Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316486 - head/sys/mips/mips Date: Tue, 04 Apr 2017 09:20:34 -0700 Message-ID: <2657365.LqxZCUnOvu@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-STABLE; KDE/4.14.10; amd64; ; ) In-Reply-To: <201704040817.v348H3UA059515@repo.freebsd.org> References: <201704040817.v348H3UA059515@repo.freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Tue, 04 Apr 2017 13:18:57 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 17:18:58 -0000 On Tuesday, April 04, 2017 08:17:03 AM Edward Tomasz Napierala wrote: > Author: trasz > Date: Tue Apr 4 08:17:03 2017 > New Revision: 316486 > URL: https://svnweb.freebsd.org/changeset/base/316486 > > Log: > Remove dead code/ifdef. > > MFC after: 2 weeks > Sponsored by: DARPA, AFRL I'm not quite sure how dead this. We do reserve space in 'struct reg' for IC in regnum.h: /* * IC is valid only on RM7K and RM9K processors. Access to this is * controlled by IC_INT_REG which defined in kernel config */ #define IC 38 OTOH, I can't find other references to IC outside of regnum.h and what you just removed. -- John Baldwin From owner-svn-src-all@freebsd.org Tue Apr 4 17:19:18 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1F0ECD2E5A9; Tue, 4 Apr 2017 17:19:18 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from host2.hosts.geeklan.co.uk (host2.hosts.geeklan.co.uk [IPv6:2001:470:1f13:8c2::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "host2.hosts.geeklan.co.uk", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 38EAAFC7; Tue, 4 Apr 2017 17:19:17 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from host2.hosts.geeklan.co.uk (localhost [127.0.0.1]) by host2.hosts.geeklan.co.uk (OpenSMTPD) with ESMTP id 4d2f2a2c; Tue, 4 Apr 2017 18:19:14 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=geeklan.co.uk; h=subject :to:references:from:message-id:date:mime-version:in-reply-to :content-type:content-transfer-encoding; s=geeklan; bh=tp1WRzOdI aMpRVkZX7v9vGAJjK8=; b=in89ZxW2yFDBdtehJ3Lwf4QvqTlHFadMKVUDfolXI wBHvu+N1rD6kJCoq/nF+/O/paRKK0dxp18pnHAoL0LCI5t0O3qNlk9NCfKMtFoPo Fb4HCEISwxIuhNDSJNMsZXup6JhjX/qBI3yJgOju9VBxbQNQh843021vh41rlosz 3jomRhEr6nsEtweq0S7yCw52+DoRpUkU1g4U/jvQ9Z8gTYKuGBbOe6PlcgIJdW33 Bb+g2aHU1kaj21JrOuzgMDd0bajdfIEaz5nTfzZ+55ulVEr7YeCjsdka2sqgfdlE Y3BEY1dCNXnlMjyP2j9raDx3zClSBKHZKyUAVjCWHdqwQ== Received: by host2.hosts.geeklan.co.uk (OpenSMTPD) with ESMTPSA id a0380379 TLS version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO; Tue, 4 Apr 2017 18:19:14 +0100 (BST) Subject: Re: svn commit: r316488 - head/share/man/man4 To: Ian Lepore , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201704041318.v34DIuwc085550@repo.freebsd.org> <1491321537.37037.49.camel@freebsd.org> From: Sevan Janiyan Message-ID: Date: Tue, 4 Apr 2017 18:19:13 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1491321537.37037.49.camel@freebsd.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 17:19:18 -0000 On 04/04/2017 16:58, Ian Lepore wrote: > 'An' was correct for these usages. The choice should be based on the > sound of the word that follows, which in this case is 'ar'. Fixed :) Thanks for the heads up. Sevan From owner-svn-src-all@freebsd.org Tue Apr 4 17:27:44 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 34650D2EAA8; Tue, 4 Apr 2017 17:27:44 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: from mail-vk0-x229.google.com (mail-vk0-x229.google.com [IPv6:2607:f8b0:400c:c05::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DFBA3988; Tue, 4 Apr 2017 17:27:43 +0000 (UTC) (envelope-from etnapierala@gmail.com) Received: by mail-vk0-x229.google.com with SMTP id z204so184121301vkd.1; Tue, 04 Apr 2017 10:27:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=wFR32SRhZlo1v97tClSFD38ynHbgxLY89k2DPhnyf/0=; b=gYeRYjMWXcCcHXZD5ZUOHhKa5RWBknDdLhNwN4S/GGNLoFh0A31w9TSfEGKPZt0X5L 1PzQrGluOhMBPsLFs3Ipugq16j3XPF8xNIrEqRFw6MMmhw5fmFcP2bgAsRxaDuxnu4ws HHU+vgNj+Tiby7CCwzG2/Coy+U9k/BAepy4eTQpLRf6ZGHivrlWnGC7iZw+4ewCYLBO+ r+sfxoX8KSUxvmx2Meu8Rt6NSoF1rdvecH8zRYbPG/2D3jRb7D7rypwU/rPX7ZnsAT3L LNFjAyKhkOPFFxhX6JXfI8/gUc/GKjaeLDY1lJttygNWXMj+wHq9s6O+0K09yQpDkg74 u03A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=wFR32SRhZlo1v97tClSFD38ynHbgxLY89k2DPhnyf/0=; b=ohHB9jPepCijkbrZBgrH5jQc8CRY2ACsdx5TBPj8+HIvnP+GuC6PlXC55W2vZxzHuw DSLm/rrfLODwRIaJODpC9nnZFnVi9XUROZCyyP8n999Ah0H1vc3i0GNYSD8f2qdMRREj w5YL82BtIHwofIGU2BjY4kPtvY5JBlqKdSqd4I2KvY4WWn3XsqpjuzXPTh5tEHxvnNNY rovRtmm5CqkIqso4nW9pGaC+hPL0YHJmzli1IxuThqGDuHiJUaGD+lD+366mJcLr5e/X M9MgXNvmixwALHIXcj1D4GEbmN6PWJyjMf8iMZlVlLzzh8epFo1hc0RM0H7rpm5gi1DX 1Yrg== X-Gm-Message-State: AFeK/H0h8jgFSf9u6VxTxeSm86sbIVbT7DR5nvFEy9si9hC3uX+Q9BMszDK6+rQM/jSM4OFNOQRw+4ZyEEzBKQ== X-Received: by 10.31.9.142 with SMTP id 136mr10754514vkj.76.1491326862758; Tue, 04 Apr 2017 10:27:42 -0700 (PDT) MIME-Version: 1.0 Sender: etnapierala@gmail.com Received: by 10.176.80.130 with HTTP; Tue, 4 Apr 2017 10:27:42 -0700 (PDT) In-Reply-To: <2657365.LqxZCUnOvu@ralph.baldwin.cx> References: <201704040817.v348H3UA059515@repo.freebsd.org> <2657365.LqxZCUnOvu@ralph.baldwin.cx> From: Edward Napierala Date: Tue, 4 Apr 2017 18:27:42 +0100 X-Google-Sender-Auth: b0kKGYX462ub_puuDGYBEAYFh28 Message-ID: Subject: Re: svn commit: r316486 - head/sys/mips/mips To: John Baldwin Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 17:27:44 -0000 2017-04-04 17:20 GMT+01:00 John Baldwin : > On Tuesday, April 04, 2017 08:17:03 AM Edward Tomasz Napierala wrote: > > Author: trasz > > Date: Tue Apr 4 08:17:03 2017 > > New Revision: 316486 > > URL: https://svnweb.freebsd.org/changeset/base/316486 > > > > Log: > > Remove dead code/ifdef. > > > > MFC after: 2 weeks > > Sponsored by: DARPA, AFRL > > I'm not quite sure how dead this. We do reserve space in 'struct reg' > for IC in regnum.h: > > /* > * IC is valid only on RM7K and RM9K processors. Access to this is > * controlled by IC_INT_REG which defined in kernel config > */ > #define IC 38 > > OTOH, I can't find other references to IC outside of regnum.h and what > you just removed. > I've only grepped the sources for the #ifdef, and that it was added with the initial commit that added the MIPS port. I didn't do anything with IC, because I'm not sure if something doesn't depend on the structure size. From owner-svn-src-all@freebsd.org Tue Apr 4 17:32:10 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3662FD2EE25; Tue, 4 Apr 2017 17:32:10 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EE74AEB2; Tue, 4 Apr 2017 17:32:09 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34HW9Gw091345; Tue, 4 Apr 2017 17:32:09 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34HW9pD091344; Tue, 4 Apr 2017 17:32:09 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201704041732.v34HW9pD091344@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 4 Apr 2017 17:32:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316497 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 17:32:10 -0000 Author: brooks Date: Tue Apr 4 17:32:08 2017 New Revision: 316497 URL: https://svnweb.freebsd.org/changeset/base/316497 Log: Correct a kernel stack leak in 32-bit compat when vfc_name is short. Don't zero unused pointer members again. Per discussion with secteam we are not issuing an advisory for this issue as we have no current evidence it leaks exploitable information. Reviewed by: rwatson, glebius, delphij MFC after: 1 day Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10227 Modified: head/sys/kern/vfs_subr.c Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Tue Apr 4 17:18:45 2017 (r316496) +++ head/sys/kern/vfs_subr.c Tue Apr 4 17:32:08 2017 (r316497) @@ -3781,12 +3781,11 @@ vfsconf2x32(struct sysctl_req *req, stru { struct xvfsconf32 xvfsp; + bzero(&xvfsp, sizeof(xvfsp)); strcpy(xvfsp.vfc_name, vfsp->vfc_name); xvfsp.vfc_typenum = vfsp->vfc_typenum; xvfsp.vfc_refcount = vfsp->vfc_refcount; xvfsp.vfc_flags = vfsp->vfc_flags; - xvfsp.vfc_vfsops = 0; - xvfsp.vfc_next = 0; return (SYSCTL_OUT(req, &xvfsp, sizeof(xvfsp))); } #endif From owner-svn-src-all@freebsd.org Tue Apr 4 17:59:12 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2A3ACD2E8B3; Tue, 4 Apr 2017 17:59:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DDB1612; Tue, 4 Apr 2017 17:59:11 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34HxA1H000517; Tue, 4 Apr 2017 17:59:10 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34HxAKh000514; Tue, 4 Apr 2017 17:59:10 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704041759.v34HxAKh000514@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 4 Apr 2017 17:59:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316498 - in stable/11/sys: cam sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 17:59:12 -0000 Author: mav Date: Tue Apr 4 17:59:10 2017 New Revision: 316498 URL: https://svnweb.freebsd.org/changeset/base/316498 Log: MFC r315673, r315674: Make CAM SIM lock optional. For three years now CAM does not use SIM lock, but still enforces SIM to use it. Remove this requirement, allowing SIMs to have any locking they prefer, if they pass no mutex to cam_sim_alloc(). Modified: stable/11/sys/cam/cam_sim.c stable/11/sys/cam/cam_xpt.c stable/11/sys/sys/param.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/cam/cam_sim.c ============================================================================== --- stable/11/sys/cam/cam_sim.c Tue Apr 4 17:32:08 2017 (r316497) +++ stable/11/sys/cam/cam_sim.c Tue Apr 4 17:59:10 2017 (r316498) @@ -46,6 +46,9 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_CAMSIM, "CAM SIM", "CAM SIM buffers"); +static struct mtx cam_sim_free_mtx; +MTX_SYSINIT(cam_sim_free_init, &cam_sim_free_mtx, "CAM SIM free lock", MTX_DEF); + struct cam_devq * cam_simq_alloc(u_int32_t max_sim_transactions) { @@ -66,9 +69,6 @@ cam_sim_alloc(sim_action_func sim_action { struct cam_sim *sim; - if (mtx == NULL) - return (NULL); - sim = (struct cam_sim *)malloc(sizeof(struct cam_sim), M_CAMSIM, M_ZERO | M_NOWAIT); @@ -101,16 +101,23 @@ cam_sim_alloc(sim_action_func sim_action void cam_sim_free(struct cam_sim *sim, int free_devq) { + struct mtx *mtx = sim->mtx; int error; - mtx_assert(sim->mtx, MA_OWNED); + if (mtx) { + mtx_assert(mtx, MA_OWNED); + } else { + mtx = &cam_sim_free_mtx; + mtx_lock(mtx); + } sim->refcount--; if (sim->refcount > 0) { - error = msleep(sim, sim->mtx, PRIBIO, "simfree", 0); + error = msleep(sim, mtx, PRIBIO, "simfree", 0); KASSERT(error == 0, ("invalid error value for msleep(9)")); } - KASSERT(sim->refcount == 0, ("sim->refcount == 0")); + if (sim->mtx == NULL) + mtx_unlock(mtx); if (free_devq) cam_simq_free(sim->devq); @@ -120,31 +127,43 @@ cam_sim_free(struct cam_sim *sim, int fr void cam_sim_release(struct cam_sim *sim) { - int lock; + struct mtx *mtx = sim->mtx; - lock = (mtx_owned(sim->mtx) == 0); - if (lock) - CAM_SIM_LOCK(sim); + if (mtx) { + if (!mtx_owned(mtx)) + mtx_lock(mtx); + else + mtx = NULL; + } else { + mtx = &cam_sim_free_mtx; + mtx_lock(mtx); + } KASSERT(sim->refcount >= 1, ("sim->refcount >= 1")); sim->refcount--; if (sim->refcount == 0) wakeup(sim); - if (lock) - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); } void cam_sim_hold(struct cam_sim *sim) { - int lock; + struct mtx *mtx = sim->mtx; - lock = (mtx_owned(sim->mtx) == 0); - if (lock) - CAM_SIM_LOCK(sim); + if (mtx) { + if (!mtx_owned(mtx)) + mtx_lock(mtx); + else + mtx = NULL; + } else { + mtx = &cam_sim_free_mtx; + mtx_lock(mtx); + } KASSERT(sim->refcount >= 1, ("sim->refcount >= 1")); sim->refcount++; - if (lock) - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); } void Modified: stable/11/sys/cam/cam_xpt.c ============================================================================== --- stable/11/sys/cam/cam_xpt.c Tue Apr 4 17:32:08 2017 (r316497) +++ stable/11/sys/cam/cam_xpt.c Tue Apr 4 17:59:10 2017 (r316498) @@ -2486,7 +2486,7 @@ xpt_action_default(union ccb *start_ccb) { struct cam_path *path; struct cam_sim *sim; - int lock; + struct mtx *mtx; path = start_ccb->ccb_h.path; CAM_DEBUG(path, CAM_DEBUG_TRACE, @@ -2647,16 +2647,18 @@ xpt_action_default(union ccb *start_ccb) case XPT_PATH_INQ: call_sim: sim = path->bus->sim; - lock = (mtx_owned(sim->mtx) == 0); - if (lock) - CAM_SIM_LOCK(sim); + mtx = sim->mtx; + if (mtx && !mtx_owned(mtx)) + mtx_lock(mtx); + else + mtx = NULL; CAM_DEBUG(path, CAM_DEBUG_TRACE, ("sim->sim_action: func=%#x\n", start_ccb->ccb_h.func_code)); (*(sim->sim_action))(sim, start_ccb); CAM_DEBUG(path, CAM_DEBUG_TRACE, ("sim->sim_action: status=%#x\n", start_ccb->ccb_h.status)); - if (lock) - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); break; case XPT_PATH_STATS: start_ccb->cpis.last_reset = path->bus->last_reset; @@ -2878,8 +2880,8 @@ call_sim: break; } cur_entry->event_enable = csa->event_enable; - cur_entry->event_lock = - mtx_owned(path->bus->sim->mtx) ? 1 : 0; + cur_entry->event_lock = (path->bus->sim->mtx && + mtx_owned(path->bus->sim->mtx)) ? 1 : 0; cur_entry->callback_arg = csa->callback_arg; cur_entry->callback = csa->callback; SLIST_INSERT_HEAD(async_head, cur_entry, links); @@ -3044,10 +3046,12 @@ xpt_polled_action(union ccb *start_ccb) struct cam_sim *sim; struct cam_devq *devq; struct cam_ed *dev; + struct mtx *mtx; timeout = start_ccb->ccb_h.timeout * 10; sim = start_ccb->ccb_h.path->bus->sim; devq = sim->devq; + mtx = sim->mtx; dev = start_ccb->ccb_h.path->device; mtx_unlock(&dev->device_mtx); @@ -3062,9 +3066,11 @@ xpt_polled_action(union ccb *start_ccb) (--timeout > 0)) { mtx_unlock(&devq->send_mtx); DELAY(100); - CAM_SIM_LOCK(sim); + if (mtx) + mtx_lock(mtx); (*(sim->sim_poll))(sim); - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); camisr_runqueue(); mtx_lock(&devq->send_mtx); } @@ -3074,9 +3080,11 @@ xpt_polled_action(union ccb *start_ccb) if (timeout != 0) { xpt_action(start_ccb); while(--timeout > 0) { - CAM_SIM_LOCK(sim); + if (mtx) + mtx_lock(mtx); (*(sim->sim_poll))(sim); - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); camisr_runqueue(); if ((start_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_INPROG) @@ -3234,7 +3242,7 @@ static void xpt_run_devq(struct cam_devq *devq) { char cdb_str[(SCSI_MAX_CDBLEN * 3) + 1]; - int lock; + struct mtx *mtx; CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("xpt_run_devq\n")); @@ -3336,13 +3344,15 @@ xpt_run_devq(struct cam_devq *devq) * queued device, rather than the one from the calling bus. */ sim = device->sim; - lock = (mtx_owned(sim->mtx) == 0); - if (lock) - CAM_SIM_LOCK(sim); + mtx = sim->mtx; + if (mtx && !mtx_owned(mtx)) + mtx_lock(mtx); + else + mtx = NULL; work_ccb->ccb_h.qos.sim_data = sbinuptime(); // xxx uintprt_t too small 32bit platforms (*(sim->sim_action))(sim, work_ccb); - if (lock) - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); mtx_lock(&devq->send_mtx); } devq->send_queue.qfrozen_cnt--; @@ -3848,8 +3858,6 @@ xpt_bus_register(struct cam_sim *sim, de struct cam_path *path; cam_status status; - mtx_assert(sim->mtx, MA_OWNED); - sim->bus_id = bus; new_bus = (struct cam_eb *)malloc(sizeof(*new_bus), M_CAMXPT, M_NOWAIT|M_ZERO); @@ -4206,7 +4214,7 @@ xpt_async_bcast(struct async_list *async struct cam_path *path, void *async_arg) { struct async_node *cur_entry; - int lock; + struct mtx *mtx; cur_entry = SLIST_FIRST(async_head); while (cur_entry != NULL) { @@ -4218,14 +4226,15 @@ xpt_async_bcast(struct async_list *async */ next_entry = SLIST_NEXT(cur_entry, links); if ((cur_entry->event_enable & async_code) != 0) { - lock = cur_entry->event_lock; - if (lock) - CAM_SIM_LOCK(path->device->sim); + mtx = cur_entry->event_lock ? + path->device->sim->mtx : NULL; + if (mtx) + mtx_lock(mtx); cur_entry->callback(cur_entry->callback_arg, async_code, path, async_arg); - if (lock) - CAM_SIM_UNLOCK(path->device->sim); + if (mtx) + mtx_unlock(mtx); } cur_entry = next_entry; } Modified: stable/11/sys/sys/param.h ============================================================================== --- stable/11/sys/sys/param.h Tue Apr 4 17:32:08 2017 (r316497) +++ stable/11/sys/sys/param.h Tue Apr 4 17:59:10 2017 (r316498) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1100511 /* Master, propagated to newvers */ +#define __FreeBSD_version 1100512 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Tue Apr 4 18:01:36 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B0674D2EADB; Tue, 4 Apr 2017 18:01:36 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7547F2ED; Tue, 4 Apr 2017 18:01:36 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34I1Zsx004306; Tue, 4 Apr 2017 18:01:35 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34I1ZbT004303; Tue, 4 Apr 2017 18:01:35 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704041801.v34I1ZbT004303@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Tue, 4 Apr 2017 18:01:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316499 - in stable/10/sys: cam sys X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 18:01:36 -0000 Author: mav Date: Tue Apr 4 18:01:35 2017 New Revision: 316499 URL: https://svnweb.freebsd.org/changeset/base/316499 Log: MFC r315673, r315674: Make CAM SIM lock optional. For three years now CAM does not use SIM lock, but still enforces SIM to use it. Remove this requirement, allowing SIMs to have any locking they prefer, if they pass no mutex to cam_sim_alloc(). Modified: stable/10/sys/cam/cam_sim.c stable/10/sys/cam/cam_xpt.c stable/10/sys/sys/param.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cam/cam_sim.c ============================================================================== --- stable/10/sys/cam/cam_sim.c Tue Apr 4 17:59:10 2017 (r316498) +++ stable/10/sys/cam/cam_sim.c Tue Apr 4 18:01:35 2017 (r316499) @@ -46,6 +46,9 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_CAMSIM, "CAM SIM", "CAM SIM buffers"); +static struct mtx cam_sim_free_mtx; +MTX_SYSINIT(cam_sim_free_init, &cam_sim_free_mtx, "CAM SIM free lock", MTX_DEF); + struct cam_devq * cam_simq_alloc(u_int32_t max_sim_transactions) { @@ -66,9 +69,6 @@ cam_sim_alloc(sim_action_func sim_action { struct cam_sim *sim; - if (mtx == NULL) - return (NULL); - sim = (struct cam_sim *)malloc(sizeof(struct cam_sim), M_CAMSIM, M_ZERO | M_NOWAIT); @@ -101,16 +101,23 @@ cam_sim_alloc(sim_action_func sim_action void cam_sim_free(struct cam_sim *sim, int free_devq) { + struct mtx *mtx = sim->mtx; int error; - mtx_assert(sim->mtx, MA_OWNED); + if (mtx) { + mtx_assert(mtx, MA_OWNED); + } else { + mtx = &cam_sim_free_mtx; + mtx_lock(mtx); + } sim->refcount--; if (sim->refcount > 0) { - error = msleep(sim, sim->mtx, PRIBIO, "simfree", 0); + error = msleep(sim, mtx, PRIBIO, "simfree", 0); KASSERT(error == 0, ("invalid error value for msleep(9)")); } - KASSERT(sim->refcount == 0, ("sim->refcount == 0")); + if (sim->mtx == NULL) + mtx_unlock(mtx); if (free_devq) cam_simq_free(sim->devq); @@ -120,31 +127,43 @@ cam_sim_free(struct cam_sim *sim, int fr void cam_sim_release(struct cam_sim *sim) { - int lock; + struct mtx *mtx = sim->mtx; - lock = (mtx_owned(sim->mtx) == 0); - if (lock) - CAM_SIM_LOCK(sim); + if (mtx) { + if (!mtx_owned(mtx)) + mtx_lock(mtx); + else + mtx = NULL; + } else { + mtx = &cam_sim_free_mtx; + mtx_lock(mtx); + } KASSERT(sim->refcount >= 1, ("sim->refcount >= 1")); sim->refcount--; if (sim->refcount == 0) wakeup(sim); - if (lock) - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); } void cam_sim_hold(struct cam_sim *sim) { - int lock; + struct mtx *mtx = sim->mtx; - lock = (mtx_owned(sim->mtx) == 0); - if (lock) - CAM_SIM_LOCK(sim); + if (mtx) { + if (!mtx_owned(mtx)) + mtx_lock(mtx); + else + mtx = NULL; + } else { + mtx = &cam_sim_free_mtx; + mtx_lock(mtx); + } KASSERT(sim->refcount >= 1, ("sim->refcount >= 1")); sim->refcount++; - if (lock) - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); } void Modified: stable/10/sys/cam/cam_xpt.c ============================================================================== --- stable/10/sys/cam/cam_xpt.c Tue Apr 4 17:59:10 2017 (r316498) +++ stable/10/sys/cam/cam_xpt.c Tue Apr 4 18:01:35 2017 (r316499) @@ -2483,7 +2483,7 @@ xpt_action_default(union ccb *start_ccb) { struct cam_path *path; struct cam_sim *sim; - int lock; + struct mtx *mtx; path = start_ccb->ccb_h.path; CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_action_default\n")); @@ -2637,12 +2637,14 @@ xpt_action_default(union ccb *start_ccb) case XPT_PATH_INQ: call_sim: sim = path->bus->sim; - lock = (mtx_owned(sim->mtx) == 0); - if (lock) - CAM_SIM_LOCK(sim); + mtx = sim->mtx; + if (mtx && !mtx_owned(mtx)) + mtx_lock(mtx); + else + mtx = NULL; (*(sim->sim_action))(sim, start_ccb); - if (lock) - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); break; case XPT_PATH_STATS: start_ccb->cpis.last_reset = path->bus->last_reset; @@ -2864,8 +2866,8 @@ call_sim: break; } cur_entry->event_enable = csa->event_enable; - cur_entry->event_lock = - mtx_owned(path->bus->sim->mtx) ? 1 : 0; + cur_entry->event_lock = (path->bus->sim->mtx && + mtx_owned(path->bus->sim->mtx)) ? 1 : 0; cur_entry->callback_arg = csa->callback_arg; cur_entry->callback = csa->callback; SLIST_INSERT_HEAD(async_head, cur_entry, links); @@ -3025,10 +3027,12 @@ xpt_polled_action(union ccb *start_ccb) struct cam_sim *sim; struct cam_devq *devq; struct cam_ed *dev; + struct mtx *mtx; timeout = start_ccb->ccb_h.timeout * 10; sim = start_ccb->ccb_h.path->bus->sim; devq = sim->devq; + mtx = sim->mtx; dev = start_ccb->ccb_h.path->device; mtx_unlock(&dev->device_mtx); @@ -3043,9 +3047,11 @@ xpt_polled_action(union ccb *start_ccb) (--timeout > 0)) { mtx_unlock(&devq->send_mtx); DELAY(100); - CAM_SIM_LOCK(sim); + if (mtx) + mtx_lock(mtx); (*(sim->sim_poll))(sim); - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); camisr_runqueue(); mtx_lock(&devq->send_mtx); } @@ -3055,9 +3061,11 @@ xpt_polled_action(union ccb *start_ccb) if (timeout != 0) { xpt_action(start_ccb); while(--timeout > 0) { - CAM_SIM_LOCK(sim); + if (mtx) + mtx_lock(mtx); (*(sim->sim_poll))(sim); - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); camisr_runqueue(); if ((start_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_INPROG) @@ -3215,7 +3223,7 @@ static void xpt_run_devq(struct cam_devq *devq) { char cdb_str[(SCSI_MAX_CDBLEN * 3) + 1]; - int lock; + struct mtx *mtx; CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("xpt_run_devq\n")); @@ -3317,12 +3325,14 @@ xpt_run_devq(struct cam_devq *devq) * queued device, rather than the one from the calling bus. */ sim = device->sim; - lock = (mtx_owned(sim->mtx) == 0); - if (lock) - CAM_SIM_LOCK(sim); + mtx = sim->mtx; + if (mtx && !mtx_owned(mtx)) + mtx_lock(mtx); + else + mtx = NULL; (*(sim->sim_action))(sim, work_ccb); - if (lock) - CAM_SIM_UNLOCK(sim); + if (mtx) + mtx_unlock(mtx); mtx_lock(&devq->send_mtx); } devq->send_queue.qfrozen_cnt--; @@ -3867,8 +3877,6 @@ xpt_bus_register(struct cam_sim *sim, de struct cam_path *path; cam_status status; - mtx_assert(sim->mtx, MA_OWNED); - sim->bus_id = bus; new_bus = (struct cam_eb *)malloc(sizeof(*new_bus), M_CAMXPT, M_NOWAIT|M_ZERO); @@ -4225,7 +4233,7 @@ xpt_async_bcast(struct async_list *async struct cam_path *path, void *async_arg) { struct async_node *cur_entry; - int lock; + struct mtx *mtx; cur_entry = SLIST_FIRST(async_head); while (cur_entry != NULL) { @@ -4237,14 +4245,15 @@ xpt_async_bcast(struct async_list *async */ next_entry = SLIST_NEXT(cur_entry, links); if ((cur_entry->event_enable & async_code) != 0) { - lock = cur_entry->event_lock; - if (lock) - CAM_SIM_LOCK(path->device->sim); + mtx = cur_entry->event_lock ? + path->device->sim->mtx : NULL; + if (mtx) + mtx_lock(mtx); cur_entry->callback(cur_entry->callback_arg, async_code, path, async_arg); - if (lock) - CAM_SIM_UNLOCK(path->device->sim); + if (mtx) + mtx_unlock(mtx); } cur_entry = next_entry; } Modified: stable/10/sys/sys/param.h ============================================================================== --- stable/10/sys/sys/param.h Tue Apr 4 17:59:10 2017 (r316498) +++ stable/10/sys/sys/param.h Tue Apr 4 18:01:35 2017 (r316499) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1003512 /* Master, propagated to newvers */ +#define __FreeBSD_version 1003513 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@freebsd.org Tue Apr 4 18:56:33 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D3044D2D49B; Tue, 4 Apr 2017 18:56:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [IPv6:2001:470:7a58:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9D52AB6A; Tue, 4 Apr 2017 18:56:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:470:7a58::988f:bd7f:a95:844] (unknown [IPv6:2001:470:7a58:0:988f:bd7f:a95:844]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 7C78836F1D; Tue, 4 Apr 2017 20:56:31 +0200 (CEST) From: Dimitry Andric Message-Id: Content-Type: multipart/signed; boundary="Apple-Mail=_DE1F8A13-1FBF-4A2F-ACF0-7A7803834193"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r316492 - in head/usr.bin/grep: . regex Date: Tue, 4 Apr 2017 20:56:23 +0200 In-Reply-To: <4D675D2F-7D6F-4AF2-AE10-5DF19D4158D0@gmail.com> Cc: Conrad Meyer , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org To: "Ngie Cooper (yaneurabeya)" References: <201704041608.v34G8qSo055328@repo.freebsd.org> <4D675D2F-7D6F-4AF2-AE10-5DF19D4158D0@gmail.com> X-Mailer: Apple Mail (2.3273) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 18:56:33 -0000 --Apple-Mail=_DE1F8A13-1FBF-4A2F-ACF0-7A7803834193 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On 4 Apr 2017, at 19:14, Ngie Cooper (yaneurabeya) = wrote: >=20 >> On Apr 4, 2017, at 09:08, Conrad Meyer wrote: >>=20 >> Author: cem >> Date: Tue Apr 4 16:08:51 2017 >> New Revision: 316492 >> URL: https://svnweb.freebsd.org/changeset/base/316492 >>=20 >> Log: >> bsdgrep(1): Rip out "xmalloc" bits >>=20 >> xmalloc was a debug malloc implementation, but the = x{malloc,calloc,free} >> functions default to calling the malloc(3) equivalents. >>=20 >> Instead of relying on this malloc shim, we can devise better ways to = debug >> malloc issues that aren't misleading upon initial inspection. (I.e., = using >> jemalloc's various built-in debugging capabilities.) >>=20 >> Submitted by: Kyle Evans >> Reviewed by: emaste, cem >> Differential Revision: https://reviews.freebsd.org/D10269 >>=20 >> Deleted: >> head/usr.bin/grep/regex/xmalloc.c >> head/usr.bin/grep/regex/xmalloc.h >> Modified: >> head/usr.bin/grep/Makefile >> head/usr.bin/grep/regex/fastmatch.c >> head/usr.bin/grep/regex/tre-compile.c >> head/usr.bin/grep/regex/tre-fastmatch.c >=20 > Where did xmalloc.c originate from? GNU. Almost all software from the GNU project relies on malloc wrappers which abort the program on allocation failures. > I can=E2=80=99t find any references to it in OpenBSD=E2=80=99s grep = implementation (I=E2=80=99m pretty sure this copy of grep started = there). Not sure, they must have disliked the GNUisms too, probably. :) -Dimitry --Apple-Mail=_DE1F8A13-1FBF-4A2F-ACF0-7A7803834193 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.30 iEYEARECAAYFAljj7F8ACgkQsF6jCi4glqOefwCff5XvCW749M/S42MNQ8lU9ILU J2MAoKKi91o9dC2iWqrssVD4K+fkldK+ =7hUw -----END PGP SIGNATURE----- --Apple-Mail=_DE1F8A13-1FBF-4A2F-ACF0-7A7803834193-- From owner-svn-src-all@freebsd.org Tue Apr 4 19:16:35 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 75DF5D2DBD7; Tue, 4 Apr 2017 19:16:35 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0054.outbound.protection.outlook.com [104.47.33.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D599D6DC; Tue, 4 Apr 2017 19:16:34 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=1puTZnQiSp/upAcrCcSe3zsLv9CyNkzaS8YKGVG3ZxY=; b=Y/x4dNfwtyrs+nvtfGIcnIkVwy7lybN2IeO61O9ar5ZCQJlESBlypHCi2dSjt+hAySQPuzbgAJjyE2kf9oX/qy1+8HE+qgM5tlxLXvrS6pfZlUa0p+vKCc0GEf/gNxNFPNu0iPncL6WgrCWBqjpyxdeVAZiDICQp/xmxgTz0Gw4= Received: from MWHPR05CA0016.namprd05.prod.outlook.com (10.168.242.154) by MWHPR05MB3581.namprd05.prod.outlook.com (10.174.250.160) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Tue, 4 Apr 2017 19:16:32 +0000 Received: from SN1NAM02FT064.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::200) by MWHPR05CA0016.outlook.office365.com (2603:10b6:300:59::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Tue, 4 Apr 2017 19:16:32 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp1.campus.ksu.edu; Received: from ome-vm-smtp1.campus.ksu.edu (129.130.18.151) by SN1NAM02FT064.mail.protection.outlook.com (10.152.72.143) with Microsoft SMTP Server id 15.1.1005.5 via Frontend Transport; Tue, 4 Apr 2017 19:16:31 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp1.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v34JGVg0024266; Tue, 4 Apr 2017 14:16:31 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 3749A2482FE; Tue, 4 Apr 2017 14:16:31 -0500 (CDT) Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id DF33E248302; Tue, 4 Apr 2017 14:16:28 -0500 (CDT) Received: by mail-wm0-f45.google.com with SMTP id x124so36719323wmf.0; Tue, 04 Apr 2017 12:16:28 -0700 (PDT) X-Gm-Message-State: AFeK/H3Q2+H0u/ANuawVIfcQA2n6WQt2Wo5Cy7i3Sk/yxtQmbQTseAUYVNxBcjx+ih5m0TbqK0VVii5kxf8oKQ== X-Received: by 10.28.113.73 with SMTP id m70mr16660370wmc.12.1491333388052; Tue, 04 Apr 2017 12:16:28 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Tue, 4 Apr 2017 12:16:07 -0700 (PDT) In-Reply-To: References: <201704041608.v34G8qSo055328@repo.freebsd.org> <4D675D2F-7D6F-4AF2-AE10-5DF19D4158D0@gmail.com> From: Kyle Evans Date: Tue, 4 Apr 2017 14:16:07 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316492 - in head/usr.bin/grep: . regex To: Dimitry Andric CC: "Ngie Cooper (yaneurabeya)" , , , , Conrad Meyer X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39410400002)(39850400002)(39840400002)(39450400003)(39400400002)(39860400002)(2980300002)(438002)(24454002)(377454003)(199003)(189002)(189998001)(305945005)(86362001)(45336002)(38730400002)(90966002)(498394004)(356003)(110136004)(5660300001)(75432002)(46386002)(55446002)(42186005)(512874002)(61726006)(4326008)(53546009)(450100002)(88552002)(229853002)(106466001)(2906002)(6246003)(8576002)(9896002)(84326002)(2950100002)(8676002)(8936002)(50986999)(236005)(93516999)(54356999)(76176999)(9686003)(63696999)(6916009)(54906002)(55456009); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR05MB3581; H:ome-vm-smtp1.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT064; 1:rJc8jCze7gWsrKZDsqxPwkRJ38sQsmc7acovqZVNmqwC74oAPcULY8K+1Y8a/XA6/ze6dSgeE0kwCIcm+vBgNYcwtJT0jpIpp4S3+wvVJ+w63U4xt4ztuyQ7zaCDot2Xn+L7ne5TMDvV+JcK1SENGo2Fx2vwg9MHciQxwjztQn+GYNFOywtaY4EY1vMwPuGhSYnCNQvmqWKOEmr/KMEmpvBavHt2MWWvlncgQm7xWgUmgtUnnAiqzs13YSDVP+ODHSxN2f59Ssy5ZPFUaflIPfPXBHps4+QoKvPzGZzoraPxLkZog2+uB4N3HF7WJ5KGZAGEEuXBiEVjA+yZ2n+HHk9xKPwiqnm2GSFk4Gr9BL0c9yL2TScXE8cBi0GdjX66fY1qCsyc6sXQ0smLFtNbMfG+fYZunlOWK96xtnGtxS1xTpAYtjxJ3t7BhT/oCdZydrFEeNmryWZSuijgD6VpLltG0GnEFoAw+OnCOFIZsd72Xb1O3LV635jqifHQ0OYajPZpoFGas6QzcHBb65q5swIN48pCsqkLnfWLgOkCJWE= X-MS-Office365-Filtering-Correlation-Id: f99bff31-8d4f-4f42-d588-08d47b8f1a73 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:MWHPR05MB3581; X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3581; 3:bgowDHUdYdmgaW/fx2hJ9jIb1s9QLCZOf4e5Dt92X4V04Gp5KTqIK8W0TaVGK3sBHCJu6/WdGSFM5u3CBW3Dx5J0ndn9hX5xXx041oCtuuW1lKVqMkVJnejo9K1rauqGn80TDKrVTd5OWEjcVgYyb7PnABmcm6j37Vz8hS2AJK/EtgN9xNrDEfdx+7F3f11HwROcx4Ib1Ge1HZBmZBK2v+tDeHqy0k+7i1AU/BD3fZpBWCZjrv3YD8X0nXYaSKqojQwUhzqxgXs72Wa9O1C8kHLlsn//LDOYixLm1ki90DchyDBYVpIq/kYQR1AUkr+oV/YZDhGqHFzs0Y0bQuu0OvCl//C3Dv0hRtgPMlO6qvYA/p14ilFXzn9gzosVYpmyScSCK+nULrRwUctrWq1j6020A1aGv1jdPMkT9WkoFDorPUGFro1SlmBej5DQBB7PccMB2B3mSUrfdnkqn7xuh/QGeixYfcnr0icPQ3GVNAo1XxjA8q1nz4bvG05VMei6zzD9CpKJJCLyPfCZjKC9Rg== X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3581; 25:6rZbSvNMl7VGxWVB0VoZKuB/Xahi9k09hhVJ54w642+DnTOrJx5/z3jEMBB4TLxWzGFB5VQaCx+DjtpZNR0WZQ53hSYtpnNBoR8Qbk7s4pg25w5+3iz6W5Ns1lfwGcBXmVnzBknffX240bvDX4lMzZTFdO+cZ7Sm9RXDa9191XVPkbTLHMNUjasZ5TU0yzaf1FYMafta4gvMuTXZLzz9My/06VyFwe1+XiKjHphWmjgktWIijoH0Q/4qRM2quuuEkJ46puaNVz1Qr3kg8nMd923jaqrWiApcl5DkNQ6rSTdTTx11o51w9z/+TLzOQ5IfjGL02WnIdBO+UDfQ/XLVnpX+0WctVGw0f6AiQu4E1ksfYfG59Ql5FlmIk64GY+BT+fd6MYdWIjgv2yHYaC9nOugjb9xdUzVBym7dx01F/8dzP7000oZtStsieO9lTPIXxHhRZ1LBm3FbpuMLfayJTQ==; 31:yypfnKns8Gi8vU8omNgIS3fsNTcVSrzNdM8EJWICWVbtxM/5lSG5yAJ1Vv6EDyPZYW/ZS6E8p4sRQ5qwyHFtklCk/RS/X9f/Nmr+Ftge7Lj4WSEiHg/uZbuuTSBLQPhydZlH3D/3BGs5/9JEoC/GDDwVSHcOrvCUx6/jH2cE9SA/n2upvb+Vo1/lllbqKaLvoYnkNcGHOGKdsghekMRE0d9n0Sb9rN3GOzeaE1jSCeZ+uxpRumy6SxfxFMUtYtvbzGKUwn9zBhVVCBLblX6D3A== X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3581; 20:eyEwklERKct0ttLO3QfS/TinWxDJVHmB3ZRibzDKX05SDq8B7yjNu8cXRPqI/nNVQC2qTyZBn5ZjRVxz+Doz1LYs9YplXZxGwRq72CJY58fL+VKacIZOmyJYOkuWxENnaXAuwKFmPzBj12W+FDPhDWYW2Z+2VvnOc97TA3T2Ygeb+l/VJVTY6A4Uv7kqQC/cJNkLYhsTwnPudzV6CzhSbACvzgClPziWM6Sty6w1yZc85pImoNmamwVjBx7XyFvQ5nu6KE8e9WtamAkx4Z9MChhSgqs5YwFidUD6G5uBSbgeRl6Sc13gFlQ68am3fxHrcnAxt5xNZ/SDOZoAph0CbK0f+Uo55tgg6lxyRWOdsFkDHVWz2WNhKK//xJ2YC+2KztM3lYQff6ypg9JCDoLLKjcTfX79eurZlQqPOpxYyU/zxFROwBNiDRdqNEwjx0ZxNp2DIbJ9vVpvWc729sv5wFBSIsbJAnUKCfKIqPiZqyt4+B5dJ1HmNZF4BNboEEl9 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13018025)(13024025)(13023025)(8121501046)(13015025)(13017025)(5005006)(10201501046)(3002001)(93006095)(93004095)(6041248)(20161123555025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(20161123560025)(20161123564025)(20161123562025)(6072148); SRVR:MWHPR05MB3581; BCL:0; PCL:0; RULEID:; SRVR:MWHPR05MB3581; X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3581; 4:HhGZO0WJrI9EqmUhs7a0rnU86ac3Ez6P+EzpclXJzC+cirgq0f1eibmHVE7cBQjI1yi7Onq5vpKBXrF6xPhYPGXErMGUqdKvxR5oJTY6ypoPRfgJIW3m0ljstn6HzJbnqJ+P0Lc1tB2f3b4SPc4NhS2XrkY22Cn/F2nl3F+xbiIJv8ZskIsiYZN/bzivxlWYXOcQwqp8iPVUsWzzB2qbOEuYH1mSvK2Rmoghtam9xGN0aN/wZJDWYpm5Dt14iO2raUFksr9FbEyDyOKs3wqpAYC42AhPQ2xwDdAUbqi8HdSa+nBP3zDxUG9xNPUqsxdfTRLrVbYBsRyYWPg5eNRmCP5Fq/RSwDDZwXBxoCBDqaUKSegp6c9M9EwktKmRQqWNYMM0hCX10UXLmSZn1FNYySzraoyGnevsce25MkupXG8AZSlLzhEwBQtfrvtkqWSVjRepxBXCrdozO4wQuywoCpBVYMEyO6JVWI8/WQmrWEDCGwiJ/GBKktAXl90bcSpBHZ5alwl7znJm536B4YhYH2a+FuZjF6dtXICRw0F4VeYreYXGNYRgdu7T66vboZRpk23SVXu4EEG4/PBafVDdan8SZgOdfxkkkaD0pGA2Z89dDpKqxHU/ujh8jd5EQAE9SG7sg+Xvci02csxaaorCzXx+gtTUjPfReveTBsu+XgyR0Rk9yXYKmgsNx08oJrEvr+RZB5IvbooSFR7AgZ3Cs2pfFnSZD4lL7jt4dQfF09+/6cg8XdE9gBOfh5JdekE9Y1k+YT1ou4F1tvCed7e358oGvMjfD+TFH6ZUAdI5IWvx0+Z3J3kRb5SHUdrL7TCz++e5vzAnXwqBnqHKVE92PQ== X-Forefront-PRVS: 0267E514F9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR05MB3581; 23:PexNGz9vMA1KaMXpyn/cs+SniwUz2ve9M+4vYc2++?= =?us-ascii?Q?OwO7bFuhmaUxafpqyFhZ2Tmlt1DN5EKnqxqauMcgglu6Ip4ygGbk24B9WmxB?= =?us-ascii?Q?cExGHnM+fA0Y0vkDRtjibp/izP92whBIRGYZCIETNtSkLknPygYdHxWPOMJK?= =?us-ascii?Q?TAfrdHYu6RulGO8q4Gs+hIBBpDmxo178lnqx4NlclK2qFv2Tr6+D75fiFYcg?= =?us-ascii?Q?S5SmOsqM2wubZWGLWzvFrd/DKfEw1kvo6T5h5jF9+IXABQgWM0mHUmZa4Q9J?= =?us-ascii?Q?QBl1YOSUYbivLE1C2liQGyKZUph7toY/HHs4gZn1FbiCTupdVUvbN8BkeQGU?= =?us-ascii?Q?Mr/lBRNNBmRqcBh7ExKZO4DiQ1sWUiR+1l97tnaEZR9WIf41c5x6oBnoGbk4?= =?us-ascii?Q?HZ3cLHztLok0YUipdfO8bFeXK3K0cDM/sBNT4vs0qtFo7efQvaIv3rlrXvlf?= =?us-ascii?Q?o1UivTeXjZ797fp+RcC7LeoOgWaktqbqdZTFkjk2YxV4KDMFAOfaQZGxC6ZG?= =?us-ascii?Q?jXRcSsPwjx02zNd6INtwP1OAadN/mpLgvHT2h/WBVZu2OAYn32sVxACLzaPE?= =?us-ascii?Q?8EpcnhBBxceZfqp44ajXhx3sh/xF0cF8Vqav9tLBNQnricn1DXRlJwUK9MA6?= =?us-ascii?Q?/DcjPGnPSUwcDEZRpQ8NC5zEXuy1emMiTixTEgHyaNcyzcPqJJjmCOmRZNw1?= =?us-ascii?Q?2WTYnl4e9IspWYzGuOAUnBEjeIlr7lbgUlK0i/PAFfhoNz9yco/3vfGNV2ef?= =?us-ascii?Q?xLCJqVjQNlPvzrJiO3fv5Mfi11+ZsW3QAIvVQH9WiaOpRnGnjyvybO/j1OUo?= =?us-ascii?Q?Yj6fx489rFfKCB06H2kB9b9+n7cDCsVqHC4ex33f19YGQJL/39keC0GV4vxt?= =?us-ascii?Q?ZehE3Yf49tv3IR18H4FbE6P8EyeBXvjvfPp4eXA/uA1wa7WOP8/SvJjPw3nM?= =?us-ascii?Q?6QBxayRgmkBDpZaaUXPXO1KfbJLBIhqgIgR2v6EJSxfWeQ/7+YSr8y94qs4Y?= =?us-ascii?Q?t/5AgOvwzHxbhd/YF1STvdCiRW9Dqd5pggpA/r5Ia1VxCullhIQR8ze20ZId?= =?us-ascii?Q?oET+j3UdoVc6wRl1t3oF39WnlyzEaFhgnmKjTEa9pr6bsr5lgY7RQxMH/96J?= =?us-ascii?Q?J366S0U/NFgXHfm0yDFmyLyGQVJ5XhJU63iyrH4hwY/7wCKrYgkec7UQDS5i?= =?us-ascii?Q?JxIkmibNn7jDoWbhTuOVJ92lV6TQzt+pVEWOWe0J7L8v7c/tuEbg7UlGKc9Q?= =?us-ascii?Q?svGiM+cB9vce7wPlit0R6F14EZ4D4UUZ7KMqzTn?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3581; 6:nGLpM7U1sRXtmLQ1SS0jP5eW/dw85KNyc1+nkyAdi3u7pB6DyqO6B2J+BldfLdR8E2YMuwWp+WxWFMxwVKcaDEDYmoI1hrYmcVZQW3yj/OS8moTzv9YUhJEZbWL0voseNITBIQQ+dXjNbgGqKSEjIVWYPW+JJLt0LqEb1QJ3uWm4o7+n+9A2+GWS3P3cSRlR/Yx3eXsQcnESqvcHAKbgKJC27UlsfTEVDBsze839NbghzFb8OhAJndjMqL+UqokNiWvPYWZpGWQFFHKnVqahgd4Nyu2dvQjrPoINmksi3wmBouIOgwvZSkvToYwmlKC4ay3/TcxgFv7JuImRfYXvCIWUvXvrmVPC3LabyONko/6OQYeMn2O/c0Ipa4NNqYfIO874XNxgRpTVDrpmBNm7rw==; 5:kteV4gFRUkD3/xP8lnMdGsHn/y17KU8mkharmgZNLSc7BjQzDx0mGF66zN/lgr4GkPxK2h2qWqYTu+b67k0uSwDNj0e1Z5J/6ppyhcCxgHri090gf0aa7Slo56H96zAi7W7nEan5jIUjPj26wpzn5Q==; 24:R+Ym3AMTl0zCTzvouAVXX/U2NQxG0Zj1r8VzMcrF3baW7guPKUpL2lkV/KY3TJ7ILEuogBGQY4ZGscRFmuh+rH0LEDKRyVS3ok0GYsdNWu0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3581; 7:XeSk02lYTXSXh7TBI01X1lFY94c+Y9ffDrONkyBK4erwqXzupY+Bs4h7rEViclqupdvdl1rd1aa7GlG5WksDbg6jeBitaHHvBlXWNpVREfTaXSrjV9OsIJzK83xEh3Egp7iGk6uxNMZESlAJh0gyvVwAFwRwbmOu82iMC0CO0udPsaGFZoitePbSYs4exQ4mSER2qGbFXh5qlX/VzExOdTEDEEwLW7c/VqxT6srrtvtgHyt82RaJOHBWWKyLMfb3CNi8KX65RRUhRCidOiOjr45tPjt7+PaYCBJGCxWpPxhsshXKiYZDp6rr6hlVU7TR70dLXPIJoud2kUxd1S1pTw==; 20:I6BQ2JPZxCX62Id/gnzdCLpVtnd4Ml6hbNydL1LrT7slIuZCu1C4fS1r12V7fHLj0ZhbsdCxxhuV0L0UdGkSXrqqBYOQvQZxVQFnAkieIM45SVithF4qh8wtS1M+GZDaUkWQlLBI2jKfAm6xvUNCcp7d06Rtz3VjTmjq+h4EusA= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2017 19:16:31.7764 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp1.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3581 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 19:16:35 -0000 On Tue, Apr 4, 2017 at 1:56 PM, Dimitry Andric wrote: > > > Where did xmalloc.c originate from? > > GNU. Almost all software from the GNU project relies on malloc wrappers > which abort the program on allocation failures. This also explains the grep_* versions of `malloc`, `calloc`, `realloc`, and `strdup` that I've developed a slight distaste for. The "xmalloc" flavor also had some hash table bits to allow failing after $n allocations -- is that a slightly less common GNU-ism? Thanks, Kyle Evans From owner-svn-src-all@freebsd.org Tue Apr 4 19:27:38 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AC3ECD2E275; Tue, 4 Apr 2017 19:27:38 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-wm0-f43.google.com (mail-wm0-f43.google.com [74.125.82.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4A6ACF89; Tue, 4 Apr 2017 19:27:37 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-wm0-f43.google.com with SMTP id y22so33730557wmh.0; Tue, 04 Apr 2017 12:27:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :from:date:message-id:subject:to:cc; bh=jRs4WQw+uuoRkORcvguhA4qNVCkkJ11xypsHw67Kuj8=; b=ahnZGyQrinAqji5K7d48uf7QNHvXpZ3n7nWhe7RiDq1x7LhkbSLakGzEgQh8TUiYn2 YGQCEXwivlPXYwG2irIZMbGYdGZw0XmQPnpJZlWTdmmx4KHI5/0/gY+8aHaUXIxm6IGW dpoobYNGmqr6sTtefjy8J2DKlzW2cagHkNN66B+IUC6z0ucEBBoqrsTM4VwZAII+Kg6J hY3WyHTAS/IAnusT9mPDR+ZK1q6OvH2kMc+lZBFlWBY5BYbGLBwmrr94P3+pvovZ3VPL tSyjjxjsyM7Dj3aryiNFUCVvhBloYvaAVFp/CNCSaW9WnP+WewrXqpFoUSPnL9V/uJP2 aoew== X-Gm-Message-State: AFeK/H3vpFWBPb69KBaxjcnFDk5zRgV+m4U+SQloKkzsyNV5wkw/7su6 WpaFMd7H+fIgYw== X-Received: by 10.28.127.149 with SMTP id a143mr16038497wmd.87.1491333641582; Tue, 04 Apr 2017 12:20:41 -0700 (PDT) Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com. [74.125.82.50]) by smtp.gmail.com with ESMTPSA id j2sm20863658wrd.26.2017.04.04.12.20.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Apr 2017 12:20:41 -0700 (PDT) Received: by mail-wm0-f50.google.com with SMTP id x124so36809473wmf.0; Tue, 04 Apr 2017 12:20:41 -0700 (PDT) X-Received: by 10.28.218.197 with SMTP id r188mr16202481wmg.0.1491333641327; Tue, 04 Apr 2017 12:20:41 -0700 (PDT) MIME-Version: 1.0 Reply-To: cem@freebsd.org Received: by 10.80.169.4 with HTTP; Tue, 4 Apr 2017 12:20:40 -0700 (PDT) In-Reply-To: References: <201704041608.v34G8qSo055328@repo.freebsd.org> <4D675D2F-7D6F-4AF2-AE10-5DF19D4158D0@gmail.com> From: Conrad Meyer Date: Tue, 4 Apr 2017 12:20:40 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316492 - in head/usr.bin/grep: . regex To: Kyle Evans Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 19:27:38 -0000 On Tue, Apr 4, 2017 at 12:16 PM, Kyle Evans wrote: > On Tue, Apr 4, 2017 at 1:56 PM, Dimitry Andric wrote: >> >> > Where did xmalloc.c originate from? >> >> GNU. Almost all software from the GNU project relies on malloc wrappers >> which abort the program on allocation failures. > > > This also explains the grep_* versions of `malloc`, `calloc`, `realloc`, and > `strdup` that I've developed a slight distaste for. The "xmalloc" flavor > also had some hash table bits to allow failing after $n allocations -- is > that a slightly less common GNU-ism? Aborting-on-failure malloc wrappers didn't begin or end at GNU. I don't think bsdgrep's malloc wrappers have anything to do with GNU. (xmalloc didn't at least; I haven't looked at the grep_malloc stuff). Best, Conrad From owner-svn-src-all@freebsd.org Tue Apr 4 19:30:10 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 708A2D2E372; Tue, 4 Apr 2017 19:30:10 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-wm0-f49.google.com (mail-wm0-f49.google.com [74.125.82.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2B3CF116A; Tue, 4 Apr 2017 19:30:10 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-wm0-f49.google.com with SMTP id t189so36899932wmt.1; Tue, 04 Apr 2017 12:30:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:in-reply-to:references :from:date:message-id:subject:to:cc; bh=6nuNz0+DTHHtrXTDCG5//TWkwmlYuROXVnL7N8m4L5c=; b=Ge7idllP/AiCtLJteiCGnSSrXtdca97WCXxa4JwfnUfNtpbcMZnHk5KEu4D8vKckFP rHwhUF1+53Evqv4+MIQdtXu+LK+qxnMPBzTwavftTg/NnpLVjqoEdsv4+HqJDyet81KB 0EM0iTAex20mk1b0AwoSZmSETzLg/IkocRZeqIZ3xe2ZG5UbgSrR2sJpz5Dp13dqnrgw 3GEvZLgukCVVyIvEVbVYq77EZL4kCQZQETMXVS/uqPkoTvuXb06lnG3ZmojRKgedywOr Ma8cdzTRIzKleD4tupmCN9Lo0aqNynHQ70RnHjGDB6X0xSwsR1ze7o71hO6QZFt2HZYB zgcQ== X-Gm-Message-State: AFeK/H0jpe+FEwXTuIB3Z3VigBF3HqcaIOtNH7U263amBRTBaggA/XbC Cq147XrkXKQnLFrYkm0= X-Received: by 10.28.158.87 with SMTP id h84mr16070853wme.4.1491332653764; Tue, 04 Apr 2017 12:04:13 -0700 (PDT) Received: from mail-wm0-f41.google.com (mail-wm0-f41.google.com. [74.125.82.41]) by smtp.gmail.com with ESMTPSA id j138sm9472301wmg.10.2017.04.04.12.04.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Apr 2017 12:04:13 -0700 (PDT) Received: by mail-wm0-f41.google.com with SMTP id t189so36354359wmt.1; Tue, 04 Apr 2017 12:04:13 -0700 (PDT) X-Received: by 10.28.94.11 with SMTP id s11mr10471582wmb.75.1491332653498; Tue, 04 Apr 2017 12:04:13 -0700 (PDT) MIME-Version: 1.0 Reply-To: cem@freebsd.org Received: by 10.80.169.4 with HTTP; Tue, 4 Apr 2017 12:04:13 -0700 (PDT) In-Reply-To: References: <201704041608.v34G8qSo055328@repo.freebsd.org> <4D675D2F-7D6F-4AF2-AE10-5DF19D4158D0@gmail.com> From: Conrad Meyer Date: Tue, 4 Apr 2017 12:04:13 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316492 - in head/usr.bin/grep: . regex To: Dimitry Andric Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 19:30:10 -0000 On Tue, Apr 4, 2017 at 11:56 AM, Dimitry Andric wrote: > On 4 Apr 2017, at 19:14, Ngie Cooper (yaneurabeya) wrote: >> Where did xmalloc.c originate from? > > GNU. I believe this to be completely incorrect. > Almost all software from the GNU project relies on malloc wrappers > which abort the program on allocation failures. That is not what bsdgrep's xmalloc() did, if you read the code. It simply tracks all allocations for basic leak analysis. Abort on allocation failure would be a perfectly reasonable behavior for bsdgrep(1), too. Best, Conrad From owner-svn-src-all@freebsd.org Tue Apr 4 19:45:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B695CD2ED59; Tue, 4 Apr 2017 19:45:04 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x241.google.com (mail-pg0-x241.google.com [IPv6:2607:f8b0:400e:c05::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 81ED81DAD; Tue, 4 Apr 2017 19:45:04 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x241.google.com with SMTP id 79so39360919pgf.0; Tue, 04 Apr 2017 12:45:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=h48NnS8Sj/xIHuBkfDzYeJR/qVjJugIrenu4Nlnt2Jc=; b=Mn1Jca+3H9/K4afA9xmtffkt507ztsO6xxL6DRS3NgDBezfc7iFMMl6OViOSeewiqp xN2H/9WvABnVMsc0HjOYKweDO+U3J6+OMTd6dE/i5AiqVU/UrpoAUxg02sy8+43IIlvd uvWjiOVPxgyGJd+KX8EKDMOrNfMy1aDJNZYEoiXU/RGt/8UsRiLJxAys8iWAyQdZIsR5 P42XXxF5S8B8CufZW5S9HRC2EwiTH6fQlwGzORV5F0EOi8q9OOdJds20K4+NokxrPv+0 mJc0kMTKZsM/f3Ct310QfN/Opvg1g4jPM7JfHuPdFTsMlUD3O5fYSePw7GwZy8LBV8fF l63w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=h48NnS8Sj/xIHuBkfDzYeJR/qVjJugIrenu4Nlnt2Jc=; b=WCjDnW414s0L65g0lVQjW5BPGP0UPmC07r8f8wenGSdEBTtVygR7X/P++mD4AedZGT +FbRYdd9PvIIVR0b0FU3ngqYC8RGNx0yDnxNWjz6dSvP4Ywh08NvVlPZqeQ/36FivsU4 TLnjfunbgMqgtgYuKubKecNJrCQhZywhUw1FBqYacL8zkSh0IZUi1n+ZqJRKXriTeLke OXXox7MCyLifbVQr+6pWYdrXAK9ck8ji/LB6Shgat71IpSeHgFeBXi/25wEkXufxerUv evqRg3d62MMO7u+c5OCBc9mjA8xuIJmE8bnpW3q44KerjdMoWcR8htsY8NmZPQ+9Ssp3 5+xg== X-Gm-Message-State: AFeK/H0ZCLbsVWWtSpUuLWpXAaonm6R/xuA3UM+leG+o7cwSNGLV2D1vHmfnV3b0E5TAvg== X-Received: by 10.98.82.78 with SMTP id g75mr24667254pfb.245.1491335103916; Tue, 04 Apr 2017 12:45:03 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id 189sm33263297pgd.30.2017.04.04.12.45.02 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 04 Apr 2017 12:45:03 -0700 (PDT) Subject: Re: svn commit: r316492 - in head/usr.bin/grep: . regex Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_F5F90B14-B2F4-4606-A554-52C162AAC2A3"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: Date: Tue, 4 Apr 2017 12:45:01 -0700 Cc: Dimitry Andric , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <2CA2F0F0-17E4-4E9F-BDD6-10EDFECDB679@gmail.com> References: <201704041608.v34G8qSo055328@repo.freebsd.org> <4D675D2F-7D6F-4AF2-AE10-5DF19D4158D0@gmail.com> To: cem@freebsd.org X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 19:45:04 -0000 --Apple-Mail=_F5F90B14-B2F4-4606-A554-52C162AAC2A3 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Apr 4, 2017, at 12:04, Conrad Meyer wrote: >=20 > On Tue, Apr 4, 2017 at 11:56 AM, Dimitry Andric = wrote: >> On 4 Apr 2017, at 19:14, Ngie Cooper (yaneurabeya) = wrote: >>> Where did xmalloc.c originate from? >>=20 >> GNU. >=20 > I believe this to be completely incorrect. >=20 >> Almost all software from the GNU project relies on malloc wrappers >> which abort the program on allocation failures. >=20 > That is not what bsdgrep's xmalloc() did, if you read the code. It > simply tracks all allocations for basic leak analysis. >=20 > Abort on allocation failure would be a perfectly reasonable behavior > for bsdgrep(1), too. There are multiple, competing definitions floating around the internet. = I was genuinely curious where this variant came from because I wanted to = make sure we weren=E2=80=99t just zapping a file that some upstream uses = somewhere, in the event we were going to bring down further updates, = again, from said upstream source. Thanks, -Ngie --Apple-Mail=_F5F90B14-B2F4-4606-A554-52C162AAC2A3 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJY4/e+AAoJEPWDqSZpMIYVqm0P/3zcSOI0PfT0WJ+U97qCmTF1 Sg1HlGzNWW610dSWUz60pg14CinAuVWP0ullFNKDwF+IhOKpsWA0lS9LuEXORKvu mMUZTifo7yzmJ1/cYjY72GBoqAoQKsRY22hQ73Ooo3/WUbvablKEjSX9SMRlW+uN Ji8rLV3IMddZDj0USWPrtNUleKDFeoNxPuCuYyP+FO9wezGD00HR7EPoGNFoSoBp UJzGMl6R0YarjIpYBFjJnJZLFzcJJnlgGV8xd6fyZsl/sj2fZRaNcuDYv1nt63KQ MDMacTEG5hzHDzWg9A3D59s07/4oUT6w3J3fujPc5cdQeDikPxyohJucwnZX1Dt2 gu33/RxJo5O5419sAX/8RcauD6XXD95/BvHpcH3bC48w9pHPGM8lEw6NVDQ5Yyf2 SgtswBoNbPPUJ9/Q33X0OkhG/CMnYR13WZRjLz7vArilh0+qJaECG6MvQws4cQT5 OfF1vEN5tqFgEE4nqyMrh2HKESfowhju4P0n7nqDK6RhWM7dbvGuYqp3xKZucS8X SSkORssaihX6ihCCFlEOdUeEMwfdlwXl0uORa7l2+IMDVJO/2PbitWtCdAnnatNL HhPMGK92cdi49e5AJye2HYjHGwwYP/znAtKAPze32/GFbcEzO5Oc6IAbLTiV+O0r Xqf3tpWnagKIMLtV0pKr =QUY5 -----END PGP SIGNATURE----- --Apple-Mail=_F5F90B14-B2F4-4606-A554-52C162AAC2A3-- From owner-svn-src-all@freebsd.org Tue Apr 4 19:46:25 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4FEF7D2EE30; Tue, 4 Apr 2017 19:46:25 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 061731F60; Tue, 4 Apr 2017 19:46:24 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34JkOK1045214; Tue, 4 Apr 2017 19:46:24 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34JkNQq045210; Tue, 4 Apr 2017 19:46:23 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704041946.v34JkNQq045210@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 4 Apr 2017 19:46:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316500 - in head/usr.bin: banner fortune/strfile limits rpcinfo X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 19:46:25 -0000 Author: asomers Date: Tue Apr 4 19:46:23 2017 New Revision: 316500 URL: https://svnweb.freebsd.org/changeset/base/316500 Log: strcpy => strlcpy, strcat => strlcat Reported by: Coverity CID: 1006703 978863 1006745 1347163 Reviewed by: cem MFC after: 3 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D10192 Modified: head/usr.bin/banner/banner.c head/usr.bin/fortune/strfile/strfile.c head/usr.bin/limits/limits.c head/usr.bin/rpcinfo/rpcinfo.c Modified: head/usr.bin/banner/banner.c ============================================================================== --- head/usr.bin/banner/banner.c Tue Apr 4 18:01:35 2017 (r316499) +++ head/usr.bin/banner/banner.c Tue Apr 4 19:46:23 2017 (r316500) @@ -1064,8 +1064,8 @@ main(int argc, char *argv[]) err(1, "malloc"); strcpy(message, *argv); while (*++argv) { - strcat(message, " "); - strcat(message, *argv); + strlcat(message, " ", j); + strlcat(message, *argv, j); } nchars = strlen(message); } else { Modified: head/usr.bin/fortune/strfile/strfile.c ============================================================================== --- head/usr.bin/fortune/strfile/strfile.c Tue Apr 4 18:01:35 2017 (r316499) +++ head/usr.bin/fortune/strfile/strfile.c Tue Apr 4 19:46:23 2017 (r316500) @@ -303,8 +303,8 @@ getargs(int argc, char **argv) usage(); } if (*Outfile == '\0') { - strcpy(Outfile, Infile); - strcat(Outfile, ".dat"); + strlcpy(Outfile, Infile, sizeof(Outfile)); + strlcat(Outfile, ".dat", sizeof(Outfile)); } } Modified: head/usr.bin/limits/limits.c ============================================================================== --- head/usr.bin/limits/limits.c Tue Apr 4 18:01:35 2017 (r316499) +++ head/usr.bin/limits/limits.c Tue Apr 4 19:46:23 2017 (r316500) @@ -561,7 +561,7 @@ print_limit(rlim_t limit, unsigned divis char numbr[64]; if (limit == RLIM_INFINITY) - strcpy(numbr, inf); + strlcpy(numbr, inf, sizeof(numbr)); else sprintf(numbr, "%jd", (intmax_t)((limit + divisor/2) / divisor)); printf(pfx, which, numbr); Modified: head/usr.bin/rpcinfo/rpcinfo.c ============================================================================== --- head/usr.bin/rpcinfo/rpcinfo.c Tue Apr 4 18:01:35 2017 (r316499) +++ head/usr.bin/rpcinfo/rpcinfo.c Tue Apr 4 19:46:23 2017 (r316500) @@ -856,9 +856,9 @@ failed: printf("%-10s", buf); buf[0] = '\0'; for (nl = rs->nlist; nl; nl = nl->next) { - strcat(buf, nl->netid); + strlcat(buf, nl->netid, sizeof(buf)); if (nl->next) - strcat(buf, ","); + strlcat(buf, ",", sizeof(buf)); } printf("%-32s", buf); rpc = getrpcbynumber(rs->prog); From owner-svn-src-all@freebsd.org Tue Apr 4 19:48:32 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 78693D2EF3E; Tue, 4 Apr 2017 19:48:32 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0076.outbound.protection.outlook.com [104.47.37.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 10D00166; Tue, 4 Apr 2017 19:48:30 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=3WrIDd3VFftUE/CeXU1WK3Mry19AvAcDU2SCe3HGWnw=; b=bh2SSwvtdNlVRxGMT/4Yync/e8O5tOlY3n8UosMFroNlN+uZj/Nskg05MgpUByGwRVDBOK/zzXtltMPxE/JjA/58z/TgJs0jP6ebH8R8LBrzetGFxXXBsT0TN3n1HWxUTQmQlhJyVUx+cXSTkySjyL+wi/50ycLJ9G9N5KItHKo= Received: from CY1PR05CA0017.namprd05.prod.outlook.com (10.166.186.155) by MWHPR05MB3584.namprd05.prod.outlook.com (10.174.250.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Tue, 4 Apr 2017 19:48:29 +0000 Received: from BL2NAM02FT058.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::200) by CY1PR05CA0017.outlook.office365.com (2a01:111:e400:c5a4::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Tue, 4 Apr 2017 19:48:28 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp1.campus.ksu.edu; Received: from ome-vm-smtp1.campus.ksu.edu (129.130.18.151) by BL2NAM02FT058.mail.protection.outlook.com (10.152.76.176) with Microsoft SMTP Server id 15.1.1005.5 via Frontend Transport; Tue, 4 Apr 2017 19:48:28 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp1.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v34JmSls011634; Tue, 4 Apr 2017 14:48:28 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 08B86248300; Tue, 4 Apr 2017 14:48:27 -0500 (CDT) Received: from mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id 9D612248300; Tue, 4 Apr 2017 14:48:25 -0500 (CDT) Received: by mail-wm0-f46.google.com with SMTP id y22so34124078wmh.0; Tue, 04 Apr 2017 12:48:25 -0700 (PDT) X-Gm-Message-State: AFeK/H1i+hIWCe/CjFmLhfPEFKEcNQSwkvMvlq8Jbdh4NuZR5W4aDAj4NFe3KFgXsW3F00G9h/hx2lA4AS5cSg== X-Received: by 10.28.98.66 with SMTP id w63mr16210149wmb.33.1491335304937; Tue, 04 Apr 2017 12:48:24 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Tue, 4 Apr 2017 12:48:04 -0700 (PDT) In-Reply-To: <2CA2F0F0-17E4-4E9F-BDD6-10EDFECDB679@gmail.com> References: <201704041608.v34G8qSo055328@repo.freebsd.org> <4D675D2F-7D6F-4AF2-AE10-5DF19D4158D0@gmail.com> <2CA2F0F0-17E4-4E9F-BDD6-10EDFECDB679@gmail.com> From: Kyle Evans Date: Tue, 4 Apr 2017 14:48:04 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316492 - in head/usr.bin/grep: . regex To: "Ngie Cooper (yaneurabeya)" CC: Conrad Meyer , , , src-committers , Dimitry Andric X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39400400002)(39840400002)(39450400003)(39860400002)(39850400002)(39410400002)(2980300002)(438002)(199003)(24454002)(189002)(377454003)(54906002)(498394004)(236005)(9686003)(9896002)(356003)(229853002)(8936002)(1411001)(8676002)(8576002)(6246003)(90966002)(61726006)(512874002)(93516999)(50986999)(76176999)(54356999)(46386002)(53546009)(45336002)(63696999)(305945005)(42186005)(2950100002)(84326002)(189998001)(93886004)(75432002)(106466001)(38730400002)(450100002)(4326008)(110136004)(6862004)(5660300001)(98316002)(2906002)(86362001)(55446002)(88552002)(55456009); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR05MB3584; H:ome-vm-smtp1.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT058; 1:cOUo9zYBJ8gbxKOEVYbHtzArApbDGz6r2eA/mte5KCNEtEWhpsp/mRXQNzUM1brZK3vMul5GEpTWOQ/GREiRP9biA4BgG2810zD6UXDF58NIr7zT+pFuqiLdXsvaMLLdDgsPeB3El73HEgfxBSU6Im+voLFmQkD2F3OLYe3j+pEvj/rf/oXGT3eA9tX86fZnEY4DO/gfEYjNYgkigT42JNb29LOfmtFpsBjpKsRcr5i60sItKW4A6XCmLyl2tAyb/CSob7j5N/ohegMjekjvhcVD2x+UygKP2d/IfCa07kq5k7eIxtRWK6J8k1tiNl5DgAJ5VYp6ORUkVzYf31V/C9NIt12BNu1deTydK/AQCNZJomo2euDgjlCjBxdCgjUmT1WBMs7cXikqiIXTH6URUtonQZGBigQz+Ne7xA148WaVz7yax4CDKF6MtkHkU1/d+DuhDc2+ZpIvS+bIOPjETaYt3U1PLqmrP/YjbaVlr5Q6cbxNKOBrsPbisThf4f1pdBCq1bCOGcjwhuVVbaSl/cZf9HV8keoTzW5RI//v9e4u3n2J6UYdBGsg7E88HJuSjIxS4yOmkZEG+evFONgvvg== X-MS-Office365-Filtering-Correlation-Id: a60e8952-8378-4ba0-789e-08d47b93908f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081); SRVR:MWHPR05MB3584; X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 3:cflBaDOx82ef+aMss5trvdsnvF8Z61/jG4P5CNjL3uzMZIO/fKVRaA1Hkq9872+hnIzI87AOOjKGsIAZnMHgfvzANhtYy+lccnK6RIeY/li0/Atf23yx0xrMOU361exY9nPVQ6gbvNSkOTsVMTkKD6n5r6DZWMJJ6KjijRPF6pBXGzfUc2AxamXwz5Lz7Olez9t7IISm7YeywrzfJ7mTalY6GJQWB1t93VMS+GxhNEwxWk6CeQ4ZcCW0V/pvcnTokgb/P6If0+QOJ2BFv4snvmWpSZVxhYYHhGTUrKt9xaCShO6C7EAb4P2b7QOU3qj+zRXtjWZZ5nh9kMvHEdqVty7Ym72JEGuxKuiY14MyXk+dU+nUGu3kOOmbXZkJo/dd0Cyh5w3uTkP1hFMPXsiAyEC2/Q0kp6A5S9RH78+iHQI4Mh6Bxgv8BX9/BRDVP4+zD74vbjJDsE3qT2aEt2KEKAJVoxsbEmUrk6EmRdVCkdUZEuGWDCkd7vnSriz63TAU X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 25:PiQW65mgsmzzqkrn8Rs+BOakbKnRl4euh9Z2F3Dba5EBz/1WUuby21EGxpBXYwY/FAYX7LkLKKtgkOlo/hpjcbXK2T386BoOEgXOLvIQtQIMP5s4aBinOBG1gLjFKuTjq4RgXlbFJNBMFJBTLs8Z29vMDrB3wWBe4HunVfHdQjTVR3k8PPxm6xneTax7L+t2uVZ8PQ0BhnydpOA4RvvsQYQo40wr2hKqFD986i3HYN5YC87h5TLWDBoJNua0qjTKmuhwTvqy/UCnZYfGjqD19rBCccHUSnXPVHpl7Ni2lGaXktu1wckBgzTtHeYpT+4kv43AhUlol5bPlc8k5L+0BewES2yEpmA/jH3v3Uid0kdPjyiUo/89YixqdoFOW+malf8217qUoms2ZmqRgy4nvGKLXRG06/IX14e0e/71H0FDHBQpTwIENeBxnJjZOdyqfqp1CuSeszQuK3qmeWs1GA==; 31:jUbwvZTromO0ZiqtfSi0KTiZ+Xvvm3c41tcMUpT7sNxJxr34Q2MWNXGvq5ugzv4HvQQvDI0sAL4Gpbk8iklrqzjlx6h4grc98Z24I/xkL6fok97gtIdLL9mnWuY3tTb4z2/AHyRhkl+Ct/nn3HvbK/AV0/j5+HvUUrXJfZbxF/E+XInOe0RkMMyDY93UlMTSPDu8VRd9qCVY3Jw8iWV+hMyxomZ/clNUuSrmTKbeHwHxUKRcKD1zIvrDDR5KpvnXJYf4++BIg/drCXuCVGU2N+/RAs8dkOv1cWmB24gVnX0= X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 20:WiKsesw8yVRx7JJFPHTFYlXjsqvea+D8780iU51elnsLasER62xLsx4V59X2VsbsXMGzmHipcdzkWJt+uL6e44I0ffph9mweydKEL9+4vV1Un93TR0v64/jDYV3frWM3/ThQxYgdyRyGWkAuX9UqHJE9rMlWrPhIRIPCjI0PjA0MLbt9/HyPzVSmmumYuHZiHDOOMZaLEC7xz3HJdsFqiWW8jv75f1NaSlyrjZuIRHuu+epqDJV8NW7rjQImMUrGf1pchk79ODILSncqsB9xV2DOZB5DXo8QNnoqCcgZGN/OULS8iPcf89oeuzCeNxpC8qKAmvi41HU/6pgsqH8IF443u1BU0kt9J0GTHeZs7EuI+E9SbVHsnxe3HLkvj/n0KYv7ETfSEsgNdM4wj/hFw2pXPMXMYAV18J1F1sKfLIFfLPT6CoWKtEs5mpL0ZIkfsMmIyvM3MWuLO74SPaopMvtmo56EILLFY6ywnVulW/g/EIwAP8NmUdVpNC8CWJfz X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13024025)(13023025)(13018025)(8121501046)(13015025)(13017025)(5005006)(3002001)(10201501046)(93006095)(93004095)(6041248)(20161123564025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(20161123562025)(20161123560025)(20161123555025)(6072148); SRVR:MWHPR05MB3584; BCL:0; PCL:0; RULEID:; SRVR:MWHPR05MB3584; X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 4:WdZzeDudOB/vgIKEuGQZvmaGdhTe28WbBvTZfxAcpcUAQ9NVrEoGWa/W4/J4siQkeKOpAnPHXMRHuKLtEVs2zOb2urvm87f0Wr4GxCzKZ8wwkCLMtZbOS+3KqOlXjhOGBdS41fObgImUtAi7vZzBYN7/b+mtLJ8EgGHcMeZ42eFXaTmFfDdDMt1cg8Yi0hh37GwFTAqr1XvmlVUMtPzu3mnLElvX+H7mdvFiTxUWkOzMLaGqcEKvKauHBS1KBO1mC/Anfaqc7MEcAbonqUEE9DLdgKWEFpo4qAB1Yg9ynxWmymmpuZHSZ4kOk3I5SaVlAm8aMXuVQWSPGvTQtBDAK1WGDvk8V3y5p88bzORVx43DOp8TAHPPQQcZuER/yYAGpNZLr9lR33P0uiPJ4g9bnsWl8MFvAnFCtIb3khNqad2wDuXA0r7LmR7m2aENXm5wv26dpL41MoSmuLSgWswSURiPo+Qi1b92tTVz9av4UDOsOxqAKftJMUaj7+MdA0FC4N6uXXkzbEW0f+7bZ/rh8ia88FKsazC12EkNUfMMzgiabh4tDqBaAUt1uUBI9iyW8k/2igvIzvta9Ny+Px1cFAsg17gM4e+EkG+Nt1QOb3kejjNmA4tdDLRZ4MqMYGYc7K7ka57pU1cEwsjN15+Lmr+yWhWkZOauCt+4J3/iEN4Z5Tbmrz1x2r8V8lA48uqWIds2zvy+u60TxLiFY3MYdAYkLIkp/99mUMVYaJAHTK65ymWe2y98WmQgvqaf3PFojmiNN9GmpIjCe8Wd1XdhtXX25Gp+mkeqof05dJl2UD9oVvSJR5wvW10LEIVSc4IUW8/+TC2ee7LwMMCHox/HBw== X-Forefront-PRVS: 0267E514F9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR05MB3584; 23:lhgbLXP7r3qDir845ZMjYNv2DI5QqIWd0uZl4DopJ?= =?us-ascii?Q?57iRRtpTBNnXC7/cEmVIeuyJ1lwSor4c7pa5+5AK9rNOdoO7u1u8/8WyGk02?= =?us-ascii?Q?sdf+hssJEYBPatWcqLb0g3qGuRUyvOcCWAKymMuUni637VrUz1PMBHNY9R2A?= =?us-ascii?Q?Bsc1VzWzMZJmpuU5ZCEoTStuCTYgFowWHMPYeFa6V3be5gUfY2Z3tcdmm+dl?= =?us-ascii?Q?wan2+OL3zCwNv9MeLPJqQtUgUxAyrc5A9XFGZhncRPmYXYhoiTUVmyarUKSl?= =?us-ascii?Q?ctb15MEfRwj0sN9IaMwIzEXkQyW+9GEzZlAR4+E+fdshHzJXExbr9z4k2Gfd?= =?us-ascii?Q?4Qfq3EYZczF0JaaVCvkGR3wGH4wRsELTdaHtoIQy8+Gobdza0quSBdzEl2bi?= =?us-ascii?Q?gd01HXC4i19tC05FjzxaShKoGoKFpFUqy899QfDe7HwuZqRHHUWouj3om/LU?= =?us-ascii?Q?FXcOoIkqiy6zDfd/Wgzzc70Z4LLjx2PYptETDGqXTuZm03XwkzRv1Lu/8Dm4?= =?us-ascii?Q?ReilSSu4z0HmjfgRqPt/Q/DWHnXHl2Lnl1as2YatpxtUDs1vbi4WXfPCrAeO?= =?us-ascii?Q?xkTdC8mBh8EJpaF59fjKOKLIWdy9lNtQd6WTinOMsETNycR6xAYvTg253wBE?= =?us-ascii?Q?x/Nuj5rjuMKyWteqenEvilfExGI3JUtJKkXLMGvqAVaQxcKax9y77kZt+bGx?= =?us-ascii?Q?qf56Yo/vYUgDdnjyP/7tSLoEKupETAawlnlC+63SAtC/s1HOIW4A2nsXrQnb?= =?us-ascii?Q?u9Wp+cvGKeGH6HZAAcUVCxqtL2WDuk6i0N0oeWFBXH10puXQREA7Vgd5hFVi?= =?us-ascii?Q?O48B40DNpNd7cQw3UwlG5S1Vt+/s/+n5lWjgekTZ/+DSTXwa7xjPIrraqHvF?= =?us-ascii?Q?sj33yoGdd7J6Mo35Li65/l3pYKj5OELBKp9YiSJdqZi9DttpIQ2H77coZ0dQ?= =?us-ascii?Q?2iiQ5m+H8o9iXOYR6lfijlkU6mkmY7KXPYXL2uFlx64dDgpU2B92cC26N4rr?= =?us-ascii?Q?cducimvMjK8vo4/vUjFuh8M00y51HWyLtljEnLF4uOVPSfW2tsmxbTNDRLez?= =?us-ascii?Q?aiO5ATjP/TPZD1Cd7RtQwSvR9mWf7DKChmF1B4uv+iyvIjZNxnwXXE0Mqpj+?= =?us-ascii?Q?SvI8AM5vigsOrw8EP6sFdfEZzNgVubZLCF1+nGKqe41WVxu8hmCuavFQClwH?= =?us-ascii?Q?aaPQgDOZD7Ua6vevSMWFVv+5iElgeyINGA0DZDAyMURBaQHKdI1nH7jTWyV7?= =?us-ascii?Q?0hJG79iZASmjJehlufLX2YYKWp8dc6rO6yJFlNO4x8uk8Z67YmCBR2X2Jh3a?= =?us-ascii?Q?0UwOyyZQd8fa/g4xFc7lg1Nh/8ONY0CEqIzFQn13Zw0?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 6:xVfhh1hqUGzeNNH0tgxaeVrk14gT5V0D1y5AjSSB3Rqn/aMTR2e5707HpZ9emekAym83mzWIq4Wj6LEaABQITHvcpcM2OyMyC4Jj+Hd0Ar/GQUhJBCo6lFTX0PyxDBJ0jAOeRYIbLrDBQfWEghi51aZoyZ0v+LIJCEioNQUilTxS8amkw14JGMzh11LZBJhWZq8X4RaFQEejizjtnTq0zh29hxRQX5zmneirlVK8qiShfNT2FxgyQW8u0+v6bx/t3ZbENBdFZZ0S8xlbNx4PyGmbVyCDY8ajoD3Hv2B1zhQ8PcmFu0JJav6mtQP6ysjEIFotlHClYFisJyGMC9I+8Xc1DPsXQxfqNCqev59lq9lvaycpzoIyUM2eY+evWS9ZaMIGpuVUTyTPHWNEyi887A==; 5:e/ZpUPSc0RbbaS02r7HrR0Tlw/3PD6snwPFVHrptD44pMcOUCpVayOA9R4/jcj8qgzFPmG//fnkjDQqC/VODhS75sfg6CZ4KFRHYuy0cX3jpCWoPUNM3g8BGB66oskHp8QF8A0BOGqiray1L02ZBFw==; 24:kyK3+W1+hotyZMNJEbzrUb8DSzHlpS9VRzzYT2uW8dEjcAsmBlK9kNaibp+uddXfebcif+suQ6VRBAlggLRlyjQLoC2mexZZiz62D2vzvug= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 7:AE/v4v9izA7GQYIDW/a91WwPp0yy0QiaM+oQfA6vX0Omqke+D/9owcnys6gu5xjre26j/+eJBzuWVh5V3hdSuDhzi4xxuOpK4n2MUnd0HMN41MUsCNFLR7pMcNIkRof5lEelt5lrEu7dvtfSH5xASxm66IUzcHcGle9HDCWIb9oH/UasiLq4uJ/RolKBiVMCf93Wc/UcmZi1oE9dL2XhGoRilfNhNy8dzdGk5c72mf4hsckFq9v8LDq5NnQxAaby3V5wn1axJ04AqCPR5CbBe5Oj4VEr4tN2B28mSZ8OOTHslddKT4JcGQRKwXAixi/+LzNoap2nLm/FBvxFemP7Rw==; 20:+qDAVYFafaKIhTewGeqTM/9afXOtrD9/t/1kHzUWsDzVAtiEEjdYuCf+m8TjPhG5vwR1XPHeY41/LHD+uJzFQV7+SRifqzdfxtrVXgp6IC//K5w+gThCdEgf2fk///xchtxMQruAIEsaAxEwrv+P+f6NVleAZBvl+n6Ze33vOsk= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2017 19:48:28.0094 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp1.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3584 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 19:48:32 -0000 On Tue, Apr 4, 2017 at 2:45 PM, Ngie Cooper (yaneurabeya) < yaneurabeya@gmail.com> wrote: > > > On Apr 4, 2017, at 12:04, Conrad Meyer wrote: > > > > On Tue, Apr 4, 2017 at 11:56 AM, Dimitry Andric wrote= : > >> On 4 Apr 2017, at 19:14, Ngie Cooper (yaneurabeya) < > yaneurabeya@gmail.com> wrote: > >>> Where did xmalloc.c originate from? > >> > >> GNU. > > > > I believe this to be completely incorrect. > > > >> Almost all software from the GNU project relies on malloc wrappers > >> which abort the program on allocation failures. > > > > That is not what bsdgrep's xmalloc() did, if you read the code. It > > simply tracks all allocations for basic leak analysis. > > > > Abort on allocation failure would be a perfectly reasonable behavior > > for bsdgrep(1), too. > > There are multiple, competing definitions floating around the internet. I > was genuinely curious where this variant came from because I wanted to ma= ke > sure we weren=E2=80=99t just zapping a file that some upstream uses somew= here, in > the event we were going to bring down further updates, again, from said > upstream source. FWIW- I did scour the internet for other bsdgrep implementations and did not find a trace of this in any of the others that I found, to include the OS X implementation. In fact, as I recall, most of them didn't even have the regex/ bits that we do, presumably they were using regex(3) but it's been a while since I was poking around. From owner-svn-src-all@freebsd.org Tue Apr 4 20:03:59 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F852D2F4A6; Tue, 4 Apr 2017 20:03:59 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1F0C5E1B; Tue, 4 Apr 2017 20:03:59 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34K3wSP053622; Tue, 4 Apr 2017 20:03:58 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34K3vQD053613; Tue, 4 Apr 2017 20:03:57 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704042003.v34K3vQD053613@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 4 Apr 2017 20:03:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316501 - in head: etc/mtree usr.bin/pr usr.bin/pr/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 20:03:59 -0000 Author: asomers Date: Tue Apr 4 20:03:57 2017 New Revision: 316501 URL: https://svnweb.freebsd.org/changeset/base/316501 Log: Fix file descriptor and memory leaks in pr(1) Also, hook NetBSD's pr test into the build, and add three more test cases. Reported by: Coverity, Valgrind CID: 271650 271651 271652 271653 271654 271655 271656 271656 CID: 271657 271658 271659 1006939 1006940 1006941 1006942 1009098 Reviewed by: ngie MFC after: 3 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D9137 Added: head/usr.bin/pr/tests/ head/usr.bin/pr/tests/Makefile (contents, props changed) head/usr.bin/pr/tests/across.out (contents, props changed) head/usr.bin/pr/tests/basic2_test.sh (contents, props changed) head/usr.bin/pr/tests/merge.out (contents, props changed) head/usr.bin/pr/tests/other.in (contents, props changed) head/usr.bin/pr/tests/threecol.out (contents, props changed) Modified: head/etc/mtree/BSD.tests.dist head/usr.bin/pr/Makefile head/usr.bin/pr/pr.c Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Tue Apr 4 19:46:23 2017 (r316500) +++ head/etc/mtree/BSD.tests.dist Tue Apr 4 20:03:57 2017 (r316501) @@ -642,6 +642,8 @@ .. opensm .. + pr + .. printf .. sdiff Modified: head/usr.bin/pr/Makefile ============================================================================== --- head/usr.bin/pr/Makefile Tue Apr 4 19:46:23 2017 (r316500) +++ head/usr.bin/pr/Makefile Tue Apr 4 20:03:57 2017 (r316501) @@ -1,7 +1,13 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 # $FreeBSD$ +.include + PROG= pr SRCS= pr.c egetopt.c +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Modified: head/usr.bin/pr/pr.c ============================================================================== --- head/usr.bin/pr/pr.c Tue Apr 4 19:46:23 2017 (r316500) +++ head/usr.bin/pr/pr.c Tue Apr 4 20:03:57 2017 (r316501) @@ -103,7 +103,7 @@ static char schar; /* text column separ static int sflag; /* -s option for multiple columns */ static int nohead; /* do not write head and trailer */ static int pgwd; /* page width with multiple col output */ -static const char *timefrmt; /* time conversion string */ +static char *timefrmt; /* time conversion string */ /* * misc globals @@ -135,6 +135,7 @@ main(int argc, char *argv[]) ret_val = horzcol(argc, argv); else ret_val = vertcol(argc, argv); + free(timefrmt); } else usage(); flsh_errs(); @@ -207,6 +208,7 @@ onecol(int argc, char *argv[]) * allocate header buffer */ if ((hbuf = malloc((unsigned)(HDBUF + offst)*sizeof(char))) == NULL) { + free(obuf); mfail(); return(1); } @@ -259,7 +261,7 @@ onecol(int argc, char *argv[]) break; if (!linecnt && !nohead && prhead(hbuf, fname, pagecnt)) - return(1); + goto err; /* * start of new line. @@ -268,9 +270,9 @@ onecol(int argc, char *argv[]) if (num) addnum(nbuf, num, ++lncnt); if (otln(obuf,cnt+off, &ips, &ops, mor)) - return(1); + goto err; } else if (otln(lbuf, cnt, &ips, &ops, mor)) - return(1); + goto err; /* * if line bigger than buffer, get more @@ -293,7 +295,7 @@ onecol(int argc, char *argv[]) * fill to end of page */ if (linecnt && prtail(lines-linecnt-lrgln, lrgln)) - return(1); + goto err; /* * On EOF go to next file @@ -306,8 +308,14 @@ onecol(int argc, char *argv[]) (void)fclose(inf); } if (eoptind < argc) - return(1); + goto err; + free(hbuf); + free(obuf); return(0); +err: + free(hbuf); + free(obuf); + return(1); } /* @@ -317,27 +325,27 @@ int vertcol(int argc, char *argv[]) { char *ptbf; - char **lstdat; + char **lstdat = NULL; int i; int j; int cnt = -1; int pln; - int *indy; + int *indy = NULL; int cvc; - int *lindy; + int *lindy = NULL; int lncnt; int stp; int pagecnt; int col = colwd + 1; int mxlen = pgwd + offst + 1; int mclcnt = clcnt - 1; - struct vcol *vc; + struct vcol *vc = NULL; int mvc; int tvc; int cw = nmwd + 1; int fullcol; - char *buf; - char *hbuf; + char *buf = NULL; + char *hbuf = NULL; char *ohbuf; const char *fname; FILE *inf; @@ -345,6 +353,7 @@ vertcol(int argc, char *argv[]) int cps = 0; int ops = 0; int mor = 0; + int retval = 1; /* * allocate page buffer @@ -359,7 +368,7 @@ vertcol(int argc, char *argv[]) */ if ((hbuf = malloc((unsigned)(HDBUF + offst)*sizeof(char))) == NULL) { mfail(); - return(1); + goto out; } ohbuf = hbuf + offst; if (offst) @@ -372,7 +381,7 @@ vertcol(int argc, char *argv[]) if ((vc = (struct vcol *)malloc((unsigned)mvc*sizeof(struct vcol))) == NULL) { mfail(); - return(1); + goto out; } /* @@ -380,7 +389,7 @@ vertcol(int argc, char *argv[]) */ if ((lstdat = (char **)malloc((unsigned)lines*sizeof(char *))) == NULL){ mfail(); - return(1); + goto out; } /* @@ -388,11 +397,11 @@ vertcol(int argc, char *argv[]) */ if ((indy = (int *)malloc((unsigned)lines*sizeof(int))) == NULL) { mfail(); - return(1); + goto out; } if ((lindy = (int *)malloc((unsigned)lines*sizeof(int))) == NULL) { mfail(); - return(1); + goto out; } if (nmwd) @@ -533,12 +542,13 @@ vertcol(int argc, char *argv[]) * print header */ if (!nohead && prhead(hbuf, fname, pagecnt)) - return(1); + goto out; for (i = 0; i < pln; ++i) { ips = 0; ops = 0; - if (offst&& otln(buf,offst,&ips,&ops,1)) - return(1); + if (offst && + otln(buf,offst,&ips,&ops,1)) + goto out; tvc = i; for (j = 0; j < clcnt; ++j) { @@ -563,7 +573,7 @@ vertcol(int argc, char *argv[]) cnt = fullcol; if (otln(vc[tvc].pt, cnt, &ips, &ops, 1)) - return(1); + goto out; tvc += pln; if (tvc >= cvc) break; @@ -572,13 +582,13 @@ vertcol(int argc, char *argv[]) * terminate line */ if (otln(buf, 0, &ips, &ops, 0)) - return(1); + goto out; } /* * pad to end of page */ if (prtail((lines - pln), 0)) - return(1); + goto out; /* * done with output, go to next file */ @@ -597,7 +607,7 @@ vertcol(int argc, char *argv[]) * print header */ if (pln && !nohead && prhead(hbuf, fname, pagecnt)) - return(1); + goto out; /* * output each line @@ -607,14 +617,14 @@ vertcol(int argc, char *argv[]) if ((j = lstdat[i] - ptbf) <= offst) break; if (otln(ptbf, j, &ips, &ops, 0)) - return(1); + goto out; } /* * pad to end of page */ if (pln && prtail((lines - pln), 0)) - return(1); + goto out; /* * if EOF go to next file @@ -627,8 +637,16 @@ vertcol(int argc, char *argv[]) (void)fclose(inf); } if (eoptind < argc) - return(1); - return(0); + goto out; + retval = 0; +out: + free(lindy); + free(indy); + free(lstdat); + free(vc); + free(hbuf); + free(buf); + return(retval); } /* @@ -665,6 +683,7 @@ horzcol(int argc, char *argv[]) * page header */ if ((hbuf = malloc((unsigned)(HDBUF + offst)*sizeof(char))) == NULL) { + free(buf); mfail(); return(1); } @@ -744,19 +763,19 @@ horzcol(int argc, char *argv[]) break; if (!i && !nohead && prhead(hbuf, fname, pagecnt)) - return(1); + goto err; /* * output line */ if (otln(buf, j, &ips, &ops, 0)) - return(1); + goto err; } /* * pad to end of page */ if (i && prtail(lines-i, 0)) - return(1); + goto err; /* * if EOF go to next file @@ -769,8 +788,14 @@ horzcol(int argc, char *argv[]) (void)fclose(inf); } if (eoptind < argc) - return(1); + goto err; + free(hbuf); + free(buf); return(0); +err: + free(hbuf); + free(buf); + return(1); } /* @@ -786,27 +811,28 @@ mulfile(int argc, char *argv[]) int cnt; char *lstdat; int i; - FILE **fbuf; + FILE **fbuf = NULL; int actf; int lncnt; int col; int pagecnt; int fproc; - char *buf; - char *hbuf; + char *buf = NULL; + char *hbuf = NULL; char *ohbuf; const char *fname; int ips = 0; int cps = 0; int ops = 0; int mor = 0; + int retval = 1; /* * array of FILE *, one for each operand */ if ((fbuf = (FILE **)malloc((unsigned)clcnt*sizeof(FILE *))) == NULL) { mfail(); - return(1); + goto out; } /* @@ -814,7 +840,7 @@ mulfile(int argc, char *argv[]) */ if ((hbuf = malloc((unsigned)(HDBUF + offst)*sizeof(char))) == NULL) { mfail(); - return(1); + goto out; } ohbuf = hbuf + offst; @@ -838,7 +864,7 @@ mulfile(int argc, char *argv[]) * if no files, exit */ if (!j) - return(1); + goto out; /* * calculate page boundaries based on open file count @@ -854,7 +880,7 @@ mulfile(int argc, char *argv[]) if (colwd < 1) { (void)fprintf(err, "pr: page width too small for %d columns\n", clcnt); - return(1); + goto out; } actf = clcnt; col = colwd + 1; @@ -864,7 +890,7 @@ mulfile(int argc, char *argv[]) */ if ((buf = malloc((unsigned)(pgwd+offst+1)*sizeof(char))) == NULL) { mfail(); - return(1); + goto out; } if (offst) { (void)memset(buf, (int)' ', offst); @@ -951,13 +977,13 @@ mulfile(int argc, char *argv[]) break; if (!i && !nohead && prhead(hbuf, fname, pagecnt)) - return(1); + goto out; /* * output line */ if (otln(buf, j, &ips, &ops, 0)) - return(1); + goto out; /* * if no more active files, done @@ -972,12 +998,17 @@ mulfile(int argc, char *argv[]) * pad to end of page */ if (i && prtail(lines-i, 0)) - return(1); + goto out; ++pagecnt; } if (eoptind < argc) - return(1); - return(0); + goto out; + retval = 0; +out: + free(buf); + free(hbuf); + free(fbuf); + return(retval); } /* @@ -1344,6 +1375,7 @@ nxtfile(int argc, char **argv, const cha (void)fprintf(err, "pr: cannot get time of day, %s\n", strerror(errno)); + fclose(inf); return(NULL); } timeptr = localtime(&tv_sec); @@ -1354,6 +1386,7 @@ nxtfile(int argc, char **argv, const cha (void)fprintf(err, "pr: cannot stat %s, %s\n", argv[eoptind], strerror(errno)); + fclose(inf); return(NULL); } timeptr = localtime(&(statbuf.st_mtime)); @@ -1725,7 +1758,9 @@ setup(int argc, char *argv[]) break; case 'w': ++wflag; - if (!isdigit((unsigned char)*eoptarg) || ((pgwd = atoi(eoptarg)) < 1)){ + if ((eoptarg == NULL ) || + !isdigit((unsigned char)*eoptarg) || + ((pgwd = atoi(eoptarg)) < 1)){ (void)fputs( "pr: -w width must be 1 or more \n",err); return(1); Added: head/usr.bin/pr/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.bin/pr/tests/Makefile Tue Apr 4 20:03:57 2017 (r316501) @@ -0,0 +1,17 @@ +# $FreeBSD$ + +PACKAGE= tests + +ATF_TESTS_SH+= basic2_test +NETBSD_ATF_TESTS_SH= basic + +${PACKAGE}FILES+= across.out +${PACKAGE}FILES+= d_basic.in +${PACKAGE}FILES+= d_basic.out +${PACKAGE}FILES+= merge.out +${PACKAGE}FILES+= other.in +${PACKAGE}FILES+= threecol.out + +.include + +.include Added: head/usr.bin/pr/tests/across.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.bin/pr/tests/across.out Tue Apr 4 20:03:57 2017 (r316501) @@ -0,0 +1,2 @@ +987 654 321 ghi def abc +foo bar baz Added: head/usr.bin/pr/tests/basic2_test.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.bin/pr/tests/basic2_test.sh Tue Apr 4 20:03:57 2017 (r316501) @@ -0,0 +1,59 @@ +# Copyright (c) 2017 Alan Somers +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# $FreeBSD$ + +atf_test_case across +across_head() { + atf_set "descr" "Format columns in round-robin order with pr -a" +} +across_body() { + atf_check -s exit:0 -o file:$(atf_get_srcdir)/across.out \ + -x "pr -t -a -2 $(atf_get_srcdir)/other.in" +} + +atf_test_case merge +merge_head() { + atf_set "descr" "Merge two files with pr -m" +} +merge_body() { + atf_check -s ignore -o file:$(atf_get_srcdir)/merge.out \ + pr -t -m $(atf_get_srcdir)/d_basic.in $(atf_get_srcdir)/other.in +} + +atf_test_case threecol +threecol_head() { + atf_set "descr" "Format a file with three columns" +} +threecol_body() { + atf_check -s ignore -o file:$(atf_get_srcdir)/threecol.out \ + pr -t -3 $(atf_get_srcdir)/other.in +} + +atf_init_test_cases() +{ + atf_add_test_case across + atf_add_test_case merge + atf_add_test_case threecol +} Added: head/usr.bin/pr/tests/merge.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.bin/pr/tests/merge.out Tue Apr 4 20:03:57 2017 (r316501) @@ -0,0 +1,3 @@ +123 456 789 987 654 321 +abc def ghi ghi def abc + foo bar baz Added: head/usr.bin/pr/tests/other.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.bin/pr/tests/other.in Tue Apr 4 20:03:57 2017 (r316501) @@ -0,0 +1,3 @@ +987 654 321 +ghi def abc +foo bar baz Added: head/usr.bin/pr/tests/threecol.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.bin/pr/tests/threecol.out Tue Apr 4 20:03:57 2017 (r316501) @@ -0,0 +1 @@ +987 654 321 ghi def abc foo bar baz From owner-svn-src-all@freebsd.org Tue Apr 4 21:03:35 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8FCF0D2F974; Tue, 4 Apr 2017 21:03:35 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 471F687B; Tue, 4 Apr 2017 21:03:35 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34L3YOx078463; Tue, 4 Apr 2017 21:03:34 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34L3YU9078461; Tue, 4 Apr 2017 21:03:34 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704042103.v34L3YU9078461@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Tue, 4 Apr 2017 21:03:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316502 - head/sys/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 21:03:35 -0000 Author: sbruno Date: Tue Apr 4 21:03:34 2017 New Revision: 316502 URL: https://svnweb.freebsd.org/changeset/base/316502 Log: Allow MSIX to be turned off by tuneable per interface, per driver. Sponsored by: Limelight Networks Modified: head/sys/net/iflib.c head/sys/net/iflib.h Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Tue Apr 4 20:03:57 2017 (r316501) +++ head/sys/net/iflib.c Tue Apr 4 21:03:34 2017 (r316502) @@ -521,8 +521,6 @@ rxd_info_zero(if_rxd_info_t ri) #define MAX_SINGLE_PACKET_FRACTION 12 #define IF_BAD_DMA (bus_addr_t)-1 -static int enable_msix = 1; - #define CTX_ACTIVE(ctx) ((if_getdrvflags((ctx)->ifc_ifp) & IFF_DRV_RUNNING)) #define CTX_LOCK_INIT(_sc, _name) mtx_init(&(_sc)->ifc_mtx, _name, "iflib ctx lock", MTX_DEF) @@ -5187,7 +5185,7 @@ iflib_msix_init(if_ctx_t ctx) bar = ctx->ifc_softc_ctx.isc_msix_bar; admincnt = sctx->isc_admin_intrcnt; /* Override by tuneable */ - if (enable_msix == 0) + if (scctx->isc_disable_msix) goto msi; /* @@ -5428,6 +5426,9 @@ iflib_add_device_sysctl_pre(if_ctx_t ctx SYSCTL_ADD_U16(ctx_list, oid_list, OID_AUTO, "override_qs_enable", CTLFLAG_RWTUN, &ctx->ifc_sysctl_qs_eq_override, 0, "permit #txq != #rxq"); + SYSCTL_ADD_INT(ctx_list, oid_list, OID_AUTO, "disable_msix", + CTLFLAG_RWTUN, &ctx->ifc_softc_ctx.isc_disable_msix, 0, + "disable MSIX (default 0)"); /* XXX change for per-queue sizes */ SYSCTL_ADD_PROC(ctx_list, oid_list, OID_AUTO, "override_ntxds", Modified: head/sys/net/iflib.h ============================================================================== --- head/sys/net/iflib.h Tue Apr 4 20:03:57 2017 (r316501) +++ head/sys/net/iflib.h Tue Apr 4 21:03:34 2017 (r316502) @@ -216,6 +216,7 @@ typedef struct if_softc_ctx { iflib_intr_mode_t isc_intr; uint16_t isc_max_frame_size; /* set at init time by driver */ pci_vendor_info_t isc_vendor_info; /* set by iflib prior to attach_pre */ + int isc_disable_msix; if_txrx_t isc_txrx; } *if_softc_ctx_t; From owner-svn-src-all@freebsd.org Tue Apr 4 21:29:38 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 802CBD2FF9C; Tue, 4 Apr 2017 21:29:38 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5D485377; Tue, 4 Apr 2017 21:29:38 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34LTbtk086622; Tue, 4 Apr 2017 21:29:37 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34LTbTC086621; Tue, 4 Apr 2017 21:29:37 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704042129.v34LTbTC086621@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 4 Apr 2017 21:29:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316503 - head/usr.sbin/extattr/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 21:29:38 -0000 Author: ngie Date: Tue Apr 4 21:29:37 2017 New Revision: 316503 URL: https://svnweb.freebsd.org/changeset/base/316503 Log: Clean up trailing whitespace MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/usr.sbin/extattr/tests/extattr_test.sh Modified: head/usr.sbin/extattr/tests/extattr_test.sh ============================================================================== --- head/usr.sbin/extattr/tests/extattr_test.sh Tue Apr 4 21:03:34 2017 (r316502) +++ head/usr.sbin/extattr/tests/extattr_test.sh Tue Apr 4 21:29:37 2017 (r316503) @@ -36,7 +36,7 @@ bad_namespace_body() { setextattr badnamespace myattr X foo atf_check -s not-exit:0 -e match:"Invalid argument" \ lsextattr -q badnamespace foo -} +} atf_test_case hex hex_head() { @@ -48,7 +48,7 @@ hex_body() { atf_check -s exit:0 -o empty setextattr user myattr XYZ foo atf_check -s exit:0 -o inline:"58 59 5a\n" \ getextattr -qx user myattr foo -} +} atf_test_case hex_nonascii hex_nonascii_head() { @@ -62,7 +62,7 @@ hex_nonascii_body() { getextattr user myattr foo atf_check -s exit:0 -o inline:"20 30 40 55 66 70 81 a2 b3 ee ff\n" \ getextattr -qx user myattr foo -} +} atf_test_case long_name long_name_head() { @@ -81,7 +81,7 @@ long_name_body() { getextattr -q user ${ATTRNAME} foo atf_check -s exit:0 -o empty rmextattr user ${ATTRNAME} foo atf_check -s exit:0 -o empty lsextattr -q user foo -} +} atf_test_case loud loud_head() { @@ -99,7 +99,7 @@ loud_body() { printf "%s %s" $(getextattr user myattr foo) atf_check -s exit:0 -o empty rmextattr user myattr foo atf_check -s exit:0 -o inline:"foo" printf %s $(lsextattr user foo) -} +} atf_test_case noattrs noattrs_head() { @@ -109,7 +109,7 @@ noattrs_body() { check_fs touch foo atf_check -s exit:0 -o empty lsextattr -q user foo -} +} atf_test_case nonexistent_file nonexistent_file_head() { @@ -125,7 +125,7 @@ nonexistent_file_body() { getextattr user myattr foo atf_check -s exit:1 -e match:"No such file or directory" \ rmextattr user myattr foo -} +} atf_test_case null null_head() { @@ -136,7 +136,7 @@ null_body() { touch foo atf_check -s exit:0 -o empty setextattr -n user myattr myvalue foo atf_check -s exit:0 -o inline:"myvalue\0\n" getextattr -q user myattr foo -} +} atf_test_case one_user_attr one_user_attr_head() { @@ -150,7 +150,7 @@ one_user_attr_body() { atf_check -s exit:0 -o inline:"myvalue\n" getextattr -q user myattr foo atf_check -s exit:0 -o empty rmextattr user myattr foo atf_check -s exit:0 -o empty lsextattr -q user foo -} +} atf_test_case one_system_attr one_system_attr_head() { @@ -165,7 +165,7 @@ one_system_attr_body() { atf_check -s exit:0 -o inline:"myvalue\n" getextattr -q system myattr foo atf_check -s exit:0 -o empty rmextattr system myattr foo atf_check -s exit:0 -o empty lsextattr -q system foo -} +} atf_test_case stdin stdin_head() { @@ -179,7 +179,7 @@ stdin_body() { atf_check -s exit:0 -o inline:"myattr\n" lsextattr -q user foo getextattr -qq user myattr foo > outfile || atf_fail "getextattr failed" atf_check -s exit:0 cmp -s infile outfile -} +} atf_test_case stringify stringify_head() { @@ -191,7 +191,7 @@ stringify_body() { atf_check -s exit:0 -o empty setextattr user myattr "my value" foo atf_check -s exit:0 -o inline:"\"my\\\040value\"\n" \ getextattr -qs user myattr foo -} +} atf_test_case symlink symlink_head() { @@ -248,7 +248,7 @@ system_and_user_attrs_body() { atf_check -s exit:0 -o empty rmextattr system sysattr foo atf_check -s exit:0 -o empty lsextattr -q user foo atf_check -s exit:0 -o empty lsextattr -q system foo -} +} atf_test_case two_files two_files_head() { @@ -315,7 +315,7 @@ two_user_attrs_body() { atf_check -s exit:0 -o empty rmextattr user myattr2 foo atf_check -s exit:0 -o empty rmextattr user myattr1 foo atf_check -s exit:0 -o empty lsextattr -q user foo -} +} atf_test_case unprivileged_user_cannot_set_system_attr unprivileged_user_cannot_set_system_attr_head() { @@ -327,7 +327,7 @@ unprivileged_user_cannot_set_system_attr touch foo atf_check -s exit:1 -e match:"Operation not permitted" \ setextattr system myattr myvalue foo -} +} atf_init_test_cases() { From owner-svn-src-all@freebsd.org Tue Apr 4 21:30:25 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 50FD9D2E03A; Tue, 4 Apr 2017 21:30:25 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 232C4826; Tue, 4 Apr 2017 21:30:25 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34LUOgZ086831; Tue, 4 Apr 2017 21:30:24 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34LUOFq086830; Tue, 4 Apr 2017 21:30:24 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704042130.v34LUOFq086830@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 4 Apr 2017 21:30:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316504 - head/usr.sbin/extattr/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 21:30:25 -0000 Author: ngie Date: Tue Apr 4 21:30:24 2017 New Revision: 316504 URL: https://svnweb.freebsd.org/changeset/base/316504 Log: Clean up more trailing whitespace in the licensing tort that happened to be spaces, not tabs MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/usr.sbin/extattr/tests/extattr_test.sh Modified: head/usr.sbin/extattr/tests/extattr_test.sh ============================================================================== --- head/usr.sbin/extattr/tests/extattr_test.sh Tue Apr 4 21:29:37 2017 (r316503) +++ head/usr.sbin/extattr/tests/extattr_test.sh Tue Apr 4 21:30:24 2017 (r316504) @@ -10,7 +10,7 @@ # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. -# +# # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE From owner-svn-src-all@freebsd.org Tue Apr 4 21:36:14 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0703D2E2B3; Tue, 4 Apr 2017 21:36:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C0262C90; Tue, 4 Apr 2017 21:36:14 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34LaDfd090857; Tue, 4 Apr 2017 21:36:13 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34LaDEf090856; Tue, 4 Apr 2017 21:36:13 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704042136.v34LaDEf090856@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Tue, 4 Apr 2017 21:36:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316505 - head/usr.sbin/extattr/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 21:36:15 -0000 Author: ngie Date: Tue Apr 4 21:36:13 2017 New Revision: 316505 URL: https://svnweb.freebsd.org/changeset/base/316505 Log: Don't assume NAME_MAX is 255 Query the filesystem limit via getconf(3) instead MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/usr.sbin/extattr/tests/extattr_test.sh Modified: head/usr.sbin/extattr/tests/extattr_test.sh ============================================================================== --- head/usr.sbin/extattr/tests/extattr_test.sh Tue Apr 4 21:30:24 2017 (r316504) +++ head/usr.sbin/extattr/tests/extattr_test.sh Tue Apr 4 21:36:13 2017 (r316505) @@ -70,10 +70,15 @@ long_name_head() { } long_name_body() { check_fs + + if ! NAME_MAX=$(getconf NAME_MAX .); then + atf_skip "Filesystem not reporting NAME_MAX; skipping testcase" + fi + # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208965 atf_expect_fail "BUG 208965 extattr(2) doesn't allow maxlen attr names" - ATTRNAME=`jot -b X -s "" 255 0` + ATTRNAME=`jot -b X -s "" $NAME_MAX 0` touch foo atf_check -s exit:0 -o empty setextattr user $ATTRNAME myvalue foo atf_check -s exit:0 -o inline:"${ATTRNAME}\n" lsextattr -q user foo From owner-svn-src-all@freebsd.org Tue Apr 4 23:14:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CB53BD2FF70; Tue, 4 Apr 2017 23:14:04 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8232A310; Tue, 4 Apr 2017 23:14:04 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34NE3cI031220; Tue, 4 Apr 2017 23:14:03 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34NE3sK031219; Tue, 4 Apr 2017 23:14:03 GMT (envelope-from np@FreeBSD.org) Message-Id: <201704042314.v34NE3sK031219@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 4 Apr 2017 23:14:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316506 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 23:14:04 -0000 Author: np Date: Tue Apr 4 23:14:03 2017 New Revision: 316506 URL: https://svnweb.freebsd.org/changeset/base/316506 Log: cxgbe(4): Program the global RSS key once instead of once per ifnet. MFC after: 3 days Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/t4_main.c Modified: head/sys/dev/cxgbe/t4_main.c ============================================================================== --- head/sys/dev/cxgbe/t4_main.c Tue Apr 4 21:36:13 2017 (r316505) +++ head/sys/dev/cxgbe/t4_main.c Tue Apr 4 23:14:03 2017 (r316506) @@ -4223,6 +4223,10 @@ int adapter_full_init(struct adapter *sc) { int rc, i; +#ifdef RSS + uint32_t raw_rss_key[RSS_KEYSIZE / sizeof(uint32_t)]; + uint32_t rss_key[RSS_KEYSIZE / sizeof(uint32_t)]; +#endif ASSERT_SYNCHRONIZED_OP(sc); ADAPTER_LOCK_ASSERT_NOTOWNED(sc); @@ -4248,6 +4252,14 @@ adapter_full_init(struct adapter *sc) taskqueue_start_threads(&sc->tq[i], 1, PI_NET, "%s tq%d", device_get_nameunit(sc->dev), i); } +#ifdef RSS + MPASS(RSS_KEYSIZE == 40); + rss_getkey((void *)&raw_rss_key[0]); + for (i = 0; i < nitems(rss_key); i++) { + rss_key[i] = htobe32(raw_rss_key[nitems(rss_key) - 1 - i]); + } + t4_write_rss_key(sc, &rss_key[0], -1); +#endif if (!(sc->flags & IS_VF)) t4_intr_enable(sc); @@ -4355,8 +4367,6 @@ vi_full_init(struct vi_info *vi) int nbuckets = rss_getnumbuckets(); int hashconfig = rss_gethashconfig(); int extra; - uint32_t raw_rss_key[RSS_KEYSIZE / sizeof(uint32_t)]; - uint32_t rss_key[RSS_KEYSIZE / sizeof(uint32_t)]; #endif ASSERT_SYNCHRONIZED_OP(sc); @@ -4386,17 +4396,10 @@ vi_full_init(struct vi_info *vi) vi->rss_size); } #ifdef RSS - MPASS(RSS_KEYSIZE == 40); if (vi->nrxq != nbuckets) { if_printf(ifp, "nrxq (%d) != kernel RSS buckets (%d);" "performance will be impacted.\n", vi->nrxq, nbuckets); } - - rss_getkey((void *)&raw_rss_key[0]); - for (i = 0; i < nitems(rss_key); i++) { - rss_key[i] = htobe32(raw_rss_key[nitems(rss_key) - 1 - i]); - } - t4_write_rss_key(sc, &rss_key[0], -1); #endif rss = malloc(vi->rss_size * sizeof (*rss), M_CXGBE, M_ZERO | M_WAITOK); for (i = 0; i < vi->rss_size;) { From owner-svn-src-all@freebsd.org Tue Apr 4 23:28:24 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15879D2F2A0; Tue, 4 Apr 2017 23:28:24 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DB694B60; Tue, 4 Apr 2017 23:28:23 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34NSNHj035917; Tue, 4 Apr 2017 23:28:23 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34NSNMQ035916; Tue, 4 Apr 2017 23:28:23 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704042328.v34NSNMQ035916@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Tue, 4 Apr 2017 23:28:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316507 - head/sbin/setkey X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 23:28:24 -0000 Author: ae Date: Tue Apr 4 23:28:22 2017 New Revision: 316507 URL: https://svnweb.freebsd.org/changeset/base/316507 Log: In the example section show that TCP-MD5 connection needs SA for both directions. Submitted by: Mike Tancsa MFC after: 1 week Modified: head/sbin/setkey/setkey.8 Modified: head/sbin/setkey/setkey.8 ============================================================================== --- head/sbin/setkey/setkey.8 Tue Apr 4 23:14:03 2017 (r316506) +++ head/sbin/setkey/setkey.8 Tue Apr 4 23:28:22 2017 (r316507) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 7, 2017 +.Dd April 5, 2017 .Dt SETKEY 8 .Os .\" @@ -696,6 +696,7 @@ spdadd 10.0.11.41/32[21] 10.0.11.33/32[a Use TCP MD5 between two numerically specified hosts: .Bd -literal -offset indent add 10.1.10.34 10.1.10.36 tcp 0x1000 -A tcp-md5 "TCP-MD5 BGP secret" ; +add 10.1.10.36 10.1.10.34 tcp 0x1000 -A tcp-md5 "TCP-MD5 BGP secret" ; .Ed .\" .Sh SEE ALSO From owner-svn-src-all@freebsd.org Tue Apr 4 23:30:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB144D2F35C; Tue, 4 Apr 2017 23:30:06 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AB6B2CCF; Tue, 4 Apr 2017 23:30:06 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v34NU5Zl036042; Tue, 4 Apr 2017 23:30:05 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v34NU5gO036041; Tue, 4 Apr 2017 23:30:05 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704042330.v34NU5gO036041@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Tue, 4 Apr 2017 23:30:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316508 - head/sbin/setkey X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 23:30:07 -0000 Author: ae Date: Tue Apr 4 23:30:05 2017 New Revision: 316508 URL: https://svnweb.freebsd.org/changeset/base/316508 Log: Use unique SPI. MFC after: 1 week Modified: head/sbin/setkey/setkey.8 Modified: head/sbin/setkey/setkey.8 ============================================================================== --- head/sbin/setkey/setkey.8 Tue Apr 4 23:28:22 2017 (r316507) +++ head/sbin/setkey/setkey.8 Tue Apr 4 23:30:05 2017 (r316508) @@ -696,7 +696,7 @@ spdadd 10.0.11.41/32[21] 10.0.11.33/32[a Use TCP MD5 between two numerically specified hosts: .Bd -literal -offset indent add 10.1.10.34 10.1.10.36 tcp 0x1000 -A tcp-md5 "TCP-MD5 BGP secret" ; -add 10.1.10.36 10.1.10.34 tcp 0x1000 -A tcp-md5 "TCP-MD5 BGP secret" ; +add 10.1.10.36 10.1.10.34 tcp 0x1001 -A tcp-md5 "TCP-MD5 BGP secret" ; .Ed .\" .Sh SEE ALSO From owner-svn-src-all@freebsd.org Wed Apr 5 00:51:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BBE18D2CF14; Wed, 5 Apr 2017 00:51:04 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8313B869; Wed, 5 Apr 2017 00:51:04 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id v350p3wC043386; Tue, 4 Apr 2017 17:51:03 -0700 (PDT) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id v350p3a4043385; Tue, 4 Apr 2017 17:51:03 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201704050051.v350p3a4043385@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r316477 - head/usr.bin/grep In-Reply-To: <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> To: Andrey Chernov Date: Tue, 4 Apr 2017 17:51:03 -0700 (PDT) CC: Kyle Evans , Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 00:51:04 -0000 > On 04.04.2017 15:24, Kyle Evans wrote: > > On Tue, Apr 4, 2017 at 7:07 AM, Andrey Chernov > > wrote: > > > > On 04.04.2017 2:16, Ed Maste wrote: > > > if (color) > > > - fprintf(stdout, "\33[m\33[K"); > > > + fprintf(stdout, "\33[00m\33[K"); > > > > Please back that one out. We don't need to handle internally or print > > remotely excessive 00. > > At least according to > > https://en.wikipedia.org/wiki/ANSI_escape_code > > > > "With no parameters, CSI m is treated as CSI 0 m (reset / normal), which > > is typical of most of the ANSI escape sequences." > > > > > > Hi ache@, > > > > This specific change was made in the name of explicitly matching colored > > output of GNU grep for simplification of regression test purposes, > > rather than for good form. Is it still unacceptable to do so? > > IMHO everyday usage by everyone weights much more than occasional > regression tests run which can be fixed instead of this place. F.e. we > already do a lot of local fixes in the NetBSD regression tests instead > of pretending to mimic NetBSD in 100% in the system itself. Also it might be worth making NetBSD aware of the bad output, and fix it there, and the regression test, and everyone well be better off. -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Wed Apr 5 00:54:45 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EF5DED2D13D; Wed, 5 Apr 2017 00:54:45 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0054.outbound.protection.outlook.com [104.47.42.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8DB18C85; Wed, 5 Apr 2017 00:54:44 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=3l2QHTHsb5/l5kENcGXlusQESyo3/caquw0sWowQzvg=; b=PthTD52P+lLo7gJq+pG0sygv4iIL67uj4ghL0lZgVVSq9lADXGnHryoSLhvruSnkqwFhjyxjK/Si2tLNEUEP7eP88tuRi4qeEElOKcai7fmVu5Puv77RZ3qfG/qQdWYiw9MVV3zr4xRyrQUZcUyAUF1chy4gZbnxCj58d74hU4c= Received: from BL2PR05CA0024.namprd05.prod.outlook.com (10.255.226.24) by DM2PR0501MB1118.namprd05.prod.outlook.com (10.160.245.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Wed, 5 Apr 2017 00:54:42 +0000 Received: from BL2NAM02FT064.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::207) by BL2PR05CA0024.outlook.office365.com (2a01:111:e400:c04::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Wed, 5 Apr 2017 00:54:42 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp1.campus.ksu.edu; Received: from ome-vm-smtp1.campus.ksu.edu (129.130.18.151) by BL2NAM02FT064.mail.protection.outlook.com (10.152.77.119) with Microsoft SMTP Server id 15.1.1005.5 via Frontend Transport; Wed, 5 Apr 2017 00:54:42 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp1.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v350sfTM032000; Tue, 4 Apr 2017 19:54:41 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 91828248302; Tue, 4 Apr 2017 19:54:41 -0500 (CDT) Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id 29983248304; Tue, 4 Apr 2017 19:54:39 -0500 (CDT) Received: by mail-wm0-f53.google.com with SMTP id y22so38115870wmh.0; Tue, 04 Apr 2017 17:54:39 -0700 (PDT) X-Gm-Message-State: AFeK/H0eEzihM3WUx3mI8Vsi3OrXcy3H/elfUrDTXgiQdGRA/kL5Ysvq2UnmHBvvh3HhwI7wmLPFXw9yD2euKw== X-Received: by 10.28.113.73 with SMTP id m70mr17504097wmc.12.1491353677786; Tue, 04 Apr 2017 17:54:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Tue, 4 Apr 2017 17:54:17 -0700 (PDT) In-Reply-To: <201704050051.v350p3a4043385@pdx.rh.CN85.dnsmgr.net> References: <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> <201704050051.v350p3a4043385@pdx.rh.CN85.dnsmgr.net> From: Kyle Evans Date: Tue, 4 Apr 2017 19:54:17 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316477 - head/usr.bin/grep To: CC: Andrey Chernov , , , src-committers , "Ed Maste" X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39410400002)(39850400002)(39400400002)(39840400002)(39860400002)(39450400003)(2980300002)(438002)(189002)(24454002)(377454003)(199003)(512874002)(6246003)(5660300001)(189998001)(9896002)(42186005)(4326008)(2906002)(498394004)(88552002)(55446002)(356003)(450100002)(305945005)(90966002)(9686003)(84326002)(106466001)(2351001)(2950100002)(110136004)(38730400002)(45336002)(93516999)(53546009)(8676002)(75432002)(6916009)(54906002)(76176999)(63696999)(54356999)(46386002)(50986999)(8576002)(86362001)(61726006)(229853002)(236005)(5000100001)(61266001)(8936002)(55456009); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0501MB1118; H:ome-vm-smtp1.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT064; 1:0DkT0NOKJJ9wbYut5Wazv/xVgU+2ucKL80JF0h495NqiDrIFN3O6yXMXM5tvRVYVjvCmH5CKQrLXNCVCALLeYpgKR5zXCCxOe+dqfzPjqr5/qDlq0pv2eHqmooNQi6/nOdO4LTwxRbovn9RXtZcYSrpMZwIs5Wb8+kscrF1sk8l6DURJMwjoK8DbbOTlq+qOHD48GQ+x92VTyX3WKAFq+WZOpVF5H/xFQb4N1vNcCFuwqxPVsGxoNns9rtiYfD3e+6jKDMM1xcqsjQ5xN03D0AdKM92aj0RRUQ3IUTbn/2s6jbXRt2b2E5xR/dFf36ILkwSAil0yulCVTdL5J18H8gT/j6DuTrrzrjkGietlMcjCJDXyPuAVM3klnhj84tDq6pa8tiPLaAifkiXfFdzbagtgavvwjjeU9bcTW33Jqod3ZOI7io1wF/xyjvi+XFIwKDUpi0b/XFi+q9c9oCvCETizOBKCNT5gEOXrgC/iUJKQ6gsKRQTZJjIFCOJ9I/RE7yE1X+P/Zwj479VtT5UaOgRHhXoT2KbJHF9UTyARNjo= X-MS-Office365-Filtering-Correlation-Id: 0eee8f32-9534-4041-3fed-08d47bbe585a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081); SRVR:DM2PR0501MB1118; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1118; 3:NQxF3EWeXZt9Nk1ycwrJtSqyBb0ZnwonTZl0iS4nt0XKaRxM3QbLzf1SxQawElduuaCcYYj8apX1t6nq10Uh5WM83tfh6ADFTBfHgjyFGQ4+BGpYyL1G+9zD+oC1euW1Emvu0FJhPRj2gD3ivie01DOt3N92Ms6+Nk/9s0eM12dL0y6WjzJap+yvqRtpPiv/lCCpso4uHAqda3rS2UHiv2p2zD+l4/BDWLE21HKVbSCdhHUR2CRb4AlhooXZa1r1bNzQ4rDxFrKozY59r7QWKJuaqOw+dX3X7z33MT9oEcelfjunCnIILoYvgLoC7pfxGsSNfYh8tjFiEVm5jHv0y81vmpLwUroWRXr+18Y3PfRCjemxe9gHWKRGBg6QXGCGgsUiScONZKcULThDQbM7Ex7Mbq5hJQY52XDhsvtJkE1TGaWfHztX9+ouqpkSJ9zTU+Ma852DL0MUXqs2isxOq6j4dja26DzCYezC/xUsBxM1rRLxR4afnxmtd7DEN4k5 X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1118; 25:YTMpH4rdCHBBq/0OaWzxPNr5gJ9iLZOzx+ZMYic2oHWWEC+aeXyTD75UVvkRLYv9x1KAG5cHdwiMnntn38Xg3X4QVLgAf4BoK+pnIiaNa66tm4vZGmlI7bqU15HaCC7e3JYB7zZSIM4bkTsWBUPtNyBfVpTuaNRXa6WkSPhEIcg2R76w/FGGJtAERHIYeze2n6Nldkke5p/8m8Ng1vvTXDduZWcS5KpPQBuSrZC8TP+OsDLpnhF4T50uUVIYCOJ9nwCkxZrrHYuupqOc3HMYDlTvqQx5pPh+3Xy8+UF4O72Tq0E4A/1ngU7hJoDzTM/KAd8tH/ndw/jb8a9xazh8OdQdvXXTFs7eH5szrl0nQFFTnsiwf3ShZBYN/6CJML31+0SvO9yWPCa/CGeSMdgz+WMLyw0AKuEWXH77uphqI5NsXUbnDxgmC3n5/ce8RQBVc6ztYHSjTSZrTdiArr9VpA==; 31:E/kkefxJd0QcY5dg3z74Bl0N5AwhavSJkwcl40RKcnxKTtyIiRXunbngXq1xmn49nq+kQwmMaBRTA3d27CvGg8T+OyD2DsRtRDzu/N0DL7PAKyqQnpVihby013xD/vHntx38wDS8bzjbc3FW9ACjhjHsl/8f8261FiR9TC/jQUuOxiVFdIwbghESKOm3rPHyX7izmGQYcvvSeYmXE/rocad/LD5qlXBkmNJe87HV5dMhVd21aPAOh3EEN0L/vhMNehy63YG4QJ5o4OCMt3ytPTaSR0VvBChTSfyYiq+J0U4= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1118; 20:UgPvxzw8FbIpEX0HbQzolB69pMTIxMDUjMcr7y7B0A6ZCokA7L6CDJCK03KUxM3N3beqWladTOULqHYYDn2/4gpWO/gEX03znH4Ixb6hpCg966l1ZZrRP//a/DSZ0JK62bXPKzBysk37LQmKv8WUTUJpdsLbmLGERcIBOGb4tGOJ9xXM+XajFElGI3tRVY5LAWcEGt8N4t0opOGpGUE5n7KYjZR8Z5NNt7iNbThLc0UarQPsYHccnbYnH72DyrLlJ0ezxd9/Nu7kL7askbPITGRRkhBqThn3bGRPDOK/if8Sr68RzglTbusYDGwvFUwlYNyTamW5ZYJQh3MoSv7jTNhfVQh8TDJLOM5aHDzKBxkuUJiUqfGNSUcIfZoDrPQ6bKAHHV0OFC+c9GoWD39gT2S3oJex+pjPwFKkahzIdpaQO9pChaCfc7qai0n5iHircx9DWpiXgviZUe/DVrrmnB+McU/GG6DPk7WrEgF1CDCn/QTAMtz5Z8g78zbTKAJ6 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(13015025)(13017025)(5005006)(13024025)(13018025)(13023025)(93006095)(93004095)(3002001)(10201501046)(6041248)(20161123562025)(20161123564025)(20161123560025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(20161123555025)(6072148); SRVR:DM2PR0501MB1118; BCL:0; PCL:0; RULEID:; SRVR:DM2PR0501MB1118; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1118; 4:71MvU94B3I1duF+OHpYx0J/I7gxJo88gVaPo8ApQf/71zWKtfUTkQYHLMVqxwTBvPlO0WWC7fPzjtvzh6Q01XzbtXFunAGBoaP2J17HxUKCYkukaNqu2FYAWilLJHtzHa1r67P7fgt3tjDUw0Cw/jIJcdE5cx5aeEqEbpxJGt1QhmosRt9XnJ1frlQ+CFG8OOs501r1Rt4JMvfQZI0fF8Z1Esy11f4VYRNBUcP9eXfJwKsIaupGD/DhUL+s8/QWn59uAGLlJ823/uNXwJVsgmEV6TlrP59UogeLsTaJY4I3SJxg7xOQ/QYN6xy4xoSpGYp7LVNc84p2g0FncFAoQ4AtnbiuPgwdZcirKuxUB00TNNhWqm9YJe/3ICvVqzlu4a6DjqFSYI32p6uB4kYlIJ44Vl6Ywa9s7Am8Q6hhKcKQM16n+Qi96mN018DYRGf/kdApV6wkU0+BMejPJWynpk5xq/QnY6FNUmrbafhS8CAU58T87z07wVBINB1lUtkQmGlU+iwkDmc6ry8DCFl9qgSVJNeufXvzOB+hNuVILr0zKWL9QhrYrwIYi1G9NZvV2aKWmMHuzAccGyXmYWzSPfmP29J/PMpe2A1GZWeULEhc0rFAHmeV6Mh1U2gHHxvTk5zamWhlly8ciBtepc1meihdgJlrjy9jMuP+p7RAXIaol46lHIiMegw3WGJ1w+Q+/4UcPlYmWrv5D/+blmhG/IgstR6WKQlIo2PvwdN20nM8le2i2tsDk1+oBHdDte+hE/bqdd4Ovz4mGF7u1Q6YFx7+HaZ5fJXp/qZWUYbAk9pwVGzm1iEXcFN/ZuCKEz0wPVRf7z0574VB/J7JlItI/Xg== X-Forefront-PRVS: 0268246AE7 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0501MB1118; 23:BwOXJyijmdxvYf58c2jdFC76h3aktPEmpk0dwBh?= =?us-ascii?Q?kKQffK2N5bV1i2Vtr1SfL6z9UVPruLTFCBKXzvOl2E+x26ygRyiRaARTsoPC?= =?us-ascii?Q?pVKGKVo/G0q8zaZe01l7SK9ZAtE195MyP9Rs2M+gBGQjGHQYUSh9AQtEhZeC?= =?us-ascii?Q?XA8bMzpG0HSlA5rxwiFYWeMNcEsU8dZwgX4FTI95PIFg0leP/NLrnFM4V/BY?= =?us-ascii?Q?C+P1RGy5VtToWIglGCh47N6U00lXUqTE4Xz/wJDa3DitjKWKt6a8VLwBwBwN?= =?us-ascii?Q?38A2ySgBYG1oZIuf+1FV+Xs07AZTzEiGK1ec8l7qvKmp80H0WftbvQgiuVWD?= =?us-ascii?Q?gqIGUyCttq18+ifWvkcoynhE3e/4zGpZ3ATMczmdWuRuOkm37ZrcnTQrL63U?= =?us-ascii?Q?w9RqqPIQaLBUMs9PlvgNCUT3CSQmoCkWCWgEvn+KCO9d6AUuoD0R9cH9uSDd?= =?us-ascii?Q?EtPFdi/goOj9eW36Nmdw9kWEty8WdoxTX7zYDAHLhuGABHLrQfzvprmZssco?= =?us-ascii?Q?MtlSTnNBHnSLk0/n0eJyuobXoth1rr7LI62vryOIw5SWNbIv6PyUoeJ4V46j?= =?us-ascii?Q?xEApMUDu+Oi5GOd3c4PLd7mVPzix1P3FIO7BNUSlG8v2pxgtn36ExSij0yVu?= =?us-ascii?Q?poKy9KK2UQb5dWh7yAoDFNMIDd6c2zTqFKKkRUchyq6K83tmnPVJfWYpOp9B?= =?us-ascii?Q?P5WM9xRLU6KqzuK1QAx0EjQuY2XHvageaegI/fWSTJBsNXecGjOyTAIM43qU?= =?us-ascii?Q?NQyC91KTtLPHdnOmMzw3bAV3XTCOHvHLD7/Ho+NZuHavvhzR0itKZgSg3OI3?= =?us-ascii?Q?0Or8anblWr1xbbqmmj5rt/2daL4YYtQA9JEx0btbxtaA9P90aa4ndnaXHJp8?= =?us-ascii?Q?U5e2tCoCIbKc6m3igdCAf8X2afC5Uwy9P8hbogUnP7eo6IEwLz+I3E9Mc+WW?= =?us-ascii?Q?lMRx1pE22zj5Hg+7AO9dovHZIkoiH2TtWkMj/oAA+tdhs5Y5pIZpO2thrF9B?= =?us-ascii?Q?ffB5TaUDhIx1MjaecOBmeQuAebyDkdsRxEGu5QmqwHNFnVvHBj1Vh5GXYDeA?= =?us-ascii?Q?Al5Vnj3faysoNe2V7UezbOzzW9fAre7d3ldU2qOsRX+j3mcjzyOkhiOtfdQT?= =?us-ascii?Q?LKXIFwLRNLQOAawHy64/44u8TE9req+7g5WEyPGyjOhu/Yk/ed0PfmRF/mH0?= =?us-ascii?Q?dRjhXPk5Egvfz8yu+TURuEgcypXN6jG34/h/DWIWIRgl/Rfc16GPB9KTxxSn?= =?us-ascii?Q?xmOO1t8cufHSS8QZyV6rEEPRUc+TvLQNX1fNjnFWNg2SaaqYAeKwlQsSF+67?= =?us-ascii?Q?ya0zPKz1iwtMK+rZGo/HsqBvI+WlOalllCbyeuVI8hidG?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1118; 6:KAWQxRpKR19784wH1yIYLDdR8QSIFxPG3JFnS2KmEundMpnmRYInjB3u7ZEQhiDqsTNNCNHFahy1ikE2pI4dn4KpLNAQLh3nRsS5yGs5hS2Qqz/G/VMA8I1uS4s3Cu0AKP7qgipaGoiIvR9o2+8YFxo+1cQxat9IZPAgA8DWMi+nyDAbZzDrrxCUEbXCirdVhJvGEzvbaFA5eJs3xhpWGMS1FUg1n5Pu3/IgUcetKXPQyU3+oH1R7TWSvjxCh1qWIYvcQ00g3QDVw3TCXQLCTcDqU0CUvu3i/RiHdo+dfLN6hneUKbMe0bIvTtBbV6bcMtOQrB0+ewEgPakYRdb21k9QZcuBbaFfChPjUhuqzg37brH8ZjqRv6kqXkJkUTtL9qAvEqh8GYi1PdYs8Zdk9w==; 5:BNybr6NAC1wD9UpEixgwA509f8ilWmvbWdXL0TmN0Gt8WALdgxYlTJkBKLgrBz90lO+0O3DKZhptm4AJMXvyUYB9UXi6rk3L5OW9yJxVEBvzI9HO5cj8A+Rw6u6TX692XuzPIv2ceO/X7bJnB7Lpcw==; 24:7PSrH5Gisej09mlvA5AE/EF4MJnc/38rB5c0u5sBK37goA+3qWvM7Df4jbSC4kLpICpIynkbLvTODvifvjFtj8gIcBzQbFByrB9r3amqeBo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1118; 7:fTvUhnjlFov0gx/n1tcL2UFKHeSZfXeACPea8TYwZ/OVRzWYFxtg23Th+ZJwzcXB6AKUSdgM/ddi1s9SeMX22TIZKfLxMFH/icm02S1lnfcRGPKLQOfrMD7rPYxv8qeg2BuJyiGREQ6OrxWpljeB/VausEKxM22Og6w6ri0jvZb+VwKPWHUJOu5wCJZRGfXCJh+Sikd9v6611uhy2d0VdvTRan6UpDpKvc4h2WIDwbavUS543tzlKGww7jBIxwnSBN6y+dS+VG/Nig2J2jJBK+YZRyuhM6NmRVDajuk7+haRlgGxzpD+xk/Ekv1UhtZ0ZtKM+Ra0JaA6GX/KWAdDTw==; 20:4cWMV77NRsCHBIhk3p3KfS3CD0R5if3aqAJfe7E21YZbAMinqnt/Rr7ivn6Vjoydh9pN/6goNX4KWCScyH9kUuijtNWSenSKCPf2vw5trIY8CZlvd3OGNa2zQUbXC/6s0kO2nEth1ClRkab7PkhMGCruj5vE3QCaXjyrR0EBlF8= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2017 00:54:42.0988 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp1.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0501MB1118 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 00:54:46 -0000 On Tue, Apr 4, 2017 at 7:51 PM, Rodney W. Grimes < freebsd@pdx.rh.cn85.dnsmgr.net> wrote: > > Also it might be worth making NetBSD aware of the bad output, and fix > it there, and the regression test, and everyone well be better off. > FWIW- I've been in contact with ngie@ w.r.t regression testing and the color tests, and it appears that he's willing to help with the upstream aspect. From owner-svn-src-all@freebsd.org Wed Apr 5 00:56:26 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7DFC0D2D1F1; Wed, 5 Apr 2017 00:56:26 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x244.google.com (mail-pg0-x244.google.com [IPv6:2607:f8b0:400e:c05::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491AEE01; Wed, 5 Apr 2017 00:56:26 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x244.google.com with SMTP id o123so40195930pga.1; Tue, 04 Apr 2017 17:56:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=FuKUpGovmqDTAGm9yLw/qDi3V/YKYzFw4+VfeSAPlaU=; b=dgn1BFOgkCTGvZ70fiLzi/Lwqa3+5LZuNZz96mgiR6oal/Ca6Z4BPtd6kyLqFH4bvf tXQgts/X/acMjKtuh2AeoIjnXc4ZXXF6ho3vXHx2CLUkFK1qoXoVV5kiu+h393XjBWdZ B3Oua9td1GJ1NPheCUEE7iRJuDQ6aVUOnsCGGG3MTlfpeLrnsZY2lkPuRTxJZ6Nw1Z/F RAYM7gufU7wPKUbCO8Vuw/gScF2WWcHO488+PAhw2K4IAN74bua49/riIEN8/A3nDPhi vRyJl+GIfHQt+SZnnMw3C76MJLgfCfXbjz/CHVrUjPDAS3N0g0eJnAEg3pZO765GQKgY x+kA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=FuKUpGovmqDTAGm9yLw/qDi3V/YKYzFw4+VfeSAPlaU=; b=FmwRM4t4RWko5TL3LSJMW++kJF+pENyipSRuyo9O+SGIzXsXx49a37O4KeB8RiEmF7 8ZL3fbVCvMbLPWX8PX6QWKT6xa6mfzJMmxOoCMOUP57QoY5cbJP8S2fBMCu0bsnVtQ8j 0xO4V62Vij60wjpIY2ptZ8RdatExr0hNh7G3od823aOlOycIOfqlj6YkSCRQvhHmSpW/ 5HWMCI/MiFQ/KbfBWAIv/hWa16523VoC+5jKxqH6odKTVA54hSZBgrmbkX/0yuHi6UY1 nPp2yMGjA33918JHHqGrAR74feziGf0akdUN3FtVJKpyHT09W/s52z0dFZ5UkReLgvCX cgPw== X-Gm-Message-State: AFeK/H3Sk37cQPDKBwWD83Bzi7yiTN+UAPhTjTs4xb2pX4dMB71/nE+3JNpBObc1CjrpIg== X-Received: by 10.84.137.165 with SMTP id 34mr31663640pln.125.1491353785892; Tue, 04 Apr 2017 17:56:25 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id d3sm33846572pfd.57.2017.04.04.17.56.24 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 04 Apr 2017 17:56:25 -0700 (PDT) Subject: Re: svn commit: r316477 - head/usr.bin/grep Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_46E2D780-4DD2-4A2A-954E-727139592CBB"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: Date: Tue, 4 Apr 2017 17:56:23 -0700 Cc: rgrimes@freebsd.org, Andrey Chernov , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers , Ed Maste Message-Id: <05E324F6-34EA-40E1-9251-7E37E1883F31@gmail.com> References: <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> <201704050051.v350p3a4043385@pdx.rh.CN85.dnsmgr.net> To: Kyle Evans X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 00:56:26 -0000 --Apple-Mail=_46E2D780-4DD2-4A2A-954E-727139592CBB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Apr 4, 2017, at 17:54, Kyle Evans wrote: >=20 > On Tue, Apr 4, 2017 at 7:51 PM, Rodney W. Grimes = wrote: > Also it might be worth making NetBSD aware of the bad output, and fix > it there, and the regression test, and everyone well be better off. The color tests are new to FreeBSD/NetBSD. They don=E2=80=99t exist in = NetBSD yet. > FWIW- I've been in contact with ngie@ w.r.t regression testing and the = color tests, and it appears that he's willing to help with the upstream = aspect. *they/she ;). Thank you! -Ngie --Apple-Mail=_46E2D780-4DD2-4A2A-954E-727139592CBB Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJY5EC4AAoJEPWDqSZpMIYVKBoP/0TnRQ/iceyrOITtgb7ARBoW 8mps++3uFBQnGPXZdNbNY2VSBkGVDFOxGqt9Tgb4lg6myGgwVT5vKV8l5LINX0Fo RYSLYhNzRybiLskJjrUDkcGoaIEl5x2iFMFvxNf4j3X7Ly2tCImXSlw/9Z1D+LPr PHK9V2qvw9hYN4AmETh4yxvVWw1s4wXKd6qpuZddCKet+xHQ0DSPzkCyV8PGdByO tiOqMsQ8aQpCxjqFA7+8lhlnOXwPtGlDtxoFWDIZoKhQRkSt3B11w4+sI9yRV7Od vkm+OTAETJcFZ6O+95XZK1Fdk+tw9OnjkVn0w9OIGBEQz/jTUyv+IFFdltZAbJ5Z HCgT9lIhDpAiV96TgKZ/JPAnExkgpSEgtiqbyWgNvTbTnHMOX9gavY+a70I7ABFZ QtR72rpfEbIneKgJLlEVs4wUvi9ote0bQZuZWq9zKLqXgKHS7RgVZGsShXJFHw5L Gs2IYNpgdvexHaBgbgMcSKP/G0APOJ52GbZ0EnUqmOekYk4iLEdyfeB92bNFo58T XtPF/gl/IvUehLFBDaaJw9F4cHjXtKr8OOn7c3yFjKmxPedmgftwTS8/WEuXfDEs p8Lgy/xcGRejA82nl3af0Z0vWzLDo/de4RW+VBVo0LXX5AFHRU5Dd4x7+VRWSsBc p2jNlSWsHI8S6nJ+9RHS =b2At -----END PGP SIGNATURE----- --Apple-Mail=_46E2D780-4DD2-4A2A-954E-727139592CBB-- From owner-svn-src-all@freebsd.org Wed Apr 5 01:44:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC6A1D2E283; Wed, 5 Apr 2017 01:44:04 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BCACE91D; Wed, 5 Apr 2017 01:44:04 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v351i3JW092981; Wed, 5 Apr 2017 01:44:03 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v351i3N4092979; Wed, 5 Apr 2017 01:44:03 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201704050144.v351i3N4092979@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Wed, 5 Apr 2017 01:44:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316509 - in head/sys/ufs: ffs ufs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 01:44:05 -0000 Author: cem Date: Wed Apr 5 01:44:03 2017 New Revision: 316509 URL: https://svnweb.freebsd.org/changeset/base/316509 Log: ufs: Export UFS_MAXNAMLEN to pathconf, statfs Rather than the global NAME_MAX constant. This change is required to support systems with a NAME_MAX/MAXNAMLEN that differs from UFS_MAXNAMLEN. This was missed in r313475 due to the alternative spelling ("NAME_MAX") of MAXNAMLEN. This change is also similar in spirit to r313780. Reported by: ngie@ Sponsored by: Dell EMC Isilon Modified: head/sys/ufs/ffs/ffs_vfsops.c head/sys/ufs/ufs/ufs_vnops.c Modified: head/sys/ufs/ffs/ffs_vfsops.c ============================================================================== --- head/sys/ufs/ffs/ffs_vfsops.c Tue Apr 4 23:30:05 2017 (r316508) +++ head/sys/ufs/ffs/ffs_vfsops.c Wed Apr 5 01:44:03 2017 (r316509) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -1434,7 +1435,7 @@ ffs_statfs(mp, sbp) sbp->f_files = fs->fs_ncg * fs->fs_ipg - UFS_ROOTINO; sbp->f_ffree = fs->fs_cstotal.cs_nifree + fs->fs_pendinginodes; UFS_UNLOCK(ump); - sbp->f_namemax = NAME_MAX; + sbp->f_namemax = UFS_MAXNAMLEN; return (0); } Modified: head/sys/ufs/ufs/ufs_vnops.c ============================================================================== --- head/sys/ufs/ufs/ufs_vnops.c Tue Apr 4 23:30:05 2017 (r316508) +++ head/sys/ufs/ufs/ufs_vnops.c Wed Apr 5 01:44:03 2017 (r316509) @@ -2446,7 +2446,7 @@ ufs_pathconf(ap) *ap->a_retval = LINK_MAX; break; case _PC_NAME_MAX: - *ap->a_retval = NAME_MAX; + *ap->a_retval = UFS_MAXNAMLEN; break; case _PC_PATH_MAX: *ap->a_retval = PATH_MAX; From owner-svn-src-all@freebsd.org Wed Apr 5 01:45:10 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DA02DD2E2FB; Wed, 5 Apr 2017 01:45:10 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x244.google.com (mail-pg0-x244.google.com [IPv6:2607:f8b0:400e:c05::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A8085A65; Wed, 5 Apr 2017 01:45:10 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x244.google.com with SMTP id 79so40377893pgf.0; Tue, 04 Apr 2017 18:45:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=nmiVuzYoGhn6jPz0kiyfmgakgiwdeFuIbe+63YfM0xE=; b=e1YfBx31uL1xQhSOtfD8n7jaDFNa8NCEDQ3Qbsn3XZr5XyKltaseXAxSNA6xiqd9UI Z92BQ+ydKsagPnSSiNgEqAvZK6CEjxM9Z1a5Ajj0HoAbieQkBUVxLfrNccRYjG6zPf7o clM7gQKsHR4ayLvg1ySGk2PgtciQWJOuzp4XYgu93b7VNrEs7l11U1cBK+MxBIOr/Cv4 /Elidm8KgwbTqUrFWShjGDITXPfISwDhip8+9pBsydRsCzqffLl9vpgPoOErs3emmgv3 RDRAwW2WpRqvLQzfed28+55ytrG0X0aembWGFx6e/qC3z6YZnBNRHffxYCogNw5Mp+FZ Lurw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=nmiVuzYoGhn6jPz0kiyfmgakgiwdeFuIbe+63YfM0xE=; b=C3ffwwLj44LMOegJ9KgDgPGv3GRyW8Ki7uNDRttMQ/P+ruLvX84xF3n2VxbGPRtGbM 2h1f5x8swmtBWEhid15cMdFVvY7qk69etFyKnThNHlCEUqkIWiresQk4DKNq1zGg0z3w Gz4kH/gfTtk9K56I1sC4uCON6KxvqbSkX7K5Wph6OiRHcNRjK7MnD1CARXPiApYgD0pP F1nm18mpfWijwje67S10Nj4gXCqF8etZEjZ444sIye/iHkkAkFkP0U/gSPEP5bB1YWgt aNa0QTnbjGTsgfpuXwLjA7kMjUKZuN3OjngpzqrfRjuDrrxWvZMkIuCX2xuaQmFGJ2S+ Y9dA== X-Gm-Message-State: AFeK/H3rPwCZ5kbUrRrFp8572bVsk2YP7ZMGEAX8mzqAhcs2fkXSHVFlFcHpsSPLBjo4qQ== X-Received: by 10.98.156.23 with SMTP id f23mr26045944pfe.3.1491356710132; Tue, 04 Apr 2017 18:45:10 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id 11sm33766451pgf.28.2017.04.04.18.45.09 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 04 Apr 2017 18:45:09 -0700 (PDT) Subject: Re: svn commit: r316509 - in head/sys/ufs: ffs ufs Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_E8C175A4-0628-45C1-B415-32B66573029E"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201704050144.v351i3N4092979@repo.freebsd.org> Date: Tue, 4 Apr 2017 18:45:08 -0700 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201704050144.v351i3N4092979@repo.freebsd.org> To: Conrad Meyer X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 01:45:11 -0000 --Apple-Mail=_E8C175A4-0628-45C1-B415-32B66573029E Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii > On Apr 4, 2017, at 18:44, Conrad Meyer wrote: > > Author: cem > Date: Wed Apr 5 01:44:03 2017 > New Revision: 316509 > URL: https://svnweb.freebsd.org/changeset/base/316509 > > Log: > ufs: Export UFS_MAXNAMLEN to pathconf, statfs > > Rather than the global NAME_MAX constant. This change is required to > support systems with a NAME_MAX/MAXNAMLEN that differs from UFS_MAXNAMLEN. > > This was missed in r313475 due to the alternative spelling ("NAME_MAX") of > MAXNAMLEN. This change is also similar in spirit to r313780. > > Reported by: ngie@ > Sponsored by: Dell EMC Isilon Thank you Conrad :)!!! -Ngie --Apple-Mail=_E8C175A4-0628-45C1-B415-32B66573029E Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJY5EwkAAoJEPWDqSZpMIYVAe0P/3xhca4FSpFKtsdo8g+U1L7Y l+FATQ6J6CcRM0jHkEaG+LCPZOE9vMWzMB9aW6hVl9fjMxiGiMaOiMp/fKJc3lWZ 53U0FEyeyMHFBozr9eIdElO9Qy8iHoD2OBgDq3n6Oy/hxwWAFjGIThsiBejhYRoj w1OUt/f34P9AuLohVC7Ybi12XV0metjvLNb5v+Ac+K89Oy83kVQGkv8TpaNGkMr6 gD7QamwS/YDF8mARamafeeoTzC9G4WuLE7SRcOR/e3AJsnmAe+uDeZVldwR2TxL/ 6dwI7Djadnih1qF8w9Iw9FYU0+GhFQvELcbvXVaFOm45Wa6aQuqRsnTICz9pyXxM kp97Fs0ksdVWpD8ZbW+ASs+oru8+oQ1/2xQRseJZby2Ki2bKR1c/L4AlJ/5iUwHr tZe2DgsDZiUK9Zo+sd2uf7zasUXjD2lHzrxJxqYf7134MgslZf8nohUS6NiR9OMR JtC3nxtU732ZO0aXT6rh2958dKs8I6hidHmBu6tZYT2S5KKM039MFPxYf/s2/zc2 0kPAoPtGvnIXEUVFTkRw9PmD9sv8ev/iEvfkPEl4lUs5Mh1XEVZgnZ8P/r2E5sT8 r+KMKni9goRnU8InzC6GA9lUFdz7G57O468hIAYnznHx0ohzxNo5Qqv0yquJNPqz F7dBqATbU1gYh1hyAooj =wpc0 -----END PGP SIGNATURE----- --Apple-Mail=_E8C175A4-0628-45C1-B415-32B66573029E-- From owner-svn-src-all@freebsd.org Wed Apr 5 01:46:43 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0E336D2E39E; Wed, 5 Apr 2017 01:46:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D4723BCB; Wed, 5 Apr 2017 01:46:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v351kgs5093118; Wed, 5 Apr 2017 01:46:42 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v351kgJZ093117; Wed, 5 Apr 2017 01:46:42 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201704050146.v351kgJZ093117@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 5 Apr 2017 01:46:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316510 - head/sys/opencrypto X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 01:46:43 -0000 Author: jhb Date: Wed Apr 5 01:46:41 2017 New Revision: 316510 URL: https://svnweb.freebsd.org/changeset/base/316510 Log: Don't leak a session and lock if a GMAC key has an invalid length. Reviewed by: delphij (secteam) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D10273 Modified: head/sys/opencrypto/cryptosoft.c Modified: head/sys/opencrypto/cryptosoft.c ============================================================================== --- head/sys/opencrypto/cryptosoft.c Wed Apr 5 01:44:03 2017 (r316509) +++ head/sys/opencrypto/cryptosoft.c Wed Apr 5 01:46:41 2017 (r316510) @@ -930,8 +930,11 @@ swcr_newsession(device_t dev, u_int32_t axf = &auth_hash_nist_gmac_aes_256; auth4common: len = cri->cri_klen / 8; - if (len != 16 && len != 24 && len != 32) + if (len != 16 && len != 24 && len != 32) { + swcr_freesession_locked(dev, i); + rw_runlock(&swcr_sessions_lock); return EINVAL; + } (*swd)->sw_ictx = malloc(axf->ctxsize, M_CRYPTO_DATA, M_NOWAIT); From owner-svn-src-all@freebsd.org Wed Apr 5 02:11:30 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4DE36D2EFC2; Wed, 5 Apr 2017 02:11:30 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0045.outbound.protection.outlook.com [104.47.37.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D3A9CD36; Wed, 5 Apr 2017 02:11:29 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Px1pyloNWjymYKN7W1XQEufGQbNMMxRIum3iAOFAvAI=; b=ph3dFV0FA+OjOCM7LlPiN9pJIliQEgfNY9MyPXWtZZ0ee8cU6ieJLrEm9hgwR39AfG1Bs7ZKgAUkKncPzRDsJucnlC2qUu/TZn0T3yEV8cOsr8Hl/6RQI9Y3hDngT/hXodegO/nkH/qd2ZItCfe296N3wZekZXx0v+3VGJeyUTQ= Received: from DM2PR0501CA0007.namprd05.prod.outlook.com (10.162.29.145) by BY1PR0501MB1112.namprd05.prod.outlook.com (10.160.103.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Wed, 5 Apr 2017 02:11:27 +0000 Received: from CY1NAM02FT016.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::203) by DM2PR0501CA0007.outlook.office365.com (2a01:111:e400:5148::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Wed, 5 Apr 2017 02:11:26 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp2.campus.ksu.edu; Received: from ome-vm-smtp2.campus.ksu.edu (129.130.18.151) by CY1NAM02FT016.mail.protection.outlook.com (10.152.75.164) with Microsoft SMTP Server id 15.1.1005.5 via Frontend Transport; Wed, 5 Apr 2017 02:11:26 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp2.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v352BPt5012467; Tue, 4 Apr 2017 21:11:25 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 89106248305; Tue, 4 Apr 2017 21:11:25 -0500 (CDT) Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id 3B81D248304; Tue, 4 Apr 2017 21:11:23 -0500 (CDT) Received: by mail-wm0-f50.google.com with SMTP id t189so1527394wmt.1; Tue, 04 Apr 2017 19:11:23 -0700 (PDT) X-Gm-Message-State: AFeK/H0djlJxGVwuDI+Y0s6AhfNMhvv1xH80dWqFYM+/U8cigDu6+9fq dUwtwQgYlTI9315QTHxX2mMm2nBaag== X-Received: by 10.28.88.2 with SMTP id m2mr17379002wmb.12.1491358282096; Tue, 04 Apr 2017 19:11:22 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Tue, 4 Apr 2017 19:11:01 -0700 (PDT) In-Reply-To: <201704041705.v34H5bZ5079394@repo.freebsd.org> References: <201704041705.v34H5bZ5079394@repo.freebsd.org> From: Kyle Evans Date: Tue, 4 Apr 2017 21:11:01 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316495 - head/usr.bin/grep/regex To: Conrad Meyer CC: src-committers , , X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(979002)(39400400002)(39840400002)(39860400002)(39450400003)(39850400002)(39410400002)(2980300002)(438002)(24454002)(377454003)(199003)(189002)(69234005)(46386002)(84326002)(6916009)(93516999)(450100002)(45336002)(9896002)(2950100002)(75432002)(512874002)(88552002)(606005)(7906003)(86362001)(9686003)(305945005)(498394004)(90966002)(2906002)(6306002)(356003)(236005)(53546009)(54906002)(189998001)(61266001)(6246003)(53386004)(110136004)(8936002)(5660300001)(61726006)(4326008)(55446002)(38730400002)(63696999)(50986999)(229853002)(76176999)(8576002)(54356999)(42186005)(106466001)(8676002)(67856001)(55456009)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0501MB1112; H:ome-vm-smtp2.campus.ksu.edu; FPR:; SPF:Pass; MLV:ovrnspm; A:1; MX:1; PTR:ip-18-151.net.ksu.edu; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT016; 1:8mwwlp27xgXFUuC17EwIPs16D/jQwnc2NP/4V1HTYQ9XNvlSmnTiw34osCIofUHa9n0mbE77GPnEi327kiG0ijnpFV9TZWj7UOaXhKaplhiUSthIb95QVFLpCVDWbjyTeEs30eqjlwjXQC6CCFKQt44ao+WjWv4jHsiP96sYhDK3ZCOMrovVZNx7Bd7gtXslppUIF0gY5y6KXXQ9S2W8rpilpUx9odyFEEyhFLoZQHeM1AfFpgmb9uolAnWMZRk0T3fMIR8pGEEC0l3fa7e26HVrUC+wWYaD4iI2Z6uHN7RsTcZ5VLUU5f82d+vQW7uNqfxG+Y2uZRa6yOp5y8xEmDnC7vJTBoOLpt4S9bIutnLKJOkEMSgPFuwxm8lKndBngKnPIeuY9mXsEoslGVjoEY42NNnt3rGtl7O8vJZ4dYBV0/8BCQeJ4L6kO3sTRgrr7ym/cL/gX8yACc+S2iRiqhuWDLtdf1oNji66ogwYRnYSLNwnkjW4993VH2Yuh5Epp5R4oi6xHZIEAgaW9sEXxIwWdxEr+nJ/JNaflMK4WlA= X-MS-Office365-Filtering-Correlation-Id: c529537d-61c3-465f-cf20-08d47bc910d2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:BY1PR0501MB1112; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1112; 3:cHRNmngH/CnwIt8KNzGnFhDDu4Gzg1OB3XNuFFlt+/LG3Wv4MN+y5F1BzUGrF/qtNzY5VuN0O8P29ymsppzNJGRZ8wfn87LcsLoYU3lrkSTnt/efirBUeoaEUsYB0k9rGaoClKtfr9CRas+umS/oF4UBYOM4ja6M1DXj/CcXDGSxBJSjg0bzrd9WVTA0ShaobNv3Vs1nixM4gnA5zZGSbyt3SzJ+Mq9TL5NZmGEv4jDLfqqGK+iAsspL6bs9/qD8tJ9R6i3ZmChAS6F9+PPKjOI2F0FnuKwZzV+PRBiyTufAk8aZcq4mPMQL6WZKC6rjleyi/sUoDOUw3FxIBeuW948Uy21xCkFhTnI/6hvCJdVzACSCS8STl+QlFtKqyxwfIgdCRksgKcv75a2i46AcMBYOiKxIlJr9RVYoJOt6Xz/IPVbV8xw0YTYvZRkxINS7GvZkgGOdRksyLJbHbSUSk0vUoUV4RyR4kvhnuDYH6Am2jspwZlQPE0HqMiW2QzNisp+5k434rtD+jkytDPd5vA== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1112; 25:YNiZTmrWQPeN2dr+6yyC0AJ/bHmsreAfru+PzgzVkY7uG+wvJizibgKhi0xs3Ex60sa8lAJpGNEH2ij8WIXSiC0CYrjK/XQ6ruOfKJdYJGbBQItr2jwU8V8oSie5Ld9BHw2v46ndjh168QtMnpqBGYKFGpn6+xjjNIIREy6HepE2y552a7+vsfCeBRnDxEZViS+VupSpxqVuPEQNJUvEq1KNzCczgqwZzI3QG38D+4ClEtG3I/LejPqmSICDurukUVAu/j0Xz7NfnTx9KP5C1Mq3f6srmiYias+R1ruvS1L9I+TFjyBZsoEfR4JSQL9sZTFbE7TgP8ktqvPp9P7d8358YLi2gllyzd8JD43+/a8HFo76cpCCvmNevuNAL8X6srvNrTMy83mzho9I+4F0vNA15mXJIj/wjpDI6UmuN1L5t+yTkOrMGVRSYgkRKWrbkWldiDG3A+4fd2sjkrCdkg==; 31:BjXWKV9XHaR/mp/QbWf10oJExndWY3uZqObfMQrBOlMoy8t7cnFRJbD2XdC6P7o/mRaQqp4pEu/H+DAFRS2L4xXCk79DupHA4tS/iz2kq2h59U4ETrbnnfAbr/89buGnaq9Uce/25AP3VUqgxUDTJQdGlB525dPxR2+G/kvVrKA1eYYxmYURcBp2YPki7BT4jYupgZNXiiDySwt7G40sTkWt1Zb8JTOYKYwYROUsBU/R1WDj3l/v92aOWzSuGgqYZzAY7OQQ7CrJCxy3iayvWWQyroQvrvz84ErasVOeXp8= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1112; 20:47TVUJLePzkXT9Bla2qXW4qRoYrzm3AN4UC6LD3cL3sf4LD8VWv4CNjdmV+CQn3Y74fRhJrS3NwODaCsGYbih8/JENYtyTLiJ/HoJslBqrRDhXz7GAwGKlvdMOk6LRc60yqY4UwZqQlRivH/yA3JuD/iPZksccINdZCpadB0kMsL7ODQoYSV6TZQwRIQz8Fveh3bQBp2AD8ju4vjYGn+wTLfyS1pgJrN5dlWzx5omH4VfW2UUk9TMOra7rQv2mtJeFcCxOfNEtJ5q19fhMlgZjHue6rWSb+wcVX6E72LnAmlqgpNokwFp2fqlXRG9FoaniWjMxVBwhAH+/GOtq8qyX7f17MkpcHtmLP1XmfBEhlO8zk53FpthpkJ1Udd02q+uXb4On4IeWq4H8z8DiTmcWB1bche2AgD+3MBP+PSzyr5LhGCqh5Dcq6qbniJtitd1wL/C/ZpjK/G+5ZVsUE4JtwBPfIxUe/yRfxX2OMkkU3HOQrcD0WAGa2b7R4ySSnQ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(56005881305849)(112903893386949); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(13017025)(5005006)(13015025)(13018025)(13024025)(13023025)(93006095)(93004095)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123560025)(20161123555025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(6072148); SRVR:BY1PR0501MB1112; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0501MB1112; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1112; 4:v1VEo654v98A3Qw5D6oIvnGK0J0kChW5VwYTNjXDReuk2JW2Wtocr0WmsRLNUctrFLijRWJT9HdmYgjsA3eL+cNniRA62486rJtLr9/KLBJsNk28up44o706kDFUdtYZgpix1QLWNnF7545Xad7x8VhWjB/LDLGMt7ybSTIq5hxQu/nuQCqvJ7n1A2PGSHbbtKj4F41ltYSORwFwEQIdZWd8vhRb8GSN5V2qZQ3kmeeA4wjx9V19W1Ac4ew+ZvPWlZuUoUaD3icJp/8Fv9uLMxTjcxcNa58I8vgHy0XA/Ao6KUyA+o1XtyaLE/EAZBEjIvkPhVdhwlcPw1FehE3AOKqDXmxam0iDxXp6Gn8TNDRTZA2n+MfxXXk2TLv2ac2bd9gtXEr/oVeTh5Gj+48h8N24UzQm2bRW84PD7dvRb0xLoba9wzB5/6PESosGsA9hwPFd0fXUNeizCb3J3XBkpmWADZ8AoU4jRnuZp0qL6GhaVwGgG+8BpdMjKnehESk81djY6NzSJy0O1FWaX2hqm47ItC8fmKgLuvA7n+mewQbqlVObkGUsUFK2JhPoQwIN974IJWmHqibFhG0w+Ow9bQQ7iiks5LHOj2+8TXk8Xnxl/9CSNE//V+XKlT+GEZ9PlctlWJWNQ0dlj46S9EdN37hDPgkvz606yPTBHPifotRUTQ2gzatiYP6rJ7GgkdByag7Ev0LOfLsFxUzGBi7gp6sjqr9+y6sMdHXHGrhZ9B3g9uJrZPMdHCkiqsSHf0EC0HMWdMXBaBIediT8nHotvB+8SDTAUHvp73S+3gjVujntvEglelzXeScesdUaipyy8tBCJYcelHvQabKIly55/ZrLV6MH3eLkbgtz1jxngZLiKoFPxsT/G19GCv/F1xCbSAvko1i2TneOUYDTXYoMmpB/Z3J7M80MJyAS5dJmD04= X-Forefront-PRVS: 0268246AE7 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0501MB1112; 23:3BMwf/CDZRA2uLqDJl02evzwLV7/88n6B0uUg2w?= =?us-ascii?Q?uUg6KsUIxZLp+DWbxcSZbm8dHe6EbPALLviiH+TeLf64aUWa6ulqFmdM5yb0?= =?us-ascii?Q?wu47nkjkLXIhya+6em/O00NYDY9TfBog34yBr1NnM1TIgdqX2w8GyEO99y0X?= =?us-ascii?Q?oczkqfFHddEL/oNMrHzog463W8gxggLEVl1gxVezUkdZtytgFQn6ZhB0i+BQ?= =?us-ascii?Q?8t1lEgLqwLBr6HReBURAjeaWdRBKA6OjIAp5jPFkbV58Bt2kU2tLSrwfOTbb?= =?us-ascii?Q?Phtnq1o+qbYQRwl9fOEUjFQY+b0TWOhd967iyg2OBCGIzoQPW9gnIw9rskyx?= =?us-ascii?Q?/yEfGMoiimAnTpdTQZ1nk+k7kTlSw041hHEYuxO3rIOP7d1mopSWmBfPDDro?= =?us-ascii?Q?Qlh1/99pvEZ6qff2S8l8bHAD/6hgnnmeXPH5bYnQ9VD+UPZ2Ng+tBQ6Vyxhe?= =?us-ascii?Q?B6FXgnnramxOV5cp20OEN6HKqJraidFTHuVsgKYjGIgM2ETP6OghFbXNZip1?= =?us-ascii?Q?nIg1BdyMCr2JVCbJeSNgV6tti9dRMeHEdSQIfgAdtJTt+nQy8sejgNCG5yW1?= =?us-ascii?Q?MnqqmldZAxoXjSaEgnco0FhzcpCz/mtn3ueW9cTGDlMo/aPBLyjaRvC45ZIX?= =?us-ascii?Q?BjpX73Dx1PWBnbU4ElyITyP5Su0ig4WVMIT7cZ/rG2FsDizFtw5A4Btmr9Vs?= =?us-ascii?Q?er3N/y7Nabx8OCFYbOkmLfGu58pOEP8rOPsbMvnEbtaTgqqB33V2r+RAavIz?= =?us-ascii?Q?4ubAxqG9CLMVCEB3R4avOEnqkmS3/GstrrPjBDVvzql9L5dUbg+37LHQwJwh?= =?us-ascii?Q?uwADOc5Va4o4hA/1BdMzUKM2JzXWjfRhKT/54iDFIdy3CScQVPFfN//KkpE1?= =?us-ascii?Q?JhMPGNg6s2e4uw6/2r2RyYWtCQ3aK9ddeDEuN0V8/abi+P9kqlptxkPTTbNi?= =?us-ascii?Q?ixNbouHwP2/e7kRIZRNR3wsLRtOwyjzYIe51KUnLaKv84TUK0Zon3mEidD/I?= =?us-ascii?Q?Ei9sqRsAHg0rxdVBvNKNff6eEGsk8gbn5KhxvglctPClDaFl+5p2BV/Z3qMs?= =?us-ascii?Q?vnokJ+h/ihUsgXoY25MOUf6cK5QksE9pHwieh0eHjCaQ5kUTXRgs9VAby9nG?= =?us-ascii?Q?/4lAw56ZAw/u8kOy3XgwdYQkhWYt1XFIpq2Uxd2X9XKOtmJiKIzP40ZMDp9j?= =?us-ascii?Q?NcLttKU7d24J+Yq+QynkjKFgG0pZSyxaylJK68vEstcOjAukXRynSELC1EIf?= =?us-ascii?Q?Bx5DJzswFemdSYAnQyIpy9n0lIOPr8gGYQBTdVKSxKLC/Oosi+apH9e+sdge?= =?us-ascii?Q?iZDofB7KPbn2Xbv3lWIVDvqHKWOnkhfhsCHf3mD4lSY4gi6+ppM7qaNd89sq?= =?us-ascii?Q?LCxwBHFFJWuKRvoQKbjAp+XPlvn/hQunCDh8xY7FQ3hShHmaqsrIhp6rG23e?= =?us-ascii?Q?qt51zyLhJxNoIXQItU+RlP1lTwk1ULgpIp1W85qYZHY6ryKkgU3wvdvdRJXi?= =?us-ascii?Q?Bbv/YV72Q8kC4ARQ95IR7/dlyB+zsXg8butE=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1112; 6:e34nueNONoJyMaeZOWb69LddKxx17KdxIkH3mJd/Yl9YUQdpI98hlkyrutPM7TYYNXWzBf9AIs+CZxraUzyCrK/pZWucMBiKADdIE80i19y9o9PVh2nt3pshcjLcEZrVQw0dC8ugQ0+0LJhwGPzPLXeJb3WK0JrPRPiLq/gp6PocC5Wa97z61VtKmnvrPT/XbuYhF739j5Bm8Qa1DHGJQEwZE55l1IsmggURvDkI/UhpliZ4EYc7fHeEGUwAZ6K9hhUVBqga4laoYo1/BlZ9FihrON05+LMbhvNSglXAhjTJmq/5+7EgSQOcZCwbGHiFWJy56cEs3yuAAW6Z1sxgveRJ9nyhHVhpOZZgnpKc7o8qhBVwvq/upf/777T4CpeuvFdArBaNEE8GvMn14pTaAw==; 5:OlarvnprdpWBcS5G0ZXgli9WJzwNZMLFA4JWpNZXd+LHIgqpT6C1KQXUcqkKCq0ehrJFV1BEx6PLGY7YQYA2vyeplmmdq7fzbj+L1decD2jqUAmYsfMuEc61H3L2kHnFnBq3hyQdRUvj7hmd6kbVcw==; 24:CwKffj15cgYiGTdewjHZo6Dlz69v+D3ouqN3/FLmA87PJ/tw0t56HNWqhfois8cFgjccMEUSVxBVAZKeNb/95hLNDbNvOPnODzrgGxPsHEk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1112; 7:C3jEU25uZJdcW+8AJb9/6QbGaCDccrs5m6kSku9xYBCj1JNIvgfiH+YUtU+rFAiYPehyuwNTK9zD+lX5BwA6Wz7j1Q+VDNKVdeejBRtcnrjPV8lp/SZRRzTDGERueUhwPyEbea1dvpkEv2ou2MwgBO2ObJtWUrcDtAmkbW7COoulbnz2ToM5j7iJTsRYqtVjLFuMxL/SUwhWa0nwiSFTLnPD9DLa1O85KsNOrpaFZj5c5D7XiWMFebz83alYM6sWnRJKKDTapB9IziWx1lR9WUKl4VK3x7sJIuKNdFe+HHo66lyXKDj+HYnppZfxKltxsYwap8YKhmIdF+WosUJ2qA==; 20:ufLCfj+tjXCG6M728GB50GoXTVW0NKEL2Anyd+AS+9prUSiWk/xRXSghpnio+OGAd/a5Z/EqSA27UABz7xUXY9yqrK7nq+Fn1g5lpYUG3G8MiYk8kLMs6ATiuQg3lqKYI7Y05aXnDFZjcZRCHaCayucTDQIeBpWJDQVcS1jPNao= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2017 02:11:26.4007 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp2.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0501MB1112 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 02:11:30 -0000 On Tue, Apr 4, 2017 at 12:05 PM, Conrad Meyer wrote: > Author: cem > Date: Tue Apr 4 17:05:37 2017 > New Revision: 316495 > URL: https://svnweb.freebsd.org/changeset/base/316495 > > Log: > bsdgrep(1): Fix errors with invalid expressions > > Invalid expressions with an ultimate compiled pattern length of 0 (e.g., > "grep -E {") were not taken into account and caused a segfault while > trying > to fill in the good suffix table. > > Submitted by: Kyle Evans > Reviewed by: me > Differential Revision: https://reviews.freebsd.org/D10113 Hi =) FYI- PR: 194823 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194823 From owner-svn-src-all@freebsd.org Wed Apr 5 02:20:28 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C6A6FD2F2D1 for ; Wed, 5 Apr 2017 02:20:28 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1.freebsd.org (Postfix) with SMTP id A11993F1 for ; Wed, 5 Apr 2017 02:20:28 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: (qmail 87528 invoked by uid 99); 5 Apr 2017 02:20:27 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Apr 2017 02:20:27 +0000 Received: from [192.168.0.104] (unknown [190.157.139.67]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 6FF841A060E; Wed, 5 Apr 2017 02:20:18 +0000 (UTC) From: Pedro Giffuni Message-Id: <25D20383-8A5B-4F78-B8B4-12F9B3521626@FreeBSD.org> Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\)) Subject: Re: svn commit: r316492 - in head/usr.bin/grep: . regex Date: Tue, 4 Apr 2017 21:21:08 -0500 In-Reply-To: Cc: "Ngie Cooper (yaneurabeya)" , Conrad Meyer , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers , Dimitry Andric To: Kyle Evans References: <201704041608.v34G8qSo055328@repo.freebsd.org> <4D675D2F-7D6F-4AF2-AE10-5DF19D4158D0@gmail.com> <2CA2F0F0-17E4-4E9F-BDD6-10EDFECDB679@gmail.com> X-Mailer: Apple Mail (2.3259) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 02:20:28 -0000 > On Apr 4, 2017, at 14:48, Kyle Evans wrote: >=20 > On Tue, Apr 4, 2017 at 2:45 PM, Ngie Cooper (yaneurabeya) = > wrote: >=20 > > On Apr 4, 2017, at 12:04, Conrad Meyer > wrote: > > > > On Tue, Apr 4, 2017 at 11:56 AM, Dimitry Andric > wrote: > >> On 4 Apr 2017, at 19:14, Ngie Cooper (yaneurabeya) = > wrote: > >>> Where did xmalloc.c originate from? > >> > >> GNU. > > > > I believe this to be completely incorrect. > > > >> Almost all software from the GNU project relies on malloc wrappers > >> which abort the program on allocation failures. > > > > That is not what bsdgrep's xmalloc() did, if you read the code. It > > simply tracks all allocations for basic leak analysis. > > > > Abort on allocation failure would be a perfectly reasonable behavior > > for bsdgrep(1), too. >=20 > There are multiple, competing definitions floating around the = internet. I was genuinely curious where this variant came from because I = wanted to make sure we weren=E2=80=99t just zapping a file that some = upstream uses somewhere, in the event we were going to bring down = further updates, again, from said upstream source. >=20 > FWIW- I did scour the internet for other bsdgrep implementations and = did not find a trace of this in any of the others that I found, to = include the OS X implementation. In fact, as I recall, most of them = didn't even have the regex/ bits that we do, presumably they were using = regex(3) but it's been a while since I was poking around. Well, for the history of bsdgrep, you have to go back to freegrep: https://jameshoward.us/software/freegrep/ = but the most significant changes are likely to be due to Gabor: https://wiki.freebsd.org/BSDgrep Pedro. From owner-svn-src-all@freebsd.org Wed Apr 5 02:22:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EEB7CD2F392; Wed, 5 Apr 2017 02:22:00 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pf0-x243.google.com (mail-pf0-x243.google.com [IPv6:2607:f8b0:400e:c00::243]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C1DB98BC; Wed, 5 Apr 2017 02:22:00 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pf0-x243.google.com with SMTP id 197so33078pfv.0; Tue, 04 Apr 2017 19:22:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=wWcZgN0FqYbXKPDyAPFCAbFRvsWZxd7CIa7UUVACan4=; b=KUNxZxTvLXubU9KQp/qwIyfvl7UEz3ZgnqvCu0E3bgMkPaNFEOzZw1d9Rdp9QiEl8H F8iV2C+Ehzt2kzoF4gFE9sRiG0/zpiJhcL13ynxqyGGVGbojHYjMm0sSRDvPvQfJytCy VEqdmAC9vhqT2De7lqEuf/u9bJyILBEhVxkkf6P9ZKc7JS1QltBUz+1RjHD+9CBB9zjo Y+AHojrF7IJ2DGP/tXEatx+jdxsVWnBz1EcoAzM4TkSWXrrcUIpE819/4vf9sQ5koEPz NOVYWK3qC8aarpyoDctlgT56V2aQ1xWw3YXst0wpCwPMVEtSzkkafrtw+JBl2qE+CFpC Thhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=wWcZgN0FqYbXKPDyAPFCAbFRvsWZxd7CIa7UUVACan4=; b=Vni8wscU2YrwEq9kgqxDM+ymSbVs5LO1tpoN9e/iNygigZa92x08FgDK6CM8DSoROX /L4yBD+jta9jPmYSVfTpJg1ItHniF8JdmU+cSIEzfrJ8KkWvUtwf73S/wtH7E1d1ojac bndVkDGEu7gHZDjF1jXZDCW1g0+u0xG5bZVucydERjonAi+jfs/XyL4vrsHRKn4AIjMi GkiY7EHhtBGEcHNTwCkXpDLgV4eKdlWiE8s4K9sZuPW3t2roDnWRpaT/1y1MsXX17kfj dXDBeJO9p15H9ZZu8jVmGGxJ36PEF+yA1nNzyfAv028pGnt9GWKQ7qSA2JrESYqQtIip n1iw== X-Gm-Message-State: AFeK/H2JUsEFqSkeknd24MD6e8wXmnnrqZa/FrxSEp8bUEYSOabtkkJMpcDGdhYegyvwVw== X-Received: by 10.84.178.101 with SMTP id y92mr32925341plb.171.1491358920249; Tue, 04 Apr 2017 19:22:00 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id s27sm33974942pfi.10.2017.04.04.19.21.59 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 04 Apr 2017 19:21:59 -0700 (PDT) Subject: Re: svn commit: r316492 - in head/usr.bin/grep: . regex Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_7A898D46-24EB-4B69-BEA2-EF8E4CCD0680"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <25D20383-8A5B-4F78-B8B4-12F9B3521626@FreeBSD.org> Date: Tue, 4 Apr 2017 19:21:58 -0700 Cc: Kyle Evans , Conrad Meyer , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers , Dimitry Andric Message-Id: <73AAB945-B506-4986-AAF8-A922AF38C496@gmail.com> References: <201704041608.v34G8qSo055328@repo.freebsd.org> <4D675D2F-7D6F-4AF2-AE10-5DF19D4158D0@gmail.com> <2CA2F0F0-17E4-4E9F-BDD6-10EDFECDB679@gmail.com> <25D20383-8A5B-4F78-B8B4-12F9B3521626@FreeBSD.org> To: Pedro Giffuni X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 02:22:01 -0000 --Apple-Mail=_7A898D46-24EB-4B69-BEA2-EF8E4CCD0680 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Apr 4, 2017, at 19:21, Pedro Giffuni wrote: >=20 >> On Apr 4, 2017, at 14:48, Kyle Evans wrote: >>=20 >> On Tue, Apr 4, 2017 at 2:45 PM, Ngie Cooper (yaneurabeya) = wrote: >>=20 >> > On Apr 4, 2017, at 12:04, Conrad Meyer wrote: >> > >> > On Tue, Apr 4, 2017 at 11:56 AM, Dimitry Andric = wrote: >> >> On 4 Apr 2017, at 19:14, Ngie Cooper (yaneurabeya) = wrote: >> >>> Where did xmalloc.c originate from? >> >> >> >> GNU. >> > >> > I believe this to be completely incorrect. >> > >> >> Almost all software from the GNU project relies on malloc wrappers >> >> which abort the program on allocation failures. >> > >> > That is not what bsdgrep's xmalloc() did, if you read the code. It >> > simply tracks all allocations for basic leak analysis. >> > >> > Abort on allocation failure would be a perfectly reasonable = behavior >> > for bsdgrep(1), too. >>=20 >> There are multiple, competing definitions floating around the = internet. I was genuinely curious where this variant came from because I = wanted to make sure we weren=E2=80=99t just zapping a file that some = upstream uses somewhere, in the event we were going to bring down = further updates, again, from said upstream source. >>=20 >> FWIW- I did scour the internet for other bsdgrep implementations and = did not find a trace of this in any of the others that I found, to = include the OS X implementation. In fact, as I recall, most of them = didn't even have the regex/ bits that we do, presumably they were using = regex(3) but it's been a while since I was poking around. >=20 > Well, for the history of bsdgrep, you have to go back to freegrep: >=20 > https://jameshoward.us/software/freegrep/ >=20 > but the most significant changes are likely to be due to Gabor: >=20 > https://wiki.freebsd.org/BSDgrep So=E2=80=A6. Gabor added xmalloc then ;p=E2=80=A6 -Ngie --Apple-Mail=_7A898D46-24EB-4B69-BEA2-EF8E4CCD0680 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJY5FTGAAoJEPWDqSZpMIYVzJoP/2J2GJ0GWcC9fTkOHdMUe08w fAUVSiRL/dn8OKbHrdITlzPY3aoglXLRLETmNn80YYxxrLI3OpjQhxItHpM4Hmib u1nAp46Bo9W4pt68I+J5ITsrApEr7K/XE5D6Cg2IbWzVd4/seBM4k/qOn6aP2tA7 4W2zn1O2Wprsm4+MZEtsu9pr5o256vqDhBkzLJWIBtDIePEVSHypS/ZyuxDefrTX /K5rCedjHxZOpGdNBc4LbaSgu0kEZs+yChGwE9pqtIltCEfv1el1QbKljQw70WE1 bccJ1fYOKYWMfyoDlPzZ0NWZq6adL/hM+GVR6SBTM4avU/i8oCcZJ7tNgM8WhFzM AB69pTXfRj95OCEgG8I+d3ZDXeE3h2DYe2L9Uj0zqL4v/8O+nxsVpZJN1Rx3ZGBs 2NPksq7VjPm2RsSidbRFWCy1p7qhymgaiiw5g+10ilFQzHUpm0o4Gz+FjFxMTeiq g4N9lr3IeEPt8Rz0XfFQTRIKF6PbK0PaiZURLCExkZ/SIHyb0Mhtrqllu8XJHAyj xDH6kHSNhl0EETdt3/c5SpyxA8W8I1YmodbOnfzkmRpnEpHJ7Fljw/K+zkVNuznh /Wb3sWVTm5cM3mCZpLV8AMN4E4vTT7ZUb0qZrZs8VwLrWNFEK2HNCwOwTPrVMFTS M+SQBYgQsqH3C88dmKx5 =Rwgb -----END PGP SIGNATURE----- --Apple-Mail=_7A898D46-24EB-4B69-BEA2-EF8E4CCD0680-- From owner-svn-src-all@freebsd.org Wed Apr 5 02:40:54 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85972D2F864; Wed, 5 Apr 2017 02:40:54 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48A9EFE5; Wed, 5 Apr 2017 02:40:54 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v352ert5016090; Wed, 5 Apr 2017 02:40:53 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v352erAU016087; Wed, 5 Apr 2017 02:40:53 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201704050240.v352erAU016087@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 5 Apr 2017 02:40:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316511 - in head: contrib/compiler-rt/lib/builtins lib/libcompiler_rt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 02:40:54 -0000 Author: jhb Date: Wed Apr 5 02:40:53 2017 New Revision: 316511 URL: https://svnweb.freebsd.org/changeset/base/316511 Log: Add an implementation of __ffssi2() derived from __ffsdi2(). Newer versions of GCC include an __ffssi2() symbol in libgcc and the compiler can emit calls to it in generated code. This is true for at least GCC 6.2 when compiling world for mips and mips64. Reviewed by: jmallett, dim Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D10086 Added: head/contrib/compiler-rt/lib/builtins/ffssi2.c (contents, props changed) Modified: head/contrib/compiler-rt/lib/builtins/README.txt head/lib/libcompiler_rt/Makefile.inc Modified: head/contrib/compiler-rt/lib/builtins/README.txt ============================================================================== --- head/contrib/compiler-rt/lib/builtins/README.txt Wed Apr 5 01:46:41 2017 (r316510) +++ head/contrib/compiler-rt/lib/builtins/README.txt Wed Apr 5 02:40:53 2017 (r316511) @@ -45,6 +45,7 @@ si_int __ctzsi2(si_int a); // count tra si_int __ctzdi2(di_int a); // count trailing zeros si_int __ctzti2(ti_int a); // count trailing zeros +si_int __ffssi2(si_int a); // find least significant 1 bit si_int __ffsdi2(di_int a); // find least significant 1 bit si_int __ffsti2(ti_int a); // find least significant 1 bit Added: head/contrib/compiler-rt/lib/builtins/ffssi2.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/compiler-rt/lib/builtins/ffssi2.c Wed Apr 5 02:40:53 2017 (r316511) @@ -0,0 +1,29 @@ +/* ===-- ffssi2.c - Implement __ffssi2 -------------------------------------=== + * + * The LLVM Compiler Infrastructure + * + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. + * + * ===----------------------------------------------------------------------=== + * + * This file implements __ffssi2 for the compiler_rt library. + * + * ===----------------------------------------------------------------------=== + */ + +#include "int_lib.h" + +/* Returns: the index of the least significant 1-bit in a, or + * the value zero if a is zero. The least significant bit is index one. + */ + +COMPILER_RT_ABI si_int +__ffssi2(si_int a) +{ + if (a == 0) + { + return 0; + } + return __builtin_ctz(a) + 1; +} Modified: head/lib/libcompiler_rt/Makefile.inc ============================================================================== --- head/lib/libcompiler_rt/Makefile.inc Wed Apr 5 01:46:41 2017 (r316510) +++ head/lib/libcompiler_rt/Makefile.inc Wed Apr 5 02:40:53 2017 (r316511) @@ -38,6 +38,7 @@ SRCF+= divxc3 SRCF+= enable_execute_stack SRCF+= eprintf SRCF+= extendhfsf2 +SRCF+= ffssi2 SRCF+= ffsdi2 SRCF+= ffsti2 SRCF+= fixdfdi From owner-svn-src-all@freebsd.org Wed Apr 5 02:52:50 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9F440D2FD4F; Wed, 5 Apr 2017 02:52:50 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6C75AA8D; Wed, 5 Apr 2017 02:52:50 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v352qnsk021616; Wed, 5 Apr 2017 02:52:49 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v352qnG8021615; Wed, 5 Apr 2017 02:52:49 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201704050252.v352qnG8021615@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 5 Apr 2017 02:52:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316512 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 02:52:50 -0000 Author: jhb Date: Wed Apr 5 02:52:49 2017 New Revision: 316512 URL: https://svnweb.freebsd.org/changeset/base/316512 Log: Use correct linker emulation name for armeb. MFC after: 1 week Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D10085 Modified: head/sys/conf/kern.mk Modified: head/sys/conf/kern.mk ============================================================================== --- head/sys/conf/kern.mk Wed Apr 5 02:40:53 2017 (r316511) +++ head/sys/conf/kern.mk Wed Apr 5 02:52:49 2017 (r316512) @@ -259,7 +259,7 @@ CFLAGS+= -std=${CSTD} LD_EMULATION_aarch64=aarch64elf LD_EMULATION_amd64=elf_x86_64_fbsd LD_EMULATION_arm=armelf_fbsd -LD_EMULATION_armeb=armelf_fbsd +LD_EMULATION_armeb=armelfb_fbsd LD_EMULATION_armv6=armelf_fbsd LD_EMULATION_i386=elf_i386_fbsd LD_EMULATION_mips= elf32btsmip_fbsd From owner-svn-src-all@freebsd.org Wed Apr 5 03:00:53 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D2722D2FEBE; Wed, 5 Apr 2017 03:00:53 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A2E26CD1; Wed, 5 Apr 2017 03:00:53 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3530qfD024094; Wed, 5 Apr 2017 03:00:52 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3530qco024093; Wed, 5 Apr 2017 03:00:52 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201704050300.v3530qco024093@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 5 Apr 2017 03:00:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316513 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 03:00:53 -0000 Author: jhb Date: Wed Apr 5 03:00:52 2017 New Revision: 316513 URL: https://svnweb.freebsd.org/changeset/base/316513 Log: Sync SYSTEM_LD in Makefile.arm with kern.pre.mk. - Add --no-warn-mismatch. - Use same whitespace to make future updates simpler. Reviewed by: imp (part of a larger change) Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D10085 Modified: head/sys/conf/Makefile.arm Modified: head/sys/conf/Makefile.arm ============================================================================== --- head/sys/conf/Makefile.arm Wed Apr 5 02:52:49 2017 (r316512) +++ head/sys/conf/Makefile.arm Wed Apr 5 03:00:52 2017 (r316513) @@ -57,8 +57,9 @@ CFLAGS += -mllvm -arm-enable-ehabi genassym.o: bus_if.h device_if.h SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${_LDFLAGS} \ - -warn-common -export-dynamic -dynamic-linker /red/herring -o \ - ${FULLKERNEL}.noheader -X ${SYSTEM_OBJS} vers.o + --no-warn-mismatch --warn-common --export-dynamic \ + --dynamic-linker /red/herring \ + -o ${FULLKERNEL}.noheader -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL +=;sed s/" + SIZEOF_HEADERS"// ldscript.$M\ >ldscript.$M.noheader; \ ${SYSTEM_LD_}; \ From owner-svn-src-all@freebsd.org Wed Apr 5 03:05:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82698D2E3B1; Wed, 5 Apr 2017 03:05:06 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5CDD01996; Wed, 5 Apr 2017 03:05:06 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v353558F026694; Wed, 5 Apr 2017 03:05:05 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35355ti026690; Wed, 5 Apr 2017 03:05:05 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201704050305.v35355ti026690@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 5 Apr 2017 03:05:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316514 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 03:05:06 -0000 Author: jhb Date: Wed Apr 5 03:05:04 2017 New Revision: 316514 URL: https://svnweb.freebsd.org/changeset/base/316514 Log: Always pass the linker emulation via -m when linking modules and kernels. Previously the linker emulation was only passed when building binary objects for firmware modules. This change always passes the desired output format for kernel modules and kernels rather than requiring the toolchain's default output format to match the desired output format. This in turn permits use of external toolchains whose default output format does not match the desired output format. Reviewed by: imp, emaste Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D10085 Modified: head/sys/conf/Makefile.arm head/sys/conf/kern.mk head/sys/conf/kern.pre.mk head/sys/conf/kmod.mk Modified: head/sys/conf/Makefile.arm ============================================================================== --- head/sys/conf/Makefile.arm Wed Apr 5 03:00:52 2017 (r316513) +++ head/sys/conf/Makefile.arm Wed Apr 5 03:05:04 2017 (r316514) @@ -56,8 +56,8 @@ CFLAGS += -mllvm -arm-enable-ehabi # hack because genassym.c includes sys/bus.h which includes these. genassym.o: bus_if.h device_if.h -SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${_LDFLAGS} \ - --no-warn-mismatch --warn-common --export-dynamic \ +SYSTEM_LD_ = ${LD} -m ${LD_EMULATION} -Bdynamic -T ldscript.$M.noheader \ + ${_LDFLAGS} --no-warn-mismatch --warn-common --export-dynamic \ --dynamic-linker /red/herring \ -o ${FULLKERNEL}.noheader -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL +=;sed s/" + SIZEOF_HEADERS"// ldscript.$M\ Modified: head/sys/conf/kern.mk ============================================================================== --- head/sys/conf/kern.mk Wed Apr 5 03:00:52 2017 (r316513) +++ head/sys/conf/kern.mk Wed Apr 5 03:05:04 2017 (r316514) @@ -254,8 +254,7 @@ CFLAGS+= -std=iso9899:1999 CFLAGS+= -std=${CSTD} .endif # CSTD -# Set target-specific linker emulation name. Used by ld -b binary to convert -# binary files into ELF objects. +# Set target-specific linker emulation name. LD_EMULATION_aarch64=aarch64elf LD_EMULATION_amd64=elf_x86_64_fbsd LD_EMULATION_arm=armelf_fbsd Modified: head/sys/conf/kern.pre.mk ============================================================================== --- head/sys/conf/kern.pre.mk Wed Apr 5 03:00:52 2017 (r316513) +++ head/sys/conf/kern.pre.mk Wed Apr 5 03:05:04 2017 (r316514) @@ -184,8 +184,9 @@ MD_ROOT_SIZE_CONFIGURED!= grep MD_ROOT_S SYSTEM_OBJS+= embedfs_${MFS_IMAGE:T:R}.o .endif .endif -SYSTEM_LD= @${LD} -Bdynamic -T ${LDSCRIPT} ${_LDFLAGS} --no-warn-mismatch \ - --warn-common --export-dynamic --dynamic-linker /red/herring \ +SYSTEM_LD= @${LD} -m ${LD_EMULATION} -Bdynamic -T ${LDSCRIPT} ${_LDFLAGS} \ + --no-warn-mismatch --warn-common --export-dynamic \ + --dynamic-linker /red/herring \ -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o SYSTEM_LD_TAIL= @${OBJCOPY} --strip-symbol gcc2_compiled. ${.TARGET} ; \ ${SIZE} ${.TARGET} ; chmod 755 ${.TARGET} Modified: head/sys/conf/kmod.mk ============================================================================== --- head/sys/conf/kmod.mk Wed Apr 5 03:00:52 2017 (r316513) +++ head/sys/conf/kmod.mk Wed Apr 5 03:05:04 2017 (r316514) @@ -210,7 +210,8 @@ ${PROG}.debug: ${FULLPROG} .if ${__KLD_SHARED} == yes ${FULLPROG}: ${KMOD}.kld .if ${MACHINE_CPUARCH} != "aarch64" - ${LD} -Bshareable ${_LDFLAGS} -o ${.TARGET} ${KMOD}.kld + ${LD} -m ${LD_EMULATION} -Bshareable ${_LDFLAGS} -o ${.TARGET} \ + ${KMOD}.kld .else #XXXKIB Relocatable linking in aarch64 ld from binutils 2.25.1 does # not work. The linker corrupts the references to the external @@ -218,7 +219,7 @@ ${FULLPROG}: ${KMOD}.kld # and should therefore loose the GOT entry. The problem seems # to be fixed in the binutils-gdb git HEAD as of 2015-10-04. Hack # below allows to get partially functioning modules for now. - ${LD} -Bshareable ${_LDFLAGS} -o ${.TARGET} ${OBJS} + ${LD} -m ${LD_EMULATION} -Bshareable ${_LDFLAGS} -o ${.TARGET} ${OBJS} .endif .if !defined(DEBUG_FLAGS) ${OBJCOPY} --strip-debug ${.TARGET} @@ -235,7 +236,7 @@ ${KMOD}.kld: ${OBJS} .else ${FULLPROG}: ${OBJS} .endif - ${LD} ${_LDFLAGS} -r -d -o ${.TARGET} ${OBJS} + ${LD} -m ${LD_EMULATION} ${_LDFLAGS} -r -d -o ${.TARGET} ${OBJS} .if ${MK_CTF} != "no" ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS} .endif From owner-svn-src-all@freebsd.org Wed Apr 5 03:05:36 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4446BD2E44E; Wed, 5 Apr 2017 03:05:36 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id EB3541AFB; Wed, 5 Apr 2017 03:05:35 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id vbGFcvyRmsa1kvbGGc2mNg; Tue, 04 Apr 2017 21:05:33 -0600 X-Authority-Analysis: v=2.2 cv=W+NIbVek c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=AzvcPWV-tVgA:10 a=XldT38RWNwACPDQzwzUA:9 a=6I5d2MoRAAAA:8 a=S2rijjgfyQz5_Tc-7f0A:9 a=CjuIK1q_8ugA:10 a=gj73RwQciNnutpJ6FToA:9 a=hquHOILUSkIA:10 a=YxBL1-UpAAAA:8 a=ics_IjAVWSmO8OVX31YA:9 a=BOg4e644cxQA:10 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 30D2C27E; Tue, 4 Apr 2017 20:05:31 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v3535VE2006000; Tue, 4 Apr 2017 20:05:31 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201704050305.v3535VE2006000@slippy.cwsent.com> X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316487 - head/etc In-Reply-To: Message from =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= of "Tue, 04 Apr 2017 11:43:31 -0000." <201704041143.v34BhVNA046204@repo.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_1491361230_35920" Date: Tue, 04 Apr 2017 20:05:31 -0700 X-CMAE-Envelope: MS4wfOHRffaT2NUtRC9CALf07aDls7ACQluaQolpVYwb/IbKOpkZokqRxmmd6g27Vdq+WvytfF9cjIqFFfXbVf54VYokKLaj3njAp06tK79T9t8kdfecS07S eZkeJ8x8pC5l+T8dQjpENXvr8p8oNUsVGoOyBi2KRVxYb4vKbq/syqzuWAt10R9tlMPJNqdGCsW2buIBSETljDFJTPrrg7zQEqdGsX4LWBZ+GLVCW8b6qevM ybXYdHdjsoCrG69FaEXl+7XU+J5Qi+t0+PoRtGxjowAPiKAUCrD5Hf4Sb7GD6PwV X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 03:05:36 -0000 This is a multipart MIME message. --==_Exmh_1491361230_35920 Content-Type: text/plain; charset=us-ascii In message <201704041143.v34BhVNA046204@repo.freebsd.org>, =?UTF-8?Q?Dag-Erling _Sm=c3=b8rgrav?= writes: > Author: des > Date: Tue Apr 4 11:43:31 2017 > New Revision: 316487 > URL: https://svnweb.freebsd.org/changeset/base/316487 > > Log: > Allow command modifiers (fast, quiet etc.) to be stacked in any order. > Add a "debug" modifier that sets rc_debug. > > MFC after: 3 weeks > > Modified: > head/etc/rc.subr > > Modified: head/etc/rc.subr > ============================================================================= > = > --- head/etc/rc.subr Tue Apr 4 08:17:03 2017 (r316486) > +++ head/etc/rc.subr Tue Apr 4 11:43:31 2017 (r316487) > @@ -703,10 +703,11 @@ check_startmsgs() > # If argument has a given prefix, then change the operation as follows: > # Prefix Operation > # ------ --------- > -# fast Skip the pid check, and set rc_fast=yes, rc_quiet=yes > -# force Set ${rcvar} to YES, and set rc_force=yes > -# one Set ${rcvar} to YES > -# quiet Don't output some diagnostics, and set rc_quiet=yes > +# debug Enable debugging messages and set rc_debug to yes > +# fast Skip the pid check and set rc_fast and rc_quiet to yes > +# force Skip sanity checks and set ${rcvar} and rc_force to yes > +# one Set ${rcvar} and set rc_one to yes > +# quiet Don't output some diagnostics, and set rc_quiet to yes > # > # The following globals are used: > # > @@ -856,6 +857,8 @@ check_startmsgs() > # rc_arg Argument to command, after fast/force/one processing > # performed > # > +# rc_debug True if "debug" was provided > +# > # rc_flags Flags to start the default command with. > # Defaults to ${name}_flags, unless overridden > # by $flags from the environment. > @@ -863,9 +866,11 @@ check_startmsgs() > # > # rc_pid PID of command (if appropriate) > # > -# rc_fast Not empty if "fast" was provided (q.v.) > +# rc_fast Not empty if "fast" was provided > +# > +# rc_force Not empty if "force" was provided > # > -# rc_force Not empty if "force" was provided (q.v.) > +# rc_one Not empty if "one" was provided > # > # rc_quiet Not empty if "quiet" was provided > # > @@ -884,34 +889,47 @@ run_rc_command() > shift 1 > rc_extra_args="$*" > > - _rc_prefix= > - case "$rc_arg" in > - fast*) # "fast" prefix; don't check pid > - rc_arg=${rc_arg#fast} > - rc_fast=yes > - rc_quiet=yes > - ;; > - force*) # "force" prefix; always run > - rc_force=yes > - _rc_prefix=force > - rc_arg=${rc_arg#${_rc_prefix}} > - if [ -n "${rcvar}" ]; then > - eval ${rcvar}=YES > - fi > - ;; > - one*) # "one" prefix; set ${rcvar}=yes > - _rc_prefix=one > - rc_arg=${rc_arg#${_rc_prefix}} > + : ${rc_debug:=no} ${rc_fast:=no} ${rc_force:=no} ${rc_one:=no} ${rc_qui > et:=no} > + while :; do > + case "$rc_arg" in > + debug*) # "debug" prefix; enable debugging > + rc_debug=yes > + rc_quiet=no > + rc_arg=${rc_arg#debug} > + _rc_prefix="${_rc_prefix}debug" > + ;; > + fast*) # "fast" prefix; don't check pid > + rc_fast=yes > + rc_quiet=yes > + rc_arg=${rc_arg#fast} > + _rc_prefix="${_rc_prefix}fast" > + ;; > + force*) # "force" prefix; always run > + rc_force=yes > + rc_arg=${rc_arg#force} > + _rc_prefix="${_rc_prefix}force" > + ;; > + one*) # "one" prefix; set ${rcvar}=yes > + rc_one=yes > + rc_arg=${rc_arg#one} > + _rc_prefix="${_rc_prefix}one" > + ;; > + quiet*) # "quiet" prefix; omit some messages > + rc_quiet=yes > + rc_arg=${rc_arg#quiet} > + _rc_prefix="${_rc_prefix}quiet" > + ;; > + *) > + break > + ;; > + esac > + done > + if checkyesno rc_force || checkyesno rc_one ; then > if [ -n "${rcvar}" ]; then > eval ${rcvar}=YES > fi > - ;; > - quiet*) # "quiet" prefix; omit some messages > - _rc_prefix=quiet > - rc_arg=${rc_arg#${_rc_prefix}} > - rc_quiet=yes > - ;; > - esac > + fi > + debug "_rc_prefix=${_rc_prefix}" > > eval _override_command=\$${name}_program > command=${_override_command:-$command} > > Hi des, This patch caused some boot failures because the contents of rc_force were redefined from "yes" (for yes) and NULL (for no) to the words "yes" and "no". This in turn caused etc/rc.d/dhclient to assume force when $rc_force was not NULL (test -z failed). Interfaces with static IP addresses invoked rc.d/dhclient through devd. The attached patch should make all instances $rc_force consistent with your change. --==_Exmh_1491361230_35920 Content-Type: text/plain ; name="r316487-fix.diff"; charset=us-ascii Content-Description: r316487-fix.diff Content-Disposition: attachment; filename="r316487-fix.diff" Index: rc.d/bgfsck =================================================================== --- rc.d/bgfsck (revision 316487) +++ rc.d/bgfsck (working copy) @@ -26,7 +26,7 @@ bgfsck_start() { : ${background_fsck_delay=0} - if [ -n "${rc_force}" ]; then + if checkyesno rc_force; then background_fsck_delay=0 fi if [ ${background_fsck_delay} -lt 0 ]; then @@ -38,7 +38,7 @@ if [ "${background_fsck_delay}" -gt 0 ]; then bgfsck_msg="${bgfsck_msg} in ${background_fsck_delay} seconds" fi - if [ -z "${rc_force}" ]; then + if ! checkyeno rc_force; then check_startmsgs && echo "${bgfsck_msg}." fi Index: rc.d/dhclient =================================================================== --- rc.d/dhclient (revision 316487) +++ rc.d/dhclient (working copy) @@ -22,7 +22,7 @@ # time, so we're testing it in the pre* hooks. dhclient_pre_check() { - if [ -z "${rc_force}" ] && ! dhcpif $ifn; then + if ! checkyesno rc_force && ! dhcpif $ifn; then local msg msg="'$ifn' is not a DHCP-enabled interface" if [ -z "${rc_quiet}" ]; then Index: rc.subr =================================================================== --- rc.subr (revision 316487) +++ rc.subr (working copy) @@ -1156,7 +1156,7 @@ ( run_rc_command ${_rc_prefix}stop $rc_extra_args ) ( run_rc_command ${_rc_prefix}start $rc_extra_args ) _return=$? - [ $_return -ne 0 ] && [ -z "$rc_force" ] && return 1 + [ $_return -ne 0 ] && ! checkyesno rc_force && return 1 _run_rc_postcmd ;; @@ -1268,7 +1268,7 @@ _return=$? # If precmd failed and force isn't set, request exit. - if [ $_return -ne 0 ] && [ -z "$rc_force" ]; then + if [ $_return -ne 0 ] && ! checkyesno rc_force; then return 1 fi fi @@ -1295,7 +1295,7 @@ _return=$? # If command failed and force isn't set, request exit. - if [ $_return -ne 0 ] && [ -z "$rc_force" ]; then + if [ $_return -ne 0 ] && ! checkyesno rc_force; then return 1 fi @@ -2011,7 +2011,7 @@ for _f in $required_vars; do if ! checkyesno $_f; then warn "\$${_f} is not enabled." - if [ -z "$rc_force" ]; then + if ! checkyesno $rc_force; then return 1 fi fi @@ -2020,7 +2020,7 @@ for _f in $required_dirs; do if [ ! -d "${_f}/." ]; then warn "${_f} is not a directory." - if [ -z "$rc_force" ]; then + if ! checkyesno $rc_force; then return 1 fi fi @@ -2029,7 +2029,7 @@ for _f in $required_files; do if [ ! -r "${_f}" ]; then warn "${_f} is not readable." - if [ -z "$rc_force" ]; then + if ! checkyesno $rc_force; then return 1 fi fi @@ -2053,7 +2053,7 @@ *) _args="${_f}" ;; esac if ! load_kld ${_args}; then - if [ -z "$rc_force" ]; then + if ! checkyesno rc_force; then return 1 fi fi --==_Exmh_1491361230_35920 Content-Type: text/plain; charset=us-ascii Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. --==_Exmh_1491361230_35920-- From owner-svn-src-all@freebsd.org Wed Apr 5 03:18:42 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 08249D2E887; Wed, 5 Apr 2017 03:18:42 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x235.google.com (mail-pg0-x235.google.com [IPv6:2607:f8b0:400e:c05::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CC6D91FCC; Wed, 5 Apr 2017 03:18:41 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x235.google.com with SMTP id 21so729792pgg.1; Tue, 04 Apr 2017 20:18:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=vdgGewFz1FGm9N9oBa83h6aTLd9l23UddtqeECcaS50=; b=s38o4HdhpnjkZ4qQTftmF86lCw0Eui3M1L+3flcz7YL1YtSpCzF9XyGOknHR3Pz9Ms 8IMGySdutkw57UPTh+SBAWRSyMDuI4l9Ko2JFf8lEIjJni5pr0gneMZGaO2bwtucByxT 0PoliH3dh2z/2HLwMoN7BpcTZ/S0sxQHlbp27Mq3V2nZLbh66qjVhnn9UKKvBIVTuTuz ygxmWdYEoyT9YEnNeYQMX0IET/eQDmHLUX39yKv8Z5fezw7z//f3o0kcbF4zbXJzU8gG lsLepb0OTvnCCpumkq6TrRTepsGjLkvxCZWDkKxyh22Ud3pggieuczHIn4cZF1Ulf7S+ Ov3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=vdgGewFz1FGm9N9oBa83h6aTLd9l23UddtqeECcaS50=; b=Uf1ve0XySuxrjQqUwaeBexpS5oyPpTSsNeA/1JUWGELJKgdsovJdQiazfk6GE7hVNp dkOtiDHf5Z0/hweah5XfygJRcpAZYM3Nn045DE3hzmHghCNiSZTS0oR5ozNSCUrkbtdh Ua+5JpIibiuEMpe38zmbl4gGb+M3gTlO5OELad7oxcVDKzfDtPBbPSRG7M5m6r4Oq8HN 1O4VVbkWiPTrZCWdsof13SGkwGYHRjUs7rHkLp/ATC4RwesaRN7HWE01X0bNB5pSDqcC dBklMRm+WVTI7s443/HnTH0IuMsjYjjOuT5Ue4gDJI35JnSyr8npaIc2FkDRTm/fS3To RCfw== X-Gm-Message-State: AFeK/H3XAp8+GFtTBl4Yt4CTlEKZbwu6nmq4npu8Wz3PFjqR9y+N1i7Ej7HoSYH9N7hUow== X-Received: by 10.98.210.133 with SMTP id c127mr27434877pfg.83.1491362321081; Tue, 04 Apr 2017 20:18:41 -0700 (PDT) Received: from [192.168.50.133] (50-251-209-113-static.hfc.comcastbusiness.net. [50.251.209.113]) by smtp.gmail.com with ESMTPSA id e5sm34113303pga.13.2017.04.04.20.18.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Apr 2017 20:18:40 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r316487 - head/etc From: Ngie Cooper X-Mailer: iPhone Mail (14E277) In-Reply-To: <201704050305.v3535VE2006000@slippy.cwsent.com> Date: Tue, 4 Apr 2017 20:18:36 -0700 Cc: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <58CC0B95-0423-429E-BA73-0F0BD3A2ABBE@gmail.com> References: <201704050305.v3535VE2006000@slippy.cwsent.com> To: Cy Schubert X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 03:18:42 -0000 > On Apr 4, 2017, at 20:05, Cy Schubert wrote: >=20 > In message <201704041143.v34BhVNA046204@repo.freebsd.org>,=20 > =3D?UTF-8?Q?Dag-Erling > _Sm=3Dc3=3Db8rgrav?=3D writes: >> Author: des >> Date: Tue Apr 4 11:43:31 2017 >> New Revision: 316487 >> URL: https://svnweb.freebsd.org/changeset/base/316487 >>=20 >> Log: >> Allow command modifiers (fast, quiet etc.) to be stacked in any order. >> Add a "debug" modifier that sets rc_debug. >>=20 >> MFC after: 3 weeks >>=20 >> Modified: >> head/etc/rc.subr >>=20 >> Modified: head/etc/rc.subr >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= >> =3D >> --- head/etc/rc.subr Tue Apr 4 08:17:03 2017 (r316486) >> +++ head/etc/rc.subr Tue Apr 4 11:43:31 2017 (r316487) >> @@ -703,10 +703,11 @@ check_startmsgs() >> # If argument has a given prefix, then change the operation as follows= : >> # Prefix Operation >> # ------ --------- >> -# fast Skip the pid check, and set rc_fast=3Dyes, rc_quiet=3Dy= es >> -# force Set ${rcvar} to YES, and set rc_force=3Dyes >> -# one Set ${rcvar} to YES >> -# quiet Don't output some diagnostics, and set rc_quiet=3Dyes >> +# debug Enable debugging messages and set rc_debug to yes >> +# fast Skip the pid check and set rc_fast and rc_quiet to yes >> +# force Skip sanity checks and set ${rcvar} and rc_force to ye= s >> +# one Set ${rcvar} and set rc_one to yes >> +# quiet Don't output some diagnostics, and set rc_quiet to yes= >> # >> # The following globals are used: >> # >> @@ -856,6 +857,8 @@ check_startmsgs() >> # rc_arg Argument to command, after fast/force/one processing >> # performed >> # >> +# rc_debug True if "debug" was provided >> +# >> # rc_flags Flags to start the default command with. >> # Defaults to ${name}_flags, unless overridden >> # by $flags from the environment. >> @@ -863,9 +866,11 @@ check_startmsgs() >> # >> # rc_pid PID of command (if appropriate) >> # >> -# rc_fast Not empty if "fast" was provided (q.v.) >> +# rc_fast Not empty if "fast" was provided >> +# >> +# rc_force Not empty if "force" was provided >> # >> -# rc_force Not empty if "force" was provided (q.v.) >> +# rc_one Not empty if "one" was provided >> # >> # rc_quiet Not empty if "quiet" was provided >> # >> @@ -884,34 +889,47 @@ run_rc_command() >> shift 1 >> rc_extra_args=3D"$*" >>=20 >> - _rc_prefix=3D >> - case "$rc_arg" in >> - fast*) # "fast" prefix; don't check pid >> - rc_arg=3D${rc_arg#fast} >> - rc_fast=3Dyes >> - rc_quiet=3Dyes >> - ;; >> - force*) # "force" prefix; always run >> - rc_force=3Dyes >> - _rc_prefix=3Dforce >> - rc_arg=3D${rc_arg#${_rc_prefix}} >> - if [ -n "${rcvar}" ]; then >> - eval ${rcvar}=3DYES >> - fi >> - ;; >> - one*) # "one" prefix; set ${rcvar}=3Dyes >> - _rc_prefix=3Done >> - rc_arg=3D${rc_arg#${_rc_prefix}} >> + : ${rc_debug:=3Dno} ${rc_fast:=3Dno} ${rc_force:=3Dno} ${rc_one:=3Dn= o} ${rc_qui >> et:=3Dno} >> + while :; do >> + case "$rc_arg" in >> + debug*) # "debug" prefix; enable debugging >> + rc_debug=3Dyes >> + rc_quiet=3Dno >> + rc_arg=3D${rc_arg#debug} >> + _rc_prefix=3D"${_rc_prefix}debug" >> + ;; >> + fast*) # "fast" prefix; don't check pid >> + rc_fast=3Dyes >> + rc_quiet=3Dyes >> + rc_arg=3D${rc_arg#fast} >> + _rc_prefix=3D"${_rc_prefix}fast" >> + ;; >> + force*) # "force" prefix; always run >> + rc_force=3Dyes >> + rc_arg=3D${rc_arg#force} >> + _rc_prefix=3D"${_rc_prefix}force" >> + ;; >> + one*) # "one" prefix; set ${rcvar}=3Dyes >> + rc_one=3Dyes >> + rc_arg=3D${rc_arg#one} >> + _rc_prefix=3D"${_rc_prefix}one" >> + ;; >> + quiet*) # "quiet" prefix; omit some messages >> + rc_quiet=3Dyes >> + rc_arg=3D${rc_arg#quiet} >> + _rc_prefix=3D"${_rc_prefix}quiet" >> + ;; >> + *) >> + break >> + ;; >> + esac >> + done >> + if checkyesno rc_force || checkyesno rc_one ; then >> if [ -n "${rcvar}" ]; then >> eval ${rcvar}=3DYES >> fi >> - ;; >> - quiet*) # "quiet" prefix; omit some messages >> - _rc_prefix=3Dquiet >> - rc_arg=3D${rc_arg#${_rc_prefix}} >> - rc_quiet=3Dyes >> - ;; >> - esac >> + fi >> + debug "_rc_prefix=3D${_rc_prefix}" >>=20 >> eval _override_command=3D\$${name}_program >> command=3D${_override_command:-$command} >>=20 >>=20 >=20 >=20 > Hi des, >=20 > This patch caused some boot failures because the contents of rc_force were= =20 > redefined from "yes" (for yes) and NULL (for no) to the words "yes" and=20= > "no". This in turn caused etc/rc.d/dhclient to assume force when $rc_force= =20 > was not NULL (test -z failed). Interfaces with static IP addresses invoked= =20 > rc.d/dhclient through devd. The attached patch should make all instances=20= > $rc_force consistent with your change. This deserves relnotes (for sure), and it might cause issues in downstream c= onsumers (ports, etc) :/... -Ngie= From owner-svn-src-all@freebsd.org Wed Apr 5 03:55:21 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DBDB8D2F2E3; Wed, 5 Apr 2017 03:55:21 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8D8F91C5; Wed, 5 Apr 2017 03:55:21 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id vc2QcwGCtsa1kvc2Rc2vRY; Tue, 04 Apr 2017 21:55:20 -0600 X-Authority-Analysis: v=2.2 cv=W+NIbVek c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=AzvcPWV-tVgA:10 a=XldT38RWNwACPDQzwzUA:9 a=pGLkceISAAAA:8 a=BWvPGDcYAAAA:8 a=6I5d2MoRAAAA:8 a=mmEUiILNrJGAC25O4wsA:9 a=CjuIK1q_8ugA:10 a=HlLvd6S2-EDK2VSQu7AA:9 a=SXhfskFfRtwA:10 a=hquHOILUSkIA:10 a=YxBL1-UpAAAA:8 a=ics_IjAVWSmO8OVX31YA:9 a=BOg4e644cxQA:10 a=6kGIvZw6iX1k4Y-7sg4_:22 a=pxhY87DP9d2VeQe4joPk:22 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 75BA6CD; Tue, 4 Apr 2017 20:55:18 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v353tHDR003124; Tue, 4 Apr 2017 20:55:17 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201704050355.v353tHDR003124@slippy.cwsent.com> X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Ngie Cooper cc: Cy Schubert , =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316487 - head/etc In-Reply-To: Message from Ngie Cooper of "Tue, 04 Apr 2017 20:18:36 -0700." <58CC0B95-0423-429E-BA73-0F0BD3A2ABBE@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_1491364344_27640" Date: Tue, 04 Apr 2017 20:55:17 -0700 X-CMAE-Envelope: MS4wfGPNF5vkXOXwO87mRZaMzIhQVZ+rVweoeab06BPXDB3wsILumButdNhGhZ3t8x7MF3ruDRo8jo9eur01tP8Mdd/V/zZrQesuQHN+vhzpqac3hFQSIgbt I72FodWHM0XVsG83Mq/1t+DEZcXoE95pKslX095NN2hzqpLp1V0goei6udH0vqDQPxI07zXzJPrqR0gnHty1tAqfGnnkN5lMxOh+CWrJAy4QjJSVfhh4F3lB /NJZgHHbDrIxNM+Hhgh4AxJwd1OjFlh+KT0AfUMi6UuB3huu8dp1MtQC49Ad2fzsQQ70AAbZj4V+cjzeGlklRg== X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 03:55:22 -0000 This is a multipart MIME message. --==_Exmh_1491364344_27640 Content-Type: text/plain; charset=us-ascii In message <58CC0B95-0423-429E-BA73-0F0BD3A2ABBE@gmail.com>, Ngie Cooper writes : > > > > On Apr 4, 2017, at 20:05, Cy Schubert wrote: > > > > In message <201704041143.v34BhVNA046204@repo.freebsd.org>, > > =?UTF-8?Q?Dag-Erling > > _Sm=c3=b8rgrav?= writes: > >> Author: des > >> Date: Tue Apr 4 11:43:31 2017 > >> New Revision: 316487 > >> URL: https://svnweb.freebsd.org/changeset/base/316487 > >> > >> Log: > >> Allow command modifiers (fast, quiet etc.) to be stacked in any order. > >> Add a "debug" modifier that sets rc_debug. > >> > >> MFC after: 3 weeks > >> > >> Modified: > >> head/etc/rc.subr > >> > >> Modified: head/etc/rc.subr > >> ========================================================================== > === > >> = > >> --- head/etc/rc.subr Tue Apr 4 08:17:03 2017 (r316486) > >> +++ head/etc/rc.subr Tue Apr 4 11:43:31 2017 (r316487) > >> @@ -703,10 +703,11 @@ check_startmsgs() > >> # If argument has a given prefix, then change the operation as follows: > >> # Prefix Operation > >> # ------ --------- > >> -# fast Skip the pid check, and set rc_fast=yes, rc_quiet=yes > >> -# force Set ${rcvar} to YES, and set rc_force=yes > >> -# one Set ${rcvar} to YES > >> -# quiet Don't output some diagnostics, and set rc_quiet=yes > >> +# debug Enable debugging messages and set rc_debug to yes > >> +# fast Skip the pid check and set rc_fast and rc_quiet to yes > >> +# force Skip sanity checks and set ${rcvar} and rc_force to yes > >> +# one Set ${rcvar} and set rc_one to yes > >> +# quiet Don't output some diagnostics, and set rc_quiet to yes > >> # > >> # The following globals are used: > >> # > >> @@ -856,6 +857,8 @@ check_startmsgs() > >> # rc_arg Argument to command, after fast/force/one processing > >> # performed > >> # > >> +# rc_debug True if "debug" was provided > >> +# > >> # rc_flags Flags to start the default command with. > >> # Defaults to ${name}_flags, unless overridden > >> # by $flags from the environment. > >> @@ -863,9 +866,11 @@ check_startmsgs() > >> # > >> # rc_pid PID of command (if appropriate) > >> # > >> -# rc_fast Not empty if "fast" was provided (q.v.) > >> +# rc_fast Not empty if "fast" was provided > >> +# > >> +# rc_force Not empty if "force" was provided > >> # > >> -# rc_force Not empty if "force" was provided (q.v.) > >> +# rc_one Not empty if "one" was provided > >> # > >> # rc_quiet Not empty if "quiet" was provided > >> # > >> @@ -884,34 +889,47 @@ run_rc_command() > >> shift 1 > >> rc_extra_args="$*" > >> > >> - _rc_prefix= > >> - case "$rc_arg" in > >> - fast*) # "fast" prefix; don't check pid > >> - rc_arg=${rc_arg#fast} > >> - rc_fast=yes > >> - rc_quiet=yes > >> - ;; > >> - force*) # "force" prefix; always run > >> - rc_force=yes > >> - _rc_prefix=force > >> - rc_arg=${rc_arg#${_rc_prefix}} > >> - if [ -n "${rcvar}" ]; then > >> - eval ${rcvar}=YES > >> - fi > >> - ;; > >> - one*) # "one" prefix; set ${rcvar}=yes > >> - _rc_prefix=one > >> - rc_arg=${rc_arg#${_rc_prefix}} > >> + : ${rc_debug:=no} ${rc_fast:=no} ${rc_force:=no} ${rc_one:=no} ${rc_q > ui > >> et:=no} > >> + while :; do > >> + case "$rc_arg" in > >> + debug*) # "debug" prefix; enable debugging > >> + rc_debug=yes > >> + rc_quiet=no > >> + rc_arg=${rc_arg#debug} > >> + _rc_prefix="${_rc_prefix}debug" > >> + ;; > >> + fast*) # "fast" prefix; don't check pid > >> + rc_fast=yes > >> + rc_quiet=yes > >> + rc_arg=${rc_arg#fast} > >> + _rc_prefix="${_rc_prefix}fast" > >> + ;; > >> + force*) # "force" prefix; always run > >> + rc_force=yes > >> + rc_arg=${rc_arg#force} > >> + _rc_prefix="${_rc_prefix}force" > >> + ;; > >> + one*) # "one" prefix; set ${rcvar}=yes > >> + rc_one=yes > >> + rc_arg=${rc_arg#one} > >> + _rc_prefix="${_rc_prefix}one" > >> + ;; > >> + quiet*) # "quiet" prefix; omit some messages > >> + rc_quiet=yes > >> + rc_arg=${rc_arg#quiet} > >> + _rc_prefix="${_rc_prefix}quiet" > >> + ;; > >> + *) > >> + break > >> + ;; > >> + esac > >> + done > >> + if checkyesno rc_force || checkyesno rc_one ; then > >> if [ -n "${rcvar}" ]; then > >> eval ${rcvar}=YES > >> fi > >> - ;; > >> - quiet*) # "quiet" prefix; omit some messages > >> - _rc_prefix=quiet > >> - rc_arg=${rc_arg#${_rc_prefix}} > >> - rc_quiet=yes > >> - ;; > >> - esac > >> + fi > >> + debug "_rc_prefix=${_rc_prefix}" > >> > >> eval _override_command=\$${name}_program > >> command=${_override_command:-$command} > >> > >> > > > > > > Hi des, > > > > This patch caused some boot failures because the contents of rc_force were > > redefined from "yes" (for yes) and NULL (for no) to the words "yes" and > > "no". This in turn caused etc/rc.d/dhclient to assume force when $rc_force > > was not NULL (test -z failed). Interfaces with static IP addresses invoked > > rc.d/dhclient through devd. The attached patch should make all instances > > $rc_force consistent with your change. > > This deserves relnotes (for sure), and it might cause issues in downstream co > nsumers (ports, etc) :/... Here's a much smaller patch. It reverts the defined values of rc_force back to the previous definition, albeit rc_force is no longer consistent with the other rc_* variables. Maybe I should commit this to have statically IPed systems boot again until it can be decided whether rc_force should be made consistent with other rc_* variables or not. --==_Exmh_1491364344_27640 Content-Type: text/plain ; name="r316487-fix.diff"; charset=us-ascii Content-Description: r316487-fix.diff Content-Disposition: attachment; filename="r316487-fix.diff" Index: rc.subr =================================================================== --- rc.subr (revision 316487) +++ rc.subr (working copy) @@ -929,6 +929,9 @@ eval ${rcvar}=YES fi fi + if ! checkyesno rc_force; then + rc_force= + fi debug "_rc_prefix=${_rc_prefix}" eval _override_command=\$${name}_program --==_Exmh_1491364344_27640 Content-Type: text/plain; charset=us-ascii Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. --==_Exmh_1491364344_27640-- From owner-svn-src-all@freebsd.org Wed Apr 5 05:01:25 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 558AED2F3C1; Wed, 5 Apr 2017 05:01:25 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 268AEED7; Wed, 5 Apr 2017 05:01:25 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3551OSm070993; Wed, 5 Apr 2017 05:01:24 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3551O6W070989; Wed, 5 Apr 2017 05:01:24 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201704050501.v3551O6W070989@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Wed, 5 Apr 2017 05:01:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316515 - in head/sys: conf dev/hyperv/input X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 05:01:25 -0000 Author: sephe Date: Wed Apr 5 05:01:23 2017 New Revision: 316515 URL: https://svnweb.freebsd.org/changeset/base/316515 Log: hyperv/kbd: Add support for synthetic keyboard. Synthetic keyboard is the only supported keyboard on GEN2 Hyper-V. Submitted by: Hongjiang Zhang MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D10196 Added: head/sys/dev/hyperv/input/ head/sys/dev/hyperv/input/hv_kbd.c (contents, props changed) head/sys/dev/hyperv/input/hv_kbdc.c (contents, props changed) head/sys/dev/hyperv/input/hv_kbdc.h (contents, props changed) Modified: head/sys/conf/files.amd64 Modified: head/sys/conf/files.amd64 ============================================================================== --- head/sys/conf/files.amd64 Wed Apr 5 03:05:04 2017 (r316514) +++ head/sys/conf/files.amd64 Wed Apr 5 05:01:23 2017 (r316515) @@ -303,6 +303,8 @@ dev/hwpmc/hwpmc_uncore.c optional hwpmc dev/hwpmc/hwpmc_piv.c optional hwpmc dev/hwpmc/hwpmc_tsc.c optional hwpmc dev/hwpmc/hwpmc_x86.c optional hwpmc +dev/hyperv/input/hv_kbd.c optional hyperv +dev/hyperv/input/hv_kbdc.c optional hyperv dev/hyperv/pcib/vmbus_pcib.c optional hyperv pci dev/hyperv/netvsc/hn_nvs.c optional hyperv dev/hyperv/netvsc/hn_rndis.c optional hyperv Added: head/sys/dev/hyperv/input/hv_kbd.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/hyperv/input/hv_kbd.c Wed Apr 5 05:01:23 2017 (r316515) @@ -0,0 +1,564 @@ +/*- + * Copyright (c) 2017 Microsoft Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conditions, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "dev/hyperv/input/hv_kbdc.h" + +#define HVKBD_MTX_LOCK(_m) do { \ + mtx_lock(_m); \ +} while (0) + +#define HVKBD_MTX_UNLOCK(_m) do { \ + mtx_unlock(_m); \ +} while (0) + +#define HVKBD_MTX_ASSERT(_m, _t) do { \ + mtx_assert(_m, _t); \ +} while (0) + +#define HVKBD_LOCK() HVKBD_MTX_LOCK(&Giant) +#define HVKBD_UNLOCK() HVKBD_MTX_UNLOCK(&Giant) +#define HVKBD_LOCK_ASSERT() HVKBD_MTX_ASSERT(&Giant, MA_OWNED) + +#define HVKBD_FLAG_POLLING 0x00000002 + +/* early keyboard probe, not supported */ +static int +hvkbd_configure(int flags) +{ + return (0); +} + +/* detect a keyboard, not used */ +static int +hvkbd_probe(int unit, void *arg, int flags) +{ + return (ENXIO); +} + +/* reset and initialize the device, not used */ +static int +hvkbd_init(int unit, keyboard_t **kbdp, void *arg, int flags) +{ + DEBUG_HVKBD(*kbdp, "%s\n", __func__); + return (ENXIO); +} + +/* test the interface to the device, not used */ +static int +hvkbd_test_if(keyboard_t *kbd) +{ + DEBUG_HVKBD(kbd, "%s\n", __func__); + return (0); +} + +/* finish using this keyboard, not used */ +static int +hvkbd_term(keyboard_t *kbd) +{ + DEBUG_HVKBD(kbd, "%s\n", __func__); + return (ENXIO); +} + +/* keyboard interrupt routine, not used */ +static int +hvkbd_intr(keyboard_t *kbd, void *arg) +{ + DEBUG_HVKBD(kbd, "%s\n", __func__); + return (0); +} + +/* lock the access to the keyboard, not used */ +static int +hvkbd_lock(keyboard_t *kbd, int lock) +{ + DEBUG_HVKBD(kbd, "%s\n", __func__); + return (1); +} + +/* save the internal state, not used */ +static int +hvkbd_get_state(keyboard_t *kbd, void *buf, size_t len) +{ + DEBUG_HVKBD(kbd,"%s\n", __func__); + return (len == 0) ? 1 : -1; +} + +/* set the internal state, not used */ +static int +hvkbd_set_state(keyboard_t *kbd, void *buf, size_t len) +{ + DEBUG_HVKBD(kbd, "%s\n", __func__); + return (EINVAL); +} + +static int +hvkbd_poll(keyboard_t *kbd, int on) +{ + hv_kbd_sc *sc = kbd->kb_data; + + HVKBD_LOCK(); + /* + * Keep a reference count on polling to allow recursive + * cngrab() during a panic for example. + */ + if (on) + sc->sc_polling++; + else if (sc->sc_polling > 0) + sc->sc_polling--; + + if (sc->sc_polling != 0) { + sc->sc_flags |= HVKBD_FLAG_POLLING; + } else { + sc->sc_flags &= ~HVKBD_FLAG_POLLING; + } + HVKBD_UNLOCK(); + return (0); +} + +/* + * Enable the access to the device; until this function is called, + * the client cannot read from the keyboard. + */ +static int +hvkbd_enable(keyboard_t *kbd) +{ + HVKBD_LOCK(); + KBD_ACTIVATE(kbd); + HVKBD_UNLOCK(); + return (0); +} + +/* disallow the access to the device */ +static int +hvkbd_disable(keyboard_t *kbd) +{ + DEBUG_HVKBD(kbd, "%s\n", __func__); + HVKBD_LOCK(); + KBD_DEACTIVATE(kbd); + HVKBD_UNLOCK(); + return (0); +} + +static void +hvkbd_do_poll(hv_kbd_sc *sc, uint8_t wait) +{ + while (!hv_kbd_prod_is_ready(sc)) { + hv_kbd_read_channel(NULL, sc); + if (!wait) + break; + } +} + +/* check if data is waiting */ +/* Currently unused. */ +static int +hvkbd_check(keyboard_t *kbd) +{ + DEBUG_HVKBD(kbd, "%s\n", __func__); + return (0); +} + +/* check if char is waiting */ +static int +hvkbd_check_char_locked(keyboard_t *kbd) +{ + HVKBD_LOCK_ASSERT(); + if (!KBD_IS_ACTIVE(kbd)) + return (FALSE); + + hv_kbd_sc *sc = kbd->kb_data; + if (sc->sc_flags & HVKBD_FLAG_POLLING) + hvkbd_do_poll(sc, 0); + if (hv_kbd_prod_is_ready(sc)) { + return (TRUE); + } + return (FALSE); +} + +static int +hvkbd_check_char(keyboard_t *kbd) +{ + int result; + + HVKBD_LOCK(); + result = hvkbd_check_char_locked(kbd); + HVKBD_UNLOCK(); + + return (result); +} + +/* read char from the keyboard */ +static uint32_t +hvkbd_read_char_locked(keyboard_t *kbd, int wait) +{ + uint32_t scancode = NOKEY; + keystroke ks; + hv_kbd_sc *sc = kbd->kb_data; + HVKBD_LOCK_ASSERT(); + + if (!KBD_IS_ACTIVE(kbd) || !hv_kbd_prod_is_ready(sc)) + return (NOKEY); + if (sc->sc_mode == K_RAW) { + if (hv_kbd_fetch_top(sc, &ks)) { + return (NOKEY); + } + if ((ks.info & IS_E0) || (ks.info & IS_E1)) { + /** + * Emulate the generation of E0 or E1 scancode, + * the real scancode will be consumed next time. + */ + if (ks.info & IS_E0) { + scancode = XTKBD_EMUL0; + ks.info &= ~IS_E0; + } else if (ks.info & IS_E1) { + scancode = XTKBD_EMUL1; + ks.info &= ~IS_E1; + } + /** + * Change the top item to avoid encountering + * E0 or E1 twice. + */ + hv_kbd_modify_top(sc, &ks); + } else if (ks.info & IS_UNICODE) { + /** + * XXX: Hyperv host send unicode to VM through + * 'Type clipboard text', the mapping from + * unicode to scancode depends on the keymap. + * It is so complicated that we do not plan to + * support it yet. + */ + if (bootverbose) + device_printf(sc->dev, "Unsupported unicode\n"); + hv_kbd_remove_top(sc); + return (NOKEY); + } else { + scancode = ks.makecode; + if (ks.info & IS_BREAK) { + scancode |= XTKBD_RELEASE; + } + hv_kbd_remove_top(sc); + } + } else { + if (bootverbose) + device_printf(sc->dev, "Unsupported mode: %d\n", sc->sc_mode); + } + ++kbd->kb_count; + DEBUG_HVKBD(kbd, "read scan: 0x%x\n", scancode); + return scancode; +} + +/* Currently wait is always false. */ +static uint32_t +hvkbd_read_char(keyboard_t *kbd, int wait) +{ + uint32_t keycode; + + HVKBD_LOCK(); + keycode = hvkbd_read_char_locked(kbd, wait); + HVKBD_UNLOCK(); + + return (keycode); +} + +/* clear the internal state of the keyboard */ +static void +hvkbd_clear_state(keyboard_t *kbd) +{ + hv_kbd_sc *sc = kbd->kb_data; + sc->sc_state &= LOCK_MASK; /* preserve locking key state */ + sc->sc_flags &= ~HVKBD_FLAG_POLLING; +} + +static int +hvkbd_ioctl_locked(keyboard_t *kbd, u_long cmd, caddr_t arg) +{ + int i; +#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + int ival; +#endif + hv_kbd_sc *sc = kbd->kb_data; + switch (cmd) { + case KDGKBMODE: + *(int *)arg = sc->sc_mode; + break; +#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IO('K', 7): + ival = IOCPARM_IVAL(arg); + arg = (caddr_t)&ival; + /* FALLTHROUGH */ +#endif + case KDSKBMODE: /* set keyboard mode */ + DEBUG_HVKBD(kbd, "expected mode: %x\n", *(int *)arg); + switch (*(int *)arg) { + case K_XLATE: + if (sc->sc_mode != K_XLATE) { + /* make lock key state and LED state match */ + sc->sc_state &= ~LOCK_MASK; + sc->sc_state |= KBD_LED_VAL(kbd); + } + /* FALLTHROUGH */ + case K_RAW: + case K_CODE: + if (sc->sc_mode != *(int *)arg) { + DEBUG_HVKBD(kbd, "mod changed to %x\n", *(int *)arg); + if ((sc->sc_flags & HVKBD_FLAG_POLLING) == 0) + hvkbd_clear_state(kbd); + sc->sc_mode = *(int *)arg; + } + break; + default: + return (EINVAL); + } + break; + case KDGKBSTATE: /* get lock key state */ + *(int *)arg = sc->sc_state & LOCK_MASK; + break; +#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IO('K', 20): + ival = IOCPARM_IVAL(arg); + arg = (caddr_t)&ival; + /* FALLTHROUGH */ +#endif + case KDSKBSTATE: /* set lock key state */ + if (*(int *)arg & ~LOCK_MASK) { + return (EINVAL); + } + sc->sc_state &= ~LOCK_MASK; + sc->sc_state |= *(int *)arg; + return hvkbd_ioctl_locked(kbd, KDSETLED, arg); + case KDGETLED: /* get keyboard LED */ + *(int *)arg = KBD_LED_VAL(kbd); + break; +#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ + defined(COMPAT_FREEBSD4) || defined(COMPAT_43) + case _IO('K', 66): + ival = IOCPARM_IVAL(arg); + arg = (caddr_t)&ival; + /* FALLTHROUGH */ +#endif + case KDSETLED: /* set keyboard LED */ + /* NOTE: lock key state in "sc_state" won't be changed */ + if (*(int *)arg & ~LOCK_MASK) + return (EINVAL); + + i = *(int *)arg; + + /* replace CAPS LED with ALTGR LED for ALTGR keyboards */ + if (sc->sc_mode == K_XLATE && + kbd->kb_keymap->n_keys > ALTGR_OFFSET) { + if (i & ALKED) + i |= CLKED; + else + i &= ~CLKED; + } + if (KBD_HAS_DEVICE(kbd)) { + DEBUG_HVSC(sc, "setled 0x%x\n", *(int *)arg); + } + + KBD_LED_VAL(kbd) = *(int *)arg; + break; + default: + return (genkbd_commonioctl(kbd, cmd, arg)); + } + return (0); +} + +/* some useful control functions */ +static int +hvkbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) +{ + DEBUG_HVKBD(kbd, "%s: %lx start\n", __func__, cmd); + HVKBD_LOCK(); + int ret = hvkbd_ioctl_locked(kbd, cmd, arg); + HVKBD_UNLOCK(); + DEBUG_HVKBD(kbd, "%s: %lx end %d\n", __func__, cmd, ret); + return (ret); +} + +/* read one byte from the keyboard if it's allowed */ +/* Currently unused. */ +static int +hvkbd_read(keyboard_t *kbd, int wait) +{ + DEBUG_HVKBD(kbd, "%s\n", __func__); + HVKBD_LOCK_ASSERT(); + if (!KBD_IS_ACTIVE(kbd)) + return (-1); + return hvkbd_read_char_locked(kbd, wait); +} + +static keyboard_switch_t hvkbdsw = { + hvkbd_probe, /* not used */ + hvkbd_init, + hvkbd_term, /* not used */ + hvkbd_intr, /* not used */ + hvkbd_test_if, /* not used */ + hvkbd_enable, + hvkbd_disable, + hvkbd_read, + hvkbd_check, + hvkbd_read_char, + hvkbd_check_char, + hvkbd_ioctl, + hvkbd_lock, /* not used */ + hvkbd_clear_state, + hvkbd_get_state, /* not used */ + hvkbd_set_state, /* not used */ + genkbd_get_fkeystr, + hvkbd_poll, + genkbd_diag, +}; + +KEYBOARD_DRIVER(hvkbd, hvkbdsw, hvkbd_configure); + +void +hv_kbd_intr(hv_kbd_sc *sc) +{ + uint32_t c; + if ((sc->sc_flags & HVKBD_FLAG_POLLING) != 0) + return; + + if (KBD_IS_ACTIVE(&sc->sc_kbd) && + KBD_IS_BUSY(&sc->sc_kbd)) { + /* let the callback function process the input */ + (sc->sc_kbd.kb_callback.kc_func) (&sc->sc_kbd, KBDIO_KEYINPUT, + sc->sc_kbd.kb_callback.kc_arg); + } else { + /* read and discard the input, no one is waiting for it */ + do { + c = hvkbd_read_char(&sc->sc_kbd, 0); + } while (c != NOKEY); + } +} + +int +hvkbd_driver_load(module_t mod, int what, void *arg) +{ + switch (what) { + case MOD_LOAD: + kbd_add_driver(&hvkbd_kbd_driver); + break; + case MOD_UNLOAD: + kbd_delete_driver(&hvkbd_kbd_driver); + break; + } + return (0); +} + +int +hv_kbd_drv_attach(device_t dev) +{ + hv_kbd_sc *sc = device_get_softc(dev); + int unit = device_get_unit(dev); + keyboard_t *kbd = &sc->sc_kbd; + keyboard_switch_t *sw; + sw = kbd_get_switch(HVKBD_DRIVER_NAME); + if (sw == NULL) { + return (ENXIO); + } + + kbd_init_struct(kbd, HVKBD_DRIVER_NAME, KB_OTHER, unit, 0, 0, 0); + kbd->kb_data = (void *)sc; + kbd_set_maps(kbd, &key_map, &accent_map, fkey_tab, nitems(fkey_tab)); + KBD_FOUND_DEVICE(kbd); + hvkbd_clear_state(kbd); + KBD_PROBE_DONE(kbd); + KBD_INIT_DONE(kbd); + sc->sc_mode = K_RAW; + (*sw->enable)(kbd); + + if (kbd_register(kbd) < 0) { + goto detach; + } + KBD_CONFIG_DONE(kbd); +#ifdef KBD_INSTALL_CDEV + if (kbd_attach(kbd)) { + goto detach; + } +#endif + if (bootverbose) { + genkbd_diag(kbd, bootverbose); + } + return (0); +detach: + hv_kbd_drv_detach(dev); + return (ENXIO); +} + +int +hv_kbd_drv_detach(device_t dev) +{ + int error = 0; + hv_kbd_sc *sc = device_get_softc(dev); + hvkbd_disable(&sc->sc_kbd); + if (KBD_IS_CONFIGURED(&sc->sc_kbd)) { + error = kbd_unregister(&sc->sc_kbd); + if (error) { + device_printf(dev, "WARNING: kbd_unregister() " + "returned non-zero! (ignored)\n"); + } + } +#ifdef KBD_INSTALL_CDEV + error = kbd_detach(&sc->sc_kbd); +#endif + return (error); +} + Added: head/sys/dev/hyperv/input/hv_kbdc.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/hyperv/input/hv_kbdc.c Wed Apr 5 05:01:23 2017 (r316515) @@ -0,0 +1,532 @@ +/*- + * Copyright (c) 2017 Microsoft Corp. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conditions, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "dev/hyperv/input/hv_kbdc.h" +#include "vmbus_if.h" + +#define HV_KBD_VER_MAJOR (1) +#define HV_KBD_VER_MINOR (0) + +#define HV_KBD_VER (HV_KBD_VER_MINOR | (HV_KBD_VER_MAJOR) << 16) + +#define HV_KBD_PROTO_ACCEPTED (1) + +#define HV_BUFF_SIZE (4*PAGE_SIZE) +#define HV_KBD_RINGBUFF_SEND_SZ (10*PAGE_SIZE) +#define HV_KBD_RINGBUFF_RECV_SZ (10*PAGE_SIZE) + +enum hv_kbd_msg_type_t { + HV_KBD_PROTO_REQUEST = 1, + HV_KBD_PROTO_RESPONSE = 2, + HV_KBD_PROTO_EVENT = 3, + HV_KBD_PROTO_LED_INDICATORS = 4, +}; + +typedef struct hv_kbd_msg_hdr_t { + uint32_t type; +} hv_kbd_msg_hdr; + +typedef struct hv_kbd_msg_t { + hv_kbd_msg_hdr hdr; + char data[]; +} hv_kbd_msg; + +typedef struct hv_kbd_proto_req_t { + hv_kbd_msg_hdr hdr; + uint32_t ver; +} hv_kbd_proto_req; + +typedef struct hv_kbd_proto_resp_t { + hv_kbd_msg_hdr hdr; + uint32_t status; +} hv_kbd_proto_resp; + +#define HV_KBD_PROTO_REQ_SZ (sizeof(hv_kbd_proto_req)) +#define HV_KBD_PROTO_RESP_SZ (sizeof(hv_kbd_proto_resp)) + +/** + * the struct in win host: + * typedef struct _HK_MESSAGE_KEYSTROKE + * { + * HK_MESSAGE_HEADER Header; + * UINT16 MakeCode; + * UINT32 IsUnicode:1; + * UINT32 IsBreak:1; + * UINT32 IsE0:1; + * UINT32 IsE1:1; + * UINT32 Reserved:28; + * } HK_MESSAGE_KEYSTROKE + */ +typedef struct hv_kbd_keystroke_t { + hv_kbd_msg_hdr hdr; + keystroke ks; +} hv_kbd_keystroke; + +static const struct vmbus_ic_desc vmbus_kbd_descs[] = { + { + .ic_guid = { .hv_guid = { + 0x6d, 0xad, 0x12, 0xf9, 0x17, 0x2b, 0xea, 0x48, + 0xbd, 0x65, 0xf9, 0x27, 0xa6, 0x1c, 0x76, 0x84} }, + .ic_desc = "Hyper-V KBD" + }, + VMBUS_IC_DESC_END +}; + +static int hv_kbd_attach(device_t dev); +static int hv_kbd_detach(device_t dev); + +/** + * return 1 if producer is ready + */ +int +hv_kbd_prod_is_ready(hv_kbd_sc *sc) +{ + int ret; + mtx_lock(&sc->ks_mtx); + ret = !STAILQ_EMPTY(&sc->ks_queue); + mtx_unlock(&sc->ks_mtx); + return (ret); +} + +int +hv_kbd_produce_ks(hv_kbd_sc *sc, const keystroke *ks) +{ + int ret = 0; + keystroke_info *ksi; + mtx_lock(&sc->ks_mtx); + if (LIST_EMPTY(&sc->ks_free_list)) { + DEBUG_HVSC(sc, "NO buffer!\n"); + ret = 1; + } else { + ksi = LIST_FIRST(&sc->ks_free_list); + LIST_REMOVE(ksi, link); + ksi->ks = *ks; + STAILQ_INSERT_TAIL(&sc->ks_queue, ksi, slink); + } + mtx_unlock(&sc->ks_mtx); + return (ret); +} + +/** + * return 0 if successfully get the 1st item of queue without removing it + */ +int +hv_kbd_fetch_top(hv_kbd_sc *sc, keystroke *result) +{ + int ret = 0; + keystroke_info *ksi = NULL; + mtx_lock(&sc->ks_mtx); + if (STAILQ_EMPTY(&sc->ks_queue)) { + DEBUG_HVSC(sc, "Empty queue!\n"); + ret = 1; + } else { + ksi = STAILQ_FIRST(&sc->ks_queue); + *result = ksi->ks; + } + mtx_unlock(&sc->ks_mtx); + return (ret); +} + +/** + * return 0 if successfully removing the top item + */ +int +hv_kbd_remove_top(hv_kbd_sc *sc) +{ + int ret = 0; + keystroke_info *ksi = NULL; + mtx_lock(&sc->ks_mtx); + if (STAILQ_EMPTY(&sc->ks_queue)) { + DEBUG_HVSC(sc, "Empty queue!\n"); + ret = 1; + } else { + ksi = STAILQ_FIRST(&sc->ks_queue); + STAILQ_REMOVE_HEAD(&sc->ks_queue, slink); + LIST_INSERT_HEAD(&sc->ks_free_list, ksi, link); + } + mtx_unlock(&sc->ks_mtx); + return (ret); +} + +/** + * return 0 if successfully modify the 1st item of queue + */ +int +hv_kbd_modify_top(hv_kbd_sc *sc, keystroke *top) +{ + int ret = 0; + keystroke_info *ksi = NULL; + mtx_lock(&sc->ks_mtx); + if (STAILQ_EMPTY(&sc->ks_queue)) { + DEBUG_HVSC(sc, "Empty queue!\n"); + ret = 1; + } else { + ksi = STAILQ_FIRST(&sc->ks_queue); + ksi->ks = *top; + } + mtx_unlock(&sc->ks_mtx); + return (ret); +} + +static int +hv_kbd_probe(device_t dev) +{ + device_t bus = device_get_parent(dev); + const struct vmbus_ic_desc *d; + + if (resource_disabled(device_get_name(dev), 0)) + return (ENXIO); + + for (d = vmbus_kbd_descs; d->ic_desc != NULL; ++d) { + if (VMBUS_PROBE_GUID(bus, dev, &d->ic_guid) == 0) { + device_set_desc(dev, d->ic_desc); + return (BUS_PROBE_DEFAULT); + } + } + return (ENXIO); +} + +static void +hv_kbd_on_response(hv_kbd_sc *sc, struct vmbus_chanpkt_hdr *pkt) +{ + struct vmbus_xact_ctx *xact = sc->hs_xact_ctx; + if (xact != NULL) { + DEBUG_HVSC(sc, "hvkbd is ready\n"); + vmbus_xact_ctx_wakeup(xact, VMBUS_CHANPKT_CONST_DATA(pkt), + VMBUS_CHANPKT_DATALEN(pkt)); + } +} + +static void +hv_kbd_on_received(hv_kbd_sc *sc, struct vmbus_chanpkt_hdr *pkt) +{ + + const hv_kbd_msg *msg = VMBUS_CHANPKT_CONST_DATA(pkt); + const hv_kbd_proto_resp *resp = + VMBUS_CHANPKT_CONST_DATA(pkt); + const hv_kbd_keystroke *keystroke = + VMBUS_CHANPKT_CONST_DATA(pkt); + uint32_t msg_len = VMBUS_CHANPKT_DATALEN(pkt); + enum hv_kbd_msg_type_t msg_type; + uint32_t info; + uint16_t scan_code; + + if (msg_len <= sizeof(hv_kbd_msg)) { + device_printf(sc->dev, "Illegal packet\n"); + return; + } + msg_type = msg->hdr.type; + switch (msg_type) { + case HV_KBD_PROTO_RESPONSE: + hv_kbd_on_response(sc, pkt); + DEBUG_HVSC(sc, "keyboard resp: 0x%x\n", + resp->status); + break; + case HV_KBD_PROTO_EVENT: + info = keystroke->ks.info; + scan_code = keystroke->ks.makecode; + DEBUG_HVSC(sc, "keystroke info: 0x%x, scan: 0x%x\n", + info, scan_code); + hv_kbd_produce_ks(sc, &keystroke->ks); + hv_kbd_intr(sc); + default: + break; + } +} + +void +hv_kbd_read_channel(struct vmbus_channel *channel, void *context) +{ + uint8_t *buf; + uint32_t buflen = 0; + int ret = 0; + + hv_kbd_sc *sc = (hv_kbd_sc*)context; + channel = vmbus_get_channel(sc->dev); + buf = sc->buf; + buflen = sc->buflen; + for (;;) { + struct vmbus_chanpkt_hdr *pkt = (struct vmbus_chanpkt_hdr *)buf; + uint32_t rxed = buflen; + + ret = vmbus_chan_recv_pkt(channel, pkt, &rxed); + if (__predict_false(ret == ENOBUFS)) { + buflen = sc->buflen * 2; + while (buflen < rxed) + buflen *= 2; + buf = malloc(buflen, M_DEVBUF, M_WAITOK | M_ZERO); + device_printf(sc->dev, "expand recvbuf %d -> %d\n", + sc->buflen, buflen); + free(sc->buf, M_DEVBUF); + sc->buf = buf; + sc->buflen = buflen; + continue; + } else if (__predict_false(ret == EAGAIN)) { + /* No more channel packets; done! */ + break; + } + KASSERT(!ret, ("vmbus_chan_recv_pkt failed: %d", ret)); + + DEBUG_HVSC(sc, "event: 0x%x\n", pkt->cph_type); + switch (pkt->cph_type) { + case VMBUS_CHANPKT_TYPE_COMP: + case VMBUS_CHANPKT_TYPE_RXBUF: + device_printf(sc->dev, "unhandled event: %d\n", + pkt->cph_type); + break; + case VMBUS_CHANPKT_TYPE_INBAND: + hv_kbd_on_received(sc, pkt); + break; + default: + device_printf(sc->dev, "unknown event: %d\n", + pkt->cph_type); + break; + } + } +} + +static int +hv_kbd_connect_vsp(hv_kbd_sc *sc) +{ + int ret; + size_t resplen; + struct vmbus_xact *xact; + hv_kbd_proto_req *req; + const hv_kbd_proto_resp *resp; + + xact = vmbus_xact_get(sc->hs_xact_ctx, sizeof(*req)); + if (xact == NULL) { + device_printf(sc->dev, "no xact for kbd init"); + return (ENODEV); + } + req = vmbus_xact_req_data(xact); + req->hdr.type = HV_KBD_PROTO_REQUEST; + req->ver = HV_KBD_VER; + + vmbus_xact_activate(xact); + ret = vmbus_chan_send(sc->hs_chan, + VMBUS_CHANPKT_TYPE_INBAND, + VMBUS_CHANPKT_FLAG_RC, + req, sizeof(hv_kbd_proto_req), + (uint64_t)(uintptr_t)xact); + if (ret) { + device_printf(sc->dev, "fail to send\n"); + vmbus_xact_deactivate(xact); + return (ret); + } + resp = vmbus_chan_xact_wait(sc->hs_chan, xact, &resplen, true); + if (resplen < HV_KBD_PROTO_RESP_SZ) { + device_printf(sc->dev, "hv_kbd init communicate failed\n"); + ret = ENODEV; + goto clean; + } + + if (!(resp->status & HV_KBD_PROTO_ACCEPTED)) { + device_printf(sc->dev, "hv_kbd protocol request failed\n"); + ret = ENODEV; + } +clean: + vmbus_xact_put(xact); + DEBUG_HVSC(sc, "finish connect vsp\n"); + return (ret); +} + +static int +hv_kbd_attach1(device_t dev, vmbus_chan_callback_t cb) +{ + int ret; + hv_kbd_sc *sc; + + sc = device_get_softc(dev); + sc->buflen = HV_BUFF_SIZE; + sc->buf = malloc(sc->buflen, M_DEVBUF, M_WAITOK | M_ZERO); + vmbus_chan_set_readbatch(sc->hs_chan, false); + ret = vmbus_chan_open( + sc->hs_chan, + HV_KBD_RINGBUFF_SEND_SZ, + HV_KBD_RINGBUFF_RECV_SZ, + NULL, 0, + cb, + sc); + if (ret != 0) { + free(sc->buf, M_DEVBUF); + } + return (ret); +} + +static int +hv_kbd_detach1(device_t dev) +{ + hv_kbd_sc *sc = device_get_softc(dev); + vmbus_chan_close(vmbus_get_channel(dev)); + free(sc->buf, M_DEVBUF); + return (0); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Wed Apr 5 05:23:10 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A08E9D2F9BC; Wed, 5 Apr 2017 05:23:10 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7122BC53; Wed, 5 Apr 2017 05:23:10 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v355N9Pi082809; Wed, 5 Apr 2017 05:23:09 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v355N9km082808; Wed, 5 Apr 2017 05:23:09 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201704050523.v355N9km082808@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Wed, 5 Apr 2017 05:23:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316516 - head/etc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 05:23:10 -0000 Author: cy Date: Wed Apr 5 05:23:09 2017 New Revision: 316516 URL: https://svnweb.freebsd.org/changeset/base/316516 Log: r316487 altered the defined values of rc_force from "yes" (for yes) and NULL (for no) to "no" (for no) and no change to the definition of yes. Two rc.d scripts, dhclient and bgfsck check rc_force for yesi, using test -n, and no, using test -z. The redefinition of yes and no by r316487 caused rc.d/dhclient, when invoked by devd using a devd.conf rule, to assign DHCP assigned IP addresses for interfaces with statically assigned interfaces, breaking boot. Point of breakage was at line 25 of etc/rc.d/dhclient (r301068) where $rc_force needs to be NULL. MFC after: 3 weeks X-MFC with: r316487 Modified: head/etc/rc.subr Modified: head/etc/rc.subr ============================================================================== --- head/etc/rc.subr Wed Apr 5 05:01:23 2017 (r316515) +++ head/etc/rc.subr Wed Apr 5 05:23:09 2017 (r316516) @@ -929,6 +929,9 @@ run_rc_command() eval ${rcvar}=YES fi fi + if ! checkyesno rc_force; then + rc_force= + fi debug "_rc_prefix=${_rc_prefix}" eval _override_command=\$${name}_program From owner-svn-src-all@freebsd.org Wed Apr 5 05:24:31 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 85B8DD2FA51; Wed, 5 Apr 2017 05:24:31 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 39D2DDB9; Wed, 5 Apr 2017 05:24:31 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id vdQicwjVDsa1kvdQjc39fQ; Tue, 04 Apr 2017 23:24:29 -0600 X-Authority-Analysis: v=2.2 cv=W+NIbVek c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=kj9zAlcOel0A:10 a=AzvcPWV-tVgA:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=8E7CtRF3Sqf9juMs07AA:9 a=CjuIK1q_8ugA:10 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id D2B3D180; Tue, 4 Apr 2017 22:24:27 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v355OQjs083798; Tue, 4 Apr 2017 22:24:26 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201704050524.v355OQjs083798@slippy.cwsent.com> X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Cy Schubert cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316516 - head/etc In-Reply-To: Message from Cy Schubert of "Wed, 05 Apr 2017 05:23:09 -0000." <201704050523.v355N9km082808@repo.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 04 Apr 2017 22:24:26 -0700 X-CMAE-Envelope: MS4wfG00vTbYu8kWTEnEYYrQz8+0NHCZO17puPfmqGpLhYiTgwnpLFFWo7XyNM9dLzLAh+iUPmZD9UwM7DnQusHX8Mpx0aojMrtlJ89npX2/paTHmx2VToBe J4XjJ2kr2oBGcDQLX8ToYZAmiEaKAmLeV90V8WjoULrgfPIqPtjXvPg4XOOgQyrG2Rzx0XWZslfjWDq1AhoEylSmS/palI0tWOL6a02sDQZORS4CgVbTq39x sq+6JC8lxEX3kPaP+dx5Q7fJzSm+877cKcVn9Wup3KA1rHqhrIC+ByOsWoeC8iPt X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 05:24:31 -0000 In message <201704050523.v355N9km082808@repo.freebsd.org>, Cy Schubert writes: > Author: cy > Date: Wed Apr 5 05:23:09 2017 > New Revision: 316516 > URL: https://svnweb.freebsd.org/changeset/base/316516 > > Log: > r316487 altered the defined values of rc_force from "yes" (for yes) > and NULL (for no) to "no" (for no) and no change to the definition > of yes. Two rc.d scripts, dhclient and bgfsck check rc_force for > yesi, using test -n, and no, using test -z. The redefinition of > yes and no by r316487 caused rc.d/dhclient, when invoked by devd > using a devd.conf rule, to assign DHCP assigned IP addresses for > interfaces with statically assigned interfaces, breaking boot. > Point of breakage was at line 25 of etc/rc.d/dhclient (r301068) > where $rc_force needs to be NULL. > > MFC after: 3 weeks > X-MFC with: r316487 discussed with: ngie > > Modified: > head/etc/rc.subr > > Modified: head/etc/rc.subr > ============================================================================= > = > --- head/etc/rc.subr Wed Apr 5 05:01:23 2017 (r316515) > +++ head/etc/rc.subr Wed Apr 5 05:23:09 2017 (r316516) > @@ -929,6 +929,9 @@ run_rc_command() > eval ${rcvar}=YES > fi > fi > + if ! checkyesno rc_force; then > + rc_force= > + fi > debug "_rc_prefix=${_rc_prefix}" > > eval _override_command=\$${name}_program > -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-all@freebsd.org Wed Apr 5 06:39:16 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 68736D2FE10; Wed, 5 Apr 2017 06:39:16 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail105.syd.optusnet.com.au (mail105.syd.optusnet.com.au [211.29.132.249]) by mx1.freebsd.org (Postfix) with ESMTP id 339402E3; Wed, 5 Apr 2017 06:39:15 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from besplex.bde.org (c122-106-153-191.carlnfd1.nsw.optusnet.com.au [122.106.153.191]) by mail105.syd.optusnet.com.au (Postfix) with ESMTPS id E86E7104148A; Wed, 5 Apr 2017 16:39:05 +1000 (AEST) Date: Wed, 5 Apr 2017 16:39:05 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Conrad Meyer cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316509 - in head/sys/ufs: ffs ufs In-Reply-To: <201704050144.v351i3N4092979@repo.freebsd.org> Message-ID: <20170405161430.G2189@besplex.bde.org> References: <201704050144.v351i3N4092979@repo.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=KeqiiUQD c=1 sm=1 tr=0 a=Tj3pCpwHnMupdyZSltBt7Q==:117 a=Tj3pCpwHnMupdyZSltBt7Q==:17 a=kj9zAlcOel0A:10 a=bymHFdxc78X44CV4hO4A:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 06:39:16 -0000 On Wed, 5 Apr 2017, Conrad Meyer wrote: > Log: > ufs: Export UFS_MAXNAMLEN to pathconf, statfs > > Rather than the global NAME_MAX constant. This change is required to > support systems with a NAME_MAX/MAXNAMLEN that differs from UFS_MAXNAMLEN. > > This was missed in r313475 due to the alternative spelling ("NAME_MAX") of > MAXNAMLEN. This change is also similar in spirit to r313780. It is a bug for NAME_MAX to exist if it is not constant. I fixed the corresponding bug for CHILD_MAX and OPEN_MAX in my tree ~20 years ago, but never got around to committing this after committing fixes for some misuses of OPEN_MAX (not many, since getdtablesize() was used fairly correctly). There are emore misuses now. NAME_MAX and PATH_MAX/MAXPATHLEN are much harder to fix due to more misuses. Honestly unportable code uses MAXPATHLEN. PATH_MAX and NAME_MAX are unusable in portable code since they might not exist. Portable code must use sysconf() and complicated allocation for paths, and once it does that it gets few benefits from using PATH_MAX when it exists. I think even PATH_MAX can be so large that malloc() and static allocation of PATH_MAX bytes always fails. This large would mean that it is unlimited. Some other POSIX limits really are infinite and this is expressed by sysconf() a special value or errno for them. Allocation for potentially- unbounded limits is difficult. > ... > Modified: head/sys/ufs/ufs/ufs_vnops.c > ============================================================================== > --- head/sys/ufs/ufs/ufs_vnops.c Tue Apr 4 23:30:05 2017 (r316508) > +++ head/sys/ufs/ufs/ufs_vnops.c Wed Apr 5 01:44:03 2017 (r316509) > @@ -2446,7 +2446,7 @@ ufs_pathconf(ap) > *ap->a_retval = LINK_MAX; > break; > case _PC_NAME_MAX: > - *ap->a_retval = NAME_MAX; > + *ap->a_retval = UFS_MAXNAMLEN; > break; > case _PC_PATH_MAX: > *ap->a_retval = PATH_MAX; ffs was being chummy with the implementation and knowing that NAME_MAX is constant so that it may exist, and that it does exist. Since it exists, its value must be the same for all file systems including ffs. ffs still has the same bug for LINK_MAX and PATH_MAX. NAME_MAX hasn't been constant since 1993 or earler it is 8.3 for some versions of msdosfs. LINK_MAX hasn't been constant since 1997 or earler it is 32000 in ext2fs. PATH_MAX can actually be constant (and doesn't need to be set in this layer) since it is a vfs limit. Bruce From owner-svn-src-all@freebsd.org Wed Apr 5 08:15:48 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF591D2FE5D; Wed, 5 Apr 2017 08:15:48 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 84629A0E; Wed, 5 Apr 2017 08:15:48 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v358FlM4051658; Wed, 5 Apr 2017 08:15:47 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v358FlNP051655; Wed, 5 Apr 2017 08:15:47 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201704050815.v358FlNP051655@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Wed, 5 Apr 2017 08:15:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316519 - head/sys/dev/hyperv/storvsc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 08:15:48 -0000 Author: sephe Date: Wed Apr 5 08:15:47 2017 New Revision: 316519 URL: https://svnweb.freebsd.org/changeset/base/316519 Log: hyperv/storvsc: Fixup SRB status. This unbreaks GEN2 Hyper-V cd support. Submitted by: Hongjiang Zhang Reviewed by: dexuan@ MFC after: 3 days Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D10212 Modified: head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c head/sys/dev/hyperv/storvsc/hv_vstorage.h Modified: head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c ============================================================================== --- head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c Wed Apr 5 06:41:42 2017 (r316518) +++ head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c Wed Apr 5 08:15:47 2017 (r316519) @@ -2148,19 +2148,20 @@ storvsc_io_done(struct hv_storvsc_reques ccb->ccb_h.status &= ~CAM_SIM_QUEUED; ccb->ccb_h.status &= ~CAM_STATUS_MASK; + int srb_status = SRB_STATUS(vm_srb->srb_status); if (vm_srb->scsi_status == SCSI_STATUS_OK) { const struct scsi_generic *cmd; cmd = (const struct scsi_generic *) ((ccb->ccb_h.flags & CAM_CDB_POINTER) ? csio->cdb_io.cdb_ptr : csio->cdb_io.cdb_bytes); - if (vm_srb->srb_status != SRB_STATUS_SUCCESS) { + if (srb_status != SRB_STATUS_SUCCESS) { /* * If there are errors, for example, invalid LUN, * host will inform VM through SRB status. */ if (bootverbose) { - if (vm_srb->srb_status == SRB_STATUS_INVALID_LUN) { + if (srb_status == SRB_STATUS_INVALID_LUN) { xpt_print(ccb->ccb_h.path, "invalid LUN %d for op: %s\n", vm_srb->lun, @@ -2168,7 +2169,7 @@ storvsc_io_done(struct hv_storvsc_reques } else { xpt_print(ccb->ccb_h.path, "Unknown SRB flag: %d for op: %s\n", - vm_srb->srb_status, + srb_status, scsi_op_desc(cmd->opcode, NULL)); } } @@ -2191,7 +2192,7 @@ storvsc_io_done(struct hv_storvsc_reques } if (cmd->opcode == INQUIRY && - vm_srb->srb_status == SRB_STATUS_SUCCESS) { + srb_status == SRB_STATUS_SUCCESS) { int resp_xfer_len, resp_buf_len, data_len; uint8_t *resp_buf = (uint8_t *)csio->data_ptr; struct scsi_inquiry_data *inq_data = Modified: head/sys/dev/hyperv/storvsc/hv_vstorage.h ============================================================================== --- head/sys/dev/hyperv/storvsc/hv_vstorage.h Wed Apr 5 06:41:42 2017 (r316518) +++ head/sys/dev/hyperv/storvsc/hv_vstorage.h Wed Apr 5 08:15:47 2017 (r316519) @@ -242,17 +242,16 @@ struct vstor_packet { #define SRB_STATUS_PENDING 0x00 #define SRB_STATUS_SUCCESS 0x01 #define SRB_STATUS_ABORTED 0x02 -#define SRB_STATUS_ABORT_FAILED 0x03 #define SRB_STATUS_ERROR 0x04 -#define SRB_STATUS_BUSY 0x05 - +#define SRB_STATUS_INVALID_LUN 0x20 /** * SRB Status Masks (can be combined with above status codes) */ #define SRB_STATUS_QUEUE_FROZEN 0x40 #define SRB_STATUS_AUTOSENSE_VALID 0x80 -#define SRB_STATUS_INVALID_LUN 0X20 +#define SRB_STATUS(status) \ + ((status) & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN)) /* * SRB Flag Bits */ From owner-svn-src-all@freebsd.org Wed Apr 5 08:25:23 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E21DDD2B15E; Wed, 5 Apr 2017 08:25:23 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A19C7F6C; Wed, 5 Apr 2017 08:25:23 +0000 (UTC) (envelope-from sephe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v358PMEf055711; Wed, 5 Apr 2017 08:25:22 GMT (envelope-from sephe@FreeBSD.org) Received: (from sephe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v358PMQY055706; Wed, 5 Apr 2017 08:25:22 GMT (envelope-from sephe@FreeBSD.org) Message-Id: <201704050825.v358PMQY055706@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sephe set sender to sephe@FreeBSD.org using -f From: Sepherosa Ziehau Date: Wed, 5 Apr 2017 08:25:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316520 - head/sys/dev/hyperv/netvsc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 08:25:24 -0000 Author: sephe Date: Wed Apr 5 08:25:22 2017 New Revision: 316520 URL: https://svnweb.freebsd.org/changeset/base/316520 Log: hyperv/hn: Fixat RNDIS rxfilter after the successful RNDIS init. Under certain conditions on certain versions of Hyper-V, the RNDIS rxfilter is _not_ zero on the hypervisor side after the successful RNDIS initialization, which breaks the assumption of any following code (well, it breaks the RNDIS API contract actually). Clear the RNDIS rxfilter explicitly, drain packets sneaking through, and drain the interrupt taskqueues scheduled due to the stealth packets. Reported by: dexuan@ MFC after: 3 days Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D10230 Modified: head/sys/dev/hyperv/netvsc/hn_rndis.c head/sys/dev/hyperv/netvsc/hn_rndis.h head/sys/dev/hyperv/netvsc/if_hn.c Modified: head/sys/dev/hyperv/netvsc/hn_rndis.c ============================================================================== --- head/sys/dev/hyperv/netvsc/hn_rndis.c Wed Apr 5 08:15:47 2017 (r316519) +++ head/sys/dev/hyperv/netvsc/hn_rndis.c Wed Apr 5 08:25:22 2017 (r316520) @@ -979,16 +979,19 @@ hn_rndis_query_hwcaps(struct hn_softc *s } int -hn_rndis_attach(struct hn_softc *sc, int mtu) +hn_rndis_attach(struct hn_softc *sc, int mtu, int *init_done) { int error; + *init_done = 0; + /* * Initialize RNDIS. */ error = hn_rndis_init(sc); if (error) return (error); + *init_done = 1; /* * Configure NDIS offload settings. Modified: head/sys/dev/hyperv/netvsc/hn_rndis.h ============================================================================== --- head/sys/dev/hyperv/netvsc/hn_rndis.h Wed Apr 5 08:15:47 2017 (r316519) +++ head/sys/dev/hyperv/netvsc/hn_rndis.h Wed Apr 5 08:25:22 2017 (r316520) @@ -33,7 +33,7 @@ struct hn_softc; -int hn_rndis_attach(struct hn_softc *sc, int mtu); +int hn_rndis_attach(struct hn_softc *sc, int mtu, int *init_done); void hn_rndis_detach(struct hn_softc *sc); int hn_rndis_conf_rss(struct hn_softc *sc, uint16_t flags); int hn_rndis_query_rsscaps(struct hn_softc *sc, int *rxr_cnt); Modified: head/sys/dev/hyperv/netvsc/if_hn.c ============================================================================== --- head/sys/dev/hyperv/netvsc/if_hn.c Wed Apr 5 08:15:47 2017 (r316519) +++ head/sys/dev/hyperv/netvsc/if_hn.c Wed Apr 5 08:25:22 2017 (r316520) @@ -261,6 +261,7 @@ static void hn_rndis_rx_data(struct hn const void *, int); static void hn_rndis_rx_status(struct hn_softc *, const void *, int); +static void hn_rndis_init_fixat(struct hn_softc *, int); static void hn_nvs_handle_notify(struct hn_softc *, const struct vmbus_chanpkt_hdr *); @@ -328,6 +329,8 @@ static void hn_resume_mgmt(struct hn_s static void hn_suspend_mgmt_taskfunc(void *, int); static void hn_chan_drain(struct hn_softc *, struct vmbus_channel *); +static void hn_disable_rx(struct hn_softc *); +static void hn_drain_rxtx(struct hn_softc *, int); static void hn_polling(struct hn_softc *, u_int); static void hn_chan_polling(struct vmbus_channel *, u_int); @@ -2267,6 +2270,18 @@ hn_rxpkt(struct hn_rx_ring *rxr, const v /* If the VF is active, inject the packet through the VF */ ifp = rxr->hn_vf ? rxr->hn_vf : rxr->hn_ifp; + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) { + /* + * NOTE: + * See the NOTE of hn_rndis_init_fixat(). This + * function can be reached, immediately after the + * RNDIS is initialized but before the ifnet is + * setup on the hn_attach() path; drop the unexpected + * packets. + */ + return (0); + } + if (dlen <= MHLEN) { m_new = m_gethdr(M_NOWAIT, MT_DATA); if (m_new == NULL) { @@ -4711,6 +4726,27 @@ hn_synth_attachable(const struct hn_soft return (true); } +/* + * Make sure that the RX filter is zero after the successful + * RNDIS initialization. + * + * NOTE: + * Under certain conditions on certain versions of Hyper-V, + * the RNDIS rxfilter is _not_ zero on the hypervisor side + * after the successful RNDIS initialization, which breaks + * the assumption of any following code (well, it breaks the + * RNDIS API contract actually). Clear the RNDIS rxfilter + * explicitly, drain packets sneaking through, and drain the + * interrupt taskqueues scheduled due to the stealth packets. + */ +static void +hn_rndis_init_fixat(struct hn_softc *sc, int nchan) +{ + + hn_disable_rx(sc); + hn_drain_rxtx(sc, nchan); +} + static int hn_synth_attach(struct hn_softc *sc, int mtu) { @@ -4718,7 +4754,7 @@ hn_synth_attach(struct hn_softc *sc, int #define ATTACHED_RNDIS 0x0004 struct ndis_rssprm_toeplitz *rss = &sc->hn_rss; - int error, nsubch, nchan, i; + int error, nsubch, nchan = 1, i, rndis_inited; uint32_t old_caps, attached = 0; KASSERT((sc->hn_flags & HN_FLAG_SYNTH_ATTACHED) == 0, @@ -4753,10 +4789,11 @@ hn_synth_attach(struct hn_softc *sc, int /* * Attach RNDIS _after_ NVS is attached. */ - error = hn_rndis_attach(sc, mtu); + error = hn_rndis_attach(sc, mtu, &rndis_inited); + if (rndis_inited) + attached |= ATTACHED_RNDIS; if (error) goto failed; - attached |= ATTACHED_RNDIS; /* * Make sure capabilities are not changed. @@ -4859,14 +4896,18 @@ back: * Fixup transmission aggregation setup. */ hn_set_txagg(sc); + hn_rndis_init_fixat(sc, nchan); return (0); failed: if (sc->hn_flags & HN_FLAG_SYNTH_ATTACHED) { + hn_rndis_init_fixat(sc, nchan); hn_synth_detach(sc); } else { - if (attached & ATTACHED_RNDIS) + if (attached & ATTACHED_RNDIS) { + hn_rndis_init_fixat(sc, nchan); hn_rndis_detach(sc); + } if (attached & ATTACHED_NVS) hn_nvs_detach(sc); hn_chan_detach(sc, sc->hn_prichan); @@ -4946,11 +4987,56 @@ hn_chan_drain(struct hn_softc *sc, struc } static void -hn_suspend_data(struct hn_softc *sc) +hn_disable_rx(struct hn_softc *sc) +{ + + /* + * Disable RX by clearing RX filter forcefully. + */ + sc->hn_rx_filter = NDIS_PACKET_TYPE_NONE; + hn_rndis_set_rxfilter(sc, sc->hn_rx_filter); /* ignore error */ + + /* + * Give RNDIS enough time to flush all pending data packets. + */ + pause("waitrx", (200 * hz) / 1000); +} + +/* + * NOTE: + * RX/TX _must_ have been suspended/disabled, before this function + * is called. + */ +static void +hn_drain_rxtx(struct hn_softc *sc, int nchan) { struct vmbus_channel **subch = NULL; + int nsubch; + + /* + * Drain RX/TX bufrings and interrupts. + */ + nsubch = nchan - 1; + if (nsubch > 0) + subch = vmbus_subchan_get(sc->hn_prichan, nsubch); + + if (subch != NULL) { + int i; + + for (i = 0; i < nsubch; ++i) + hn_chan_drain(sc, subch[i]); + } + hn_chan_drain(sc, sc->hn_prichan); + + if (subch != NULL) + vmbus_subchan_rel(subch, nsubch); +} + +static void +hn_suspend_data(struct hn_softc *sc) +{ struct hn_tx_ring *txr; - int i, nsubch; + int i; HN_LOCK_ASSERT(sc); @@ -4978,38 +5064,21 @@ hn_suspend_data(struct hn_softc *sc) } /* - * Disable RX by clearing RX filter. + * Disable RX. */ - hn_set_rxfilter(sc, NDIS_PACKET_TYPE_NONE); + hn_disable_rx(sc); /* - * Give RNDIS enough time to flush all pending data packets. + * Drain RX/TX. */ - pause("waitrx", (200 * hz) / 1000); - - /* - * Drain RX/TX bufrings and interrupts. - */ - nsubch = sc->hn_rx_ring_inuse - 1; - if (nsubch > 0) - subch = vmbus_subchan_get(sc->hn_prichan, nsubch); - - if (subch != NULL) { - for (i = 0; i < nsubch; ++i) - hn_chan_drain(sc, subch[i]); - } - hn_chan_drain(sc, sc->hn_prichan); - - if (subch != NULL) - vmbus_subchan_rel(subch, nsubch); + hn_drain_rxtx(sc, sc->hn_rx_ring_inuse); /* * Drain any pending TX tasks. * * NOTE: - * The above hn_chan_drain() can dispatch TX tasks, so the TX - * tasks will have to be drained _after_ the above hn_chan_drain() - * calls. + * The above hn_drain_rxtx() can dispatch TX tasks, so the TX + * tasks will have to be drained _after_ the above hn_drain_rxtx(). */ for (i = 0; i < sc->hn_tx_ring_inuse; ++i) { txr = &sc->hn_tx_ring[i]; From owner-svn-src-all@freebsd.org Wed Apr 5 12:05:02 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4FB64D2FE6D; Wed, 5 Apr 2017 12:05:02 +0000 (UTC) (envelope-from bms@fastmail.net) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1FD516DC; Wed, 5 Apr 2017 12:05:02 +0000 (UTC) (envelope-from bms@fastmail.net) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 8E61620BD6; Wed, 5 Apr 2017 08:05:00 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute4.internal (MEProxy); Wed, 05 Apr 2017 08:05:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.net; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=rYqF8cWiwkH/bvzqja PtdkYG1pqUxtuLdJzdVFG0LpM=; b=DpGdHHkCQkQVLuQKIA8ATl2nMZTi+mts/a Po8O4X4C/bzX/PCSuHrR6fFKE7cl7UO0zwmCmYlRYUdTKNpJjjwiUskdafqEkKwY dEKFzL2B2iXBoz6pDNJv8u6dXTzAahQFalwizB4MoS9TX1JhxLcB6SH5i55AvDX6 RPcyIgzCV9DxAQJCYxkAKJRaE2pltgxFJA95PQqFlh9H8WrrytBICWAhjNvI3HQn 2A7af+XeaAn03EvOVwN0ngtnNpr8jAYl82hYh2maWO++24+e/mOGTqHFRv8B3Cm/ UESfnQUKec0F3U/ujMvCkRTsK0KsjnuykxeHesxIwi/E7MigPXXg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s= fm1; bh=rYqF8cWiwkH/bvzqjaPtdkYG1pqUxtuLdJzdVFG0LpM=; b=f2sinEGa 3cFDnmg1rBeP7+g2eH1s1CrpWNPbJav3lbriD9TYU1Srf0vMknD1yY+lfm+Alrn3 vp3aRNLYhmt+T5uYN1iTP8ZQXj/NCGx3aJipC8uQ3Et3oB06LmNuHKoDiL+F8BJ1 RiBMAuicV7v1Q0zePgUsityBkwJOvKEkAJBsvsorQQ8pSVGWq7ZINQHnYCWsVSop NdevjQ+WiF8ye9CjX5EFJZwir8uK/7us5uydTPpGAebEPpsOZiix33Umx76yP7oY kjgJaQzphWvOCXQmf3137a7/YkplSMbx8a37ha8SYgobuaY+JLrlWmjkC1+MTwMr NLYIICdZ/294Pw== X-ME-Sender: X-Sasl-enc: J0ve3Keu/+sFizuOMB1581bNWETma/oZzzgcbv+klnoJ 1491393900 Received: from [192.168.1.88] (cpc96954-walt26-2-0-cust843.13-2.cable.virginm.net [82.31.91.76]) by mail.messagingengine.com (Postfix) with ESMTPA id B3CC72469B; Wed, 5 Apr 2017 08:04:59 -0400 (EDT) Subject: Re: svn commit: r316435 - in head: sbin/ipfw sys/conf sys/modules sys/modules/ipfw_pmod sys/netpfil/ipfw/pmod To: Julian Elischer , "Andrey V. Elsukov" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201704030307.v3337mfs039014@repo.freebsd.org> <2fb0e146-8486-09c3-0c44-75c71a74fc2f@freebsd.org> From: Bruce Simpson Message-ID: Date: Wed, 5 Apr 2017 13:04:58 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <2fb0e146-8486-09c3-0c44-75c71a74fc2f@freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 12:05:02 -0000 On 03/04/17 15:12, Julian Elischer wrote: > On 3/4/17 11:07 am, Andrey V. Elsukov wrote: >> Author: ae >> Date: Mon Apr 3 03:07:48 2017 >> New Revision: 316435 >> URL: https://svnweb.freebsd.org/changeset/base/316435 > > it was always my intention to hook netgraph modules into ipfw in this way In my humble opinion, in an ideal world, everything warrants a rethink - in terms of "abstract forwarding elements". This is how a lot of the newer integrated routing/switching hardware seems to behave; designs like the FM6000, Juniper's Trio, and so on. For now, we've got several bodies of firewall code available in the FreeBSD base system. The MSS tweak is much appreciated; it makes DSL and Cable access more usable for many. But I appreciate the sentiment of taking what is - on the face of it - a simple network protocol transformation at a FreeBSD hop, as something which really, we'd ideally have a common way of expressing. I struggle to keep track of all of this development, personally. It would be great if we could take the best from all of them, incorporate scalability for LRO and so on, and hybrid forwarding chips, or other offload stack approach, in the same code base somehow. It's worth a trip down to the 1.4Tbit/s Alien Superchannel to see what I'm getting at. Multi-100GBE into 1U is a reality now. From owner-svn-src-all@freebsd.org Wed Apr 5 12:10:03 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D3819D2FFE4; Wed, 5 Apr 2017 12:10:03 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A36CD988; Wed, 5 Apr 2017 12:10:03 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35CA2ME044965; Wed, 5 Apr 2017 12:10:02 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35CA2Wu044964; Wed, 5 Apr 2017 12:10:02 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201704051210.v35CA2Wu044964@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 5 Apr 2017 12:10:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316521 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 12:10:03 -0000 Author: hselasky Date: Wed Apr 5 12:10:02 2017 New Revision: 316521 URL: https://svnweb.freebsd.org/changeset/base/316521 Log: Implement down_write_killable() in the LinuxKPI. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/include/linux/rwsem.h Modified: head/sys/compat/linuxkpi/common/include/linux/rwsem.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/rwsem.h Wed Apr 5 08:25:22 2017 (r316520) +++ head/sys/compat/linuxkpi/common/include/linux/rwsem.h Wed Apr 5 12:10:02 2017 (r316521) @@ -47,6 +47,7 @@ struct rw_semaphore { #define up_read(_rw) sx_sunlock(&(_rw)->sx) #define down_read_trylock(_rw) !!sx_try_slock(&(_rw)->sx) #define down_write_trylock(_rw) !!sx_try_xlock(&(_rw)->sx) +#define down_write_killable(_rw) !!sx_xlock_sig(&(_rw)->sx) #define downgrade_write(_rw) sx_downgrade(&(_rw)->sx) #define down_read_nested(_rw, _sc) down_read(_rw) #define init_rwsem(_rw) linux_init_rwsem(_rw, rwsem_name("lnxrwsem")) From owner-svn-src-all@freebsd.org Wed Apr 5 12:48:25 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A6ED2D2E4C4; Wed, 5 Apr 2017 12:48:25 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 81A9D647; Wed, 5 Apr 2017 12:48:25 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35CmOTk061289; Wed, 5 Apr 2017 12:48:24 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35CmOYj061288; Wed, 5 Apr 2017 12:48:24 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201704051248.v35CmOYj061288@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 5 Apr 2017 12:48:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316522 - head/sys/compat/linuxkpi/common/src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 12:48:25 -0000 Author: hselasky Date: Wed Apr 5 12:48:24 2017 New Revision: 316522 URL: https://svnweb.freebsd.org/changeset/base/316522 Log: Unify error handling when si_drv1 is NULL in the LinuxKPI. Make sure the character device poll callback function does not return an error code, but a POLLXXX value, in case of failure. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/src/linux_compat.c Modified: head/sys/compat/linuxkpi/common/src/linux_compat.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_compat.c Wed Apr 5 12:10:02 2017 (r316521) +++ head/sys/compat/linuxkpi/common/src/linux_compat.c Wed Apr 5 12:48:24 2017 (r316522) @@ -73,6 +73,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include @@ -430,14 +431,12 @@ done: static int linux_dev_close(struct cdev *dev, int fflag, int devtype, struct thread *td) { - struct linux_cdev *ldev; struct linux_file *filp; struct file *file; int error; file = td->td_fpop; - ldev = dev->si_drv1; - if (ldev == NULL) + if (dev->si_drv1 == NULL) return (0); if ((error = devfs_get_cdevpriv((void **)&filp)) != 0) return (error); @@ -566,16 +565,14 @@ static int linux_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread *td) { - struct linux_cdev *ldev; struct linux_file *filp; struct file *file; unsigned size; int error; file = td->td_fpop; - ldev = dev->si_drv1; - if (ldev == NULL) - return (0); + if (dev->si_drv1 == NULL) + return (ENXIO); if ((error = devfs_get_cdevpriv((void **)&filp)) != 0) return (error); filp->f_flags = file->f_flag; @@ -612,7 +609,6 @@ linux_dev_ioctl(struct cdev *dev, u_long static int linux_dev_read(struct cdev *dev, struct uio *uio, int ioflag) { - struct linux_cdev *ldev; struct linux_file *filp; struct thread *td; struct file *file; @@ -621,9 +617,8 @@ linux_dev_read(struct cdev *dev, struct td = curthread; file = td->td_fpop; - ldev = dev->si_drv1; - if (ldev == NULL) - return (0); + if (dev->si_drv1 == NULL) + return (ENXIO); if ((error = devfs_get_cdevpriv((void **)&filp)) != 0) return (error); filp->f_flags = file->f_flag; @@ -650,7 +645,6 @@ linux_dev_read(struct cdev *dev, struct static int linux_dev_write(struct cdev *dev, struct uio *uio, int ioflag) { - struct linux_cdev *ldev; struct linux_file *filp; struct thread *td; struct file *file; @@ -659,9 +653,8 @@ linux_dev_write(struct cdev *dev, struct td = curthread; file = td->td_fpop; - ldev = dev->si_drv1; - if (ldev == NULL) - return (0); + if (dev->si_drv1 == NULL) + return (ENXIO); if ((error = devfs_get_cdevpriv((void **)&filp)) != 0) return (error); filp->f_flags = file->f_flag; @@ -688,18 +681,16 @@ linux_dev_write(struct cdev *dev, struct static int linux_dev_poll(struct cdev *dev, int events, struct thread *td) { - struct linux_cdev *ldev; struct linux_file *filp; struct file *file; int revents; - int error; + + if (dev->si_drv1 == NULL) + goto error; + if (devfs_get_cdevpriv((void **)&filp) != 0) + goto error; file = td->td_fpop; - ldev = dev->si_drv1; - if (ldev == NULL) - return (0); - if ((error = devfs_get_cdevpriv((void **)&filp)) != 0) - return (error); filp->f_flags = file->f_flag; linux_set_current(td); if (filp->f_op->poll) @@ -708,13 +699,14 @@ linux_dev_poll(struct cdev *dev, int eve revents = 0; return (revents); +error: + return (events & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM)); } static int linux_dev_mmap_single(struct cdev *dev, vm_ooffset_t *offset, vm_size_t size, struct vm_object **object, int nprot) { - struct linux_cdev *ldev; struct linux_file *filp; struct thread *td; struct file *file; @@ -723,8 +715,7 @@ linux_dev_mmap_single(struct cdev *dev, td = curthread; file = td->td_fpop; - ldev = dev->si_drv1; - if (ldev == NULL) + if (dev->si_drv1 == NULL) return (ENODEV); if ((error = devfs_get_cdevpriv((void **)&filp)) != 0) return (error); From owner-svn-src-all@freebsd.org Wed Apr 5 16:13:37 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7C701D302A6; Wed, 5 Apr 2017 16:13:37 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 419313AB; Wed, 5 Apr 2017 16:13:37 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35GDa1K048179; Wed, 5 Apr 2017 16:13:36 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35GDaMj048178; Wed, 5 Apr 2017 16:13:36 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704051613.v35GDaMj048178@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 5 Apr 2017 16:13:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316523 - head/usr.bin/pr X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 16:13:37 -0000 Author: asomers Date: Wed Apr 5 16:13:36 2017 New Revision: 316523 URL: https://svnweb.freebsd.org/changeset/base/316523 Log: Remove a duplicate fclose() that snuck into r316501 Reported by: Coverity CID: 1373338 MFC after: 20 days X-MFC-With: 316501 Sponsored by: Spectra Logic Corp Modified: head/usr.bin/pr/pr.c Modified: head/usr.bin/pr/pr.c ============================================================================== --- head/usr.bin/pr/pr.c Wed Apr 5 12:48:24 2017 (r316522) +++ head/usr.bin/pr/pr.c Wed Apr 5 16:13:36 2017 (r316523) @@ -1386,7 +1386,6 @@ nxtfile(int argc, char **argv, const cha (void)fprintf(err, "pr: cannot stat %s, %s\n", argv[eoptind], strerror(errno)); - fclose(inf); return(NULL); } timeptr = localtime(&(statbuf.st_mtime)); From owner-svn-src-all@freebsd.org Wed Apr 5 16:30:43 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1491DD30A66; Wed, 5 Apr 2017 16:30:43 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D943229F; Wed, 5 Apr 2017 16:30:42 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35GUfHE053017; Wed, 5 Apr 2017 16:30:41 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35GUfB5053005; Wed, 5 Apr 2017 16:30:41 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704051630.v35GUfB5053005@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 5 Apr 2017 16:30:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316524 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 16:30:43 -0000 Author: kib Date: Wed Apr 5 16:30:41 2017 New Revision: 316524 URL: https://svnweb.freebsd.org/changeset/base/316524 Log: Use int instead of boolean_t for flags argument type in vnode_pager_generic_putpages() prototype; change the argument name to reflect that it is flags. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week X-Differential revision: https://reviews.freebsd.org/D10241 Modified: head/sys/vm/vnode_pager.h Modified: head/sys/vm/vnode_pager.h ============================================================================== --- head/sys/vm/vnode_pager.h Wed Apr 5 16:13:36 2017 (r316523) +++ head/sys/vm/vnode_pager.h Wed Apr 5 16:30:41 2017 (r316524) @@ -44,8 +44,7 @@ int vnode_pager_generic_getpages(struct int count, int *rbehind, int *rahead, vop_getpages_iodone_t iodone, void *arg); int vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *m, - int count, boolean_t sync, - int *rtvals); + int count, int flags, int *rtvals); int vnode_pager_local_getpages(struct vop_getpages_args *ap); int vnode_pager_local_getpages_async(struct vop_getpages_async_args *ap); From owner-svn-src-all@freebsd.org Wed Apr 5 16:45:01 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 83FF5D30F84; Wed, 5 Apr 2017 16:45:01 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4F5E5E43; Wed, 5 Apr 2017 16:45:01 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35Gj05m060275; Wed, 5 Apr 2017 16:45:00 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35Gj0D7060273; Wed, 5 Apr 2017 16:45:00 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704051645.v35Gj0D7060273@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 5 Apr 2017 16:45:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316525 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 16:45:01 -0000 Author: kib Date: Wed Apr 5 16:45:00 2017 New Revision: 316525 URL: https://svnweb.freebsd.org/changeset/base/316525 Log: Some style fixes for vnode_pager_generic_putpages(), in the local declaration block. Reviewed by: markj (as part of the larger patch) Tested by: pho (as part of the larger patch) Sponsored by: The FreeBSD Foundation MFC after: 1 week X-Differential revision: https://reviews.freebsd.org/D10241 Modified: head/sys/vm/vnode_pager.c Modified: head/sys/vm/vnode_pager.c ============================================================================== --- head/sys/vm/vnode_pager.c Wed Apr 5 16:30:41 2017 (r316524) +++ head/sys/vm/vnode_pager.c Wed Apr 5 16:45:00 2017 (r316525) @@ -1193,18 +1193,12 @@ int vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount, int flags, int *rtvals) { - int i; vm_object_t object; vm_page_t m; - int count; - - int maxsize, ncount; vm_ooffset_t poffset; struct uio auio; struct iovec aiov; - int error; - int ioflags; - int ppscheck = 0; + int count, error, i, ioflags, maxsize, ncount, ppscheck; static struct timeval lastfail; static int curfail; @@ -1300,6 +1294,7 @@ vnode_pager_generic_putpages(struct vnod PCPU_INC(cnt.v_vnodeout); PCPU_ADD(cnt.v_vnodepgsout, ncount); + ppscheck = 0; if (error) { if ((ppscheck = ppsratecheck(&lastfail, &curfail, 1))) printf("vnode_pager_putpages: I/O error %d\n", error); From owner-svn-src-all@freebsd.org Wed Apr 5 16:56:05 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8D2BBD3042C; Wed, 5 Apr 2017 16:56:05 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6A419A3A; Wed, 5 Apr 2017 16:56:05 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35Gu4jI064524; Wed, 5 Apr 2017 16:56:04 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35Gu4Pe064521; Wed, 5 Apr 2017 16:56:04 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704051656.v35Gu4Pe064521@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 5 Apr 2017 16:56:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316526 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 16:56:05 -0000 Author: kib Date: Wed Apr 5 16:56:04 2017 New Revision: 316526 URL: https://svnweb.freebsd.org/changeset/base/316526 Log: Extract calculation of ioflags from the vm_pager_putpages flags into a helper. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week X-Differential revision: https://reviews.freebsd.org/D10241 Modified: head/sys/vm/vnode_pager.c head/sys/vm/vnode_pager.h Modified: head/sys/vm/vnode_pager.c ============================================================================== --- head/sys/vm/vnode_pager.c Wed Apr 5 16:45:00 2017 (r316525) +++ head/sys/vm/vnode_pager.c Wed Apr 5 16:56:04 2017 (r316526) @@ -1198,7 +1198,7 @@ vnode_pager_generic_putpages(struct vnod vm_ooffset_t poffset; struct uio auio; struct iovec aiov; - int count, error, i, ioflags, maxsize, ncount, ppscheck; + int count, error, i, maxsize, ncount, ppscheck; static struct timeval lastfail; static int curfail; @@ -1265,22 +1265,6 @@ vnode_pager_generic_putpages(struct vnod } VM_OBJECT_WUNLOCK(object); - /* - * pageouts are already clustered, use IO_ASYNC to force a bawrite() - * rather then a bdwrite() to prevent paging I/O from saturating - * the buffer cache. Dummy-up the sequential heuristic to cause - * large ranges to cluster. If neither IO_SYNC or IO_ASYNC is set, - * the system decides how to cluster. - */ - ioflags = IO_VMIO; - if (flags & (VM_PAGER_PUT_SYNC | VM_PAGER_PUT_INVAL)) - ioflags |= IO_SYNC; - else if ((flags & VM_PAGER_CLUSTER_OK) == 0) - ioflags |= IO_ASYNC; - ioflags |= (flags & VM_PAGER_PUT_INVAL) ? IO_INVAL: 0; - ioflags |= (flags & VM_PAGER_PUT_NOREUSE) ? IO_NOREUSE : 0; - ioflags |= IO_SEQMAX << IO_SEQSHIFT; - aiov.iov_base = (caddr_t) 0; aiov.iov_len = maxsize; auio.uio_iov = &aiov; @@ -1290,7 +1274,8 @@ vnode_pager_generic_putpages(struct vnod auio.uio_rw = UIO_WRITE; auio.uio_resid = maxsize; auio.uio_td = (struct thread *) 0; - error = VOP_WRITE(vp, &auio, ioflags, curthread->td_ucred); + error = VOP_WRITE(vp, &auio, vnode_pager_putpages_ioflags(flags), + curthread->td_ucred); PCPU_INC(cnt.v_vnodeout); PCPU_ADD(cnt.v_vnodepgsout, ncount); @@ -1310,6 +1295,30 @@ vnode_pager_generic_putpages(struct vnod return rtvals[0]; } +int +vnode_pager_putpages_ioflags(int pager_flags) +{ + int ioflags; + + /* + * Pageouts are already clustered, use IO_ASYNC to force a + * bawrite() rather then a bdwrite() to prevent paging I/O + * from saturating the buffer cache. Dummy-up the sequential + * heuristic to cause large ranges to cluster. If neither + * IO_SYNC or IO_ASYNC is set, the system decides how to + * cluster. + */ + ioflags = IO_VMIO; + if ((pager_flags & (VM_PAGER_PUT_SYNC | VM_PAGER_PUT_INVAL)) != 0) + ioflags |= IO_SYNC; + else if ((pager_flags & VM_PAGER_CLUSTER_OK) == 0) + ioflags |= IO_ASYNC; + ioflags |= (pager_flags & VM_PAGER_PUT_INVAL) != 0 ? IO_INVAL: 0; + ioflags |= (pager_flags & VM_PAGER_PUT_NOREUSE) != 0 ? IO_NOREUSE : 0; + ioflags |= IO_SEQMAX << IO_SEQSHIFT; + return (ioflags); +} + void vnode_pager_undirty_pages(vm_page_t *ma, int *rtvals, int written) { Modified: head/sys/vm/vnode_pager.h ============================================================================== --- head/sys/vm/vnode_pager.h Wed Apr 5 16:45:00 2017 (r316525) +++ head/sys/vm/vnode_pager.h Wed Apr 5 16:56:04 2017 (r316526) @@ -47,7 +47,7 @@ int vnode_pager_generic_putpages(struct int count, int flags, int *rtvals); int vnode_pager_local_getpages(struct vop_getpages_args *ap); int vnode_pager_local_getpages_async(struct vop_getpages_async_args *ap); - +int vnode_pager_putpages_ioflags(int pager_flags); void vnode_pager_release_writecount(vm_object_t object, vm_offset_t start, vm_offset_t end); void vnode_pager_undirty_pages(vm_page_t *ma, int *rtvals, int written); From owner-svn-src-all@freebsd.org Wed Apr 5 16:57:14 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 574B1D304D5; Wed, 5 Apr 2017 16:57:14 +0000 (UTC) (envelope-from rstone@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 294D2BA7; Wed, 5 Apr 2017 16:57:14 +0000 (UTC) (envelope-from rstone@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35GvDrW064606; Wed, 5 Apr 2017 16:57:13 GMT (envelope-from rstone@FreeBSD.org) Received: (from rstone@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35GvD5g064605; Wed, 5 Apr 2017 16:57:13 GMT (envelope-from rstone@FreeBSD.org) Message-Id: <201704051657.v35GvD5g064605@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rstone set sender to rstone@FreeBSD.org using -f From: Ryan Stone Date: Wed, 5 Apr 2017 16:57:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316527 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 16:57:14 -0000 Author: rstone Date: Wed Apr 5 16:57:13 2017 New Revision: 316527 URL: https://svnweb.freebsd.org/changeset/base/316527 Log: Revert the optimization from r304436 r304436 attempted to optimize the handling of incoming UDP packet by only making an expensive call to in_broadcast() if the mbuf was marked as an broadcast packet. Unfortunately, this cannot work in the case of point-to- point L2 protocols like PPP, which have no notion of "broadcast". The optimization has been disabled for several months now with no progress towards fixing it, so it needs to go. Modified: head/sys/netinet/udp_usrreq.c Modified: head/sys/netinet/udp_usrreq.c ============================================================================== --- head/sys/netinet/udp_usrreq.c Wed Apr 5 16:56:04 2017 (r316526) +++ head/sys/netinet/udp_usrreq.c Wed Apr 5 16:57:13 2017 (r316527) @@ -123,12 +123,6 @@ SYSCTL_INT(_net_inet_udp, OID_AUTO, blac &VNET_NAME(udp_blackhole), 0, "Do not send port unreachables for refused connects"); -static VNET_DEFINE(int, udp_require_l2_bcast) = 0; -#define V_udp_require_l2_bcast VNET(udp_require_l2_bcast) -SYSCTL_INT(_net_inet_udp, OID_AUTO, require_l2_bcast, CTLFLAG_VNET | CTLFLAG_RW, - &VNET_NAME(udp_require_l2_bcast), 0, - "Only treat packets sent to an L2 broadcast address as broadcast packets"); - u_long udp_sendspace = 9216; /* really max datagram size */ SYSCTL_ULONG(_net_inet_udp, UDPCTL_MAXDGRAM, maxdgram, CTLFLAG_RW, &udp_sendspace, 0, "Maximum outgoing UDP datagram size"); @@ -529,8 +523,7 @@ udp_input(struct mbuf **mp, int *offp, i pcbinfo = udp_get_inpcbinfo(proto); if (IN_MULTICAST(ntohl(ip->ip_dst.s_addr)) || - ((!V_udp_require_l2_bcast || m->m_flags & M_BCAST) && - in_broadcast(ip->ip_dst, ifp))) { + in_broadcast(ip->ip_dst, ifp)) { struct inpcb *last; struct inpcbhead *pcblist; struct ip_moptions *imo; From owner-svn-src-all@freebsd.org Wed Apr 5 16:57:55 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4096FD30564; Wed, 5 Apr 2017 16:57:55 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 013A4D51; Wed, 5 Apr 2017 16:57:54 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35Gvse4064673; Wed, 5 Apr 2017 16:57:54 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35GvrHW064671; Wed, 5 Apr 2017 16:57:53 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704051657.v35GvrHW064671@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 5 Apr 2017 16:57:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316528 - in head/sys: kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 16:57:55 -0000 Author: kib Date: Wed Apr 5 16:57:53 2017 New Revision: 316528 URL: https://svnweb.freebsd.org/changeset/base/316528 Log: Add V_VMIO flag for vinvalbuf(9) to indicate that the flush request was issued during VM-initiated i/o (pageout), so that the function does not try to flush or remove pages or wait for the vm object paging-in-progress counter. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week X-Differential revision: https://reviews.freebsd.org/D10241 Modified: head/sys/kern/vfs_subr.c head/sys/sys/vnode.h Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Wed Apr 5 16:57:13 2017 (r316527) +++ head/sys/kern/vfs_subr.c Wed Apr 5 16:57:53 2017 (r316528) @@ -1673,13 +1673,15 @@ bufobj_invalbuf(struct bufobj *bo, int f */ do { bufobj_wwait(bo, 0, 0); - BO_UNLOCK(bo); - if (bo->bo_object != NULL) { - VM_OBJECT_WLOCK(bo->bo_object); - vm_object_pip_wait(bo->bo_object, "bovlbx"); - VM_OBJECT_WUNLOCK(bo->bo_object); + if ((flags & V_VMIO) == 0) { + BO_UNLOCK(bo); + if (bo->bo_object != NULL) { + VM_OBJECT_WLOCK(bo->bo_object); + vm_object_pip_wait(bo->bo_object, "bovlbx"); + VM_OBJECT_WUNLOCK(bo->bo_object); + } + BO_LOCK(bo); } - BO_LOCK(bo); } while (bo->bo_numoutput > 0); BO_UNLOCK(bo); @@ -1687,7 +1689,7 @@ bufobj_invalbuf(struct bufobj *bo, int f * Destroy the copy in the VM cache, too. */ if (bo->bo_object != NULL && - (flags & (V_ALT | V_NORMAL | V_CLEANONLY)) == 0) { + (flags & (V_ALT | V_NORMAL | V_CLEANONLY | V_VMIO)) == 0) { VM_OBJECT_WLOCK(bo->bo_object); vm_object_page_remove(bo->bo_object, 0, 0, (flags & V_SAVE) ? OBJPR_CLEANONLY : 0); @@ -1696,7 +1698,7 @@ bufobj_invalbuf(struct bufobj *bo, int f #ifdef INVARIANTS BO_LOCK(bo); - if ((flags & (V_ALT | V_NORMAL | V_CLEANONLY)) == 0 && + if ((flags & (V_ALT | V_NORMAL | V_CLEANONLY | V_VMIO)) == 0 && (bo->bo_dirty.bv_cnt > 0 || bo->bo_clean.bv_cnt > 0)) panic("vinvalbuf: flush failed"); BO_UNLOCK(bo); Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Wed Apr 5 16:57:13 2017 (r316527) +++ head/sys/sys/vnode.h Wed Apr 5 16:57:53 2017 (r316528) @@ -402,6 +402,7 @@ extern int vttoif_tab[]; #define V_ALT 0x0002 /* vinvalbuf: invalidate only alternate bufs */ #define V_NORMAL 0x0004 /* vinvalbuf: invalidate only regular bufs */ #define V_CLEANONLY 0x0008 /* vinvalbuf: invalidate only clean bufs */ +#define V_VMIO 0x0010 /* vinvalbuf: called during pageout */ #define REVOKEALL 0x0001 /* vop_revoke: revoke all aliases */ #define V_WAIT 0x0001 /* vn_start_write: sleep for suspend */ #define V_NOWAIT 0x0002 /* vn_start_write: don't sleep for suspend */ From owner-svn-src-all@freebsd.org Wed Apr 5 17:11:40 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7ED73D30EF9; Wed, 5 Apr 2017 17:11:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5C15BE6D; Wed, 5 Apr 2017 17:11:40 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35HBdrA072671; Wed, 5 Apr 2017 17:11:39 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35HBdWF072551; Wed, 5 Apr 2017 17:11:39 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704051711.v35HBdWF072551@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 5 Apr 2017 17:11:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316529 - head/sys/fs/nfsclient X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 17:11:40 -0000 Author: kib Date: Wed Apr 5 17:11:39 2017 New Revision: 316529 URL: https://svnweb.freebsd.org/changeset/base/316529 Log: Handle possible vnode reclamation after ncl_vinvalbuf() call. ncl_vinvalbuf() might need to upgrade vnode lock, allowing the vnode to be reclaimed by other thread. Handle the situation, indicated by the returned error zero and VI_DOOMED iflag set, converting it into EBADF. Handle all calls, even where the vnode is exclusively locked right now. Reviewed by: markj, rmacklem Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks X-Differential revision: https://reviews.freebsd.org/D10241 Modified: head/sys/fs/nfsclient/nfs_clbio.c head/sys/fs/nfsclient/nfs_clvnops.c Modified: head/sys/fs/nfsclient/nfs_clbio.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clbio.c Wed Apr 5 16:57:53 2017 (r316528) +++ head/sys/fs/nfsclient/nfs_clbio.c Wed Apr 5 17:11:39 2017 (r316529) @@ -394,8 +394,8 @@ nfs_bioread_check_cons(struct vnode *vp, */ old_lock = ncl_upgrade_vnlock(vp); if (vp->v_iflag & VI_DOOMED) { - ncl_downgrade_vnlock(vp, old_lock); - return (EBADF); + error = EBADF; + goto out; } mtx_lock(&np->n_mtx); @@ -406,7 +406,9 @@ nfs_bioread_check_cons(struct vnode *vp, panic("nfs: bioread, not dir"); ncl_invaldir(vp); error = ncl_vinvalbuf(vp, V_SAVE, td, 1); - if (error) + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + error = EBADF; + if (error != 0) goto out; } np->n_attrstamp = 0; @@ -429,7 +431,9 @@ nfs_bioread_check_cons(struct vnode *vp, if (vp->v_type == VDIR) ncl_invaldir(vp); error = ncl_vinvalbuf(vp, V_SAVE, td, 1); - if (error) + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + error = EBADF; + if (error != 0) goto out; mtx_lock(&np->n_mtx); np->n_mtime = vattr.va_mtime; @@ -439,7 +443,7 @@ nfs_bioread_check_cons(struct vnode *vp, } out: ncl_downgrade_vnlock(vp, old_lock); - return error; + return (error); } /* @@ -623,6 +627,9 @@ ncl_bioread(struct vnode *vp, struct uio while (error == NFSERR_BAD_COOKIE) { ncl_invaldir(vp); error = ncl_vinvalbuf(vp, 0, td, 1); + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + return (EBADF); + /* * Yuck! The directory has been modified on the * server. The only way to get the block is by @@ -943,8 +950,11 @@ ncl_write(struct vop_write_args *ap) #endif np->n_attrstamp = 0; KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(vp); - error = ncl_vinvalbuf(vp, V_SAVE, td, 1); - if (error) + error = ncl_vinvalbuf(vp, V_SAVE | ((ioflag & + IO_VMIO) != 0 ? V_VMIO : 0), td, 1); + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + error = EBADF; + if (error != 0) return (error); } else mtx_unlock(&np->n_mtx); @@ -1023,8 +1033,12 @@ ncl_write(struct vop_write_args *ap) if (wouldcommit > nmp->nm_wcommitsize) { np->n_attrstamp = 0; KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(vp); - error = ncl_vinvalbuf(vp, V_SAVE, td, 1); - if (error) + error = ncl_vinvalbuf(vp, V_SAVE | ((ioflag & + IO_VMIO) != 0 ? V_VMIO : 0), td, 1); + if (error == 0 && + (vp->v_iflag & VI_DOOMED) != 0) + error = EBADF; + if (error != 0) return (error); wouldcommit = biosize; } Modified: head/sys/fs/nfsclient/nfs_clvnops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvnops.c Wed Apr 5 16:57:53 2017 (r316528) +++ head/sys/fs/nfsclient/nfs_clvnops.c Wed Apr 5 17:11:39 2017 (r316529) @@ -520,6 +520,8 @@ nfs_open(struct vop_open_args *ap) if (np->n_flag & NMODIFIED) { mtx_unlock(&np->n_mtx); error = ncl_vinvalbuf(vp, V_SAVE, ap->a_td, 1); + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + return (EBADF); if (error == EINTR || error == EIO) { if (NFS_ISV4(vp)) (void) nfsrpc_close(vp, 0, ap->a_td); @@ -556,6 +558,8 @@ nfs_open(struct vop_open_args *ap) np->n_direofoffset = 0; mtx_unlock(&np->n_mtx); error = ncl_vinvalbuf(vp, V_SAVE, ap->a_td, 1); + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + return (EBADF); if (error == EINTR || error == EIO) { if (NFS_ISV4(vp)) (void) nfsrpc_close(vp, 0, ap->a_td); @@ -576,6 +580,8 @@ nfs_open(struct vop_open_args *ap) if (np->n_directio_opens == 0) { mtx_unlock(&np->n_mtx); error = ncl_vinvalbuf(vp, V_SAVE, ap->a_td, 1); + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + return (EBADF); if (error) { if (NFS_ISV4(vp)) (void) nfsrpc_close(vp, 0, ap->a_td); @@ -714,8 +720,11 @@ nfs_close(struct vop_close_args *ap) * np->n_flag &= ~NMODIFIED; */ } - } else - error = ncl_vinvalbuf(vp, V_SAVE, ap->a_td, 1); + } else { + error = ncl_vinvalbuf(vp, V_SAVE, ap->a_td, 1); + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + return (EBADF); + } mtx_lock(&np->n_mtx); } /* @@ -931,13 +940,13 @@ nfs_setattr(struct vop_setattr_args *ap) if (np->n_flag & NMODIFIED) { tsize = np->n_size; mtx_unlock(&np->n_mtx); - if (vap->va_size == 0) - error = ncl_vinvalbuf(vp, 0, td, 1); - else - error = ncl_vinvalbuf(vp, V_SAVE, td, 1); - if (error) { - vnode_pager_setsize(vp, tsize); - return (error); + error = ncl_vinvalbuf(vp, vap->va_size == 0 ? + 0 : V_SAVE, td, 1); + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + error = EBADF; + if (error != 0) { + vnode_pager_setsize(vp, tsize); + return (error); } /* * Call nfscl_delegmodtime() to set the modify time @@ -961,8 +970,10 @@ nfs_setattr(struct vop_setattr_args *ap) if ((vap->va_mtime.tv_sec != VNOVAL || vap->va_atime.tv_sec != VNOVAL) && (np->n_flag & NMODIFIED) && vp->v_type == VREG) { mtx_unlock(&np->n_mtx); - if ((error = ncl_vinvalbuf(vp, V_SAVE, td, 1)) != 0 && - (error == EINTR || error == EIO)) + error = ncl_vinvalbuf(vp, V_SAVE, td, 1); + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + return (EBADF); + if (error == EINTR || error == EIO) return (error); } else mtx_unlock(&np->n_mtx); @@ -1665,8 +1676,10 @@ nfs_remove(struct vop_remove_args *ap) * unnecessary delayed writes later. */ error = ncl_vinvalbuf(vp, 0, cnp->cn_thread, 1); - /* Do the rpc */ - if (error != EINTR && error != EIO) + if (error == 0 && (vp->v_iflag & VI_DOOMED) != 0) + error = EBADF; + else if (error != EINTR && error != EIO) + /* Do the rpc */ error = nfs_removerpc(dvp, vp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_cred, cnp->cn_thread); /* @@ -3055,6 +3068,10 @@ nfs_advlock(struct vop_advlock_args *ap) if ((np->n_flag & NMODIFIED) || ret || np->n_change != va.va_filerev) { (void) ncl_vinvalbuf(vp, V_SAVE, td, 1); + if ((vp->v_iflag & VI_DOOMED) != 0) { + NFSVOPUNLOCK(vp, 0); + return (EBADF); + } np->n_attrstamp = 0; KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(vp); ret = VOP_GETATTR(vp, &va, cred); From owner-svn-src-all@freebsd.org Wed Apr 5 17:17:19 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CFD3BD301EF; Wed, 5 Apr 2017 17:17:19 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A1C167A7; Wed, 5 Apr 2017 17:17:19 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35HHIpu073069; Wed, 5 Apr 2017 17:17:18 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35HHIni073068; Wed, 5 Apr 2017 17:17:18 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704051717.v35HHIni073068@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 5 Apr 2017 17:17:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316530 - head/sbin/geom/misc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 17:17:19 -0000 Author: asomers Date: Wed Apr 5 17:17:18 2017 New Revision: 316530 URL: https://svnweb.freebsd.org/changeset/base/316530 Log: Fix clearing geom metadata if DIOCGSECTORSIZE fails An unhandled error case would result in passing SIZE_MAX to malloc. While I'm here, remove an unnecessary NULL check before free Reported by: Coverity CID: 1017793 MFC after: 3 weeks Sponsored by: Spectra Logic Corp Modified: head/sbin/geom/misc/subr.c Modified: head/sbin/geom/misc/subr.c ============================================================================== --- head/sbin/geom/misc/subr.c Wed Apr 5 17:11:39 2017 (r316529) +++ head/sbin/geom/misc/subr.c Wed Apr 5 17:17:18 2017 (r316530) @@ -336,7 +336,7 @@ g_metadata_clear(const char *name, const goto out; } sectorsize = g_sectorsize(fd); - if (sectorsize == 0) { + if (sectorsize <= 0) { error = errno; goto out; } @@ -365,8 +365,7 @@ g_metadata_clear(const char *name, const } (void)g_flush(fd); out: - if (sector != NULL) - free(sector); + free(sector); g_close(fd); return (error); } From owner-svn-src-all@freebsd.org Wed Apr 5 17:20:32 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79631D30485; Wed, 5 Apr 2017 17:20:32 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4BA65AE0; Wed, 5 Apr 2017 17:20:32 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35HKVSc073235; Wed, 5 Apr 2017 17:20:31 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35HKVTp073234; Wed, 5 Apr 2017 17:20:31 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704051720.v35HKVTp073234@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 5 Apr 2017 17:20:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316531 - head/sys/fs/nfsclient X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 17:20:32 -0000 Author: kib Date: Wed Apr 5 17:20:31 2017 New Revision: 316531 URL: https://svnweb.freebsd.org/changeset/base/316531 Log: Handle nfs IO_ASYNC write requests asynchronously. Reviewed by: markj, rmacklem Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks X-Differential revision: https://reviews.freebsd.org/D10241 Modified: head/sys/fs/nfsclient/nfs_clbio.c Modified: head/sys/fs/nfsclient/nfs_clbio.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clbio.c Wed Apr 5 17:17:18 2017 (r316530) +++ head/sys/fs/nfsclient/nfs_clbio.c Wed Apr 5 17:20:31 2017 (r316531) @@ -1275,7 +1275,7 @@ again: error = error1; break; } - } else if ((n + on) == biosize) { + } else if ((n + on) == biosize || (ioflag & IO_ASYNC) != 0) { bp->b_flags |= B_ASYNC; (void) ncl_writebp(bp, 0, NULL); } else { From owner-svn-src-all@freebsd.org Wed Apr 5 17:26:22 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0806AD3072A; Wed, 5 Apr 2017 17:26:22 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BF1F228C; Wed, 5 Apr 2017 17:26:21 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35HQKCf077077; Wed, 5 Apr 2017 17:26:20 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35HQKGf077076; Wed, 5 Apr 2017 17:26:20 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704051726.v35HQKGf077076@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 5 Apr 2017 17:26:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316532 - head/sys/fs/nfsclient X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 17:26:22 -0000 Author: kib Date: Wed Apr 5 17:26:20 2017 New Revision: 316532 URL: https://svnweb.freebsd.org/changeset/base/316532 Log: Make nfs pageout coherent with the dirty state of the buffers. Write out the dirty pages using VOP_WRITE() instead of directly calling ncl_writerpc(). The state of the buffers now reflects the write, fixing some hard to diagnose consistency and write order issues. The change also allowed to remove remapping of paged out pages into kernel space and related allocation of the phys buffer. Reviewed by: markj, rmacklem Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D10241 Modified: head/sys/fs/nfsclient/nfs_clbio.c Modified: head/sys/fs/nfsclient/nfs_clbio.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clbio.c Wed Apr 5 17:20:31 2017 (r316531) +++ head/sys/fs/nfsclient/nfs_clbio.c Wed Apr 5 17:26:20 2017 (r316532) @@ -266,9 +266,7 @@ ncl_putpages(struct vop_putpages_args *a { struct uio uio; struct iovec iov; - vm_offset_t kva; - struct buf *bp; - int iomode, must_commit, i, error, npages, count; + int i, error, npages, count; off_t offset; int *rtvals; struct vnode *vp; @@ -322,44 +320,26 @@ ncl_putpages(struct vop_putpages_args *a } mtx_unlock(&np->n_mtx); - /* - * We use only the kva address for the buffer, but this is extremely - * convenient and fast. - */ - bp = getpbuf(&ncl_pbuf_freecnt); - - kva = (vm_offset_t) bp->b_data; - pmap_qenter(kva, pages, npages); PCPU_INC(cnt.v_vnodeout); PCPU_ADD(cnt.v_vnodepgsout, count); - iov.iov_base = (caddr_t) kva; + iov.iov_base = unmapped_buf; iov.iov_len = count; uio.uio_iov = &iov; uio.uio_iovcnt = 1; uio.uio_offset = offset; uio.uio_resid = count; - uio.uio_segflg = UIO_SYSSPACE; + uio.uio_segflg = UIO_NOCOPY; uio.uio_rw = UIO_WRITE; uio.uio_td = td; - if ((ap->a_sync & VM_PAGER_PUT_SYNC) == 0) - iomode = NFSWRITE_UNSTABLE; - else - iomode = NFSWRITE_FILESYNC; - - error = ncl_writerpc(vp, &uio, cred, &iomode, &must_commit, 0); + error = VOP_WRITE(vp, &uio, vnode_pager_putpages_ioflags(ap->a_sync), + cred); crfree(cred); - pmap_qremove(kva, npages); - relpbuf(bp, &ncl_pbuf_freecnt); - - if (error == 0 || !nfs_keep_dirty_on_error) { + if (error == 0 || !nfs_keep_dirty_on_error) vnode_pager_undirty_pages(pages, rtvals, count - uio.uio_resid); - if (must_commit) - ncl_clearcommit(vp->v_mount); - } - return rtvals[0]; + return (rtvals[0]); } /* @@ -1385,7 +1365,8 @@ ncl_vinvalbuf(struct vnode *vp, int flag /* * Now, flush as required. */ - if ((flags & V_SAVE) && (vp->v_bufobj.bo_object != NULL)) { + if ((flags & (V_SAVE | V_VMIO)) == V_SAVE && + vp->v_bufobj.bo_object != NULL) { VM_OBJECT_WLOCK(vp->v_bufobj.bo_object); vm_object_page_clean(vp->v_bufobj.bo_object, 0, 0, OBJPC_SYNC); VM_OBJECT_WUNLOCK(vp->v_bufobj.bo_object); From owner-svn-src-all@freebsd.org Wed Apr 5 17:56:19 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 41008D30222; Wed, 5 Apr 2017 17:56:19 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0DD9A9D4; Wed, 5 Apr 2017 17:56:18 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35HuIiD089402; Wed, 5 Apr 2017 17:56:18 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35HuImJ089401; Wed, 5 Apr 2017 17:56:18 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201704051756.v35HuImJ089401@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 5 Apr 2017 17:56:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316533 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 17:56:19 -0000 Author: bdrewery Date: Wed Apr 5 17:56:17 2017 New Revision: 316533 URL: https://svnweb.freebsd.org/changeset/base/316533 Log: Support assym.s in DPSRCS to depend on it but not link it in. Reported by: andrew MFC after: 2 weeks Sponsored by: Dell EMC Isilon Modified: head/sys/conf/kmod.mk Modified: head/sys/conf/kmod.mk ============================================================================== --- head/sys/conf/kmod.mk Wed Apr 5 17:26:20 2017 (r316532) +++ head/sys/conf/kmod.mk Wed Apr 5 17:56:17 2017 (r316533) @@ -452,7 +452,7 @@ acpi_quirks.h: ${SYSDIR}/tools/acpi_quir ${AWK} -f ${SYSDIR}/tools/acpi_quirks2h.awk ${SYSDIR}/dev/acpica/acpi_quirks .endif -.if !empty(SRCS:Massym.s) +.if !empty(SRCS:Massym.s) || !empty(DPSRCS:Massym.s) CLEANFILES+= assym.s genassym.o DEPENDOBJS+= genassym.o assym.s: genassym.o From owner-svn-src-all@freebsd.org Wed Apr 5 17:56:22 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 94D22D30243; Wed, 5 Apr 2017 17:56:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 64DAD9DE; Wed, 5 Apr 2017 17:56:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35HuL9L089447; Wed, 5 Apr 2017 17:56:21 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35HuLpB089446; Wed, 5 Apr 2017 17:56:21 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201704051756.v35HuLpB089446@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Wed, 5 Apr 2017 17:56:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316534 - head/sys/modules/dtrace/dtrace X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 17:56:22 -0000 Author: bdrewery Date: Wed Apr 5 17:56:21 2017 New Revision: 316534 URL: https://svnweb.freebsd.org/changeset/base/316534 Log: Stop building assym.o into the module. DTrace includes assym.s, to build this we build assym.o, however this is unneeded as assym.s only contains macros. Remove the need to build this by removing it from OBJS, but keep assym.s in the module dependencies via DPSRCS. This fixes the build when there is no assembler, e.g. on arm64 without the external binutils. Submitted by: andrew MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D10041 Modified: head/sys/modules/dtrace/dtrace/Makefile Modified: head/sys/modules/dtrace/dtrace/Makefile ============================================================================== --- head/sys/modules/dtrace/dtrace/Makefile Wed Apr 5 17:56:17 2017 (r316533) +++ head/sys/modules/dtrace/dtrace/Makefile Wed Apr 5 17:56:21 2017 (r316534) @@ -27,7 +27,7 @@ CFLAGS+= -I${SYSDIR}/cddl/contrib/openso SRCS+= bus_if.h device_if.h vnode_if.h # Needed for dtrace_asm.S -SRCS+= assym.s +DPSRCS+= assym.s # These are needed for assym.s SRCS+= opt_compat.h opt_kstack_pages.h opt_nfs.h opt_hwpmc_hooks.h @@ -55,20 +55,6 @@ EXPORT_SYMS= dtrace_register \ dtrace_asm.o: assym.s -.if ${MACHINE_CPUARCH} == "arm" -assym.o: assym.s - ${AS} -meabi=5 -o assym.o assym.s -.endif - -.if ${MACHINE_CPUARCH} == "riscv" -assym.o: assym.s -.if ${TARGET_ARCH:Mriscv*sf} - ${AS} -mfloat-abi=soft -o assym.o assym.s -.else - ${AS} -mfloat-abi=double -o assym.o assym.s -.endif -.endif - .include CFLAGS+= -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h From owner-svn-src-all@freebsd.org Wed Apr 5 18:31:27 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 94171D30FB7; Wed, 5 Apr 2017 18:31:27 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6358F7AE; Wed, 5 Apr 2017 18:31:27 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35IVQTc005285; Wed, 5 Apr 2017 18:31:26 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35IVQos005284; Wed, 5 Apr 2017 18:31:26 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704051831.v35IVQos005284@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 5 Apr 2017 18:31:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316535 - head/sbin/geom/class/part X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 18:31:27 -0000 Author: asomers Date: Wed Apr 5 18:31:26 2017 New Revision: 316535 URL: https://svnweb.freebsd.org/changeset/base/316535 Log: Fix memory leak in "gpart bootcode" Also, annotate that gpart_issue never returns Reported by: Coverity CID: 1007105 MFC after: 3 weeks Sponsored by: Spectra Logic Corp Modified: head/sbin/geom/class/part/geom_part.c Modified: head/sbin/geom/class/part/geom_part.c ============================================================================== --- head/sbin/geom/class/part/geom_part.c Wed Apr 5 17:56:21 2017 (r316534) +++ head/sbin/geom/class/part/geom_part.c Wed Apr 5 18:31:26 2017 (r316535) @@ -81,7 +81,7 @@ static int gpart_autofill(struct gctl_re static int gpart_autofill_resize(struct gctl_req *); static void gpart_bootcode(struct gctl_req *, unsigned int); static void *gpart_bootfile_read(const char *, ssize_t *); -static void gpart_issue(struct gctl_req *, unsigned int); +static _Noreturn void gpart_issue(struct gctl_req *, unsigned int); static void gpart_show(struct gctl_req *, unsigned int); static void gpart_show_geom(struct ggeom *, const char *, int); static int gpart_show_hasopt(struct gctl_req *, const char *, const char *); @@ -1270,6 +1270,7 @@ gpart_bootcode(struct gctl_req *req, uns gpart_issue(req, fl); geom_deletetree(&mesh); + free(partcode); } static void @@ -1290,7 +1291,7 @@ gpart_print_error(const char *errstr) warnx("%s", errmsg); } -static void +static _Noreturn void gpart_issue(struct gctl_req *req, unsigned int fl __unused) { char buf[4096]; From owner-svn-src-all@freebsd.org Wed Apr 5 18:41:47 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A5CF8D30576; Wed, 5 Apr 2017 18:41:47 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 806386F; Wed, 5 Apr 2017 18:41:47 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35Ifkv3009485; Wed, 5 Apr 2017 18:41:46 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35IfiP2009466; Wed, 5 Apr 2017 18:41:44 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704051841.v35IfiP2009466@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 5 Apr 2017 18:41:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316536 - in head: contrib/netbsd-tests/usr.bin/grep usr.bin/grep/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 18:41:47 -0000 Author: emaste Date: Wed Apr 5 18:41:44 2017 New Revision: 316536 URL: https://svnweb.freebsd.org/changeset/base/316536 Log: bsdgrep: create additional tests for coverage on recent fixes Create additional tests to cover regressions that were discovered by PRs linked to reviews D10098, D10102, and D10104. It is worth noting that neither bsdgrep(1) nor gnugrep(1) in the base system currently pass all of these tests, and gnugrep(1) not quite being up to snuff was also noted in at least one of the PRs. PR: 175314 202022 195763 180990 197555 197531 181263 209116 Submitted by: Kyle Evans Reviewed by: cem, ngie, emaste MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D10112 Added: head/contrib/netbsd-tests/usr.bin/grep/d_color_a.in (contents, props changed) head/contrib/netbsd-tests/usr.bin/grep/d_color_a.out head/contrib/netbsd-tests/usr.bin/grep/d_color_b.in (contents, props changed) head/contrib/netbsd-tests/usr.bin/grep/d_color_b.out head/contrib/netbsd-tests/usr.bin/grep/d_color_c.out head/contrib/netbsd-tests/usr.bin/grep/d_escmap.in (contents, props changed) head/contrib/netbsd-tests/usr.bin/grep/d_f_file_empty.in (contents, props changed) head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_a.in (contents, props changed) head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_a.out head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_b.in (contents, props changed) head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_b.out head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_c.in (contents, props changed) head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_c.out head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_d.in (contents, props changed) head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_e.in (contents, props changed) head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_e.out Modified: head/contrib/netbsd-tests/usr.bin/grep/t_grep.sh head/usr.bin/grep/tests/Makefile Added: head/contrib/netbsd-tests/usr.bin/grep/d_color_a.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_color_a.in Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1 @@ +abcd* Added: head/contrib/netbsd-tests/usr.bin/grep/d_color_a.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_color_a.out Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1 @@ +abcd* Added: head/contrib/netbsd-tests/usr.bin/grep/d_color_b.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_color_b.in Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1,5 @@ +fojeiwuroiuwet +ljfajsljkfabcdddjlfkajlkj +abcaaa +zzzabc + Added: head/contrib/netbsd-tests/usr.bin/grep/d_color_b.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_color_b.out Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1,3 @@ +ljfajsljkfabcdddjlfkajlkj +abcaaa +zzzabc Added: head/contrib/netbsd-tests/usr.bin/grep/d_color_c.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_color_c.out Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1,3 @@ +ljfajsljkfabcdddjlfkajlkj +abcaaa +zzzabc Added: head/contrib/netbsd-tests/usr.bin/grep/d_escmap.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_escmap.in Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1 @@ +f.oo Added: head/contrib/netbsd-tests/usr.bin/grep/d_f_file_empty.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_f_file_empty.in Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1,2 @@ +Fish zebra monkey suits + Added: head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_a.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_a.in Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1 @@ +01:1:01 Added: head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_a.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_a.out Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1,3 @@ +0 +: +:0 Added: head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_b.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_b.in Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1 @@ +1:1:01 Added: head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_b.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_b.out Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1,2 @@ +: +:0 Added: head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_c.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_c.in Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1 @@ +bla bla Added: head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_c.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_c.out Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1,2 @@ +bla +bla Added: head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_d.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_d.in Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1,3 @@ +bla +bla + Added: head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_e.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_e.in Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1 @@ +abcdef Added: head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_e.out ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/netbsd-tests/usr.bin/grep/d_oflag_zerolen_e.out Wed Apr 5 18:41:44 2017 (r316536) @@ -0,0 +1 @@ +ab Modified: head/contrib/netbsd-tests/usr.bin/grep/t_grep.sh ============================================================================== --- head/contrib/netbsd-tests/usr.bin/grep/t_grep.sh Wed Apr 5 18:31:26 2017 (r316535) +++ head/contrib/netbsd-tests/usr.bin/grep/t_grep.sh Wed Apr 5 18:41:44 2017 (r316536) @@ -226,10 +226,102 @@ context2_body() atf_check -o file:"$(atf_get_srcdir)/d_context2_c.out" \ grep -z -C1 cod test1 test2 } +# Begin FreeBSD +atf_test_case oflag_zerolen +oflag_zerolen_head() +{ + atf_set "descr" "Check behavior of zero-length matches with -o flag (PR 195763)" +} +oflag_zerolen_body() +{ + atf_check -o file:"$(atf_get_srcdir)/d_oflag_zerolen_a.out" \ + grep -Eo '(^|:)0*' "$(atf_get_srcdir)/d_oflag_zerolen_a.in" + + atf_check -o file:"$(atf_get_srcdir)/d_oflag_zerolen_b.out" \ + grep -Eo '(^|:)0*' "$(atf_get_srcdir)/d_oflag_zerolen_b.in" + + atf_check -o file:"$(atf_get_srcdir)/d_oflag_zerolen_c.out" \ + grep -Eo '[[:alnum:]]*' "$(atf_get_srcdir)/d_oflag_zerolen_c.in" + + atf_check -o empty grep -Eo '' "$(atf_get_srcdir)/d_oflag_zerolen_d.in" + + atf_check -o file:"$(atf_get_srcdir)/d_oflag_zerolen_e.out" \ + grep -o -e 'ab' -e 'bc' "$(atf_get_srcdir)/d_oflag_zerolen_e.in" + + atf_check -o file:"$(atf_get_srcdir)/d_oflag_zerolen_e.out" \ + grep -o -e 'bc' -e 'ab' "$(atf_get_srcdir)/d_oflag_zerolen_e.in" +} + +atf_test_case xflag +xflag_head() +{ + atf_set "descr" "Check that we actually get a match with -x flag (PR 180990)" +} +xflag_body() +{ + echo 128 > match_file + seq 1 128 > pattern_file + grep -xf pattern_file match_file +} + +atf_test_case color +color_head() +{ + atf_set "descr" "Check --color support" +} +color_body() +{ + echo 'abcd*' > grepfile + echo 'abc$' >> grepfile + echo '^abc' >> grepfile + + atf_check -o file:"$(atf_get_srcdir)/d_color_a.out" \ + grep --color=auto -e '.*' -e 'a' "$(atf_get_srcdir)/d_color_a.in" + + atf_check -o file:"$(atf_get_srcdir)/d_color_b.out" \ + grep --color=auto -f grepfile "$(atf_get_srcdir)/d_color_b.in" + + atf_check -o file:"$(atf_get_srcdir)/d_color_c.out" \ + grep --color=always -f grepfile "$(atf_get_srcdir)/d_color_b.in" +} + +atf_test_case f_file_empty +f_file_empty_head() +{ + atf_set "descr" "Check for handling of a null byte in empty file, specified by -f (PR 202022)" +} +f_file_empty_body() +{ + printf "\0\n" > nulpat + + atf_check -s exit:1 grep -f nulpat "$(atf_get_srcdir)/d_f_file_empty.in" +} + +atf_test_case escmap +escmap_head() +{ + atf_set "descr" "Check proper handling of escaped vs. unescaped dot expressions (PR 175314)" +} +escmap_body() +{ + atf_check -s exit:1 grep -o 'f.o\.' "$(atf_get_srcdir)/d_escmap.in" + atf_check -o not-empty grep -o 'f.o.' "$(atf_get_srcdir)/d_escmap.in" +} + +atf_test_case egrep_empty_invalid +egrep_empty_invalid_head() +{ + atf_set "descr" "Check for handling of an invalid empty pattern (PR 194823)" +} +egrep_empty_invalid_body() +{ + atf_check -s exit:1 egrep '{' /dev/null +} +# End FreeBSD atf_init_test_cases() { - atf_add_test_case basic + atf_add_test_case basic atf_add_test_case binary atf_add_test_case recurse atf_add_test_case recurse_symlink @@ -245,4 +337,12 @@ atf_init_test_cases() atf_add_test_case zgrep atf_add_test_case nonexistent atf_add_test_case context2 +# Begin FreeBSD + atf_add_test_case oflag_zerolen + atf_add_test_case xflag + atf_add_test_case color + atf_add_test_case f_file_empty + atf_add_test_case escmap + atf_add_test_case egrep_empty_invalid +# End FreeBSD } Modified: head/usr.bin/grep/tests/Makefile ============================================================================== --- head/usr.bin/grep/tests/Makefile Wed Apr 5 18:31:26 2017 (r316535) +++ head/usr.bin/grep/tests/Makefile Wed Apr 5 18:41:44 2017 (r316536) @@ -8,6 +8,11 @@ ${PACKAGE}FILES+= d_basic.out ${PACKAGE}FILES+= d_begin_end_a.out ${PACKAGE}FILES+= d_begin_end_b.out ${PACKAGE}FILES+= d_binary.out +${PACKAGE}FILES+= d_color_a.in +${PACKAGE}FILES+= d_color_a.out +${PACKAGE}FILES+= d_color_b.in +${PACKAGE}FILES+= d_color_b.out +${PACKAGE}FILES+= d_color_c.out ${PACKAGE}FILES+= d_context2_a.out ${PACKAGE}FILES+= d_context2_b.out ${PACKAGE}FILES+= d_context2_c.out @@ -18,12 +23,23 @@ ${PACKAGE}FILES+= d_context_b.out ${PACKAGE}FILES+= d_context_c.out ${PACKAGE}FILES+= d_context_d.out ${PACKAGE}FILES+= d_egrep.out +${PACKAGE}FILES+= d_escmap.in +${PACKAGE}FILES+= d_f_file_empty.in ${PACKAGE}FILES+= d_file_exp.in ${PACKAGE}FILES+= d_file_exp.out ${PACKAGE}FILES+= d_ignore_case.out ${PACKAGE}FILES+= d_input ${PACKAGE}FILES+= d_invert.in ${PACKAGE}FILES+= d_invert.out +${PACKAGE}FILES+= d_oflag_zerolen_a.in +${PACKAGE}FILES+= d_oflag_zerolen_a.out +${PACKAGE}FILES+= d_oflag_zerolen_b.in +${PACKAGE}FILES+= d_oflag_zerolen_b.out +${PACKAGE}FILES+= d_oflag_zerolen_c.in +${PACKAGE}FILES+= d_oflag_zerolen_c.out +${PACKAGE}FILES+= d_oflag_zerolen_d.in +${PACKAGE}FILES+= d_oflag_zerolen_e.in +${PACKAGE}FILES+= d_oflag_zerolen_e.out ${PACKAGE}FILES+= d_recurse.out ${PACKAGE}FILES+= d_recurse_symlink.err ${PACKAGE}FILES+= d_recurse_symlink.out From owner-svn-src-all@freebsd.org Wed Apr 5 18:49:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 477AFD30B10; Wed, 5 Apr 2017 18:49:00 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x242.google.com (mail-pg0-x242.google.com [IPv6:2607:f8b0:400e:c05::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 145E0A94; Wed, 5 Apr 2017 18:49:00 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x242.google.com with SMTP id 81so3125132pgh.3; Wed, 05 Apr 2017 11:49:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=8bnWLMydZ3ckXuwY1YSmF7cnLPC4bRD01x+kYUkQbhI=; b=LBOcpCFtIrNZtWxVyzG5VIHm+t0Hf85QLn8vZalxEvs2LK9C4x6JUrPy3g3ad0awoh DzvVPqBzfKbDFXYeBOm0ZlE8lU4jyCTqHaU1rnY7w3NyxCGzM4uesDGM4nHO29rHMX/J 3+Vel826FJKMU350RvzKugIW5gMQJ+FvIWqzkvmUA30bvdaNTUEAhcIR2HRfy/n53wkU 8+qqYxcDPzHzexuN2N+vWtMGI4H7al+WVoWVFGdbF7PxdBrRjE0kHfYDuhBrkNnvKhM0 tKQyPxeI46Igp+PO0Lx5satwqJdlDd9te5wybc3OETmvNN+gLe8BDnhbF357VqJSaZPa 8ZrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=8bnWLMydZ3ckXuwY1YSmF7cnLPC4bRD01x+kYUkQbhI=; b=WV8ZvE0d5B4r8ajZLlRKUCjhAzujkJ0TmE5+5XnvPV52sHPXEQFkoWl8jzVQtpTTrv YgiDDma+oOcdkFAI2SRHAb00z+SJg7xspANgjNlIxK3U55qf2DoAkJrl75AsxGTiQPr0 XAD8x15FUM9JVQEPR4vEaCKicJULs/w/eE6XHQlgBkcbnZyLV863aPmw0Q2Er4mkgQ+B XP8Zy5+mAUkUwLnkAqqxjTPbbJmJ+nV0Myk/NLvDMiFg0g3HL5cvCV5ixM3vl+1Kl0M5 hDIW3+noWVnqTOuS5t4YSoJab0z0Ixi9ppj7WjoFbRjpgbEZicLxZnSmO4V0Tke1mpYg oXcw== X-Gm-Message-State: AFeK/H0OVEn6mr77h8LeaUV9gnLi27dqIrN9hHDO3k9lrBbKn8trXf0QbyUazZa0uQ068A== X-Received: by 10.98.78.4 with SMTP id c4mr30444703pfb.241.1491418139531; Wed, 05 Apr 2017 11:48:59 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id l76sm38915035pfj.94.2017.04.05.11.48.58 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 05 Apr 2017 11:48:58 -0700 (PDT) Subject: Re: svn commit: r316536 - in head: contrib/netbsd-tests/usr.bin/grep usr.bin/grep/tests Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_F7102C65-6F51-4D46-A0DE-3658767FB380"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201704051841.v35IfiP2009466@repo.freebsd.org> Date: Wed, 5 Apr 2017 11:48:58 -0700 Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <85B65B02-8146-449C-B003-B375B8EE3F43@gmail.com> References: <201704051841.v35IfiP2009466@repo.freebsd.org> To: Ed Maste X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 18:49:00 -0000 --Apple-Mail=_F7102C65-6F51-4D46-A0DE-3658767FB380 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Apr 5, 2017, at 11:41, Ed Maste wrote: >=20 > Author: emaste > Date: Wed Apr 5 18:41:44 2017 > New Revision: 316536 > URL: https://svnweb.freebsd.org/changeset/base/316536 >=20 > Log: > bsdgrep: create additional tests for coverage on recent fixes >=20 > Create additional tests to cover regressions that were discovered by > PRs linked to reviews D10098, D10102, and D10104. >=20 > It is worth noting that neither bsdgrep(1) nor gnugrep(1) in the base > system currently pass all of these tests, and gnugrep(1) not quite = being > up to snuff was also noted in at least one of the PRs. As a general rule of thumb, if it doesn=E2=80=99t pass, it needs = to be marked as an expected failure until it passes. Not really a big = deal right now (because ci.freebsd.org isn=E2=80=99t spamming current@ = =E2=80=94 yet), but when that switch gets thrown again, it would spam a = few hundred people with known failures. Thanks, -Ngie --Apple-Mail=_F7102C65-6F51-4D46-A0DE-3658767FB380 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJY5TwaAAoJEPWDqSZpMIYVeDAQAJbwfLPQv5YnSiV5LSKmlqK6 XcEPh8xpyGtGyqG9awGtH1Y4ovn9Ot5Bw7Thua4xDcWonau0qvhELP6tHm6Y20gj jR4rePEK71YulaeQVErQmdYGoQAoi/bpmz5KFtzdTUepmhaNURPg6sZZI7NC8v0Q TXWBdNBHwhp0KowVvky95Fl8e9i0HuF5qwXJLIduCHGShG9y7LNJOfOkz/unuFSH olBgCSpgPdAAyAYodev/V8GYzI0WDW3UCFSnOeJPygg+qzavMoDtY8lyVPlDzVML om1CYiI67dEtIqKfDZRW7H99fCY1i7oeL/Q/5S7l+LMsKcdT2uioPruCHeZNxTlm 0aJHBr1Yx27SBMK9WrmYGSUg8AW8FaAYlg280y3xqaWxAy7RoanswcyheYOCO6hL iUUyRRFUdrgc+yq05I5Hl9aweeLZnNWri5aWNGDQzRHkm3ctFBu/Nkig8BPZuLQB gTJCS5lKPloXaWs/PNw3ri5Z0XuN/51QdaPh5z+zRc5mM2qnT64VlUL0eySQbP2q XRXwKJGU5/oORa/McT1uZK/BcvIoixQcKgy5zPoYXG390bPeUZAhvAz+eUwhG7IK KBV6ZdarJcedmEz98DveSY7JXd2OvhZkPlKwEZoqIOewvEApupf9OCbLweKVwL8H QNYLKOwVGK1wSVgABxcV =cbGC -----END PGP SIGNATURE----- --Apple-Mail=_F7102C65-6F51-4D46-A0DE-3658767FB380-- From owner-svn-src-all@freebsd.org Wed Apr 5 19:00:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0BB1AD30F78; Wed, 5 Apr 2017 19:00:00 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CC020152; Wed, 5 Apr 2017 18:59:59 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35IxwX8014654; Wed, 5 Apr 2017 18:59:58 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35IxwHn014653; Wed, 5 Apr 2017 18:59:58 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201704051859.v35IxwHn014653@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 5 Apr 2017 18:59:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316537 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 19:00:00 -0000 Author: jhb Date: Wed Apr 5 18:59:58 2017 New Revision: 316537 URL: https://svnweb.freebsd.org/changeset/base/316537 Log: Fix the linker emulation setting for riscv. Reported by: lwhsu MFC after: 1 week Sponsored by: DARPA / AFRL Modified: head/sys/conf/kern.mk Modified: head/sys/conf/kern.mk ============================================================================== --- head/sys/conf/kern.mk Wed Apr 5 18:41:44 2017 (r316536) +++ head/sys/conf/kern.mk Wed Apr 5 18:59:58 2017 (r316537) @@ -270,6 +270,6 @@ LD_EMULATION_mipsn32el= elf32btsmipn32_f LD_EMULATION_powerpc= elf32ppc_fbsd LD_EMULATION_powerpcspe= elf32ppc_fbsd LD_EMULATION_powerpc64= elf64ppc_fbsd -LD_EMULATION_riscv= elf64riscv +LD_EMULATION_riscv64= elf64lriscv LD_EMULATION_sparc64= elf64_sparc_fbsd LD_EMULATION=${LD_EMULATION_${MACHINE_ARCH}} From owner-svn-src-all@freebsd.org Wed Apr 5 19:15:07 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F1AC3D30372; Wed, 5 Apr 2017 19:15:07 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C34B6CDC; Wed, 5 Apr 2017 19:15:07 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35JF6FN022729; Wed, 5 Apr 2017 19:15:06 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35JF64m022728; Wed, 5 Apr 2017 19:15:06 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201704051915.v35JF64m022728@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 5 Apr 2017 19:15:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316538 - stable/11/sys/kern X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 19:15:08 -0000 Author: brooks Date: Wed Apr 5 19:15:06 2017 New Revision: 316538 URL: https://svnweb.freebsd.org/changeset/base/316538 Log: MFC r316497: Correct a kernel stack leak in 32-bit compat when vfc_name is short. Don't zero unused pointer members again. Per discussion with secteam we are not issuing an advisory for this issue as we have no current evidence it leaks exploitable information. Reviewed by: rwatson, glebius, delphij Sponsored by: DARPA, AFRL Modified: stable/11/sys/kern/vfs_subr.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/vfs_subr.c ============================================================================== --- stable/11/sys/kern/vfs_subr.c Wed Apr 5 18:59:58 2017 (r316537) +++ stable/11/sys/kern/vfs_subr.c Wed Apr 5 19:15:06 2017 (r316538) @@ -3686,12 +3686,11 @@ vfsconf2x32(struct sysctl_req *req, stru { struct xvfsconf32 xvfsp; + bzero(&xvfsp, sizeof(xvfsp)); strcpy(xvfsp.vfc_name, vfsp->vfc_name); xvfsp.vfc_typenum = vfsp->vfc_typenum; xvfsp.vfc_refcount = vfsp->vfc_refcount; xvfsp.vfc_flags = vfsp->vfc_flags; - xvfsp.vfc_vfsops = 0; - xvfsp.vfc_next = 0; return (SYSCTL_OUT(req, &xvfsp, sizeof(xvfsp))); } #endif From owner-svn-src-all@freebsd.org Wed Apr 5 19:33:05 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D3B31D30ADD; Wed, 5 Apr 2017 19:33:05 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A367A962; Wed, 5 Apr 2017 19:33:05 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35JX4Rs030746; Wed, 5 Apr 2017 19:33:04 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35JX4MK030745; Wed, 5 Apr 2017 19:33:04 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704051933.v35JX4MK030745@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Wed, 5 Apr 2017 19:33:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316539 - stable/11/sys/dev/bxe X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 19:33:05 -0000 Author: sbruno Date: Wed Apr 5 19:33:04 2017 New Revision: 316539 URL: https://svnweb.freebsd.org/changeset/base/316539 Log: MFC r308343 r266979 missed a call to enable capabilities of the hw leading to an inability to enable features of the device. PR: 213845 Modified: stable/11/sys/dev/bxe/bxe.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/bxe/bxe.c ============================================================================== --- stable/11/sys/dev/bxe/bxe.c Wed Apr 5 19:15:06 2017 (r316538) +++ stable/11/sys/dev/bxe/bxe.c Wed Apr 5 19:33:04 2017 (r316539) @@ -12746,6 +12746,7 @@ bxe_init_ifnet(struct bxe_softc *sc) IFCAP_WOL_MAGIC); #endif if_setcapabilitiesbit(ifp, capabilities, 0); /* XXX */ + if_setcapenable(ifp, if_getcapabilities(ifp)); if_setbaudrate(ifp, IF_Gbps(10)); /* XXX */ if_setsendqlen(ifp, sc->tx_ring_size); From owner-svn-src-all@freebsd.org Wed Apr 5 19:34:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5045ED30B68; Wed, 5 Apr 2017 19:34:06 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0089.outbound.protection.outlook.com [104.47.37.89]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DB46FAAE; Wed, 5 Apr 2017 19:34:05 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Ev8rcNJmjWZCxZ7eHsXao4JCpmd4AOHiOtsaySrKvMI=; b=exchvuwI/tHUt0gyy8/uwNW34TZCvr8bvTkQVcRUdLz6zEeyzq0XwW2DU8zbdtEWhnxbu+pspcLzLyIxRutob1e9/lAeiEBwBsvAzTceq4OgDTk7KOZ+K4KeZ/ROP7M/Nkms148AeXRmFYvOR4dSo+fiX35BX7da7l+OE8EgMF8= Received: from SN1PR0501CA0039.namprd05.prod.outlook.com (10.163.126.177) by MWHPR05MB3584.namprd05.prod.outlook.com (10.174.250.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Wed, 5 Apr 2017 19:34:03 +0000 Received: from CY1NAM02FT054.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::207) by SN1PR0501CA0039.outlook.office365.com (2a01:111:e400:52fe::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Wed, 5 Apr 2017 19:34:02 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp1.campus.ksu.edu; Received: from ome-vm-smtp1.campus.ksu.edu (129.130.18.151) by CY1NAM02FT054.mail.protection.outlook.com (10.152.74.100) with Microsoft SMTP Server id 15.1.1019.14 via Frontend Transport; Wed, 5 Apr 2017 19:34:01 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp1.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v35JY1rG004819; Wed, 5 Apr 2017 14:34:01 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 3763E24830C; Wed, 5 Apr 2017 14:34:01 -0500 (CDT) Received: from mail-wr0-f176.google.com (mail-wr0-f176.google.com [209.85.128.176]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id D6F2A24830A; Wed, 5 Apr 2017 14:33:58 -0500 (CDT) Received: by mail-wr0-f176.google.com with SMTP id w43so28388979wrb.0; Wed, 05 Apr 2017 12:33:58 -0700 (PDT) X-Gm-Message-State: AFeK/H0bQ6XGwkjDeBdEMZXqTtBbd8RmcneOnZ5R9ZETTkZEKErT7YYFYow28xQWlI+XK3DOjVaFYJZfJeO6Nw== X-Received: by 10.223.135.196 with SMTP id c4mr6620915wrc.109.1491420837957; Wed, 05 Apr 2017 12:33:57 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Wed, 5 Apr 2017 12:33:35 -0700 (PDT) In-Reply-To: <85B65B02-8146-449C-B003-B375B8EE3F43@gmail.com> References: <201704051841.v35IfiP2009466@repo.freebsd.org> <85B65B02-8146-449C-B003-B375B8EE3F43@gmail.com> From: Kyle Evans Date: Wed, 5 Apr 2017 14:33:35 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316536 - in head: contrib/netbsd-tests/usr.bin/grep usr.bin/grep/tests To: "Ngie Cooper (yaneurabeya)" CC: Ed Maste , , , src-committers Content-Type: multipart/mixed; boundary="001a1149200c42b581054c707979" X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39410400002)(39400400002)(39860400002)(39850400002)(39450400003)(39840400002)(2980300002)(438002)(199003)(189002)(24454002)(377454003)(1680700002)(4326008)(6862004)(110136004)(38730400002)(6246003)(189998001)(53386004)(53546009)(84326002)(236005)(9896002)(55446002)(93516999)(46386002)(9686003)(6306002)(450100002)(606005)(498394004)(7906003)(305945005)(356003)(50986999)(54356999)(76176999)(8576002)(512954002)(63696999)(45336002)(75432002)(54906002)(229853002)(90966002)(8936002)(8676002)(86362001)(5660300001)(42186005)(5890100001)(61726006)(1411001)(2950100002)(512874002)(2906002)(106466001)(2476003)(88552002)(59536001)(21490400002)(98316002)(4610100001)(61266001)(568964002)(55456009); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR05MB3584; H:ome-vm-smtp1.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT054; 1:iNzPmyj88ijO/QO0mQ3qqqPXbNurtId1xXF9AYOnp0M2gsdIJWD9b7r+VrhqS99PKx0E38CztoFrx0hXA3GOoIytogXL1TJ2aPwHFWXVna7LqFi5pGGQI4/4ETB7Mw2IkQo6Y59yQdRqPI8Scb1CKwnogSY8ZyLS022MlxngyJsLVaPMwBNqRPhmEQtwsymqn4M3/IedmOUTaiRRc51YjhdXLmTmjCL04iVB/LuwA3q0cVwjbTuVaVsqUDdEMDouFva1txwmgK+S8xHGShlQepGC12qleCpvYVNBhrVmcMz3BkuIIdi8lj3VbSJZY1JYVWQJ/fNWPtAp15SC5N6o9LD5NhN85r5h11lv/hoS4tsSIHiENJkJUl6/4pzNaQojGgFC/qYBQrD+csgrbEk86CuZbt7Jz2YMebxiO/kkcldXz9xpsTWMKrUxsfR4CA5My6j5lLwzvkqi6wL1I7QmVfTxwoJzxRKS3gHsg3NkDlLa2prT1QecHf2mhpb5b4Gcsvv7BGI0rUvByzyclj3x/2Dt6YWyxhFmj0b3lanOkR3/A1G71G9Of/HSmJz0zRPyVHhkYWRmrJBjE0dzjoYLDg== X-MS-Office365-Filtering-Correlation-Id: 47c944d6-2b7d-4e11-afc5-08d47c5ab6be X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:MWHPR05MB3584; X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 3:v45rep4OP1ROS/BEHhPskaMXm2oDE9JOG9Vksq56q6dpYj2NAwWDbiwncizM0YOUEfe7nZP+Qcd+m3sBcqh0+GcHzLPVCikhL1HDaCN8ZVccB1lLoET1pP+F7noTuuyBKKH2RH8R/5Qw5KDXU89yG6CKd6Pw+aWQl2MRfdrFWciouUmmvnl9evJw748XHHbog3WOOTXBiw+cUlzvO3MUPt6mSMslUomA+cNOaOFvV5M4zQu0220OrV7R1zcLeAtGUH8SUjutBEL1nfseKdGtURpIO1h1Fjmo/0viFVTk1r9gVmGTKkCKzjvoc3EBehEReaCOhmv2ILe1EMTbBmMAbyXNLU0TBCwmIY2UXWOkRJyQ+1OTc+qBhh2cRr+0O74H6tYj7QpmO1Y+mmRcKrQ2v6lU1yd5ewYnKveMpKCHvpAtTIjg/4NKfcnYhWpz7S89zZwSd/jW1JJshL5xs2KJkuQcFI8YnLqROr+caeKmpYhQ97NCbz91iJ2ZJ6qKKbqkSM7e0R6bbd+DlDZdVyggpQ== X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 25:DqEulFKpfUAl6l8IsAfir9D6iems032NkCCbXBSHBzzMNiw/8Dy4/beNNju1dxYUm2kSHn7NF3v/zdKtwRAAYSH+h7wqvSgsOOC0zFzStkEGP0XqRzg7zRn4t9V/N9sGT+XMxmEbj1eV/ziQ93IeE26azn0738kcJiPeEKcp2VFIRgqX0R215lTWIrE/Ahp/bLwcKBdiRP/fQ/uY9HugTG8xoq4zWM1P6YXlwxMps40CZSsYDifKNt6pBdzXhok53EHrgPsz89KN+aQTvZ/1h5p8bXMFbFog25lsGgTy+gY2gWPPDjwivWkNsWJfFiESFuAuQ67tEioSPaYUwwlb6k6PeV7DlDqq9cpnDwoAWQ42uF6ds3KA8+UydYSoPoiKImC+9O2LJH19nHookOeU5fSDvnpgSnw21ACWK4QlJH6zCiGmjap0nMH6L1QechmD/VBMGsUCl62BC3Vqj70/5WFzR4Q9LWQ54EMJ1DOud+vqPN9xptqDGqXsiXMSm1E3; 31:+EXMUuU4HsLsqMXr1waAY5crgn0fnya8IPJyjYIouJk2qYX3NL2yxlo7O6tegxz4/T20WVvmZ1/fqDRV/PituNRr4BESjHPrVBEz7APvO4PbEVGyeSbAumOjEtFpaYv1IGv8yi4FPwjQIfrYvc9O4uoXclt7+9q9UBvCRY4ipWPgaCosBz2TTYI6lHfKrjw6zs+AYho/KuGHjxb5xj1fh9GgT/ggxCl00XHS4MY7k9mG/E8xOyv4jQ4aBSM14NFcNGWYDGZlqBd669OZQqJmb/zV/002P7QBA9/urvN9lI3G/k5GKbmbJoYi061GMqAYPlbllZvGg8f2smwS6o28Hw== X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 20:kRASN5N91SszB+jGecjRv3rA64gOJxc2uUPSbfca2kl8jAeeFSiAG3WUgoOGcg1uvUsoQtdwtgqorG/5TiWqsTMhn4fZOhZE8gUZ/oXX4fq5Jr1yw11sDCgEpYnllrY58x/ZLFDhmhkQWa90OTTmHsdMarKSUVecAK3TbU7321rxU1AO0jvIT/2kOx7IRp+Qy+u469FmUaVvS9D+LL4PnW+wiJ0SGK0+TeBGiNIC2wqZCmOKVKXnzaIaXwHeazt/RPFNi50v5dSTwxA8ubU9JyKN+i15Jm/D4IkugzcjI55rCAN8LfwNUlcF2Iaswc0ipEVYiQ6Chx5NzqM9QgoJnwwy8RTaQwFk6gsarwJ9DdiJ92JiObLgbBCbfuG44cWAMTCy7ELqMqpWQS0D0jQWaMmyNUw1lvKHFVuJYaq2aZ6ttjd+jHO+9+Y8+4yuEGfHT2bBWjnEA9LvsiiWzN2pPrWqoudTk2Xsgo8pPzKEWq0uL5gcU4AkVhezTYMg9CP9 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(102415395)(6040450)(601004)(2401047)(13023025)(8121501046)(13018025)(13024025)(13017025)(5005006)(13015025)(93006095)(93004095)(3002001)(10201501046)(6041248)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(20161123562025)(20161123555025)(20161123560025)(20161123564025)(6072148); SRVR:MWHPR05MB3584; BCL:0; PCL:0; RULEID:; SRVR:MWHPR05MB3584; X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 4:C0fwcnUiQSwy9Sksp+9SFFSSv4yQvZJOzlLpzFEpmv9Ier4beyu4t6Nodt53ATeoxg2WcHm4EAEiJ541bKasFk5FAsPa+uHUv866iiTxvVRnem4Ez7UFvW3gmnZafgD6uE9770xqCpbY7JdgRzUwq0yJu5Gd45CHqNqWgsVKRHBdrKYur5EAQ00ILD2DYHfc133SHgNkxKP64vs70Umi2rJLKXyo0djgqensWzTZXDOxz74m1q2lzib+KjwdZLqiYzSv+c4seb1tPLayNtoyE9DDJWfTSyf6RTNTO3Ml9+P/xVC+50wXZtMvZvwIKkkZOQSs38tBXp1t12zuvzqBQcacMQv9gMbqfKvRKS5bTEjyC9Af8TtDLhVcDCai7Yy4K5Ro9VMVdtVQ58h372a2wVfXFs590BdbdLDMZZqn5V+9LY6v0QvYly8g4a4ecQomdKhuxalcRJ27Rrn0x6/hFaZPlVnkiftLQkrJTO0RWC6K6E3UxtE7J6CPbQ8ui4iHSiKRwlSwddqu8Ew5kOE8g18BdfBxfrSRx5EQFoQWmaWLMQFy2bEdhHcMp284BxJCTM8sBFKEEyJEKeoNqC1uS1uKDQkqQuhG/A6eK2IfuZr5YvSZeltqlCOVOy791tbRRwU7ZLlA3fPZqwtT1mlPbzsd+Ntn243v+GoJWM6nHavjPzlW7MWYCbiTRfsO0T0AbY3/CpEa9Yi2ywCSdB8jk4PFbmrbrAjNZG4TR9vK0w4KIyy8vZV4vxQyy9vF9+jHtzy4P+mDv53bhjsZCfUL2FTs4fYpd40lIeLZXUKeoQLuVuqNYoQadc8mxPgSacks13kb15PLR8TVbTxK4m2jJdTmRqlnPIEC6YW1GAlJ9SQ= X-Forefront-PRVS: 0268246AE7 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR05MB3584; 23:GGjiOmwZbY1wc4xtobD16oF+X7bmsRianJ4mz09Fu?= =?us-ascii?Q?PhqYZbksxdyvzB3EBUGzdjUjH2d5JLh7S8SXhFD1fVe++2xZlamohkOd0ZXe?= =?us-ascii?Q?ugzcLapTqP7iRLrXFSJnQPJXIhhvo9qbjc+SY7Me9WJTDSCaOCO3aDlfTH0R?= =?us-ascii?Q?5h8v1tJG6aB+n+ETFIsWT5eIGqvMe/2/svF8jIrPHTgWPypllYtMZoflvR5Z?= =?us-ascii?Q?fQ5dUa4o2plb09QCFDeSxzwldZIPhuHBkJOs5ylhNkbGe1veqY7vxBFnUf/e?= =?us-ascii?Q?6u/ars+Y7MSJtVMv4vjgtFdxzRcWv73mBP/2v4tLlH7B9+mSafifTropdyQq?= =?us-ascii?Q?WAhv7QpD5wsDVMin7N6UDd3ERWFaHjSiVL62G281xdcdqHfKbEkKlSv/ecUM?= =?us-ascii?Q?6EyW0b5zR9CourG4GjMWz3DgVSMSUeFFIvgbRUWShktmlRS4lqNSuD78H4Qw?= =?us-ascii?Q?RGQZUP7LfYk6feQmIjG+ApYI363vQ9hKhp5pUcFkOl3GlP2sCMiBfGh3uPz6?= =?us-ascii?Q?gNHybrz+ZKoo+AVOGOzO0s1Um3y7XtEntP4QHpwaUs/S0hbfqIOndw3zm5Rc?= =?us-ascii?Q?znh+6zo2aaUomkTyPTWvAOkYY5LwI6HhE2wa7ZcHYKXm2cZpvjQuigDcUoeh?= =?us-ascii?Q?XA3LEVovZqaXX4ExtG3oJlKh7fN5SxbZSlXQB7wYYEtjqv80pv77Qs3acDb5?= =?us-ascii?Q?A9MUhkvl4wncsml4u2hV8fWlwJUOqf93/p0AqkPFNOfSC1R2I/R5ft+QfXp9?= =?us-ascii?Q?HuS5OOOMNSyuELWxRRO/tiP3qbUT9ymIYHzFXTBabD06i/wFZE1vT37vozBQ?= =?us-ascii?Q?B6K+UZrkHY2amGfqn1I0YF4LgrzOlFh27G5FWn68PstmBICk70OIik/gpHxF?= =?us-ascii?Q?dipBAhgDSi8DNTd0OW1MeJFr1ZCpMH9UPnkZmSnAd1B5HfGmcIvDEzdcvCui?= =?us-ascii?Q?whYjgWcndqpZicyq8dxlBuLoqvek2lYkMHbXltOB/g8HcYWjDhr5OrfevqKp?= =?us-ascii?Q?HyXf3mbf0CyqD36XTufV++yKvsj0vrCH9Y9i+FiGBq3iXkgCmrteN94rUGg1?= =?us-ascii?Q?0d+cIRlqSLw1Wk60cLlpoEUZ7neK3XoEtMeNYV9LcwzysrOIf8E9ja+9KspQ?= =?us-ascii?Q?SxSGVx57QPIPUKsqvhZFcCr+bm0V5AO5fBmucsrWvu3t26lcPzxXMMM47nhl?= =?us-ascii?Q?sJEDuyvKCr/0gcg7dPmxvIQbmlrg9jkUFqR3svpMBhDMUwq5cLoIgoseAA0C?= =?us-ascii?Q?d/FjPfKNRySEx5McoCsddrHxJ2q1QtH2XN7mY2iyr3VXGqLQtI4X85IG4GyF?= =?us-ascii?Q?a7dsJQ1vqW1MqXIqCGhTDcfng+jWbsylJwDzJ2jBsLMSvScynV+t2okfztxG?= =?us-ascii?Q?V8bsE/93NQ8GWkv6ADEqSqUarHUWAvOC3tgvBR5mQ2uqD6MxxOoXoBlouw6B?= =?us-ascii?Q?QHNW/2wnTdKPZpXGbb5mrp66zuOcn6tL38pNOGThCmbhUZ0TTqMBUroPruUl?= =?us-ascii?Q?qjOrRnnhas7thOiCQXA3TQIaPGHCxFsRHpiakYsrRUQX1mY6aFlY4UUBQekv?= =?us-ascii?Q?rWsFezoI34j1TkFDTkp/h2e/Hl1p9RfX2YOoxHvUVx5BCWcjHF01CuVHtoX?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 6:GNzWg7RXdiY7CxlGyoj+igcz1cOdNe55uzOVk7gUD8/NntpDOuUpYKwso9qs02xiFAOgHfUVSVXKbzuGew825lUHaP2c9maTcYUglxZiqalYoufGng7E7/EqGORFNWQGkvrtViX+Qy9dHS4hY97f157gByo0dLyEAveKqrfFHTewkgXqiKYqJ1gtfo8yZF79Hp/p2sclBMs7SZ1ZJ9mL/y5a2yXtDC/ruRgg6mh29+73lvXpKoLlxXHGb4ysTOsz23oxfE8Hwm92xCxKNduHmEvNKxZDdWvaNuxxVRijl9Je+prbp1cRIx52c4CsbJWH2wdhprAlzpU75npxkvX7H+POr5MBXCP35gfQqer7TnGSnk3fpHLvL2auNRcoBh6m9kcIL1j5jV2uH2HaFF2HViRwbdHN4Hajgcj9AJyfc+LM1i8v5LFJIXAfEWg/WTopKd3YkHiUTZyU9TkPLmGZSA==; 5:+vxcFu4VBgCP4mQIyV3xNE2oTcaf+6aicNR3OfxfKItE2BwwiWgmxEydmBP9Z9aHbRMHMzOYjXIsBXs8RGkzPxNBjr7Musp7DreY72EU3I3A7Y04KZi4FnCggFioLoolXJetogJO+K/xq27nsSPlLA==; 24:AfsETmgpe6uyIE9V8xCP6YGDUw6pxsNgvFSTPjL33KpLusowNwkFW4h5ky6HV0ScRB/VIzoqiJZ+zOFNBmMM9c2MDgt6PRpSH1YuSX4Gum8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR05MB3584; 7:VmiC5p6PqJGg8SfEnZ66Xp2kAdwCrJAeadE4sdugZWbQjIPOmftEmVBp8IESfuB7kf4g8VoOFbuQkdUAwWpttucn6QukHxhRVrZfyrkbc6frCBI5g8TGerdLmkTE1/zxmaa2k7EaHMYkcDcdK7Moz+3A+4y9tIvnePL4okhSonUt6cY52RNrOki22qGHVVTc8Axc+sfuDU2iI1KyqSHejDU9dQYX+ZEBwka8HeGj3rdf8kiXmw1a6RFck5AYNmhm3SkqWWkigqoLE+mToyrlHyWKUEDhGI9TG+2OKzPHG7gZsSxKzoMdQYgs+kCO1tjP8DclFhTLT2s3mqWq5D51uQ==; 20:i0FneMavXm/VP9j8DhHccG3EfxYujmWNg1ZdSZXI80O7qCEVmp+mym6AUW6CE/4XQHfWx3Wc5p8R8JvF7XfKPNHJfMWHvAhIgwt9kyA/tzUV37Tw4/UkiNm8CXCzEForQ6/0Xb3Q6PCs08P1/OTafCDqk/bJb7Jpu/khlvc//Zw= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2017 19:34:01.8121 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp1.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3584 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 19:34:06 -0000 --001a1149200c42b581054c707979 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Apr 5, 2017 at 1:48 PM, Ngie Cooper (yaneurabeya) < yaneurabeya@gmail.com> wrote: > > As a general rule of thumb, if it doesn=E2=80=99t pass, it needs = to be > marked as an expected failure until it passes. Not really a big deal righ= t > now (because ci.freebsd.org isn=E2=80=99t spamming current@ =E2=80=94 yet= ), but when that > switch gets thrown again, it would spam a few hundred people with known > failures. > Ah, whoops. Something like this? diff --git a/contrib/netbsd-tests/usr.bin/grep/t_grep.sh b/contrib/netbsd-tests/usr.bin/grep/t_grep.sh index b8d2a398c8d..189e3547e34 100755 --- a/contrib/netbsd-tests/usr.bin/grep/t_grep.sh +++ b/contrib/netbsd-tests/usr.bin/grep/t_grep.sh @@ -234,6 +234,7 @@ oflag_zerolen_head() } oflag_zerolen_body() { + atf_expect_fail "GNU grep's -o behavior with empty matches has known bugs (PR 195763)" atf_check -o file:"$(atf_get_srcdir)/d_oflag_zerolen_a.out" \ grep -Eo '(^|:)0*' "$(atf_get_srcdir)/d_oflag_zerolen_a.in" @@ -281,6 +282,7 @@ color_body() atf_check -o file:"$(atf_get_srcdir)/d_color_b.out" \ grep --color=3Dauto -f grepfile "$(atf_get_srcdir)/d_color_b.in" + atf_expect_fail "GNU grep --color output does not exactly match expectations going forward" atf_check -o file:"$(atf_get_srcdir)/d_color_c.out" \ grep --color=3Dalways -f grepfile "$(atf_get_srcdir)/d_color_b.in" } --001a1149200c42b581054c707979 Content-Type: text/plain; charset="US-ASCII"; name="grep-fail-tests.diff" Content-Disposition: attachment; filename="grep-fail-tests.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j15de42u1 ZGlmZiAtLWdpdCBhL2NvbnRyaWIvbmV0YnNkLXRlc3RzL3Vzci5iaW4vZ3JlcC90X2dyZXAuc2gg Yi9jb250cmliL25ldGJzZC10ZXN0cy91c3IuYmluL2dyZXAvdF9ncmVwLnNoCmluZGV4IGI4ZDJh Mzk4YzhkLi4xODllMzU0N2UzNCAxMDA3NTUKLS0tIGEvY29udHJpYi9uZXRic2QtdGVzdHMvdXNy LmJpbi9ncmVwL3RfZ3JlcC5zaAorKysgYi9jb250cmliL25ldGJzZC10ZXN0cy91c3IuYmluL2dy ZXAvdF9ncmVwLnNoCkBAIC0yMzQsNiArMjM0LDcgQEAgb2ZsYWdfemVyb2xlbl9oZWFkKCkKIH0K IG9mbGFnX3plcm9sZW5fYm9keSgpCiB7CisJYXRmX2V4cGVjdF9mYWlsICJHTlUgZ3JlcCdzIC1v IGJlaGF2aW9yIHdpdGggZW1wdHkgbWF0Y2hlcyBoYXMga25vd24gYnVncyAoUFIgMTk1NzYzKSIK IAlhdGZfY2hlY2sgLW8gZmlsZToiJChhdGZfZ2V0X3NyY2RpcikvZF9vZmxhZ196ZXJvbGVuX2Eu b3V0IiBcCiAJICAgIGdyZXAgLUVvICcoXnw6KTAqJyAiJChhdGZfZ2V0X3NyY2RpcikvZF9vZmxh Z196ZXJvbGVuX2EuaW4iCiAKQEAgLTI4MSw2ICsyODIsNyBAQCBjb2xvcl9ib2R5KCkKIAlhdGZf Y2hlY2sgLW8gZmlsZToiJChhdGZfZ2V0X3NyY2RpcikvZF9jb2xvcl9iLm91dCIgXAogCSAgICBn cmVwIC0tY29sb3I9YXV0byAtZiBncmVwZmlsZSAiJChhdGZfZ2V0X3NyY2RpcikvZF9jb2xvcl9i LmluIgogCisJYXRmX2V4cGVjdF9mYWlsICJHTlUgZ3JlcCAtLWNvbG9yIG91dHB1dCBkb2VzIG5v dCBleGFjdGx5IG1hdGNoIEJTRCBncmVwJ3MiCiAJYXRmX2NoZWNrIC1vIGZpbGU6IiQoYXRmX2dl dF9zcmNkaXIpL2RfY29sb3JfYy5vdXQiIFwKIAkgICAgZ3JlcCAtLWNvbG9yPWFsd2F5cyAtZiBn cmVwZmlsZSAiJChhdGZfZ2V0X3NyY2RpcikvZF9jb2xvcl9iLmluIgogfQo= --001a1149200c42b581054c707979-- From owner-svn-src-all@freebsd.org Wed Apr 5 19:46:26 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2E241D2F06C; Wed, 5 Apr 2017 19:46:26 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E0759210; Wed, 5 Apr 2017 19:46:25 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35JkOvP035071; Wed, 5 Apr 2017 19:46:24 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35JkOHB035068; Wed, 5 Apr 2017 19:46:24 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704051946.v35JkOHB035068@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Wed, 5 Apr 2017 19:46:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316540 - stable/11/sys/dev/e1000 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 19:46:26 -0000 Author: sbruno Date: Wed Apr 5 19:46:24 2017 New Revision: 316540 URL: https://svnweb.freebsd.org/changeset/base/316540 Log: Direct commit of fixes to stable/11, resolving PCI passthrough and initialization issues when trying to passthrough a i340 (igb) to VMware. While here, cleanup some bits of em(4) to DTRT as well. PR: 218113 Submitted by: Kaho Toshikazu Modified: stable/11/sys/dev/e1000/if_em.c stable/11/sys/dev/e1000/if_em.h stable/11/sys/dev/e1000/if_igb.c Modified: stable/11/sys/dev/e1000/if_em.c ============================================================================== --- stable/11/sys/dev/e1000/if_em.c Wed Apr 5 19:33:04 2017 (r316539) +++ stable/11/sys/dev/e1000/if_em.c Wed Apr 5 19:46:24 2017 (r316540) @@ -2800,7 +2800,7 @@ em_free_pci_resources(struct adapter *ad if (adapter->msix_mem != NULL) bus_release_resource(dev, SYS_RES_MEMORY, - PCIR_BAR(EM_MSIX_BAR), adapter->msix_mem); + adapter->memrid, adapter->msix_mem); if (adapter->memory != NULL) bus_release_resource(dev, SYS_RES_MEMORY, @@ -2834,9 +2834,9 @@ em_setup_msix(struct adapter *adapter) em_enable_vectors_82574(adapter); #endif /* Map the MSIX BAR */ - int rid = PCIR_BAR(EM_MSIX_BAR); + adapter->memrid = PCIR_BAR(EM_MSIX_BAR); adapter->msix_mem = bus_alloc_resource_any(dev, - SYS_RES_MEMORY, &rid, RF_ACTIVE); + SYS_RES_MEMORY, &adapter->memrid, RF_ACTIVE); if (adapter->msix_mem == NULL) { /* May not be enabled */ device_printf(adapter->dev, @@ -2887,7 +2887,7 @@ msix_one: msi: if (adapter->msix_mem != NULL) { bus_release_resource(dev, SYS_RES_MEMORY, - PCIR_BAR(EM_MSIX_BAR), adapter->msix_mem); + adapter->memrid, adapter->msix_mem); adapter->msix_mem = NULL; } val = 1; Modified: stable/11/sys/dev/e1000/if_em.h ============================================================================== --- stable/11/sys/dev/e1000/if_em.h Wed Apr 5 19:33:04 2017 (r316539) +++ stable/11/sys/dev/e1000/if_em.h Wed Apr 5 19:46:24 2017 (r316540) @@ -400,6 +400,7 @@ struct adapter { struct resource *memory; struct resource *flash; struct resource *msix_mem; + int memrid; struct resource *res; void *tag; Modified: stable/11/sys/dev/e1000/if_igb.c ============================================================================== --- stable/11/sys/dev/e1000/if_igb.c Wed Apr 5 19:33:04 2017 (r316539) +++ stable/11/sys/dev/e1000/if_igb.c Wed Apr 5 19:46:24 2017 (r316540) @@ -2901,7 +2901,7 @@ igb_setup_msix(struct adapter *adapter) msi: if (adapter->msix_mem != NULL) { bus_release_resource(dev, SYS_RES_MEMORY, - PCIR_BAR(IGB_MSIX_BAR), adapter->msix_mem); + adapter->memrid, adapter->msix_mem); adapter->msix_mem = NULL; } msgs = 1; From owner-svn-src-all@freebsd.org Wed Apr 5 19:52:50 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8EDF8D2F2D7; Wed, 5 Apr 2017 19:52:50 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4209B93D; Wed, 5 Apr 2017 19:52:50 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35Jqno6039035; Wed, 5 Apr 2017 19:52:49 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35JqnLp039034; Wed, 5 Apr 2017 19:52:49 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704051952.v35JqnLp039034@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Wed, 5 Apr 2017 19:52:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316541 - head/sys/dev/ixgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 19:52:50 -0000 Author: sbruno Date: Wed Apr 5 19:52:49 2017 New Revision: 316541 URL: https://svnweb.freebsd.org/changeset/base/316541 Log: Fix a double free in ixgbe_rxeof() Submitted by: rstone MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D10255 Modified: head/sys/dev/ixgbe/ix_txrx.c Modified: head/sys/dev/ixgbe/ix_txrx.c ============================================================================== --- head/sys/dev/ixgbe/ix_txrx.c Wed Apr 5 19:46:24 2017 (r316540) +++ head/sys/dev/ixgbe/ix_txrx.c Wed Apr 5 19:52:49 2017 (r316541) @@ -1431,20 +1431,10 @@ fail: static void ixgbe_free_receive_ring(struct rx_ring *rxr) -{ - struct ixgbe_rx_buf *rxbuf; +{ for (int i = 0; i < rxr->num_desc; i++) { - rxbuf = &rxr->rx_buffers[i]; - if (rxbuf->buf != NULL) { - bus_dmamap_sync(rxr->ptag, rxbuf->pmap, - BUS_DMASYNC_POSTREAD); - bus_dmamap_unload(rxr->ptag, rxbuf->pmap); - rxbuf->buf->m_flags |= M_PKTHDR; - m_freem(rxbuf->buf); - rxbuf->buf = NULL; - rxbuf->flags = 0; - } + ixgbe_rx_discard(rxr, i); } } @@ -1596,7 +1586,9 @@ fail: */ for (int i = 0; i < j; ++i) { rxr = &adapter->rx_rings[i]; + IXGBE_RX_LOCK(rxr); ixgbe_free_receive_ring(rxr); + IXGBE_RX_UNLOCK(rxr); } return (ENOBUFS); @@ -1645,14 +1637,7 @@ ixgbe_free_receive_buffers(struct rx_rin if (rxr->rx_buffers != NULL) { for (int i = 0; i < adapter->num_rx_desc; i++) { rxbuf = &rxr->rx_buffers[i]; - if (rxbuf->buf != NULL) { - bus_dmamap_sync(rxr->ptag, rxbuf->pmap, - BUS_DMASYNC_POSTREAD); - bus_dmamap_unload(rxr->ptag, rxbuf->pmap); - rxbuf->buf->m_flags |= M_PKTHDR; - m_freem(rxbuf->buf); - } - rxbuf->buf = NULL; + ixgbe_rx_discard(rxr, i); if (rxbuf->pmap != NULL) { bus_dmamap_destroy(rxr->ptag, rxbuf->pmap); rxbuf->pmap = NULL; @@ -1722,11 +1707,12 @@ ixgbe_rx_discard(struct rx_ring *rxr, in */ if (rbuf->fmp != NULL) {/* Partial chain ? */ - rbuf->fmp->m_flags |= M_PKTHDR; + bus_dmamap_sync(rxr->ptag, rbuf->pmap, BUS_DMASYNC_POSTREAD); m_freem(rbuf->fmp); rbuf->fmp = NULL; rbuf->buf = NULL; /* rbuf->buf is part of fmp's chain */ } else if (rbuf->buf) { + bus_dmamap_sync(rxr->ptag, rbuf->pmap, BUS_DMASYNC_POSTREAD); m_free(rbuf->buf); rbuf->buf = NULL; } @@ -1814,6 +1800,8 @@ ixgbe_rxeof(struct ix_queue *que) goto next_desc; } + bus_dmamap_sync(rxr->ptag, rbuf->pmap, BUS_DMASYNC_POSTREAD); + /* ** On 82599 which supports a hardware ** LRO (called HW RSC), packets need From owner-svn-src-all@freebsd.org Wed Apr 5 20:11:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C26FED2FD44; Wed, 5 Apr 2017 20:11:06 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 92F1DD5E; Wed, 5 Apr 2017 20:11:06 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35KB57Q047286; Wed, 5 Apr 2017 20:11:05 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35KB55U047285; Wed, 5 Apr 2017 20:11:05 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704052011.v35KB55U047285@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 5 Apr 2017 20:11:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316542 - head/usr.bin/grep X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 20:11:06 -0000 Author: emaste Date: Wed Apr 5 20:11:05 2017 New Revision: 316542 URL: https://svnweb.freebsd.org/changeset/base/316542 Log: bsdgrep: Handle special case of single-byte NUL pattern PR: 202022 Submitted by: Kyle Evans MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D10102 Modified: head/usr.bin/grep/grep.c Modified: head/usr.bin/grep/grep.c ============================================================================== --- head/usr.bin/grep/grep.c Wed Apr 5 19:52:49 2017 (r316541) +++ head/usr.bin/grep/grep.c Wed Apr 5 20:11:05 2017 (r316542) @@ -314,8 +314,12 @@ read_patterns(const char *fn) } len = 0; line = NULL; - while ((rlen = getline(&line, &len, f)) != -1) + while ((rlen = getline(&line, &len, f)) != -1) { + if (line[0] == '\0') + continue; add_pattern(line, line[0] == '\n' ? 0 : (size_t)rlen); + } + free(line); if (ferror(f)) err(2, "%s", fn); From owner-svn-src-all@freebsd.org Wed Apr 5 21:08:27 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9AF91D30459; Wed, 5 Apr 2017 21:08:27 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6C8A7394; Wed, 5 Apr 2017 21:08:27 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35L8QFZ070802; Wed, 5 Apr 2017 21:08:26 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35L8QYT070801; Wed, 5 Apr 2017 21:08:26 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201704052108.v35L8QYT070801@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 5 Apr 2017 21:08:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316543 - stable/10/sys/kern X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 21:08:27 -0000 Author: brooks Date: Wed Apr 5 21:08:26 2017 New Revision: 316543 URL: https://svnweb.freebsd.org/changeset/base/316543 Log: MFC r316497: Correct a kernel stack leak in 32-bit compat when vfc_name is short. Don't zero unused pointer members again. Per discussion with secteam we are not issuing an advisory for this issue as we have no current evidence it leaks exploitable information. Reviewed by: rwatson, glebius, delphij Sponsored by: DARPA, AFRL Modified: stable/10/sys/kern/vfs_subr.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/kern/vfs_subr.c ============================================================================== --- stable/10/sys/kern/vfs_subr.c Wed Apr 5 20:11:05 2017 (r316542) +++ stable/10/sys/kern/vfs_subr.c Wed Apr 5 21:08:26 2017 (r316543) @@ -3357,12 +3357,11 @@ vfsconf2x32(struct sysctl_req *req, stru { struct xvfsconf32 xvfsp; + bzero(&xvfsp, sizeof(xvfsp)); strcpy(xvfsp.vfc_name, vfsp->vfc_name); xvfsp.vfc_typenum = vfsp->vfc_typenum; xvfsp.vfc_refcount = vfsp->vfc_refcount; xvfsp.vfc_flags = vfsp->vfc_flags; - xvfsp.vfc_vfsops = 0; - xvfsp.vfc_next = 0; return (SYSCTL_OUT(req, &xvfsp, sizeof(xvfsp))); } #endif From owner-svn-src-all@freebsd.org Wed Apr 5 22:01:50 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 87E96D2DC16; Wed, 5 Apr 2017 22:01:50 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5A2AEC67; Wed, 5 Apr 2017 22:01:50 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v35M1nib094325; Wed, 5 Apr 2017 22:01:49 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v35M1nU9094324; Wed, 5 Apr 2017 22:01:49 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704052201.v35M1nU9094324@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Wed, 5 Apr 2017 22:01:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316544 - head/sys/dev/ixgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 22:01:50 -0000 Author: sbruno Date: Wed Apr 5 22:01:49 2017 New Revision: 316544 URL: https://svnweb.freebsd.org/changeset/base/316544 Log: Don't overrite vf->flags variable at the end of ixgbe(4) ixgbe_add_vf(). Found by PVS-Studio Static code analyzer. PR: 217748 Submitted by: razmyslov@viva64.com MFC after: 1 week Modified: head/sys/dev/ixgbe/if_ix.c Modified: head/sys/dev/ixgbe/if_ix.c ============================================================================== --- head/sys/dev/ixgbe/if_ix.c Wed Apr 5 21:08:26 2017 (r316543) +++ head/sys/dev/ixgbe/if_ix.c Wed Apr 5 22:01:49 2017 (r316544) @@ -5991,7 +5991,7 @@ ixgbe_add_vf(device_t dev, u16 vfnum, co */ vf->flags |= IXGBE_VF_CAP_MAC; - vf->flags = IXGBE_VF_ACTIVE; + vf->flags |= IXGBE_VF_ACTIVE; ixgbe_init_vf(adapter, vf); IXGBE_CORE_UNLOCK(adapter); From owner-svn-src-all@freebsd.org Wed Apr 5 22:26:46 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0352DD30824; Wed, 5 Apr 2017 22:26:46 +0000 (UTC) (envelope-from des@des.no) Received: from smtp.des.no (smtp.des.no [194.63.250.102]) by mx1.freebsd.org (Postfix) with ESMTP id C2AD1E52; Wed, 5 Apr 2017 22:26:45 +0000 (UTC) (envelope-from des@des.no) Received: from desk.des.no (smtp.des.no [194.63.250.102]) by smtp.des.no (Postfix) with ESMTP id 27F2DDDFA; Wed, 5 Apr 2017 22:26:44 +0000 (UTC) Received: by desk.des.no (Postfix, from userid 1001) id 71A7A4A14; Thu, 6 Apr 2017 00:26:42 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Cy Schubert Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316487 - head/etc References: <201704050305.v3535VE2006000@slippy.cwsent.com> Date: Thu, 06 Apr 2017 00:26:40 +0200 In-Reply-To: <201704050305.v3535VE2006000@slippy.cwsent.com> (Cy Schubert's message of "Tue, 04 Apr 2017 20:05:31 -0700") Message-ID: <861st64hjz.fsf@desk.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 22:26:46 -0000 Cy Schubert writes: > This patch caused some boot failures because the contents of rc_force wer= e=20 > redefined from "yes" (for yes) and NULL (for no) to the words "yes" and=20 > "no". This in turn caused etc/rc.d/dhclient to assume force when $rc_forc= e=20 > was not NULL (test -z failed). Interfaces with static IP addresses invoke= d=20 > rc.d/dhclient through devd. The attached patch should make all instances= =20 > $rc_force consistent with your change. Yes, I just realized. I committed the wrong version of the patch. I had a version in a different tree which added check_force etc. functions. Could you please revert? I'd like to spend a little more time making sure I get everything right. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-all@freebsd.org Wed Apr 5 23:07:01 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 99777D304FA; Wed, 5 Apr 2017 23:07:01 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x244.google.com (mail-pg0-x244.google.com [IPv6:2607:f8b0:400e:c05::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 64FB73F4; Wed, 5 Apr 2017 23:07:01 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x244.google.com with SMTP id 79so4186128pgf.0; Wed, 05 Apr 2017 16:07:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=HmoPoiFAAcfvCJFNYzITLBfNlGD3I1DILs6BvvMBI8k=; b=UXRAAFF+Eg0VEt7ndbWW7Z44Dln4KrYEwFF8ScOglMQZGQsp0Rp2VNje0PUrxU0w5o KFNVxhftvopH3nDU7qFx/A9WdNU7tmXDUiZ3bPNaIAJ+9U/4IUbxMrBKO2958B800FGN BPd7nE5QucyxHSTxC6Zwb4HJY4wtdHJfah90w+hUlN7km1HOgc79pyh9z3nyPXtRkjvb L1eLmhDFZIEdIYAii7SeWFpENuLsh3uvJJnRxMcPo60kmsxjRC2mCozh3XLwZroKx4wP MZmKDLwjUgEjObksMHkwA5kq2KPbqK1gmObxDrS84nmbl9RjpQjPK3ts0YA8TReo1BdJ SXjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=HmoPoiFAAcfvCJFNYzITLBfNlGD3I1DILs6BvvMBI8k=; b=Ep6C6e939alKO6XIrivxXS4v/jC7m8lVq6iLdw2qOUYEt9b22SLzkwGRLflal8CR4H AH+RjJ78NjdtkwMZrQ2Xtw3KcVjhH/VKxsdeuh8z5eA6DXDc5+6K8wQXc3E9ZuS7Bo0S N4Dv/BOumqLJtjeSFN+yglduj9bfm/BXQy/df/c3M37zQFLAVV4fXjM/6kR0oMQR2lyN 2bQe0+WFUUCYCFhrh1QfOukaKw2pgM0pjusrtjI7Xw8FdL/bPd4JGK1jqAw9Fb8Ql3Bg j6HChDXCqAoS0l4+YZ/6gP8/z59ztS7ydnS1Uo070irP1Xi1Hpdtt3vzxrowZMIn4juC uOlw== X-Gm-Message-State: AFeK/H0+8wDTrqvtFKAjRd22URGFH19bEoEqcqn6Jp0AuuV4OSJGPTwfn5CA11McMvEBHQ== X-Received: by 10.84.191.165 with SMTP id a34mr39690694pld.62.1491433620975; Wed, 05 Apr 2017 16:07:00 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id c28sm39351115pfj.77.2017.04.05.16.06.59 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 05 Apr 2017 16:07:00 -0700 (PDT) Subject: Re: svn commit: r316536 - in head: contrib/netbsd-tests/usr.bin/grep usr.bin/grep/tests Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_32DE74C1-D889-41CE-B9AA-0BAE1DA14030"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: Date: Wed, 5 Apr 2017 16:06:58 -0700 Cc: Ed Maste , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers Message-Id: References: <201704051841.v35IfiP2009466@repo.freebsd.org> <85B65B02-8146-449C-B003-B375B8EE3F43@gmail.com> To: Kyle Evans X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Apr 2017 23:07:01 -0000 --Apple-Mail=_32DE74C1-D889-41CE-B9AA-0BAE1DA14030 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Apr 5, 2017, at 12:33, Kyle Evans wrote: >=20 > On Wed, Apr 5, 2017 at 1:48 PM, Ngie Cooper (yaneurabeya) = wrote: >=20 > As a general rule of thumb, if it doesn=E2=80=99t pass, it = needs to be marked as an expected failure until it passes. Not really a = big deal right now (because ci.freebsd.org isn=E2=80=99t spamming = current@ =E2=80=94 yet), but when that switch gets thrown again, it = would spam a few hundred people with known failures. >=20 > Ah, whoops. Something like this? >=20 > diff --git a/contrib/netbsd-tests/usr.bin/grep/t_grep.sh = b/contrib/netbsd-tests/usr.bin/grep/t_grep.sh > index b8d2a398c8d..189e3547e34 100755 > --- a/contrib/netbsd-tests/usr.bin/grep/t_grep.sh > +++ b/contrib/netbsd-tests/usr.bin/grep/t_grep.sh > @@ -234,6 +234,7 @@ oflag_zerolen_head() > } > oflag_zerolen_body() > { > + atf_expect_fail "GNU grep's -o behavior with empty matches has = known bugs (PR 195763)" > atf_check -o file:"$(atf_get_srcdir)/d_oflag_zerolen_a.out" \ > grep -Eo '(^|:)0*' "$(atf_get_srcdir)/d_oflag_zerolen_a.in" >=20 > @@ -281,6 +282,7 @@ color_body() > atf_check -o file:"$(atf_get_srcdir)/d_color_b.out" \ > grep --color=3Dauto -f grepfile = "$(atf_get_srcdir)/d_color_b.in" >=20 > + atf_expect_fail "GNU grep --color output does not exactly match = expectations going forward" > atf_check -o file:"$(atf_get_srcdir)/d_color_c.out" \ > grep --color=3Dalways -f grepfile = "$(atf_get_srcdir)/d_color_b.in" > } >=20 > Yup! -Ngie --Apple-Mail=_32DE74C1-D889-41CE-B9AA-0BAE1DA14030 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJY5XiTAAoJEPWDqSZpMIYVE8AP/j6LDS8DTRGI3D3D5mEAOHZs /IbMbExEYqFMUONybA6YBiwnuIs6LnX6rJl9kLIR373KXZcRwZZyp98AKBZIvQ4S zKdauwNFCJHBs6hRaNcn+IBgIsJV4mMfN6uRHG1Uu/gCVSR7vazkpxbmT9QHj95Z CLeK5Qvlq93jioQScXHCMRVs1AlQqsWhmMVuTuGNSArYzETlbDH52PxU5J3DjiUg +p3owpQEjy5BZ2kw4wmxomF4Ls37qRycH/UaIDO5WWs70N05dLeZxOphyjvPQBcg cmQ/oEZYC6peU6by/4QXhM+yCmdErDlYdfsrCKUSXjKjj+6H4rwWCEo/eGrdAJRL Cmwc5Ckc57aucgQvvshtkOr2P62iPqS//tmZGVREx6gA2zJi6/OzssSiBcRFTSUo 5LLvaSg7Gkpyjad++HzKk6p3hJ/BgNwoG8jIbdChYvVg5W/LJeT9lcUH7zpL31Ar /jIX/YHNy+ZBtN7VPNHK4UHJSs+KYXh0PjHMqJn0MYxMlF15iaU63EMUIXDWzAfu o0dT15O51a0AqiMPJbdkL1m9Qg0K9qGz5J07dGwUWDh3MQwydONhWlsniOtf/V0I 2YFna7McFTs9I9qt7jxMT3RUOmz9aguNVn1xjNyZPi7PHBkRHhikChz0PZGLqebs ss5+2RRVCIVCrCJM8kzm =dJ4C -----END PGP SIGNATURE----- --Apple-Mail=_32DE74C1-D889-41CE-B9AA-0BAE1DA14030-- From owner-svn-src-all@freebsd.org Thu Apr 6 00:07:13 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 32A4DD307CB; Thu, 6 Apr 2017 00:07:13 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0300C324; Thu, 6 Apr 2017 00:07:12 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3607CA5043763; Thu, 6 Apr 2017 00:07:12 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3607CYG043762; Thu, 6 Apr 2017 00:07:12 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704060007.v3607CYG043762@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 6 Apr 2017 00:07:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316545 - head/usr.sbin/makefs/ffs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 00:07:13 -0000 Author: emaste Date: Thu Apr 6 00:07:11 2017 New Revision: 316545 URL: https://svnweb.freebsd.org/changeset/base/316545 Log: makefs: zero memory NetBSD revs: ffs/buf.c 1.14 Obtained from: NetBSD Modified: head/usr.sbin/makefs/ffs/buf.c Modified: head/usr.sbin/makefs/ffs/buf.c ============================================================================== --- head/usr.sbin/makefs/ffs/buf.c Wed Apr 5 22:01:49 2017 (r316544) +++ head/usr.sbin/makefs/ffs/buf.c Thu Apr 6 00:07:11 2017 (r316545) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include "makefs.h" @@ -219,6 +220,7 @@ getblk(struct vnode *vp, daddr_t blkno, n = realloc(bp->b_data, size); if (n == NULL) err(1, "getblk: realloc b_data %ld", bp->b_bcount); + memset(n, 0, size); bp->b_data = n; bp->b_bufsize = size; } From owner-svn-src-all@freebsd.org Thu Apr 6 00:15:19 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 65EB8D309DC; Thu, 6 Apr 2017 00:15:19 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2D6319DA; Thu, 6 Apr 2017 00:15:19 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v360FIp3047703; Thu, 6 Apr 2017 00:15:18 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v360FIlG047702; Thu, 6 Apr 2017 00:15:18 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201704060015.v360FIlG047702@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 6 Apr 2017 00:15:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316546 - head/etc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 00:15:19 -0000 Author: cy Date: Thu Apr 6 00:15:18 2017 New Revision: 316546 URL: https://svnweb.freebsd.org/changeset/base/316546 Log: Revert r316516. des@ asked that r316516 be reverted so that he can spend a little more time getting r316487 right. Requested by: des@ Modified: head/etc/rc.subr Modified: head/etc/rc.subr ============================================================================== --- head/etc/rc.subr Thu Apr 6 00:07:11 2017 (r316545) +++ head/etc/rc.subr Thu Apr 6 00:15:18 2017 (r316546) @@ -929,9 +929,6 @@ run_rc_command() eval ${rcvar}=YES fi fi - if ! checkyesno rc_force; then - rc_force= - fi debug "_rc_prefix=${_rc_prefix}" eval _override_command=\$${name}_program From owner-svn-src-all@freebsd.org Thu Apr 6 00:18:32 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1B925D30AA7; Thu, 6 Apr 2017 00:18:32 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id D0939B8A; Thu, 6 Apr 2017 00:18:31 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id vv82c3IFOsa1kvv83c6k3q; Wed, 05 Apr 2017 18:18:24 -0600 X-Authority-Analysis: v=2.2 cv=W+NIbVek c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=8nJEP1OIZ-IA:10 a=AzvcPWV-tVgA:10 a=BWvPGDcYAAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=RFjTbgNEwdGhDpzFgGUA:9 a=wPNLvfGTeEIA:10 a=pxhY87DP9d2VeQe4joPk:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy8 [10.2.2.6]) by spqr.komquats.com (Postfix) with ESMTPS id 39A78A83; Wed, 5 Apr 2017 17:18:22 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v360IL31061110; Wed, 5 Apr 2017 17:18:21 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201704060018.v360IL31061110@slippy.cwsent.com> X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= cc: Cy Schubert , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316487 - head/etc In-Reply-To: Message from =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= of "Thu, 06 Apr 2017 00:26:40 +0200." <861st64hjz.fsf@desk.des.no> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Date: Wed, 05 Apr 2017 17:18:21 -0700 X-CMAE-Envelope: MS4wfEbm8R1IHSOSNfe+fhvay4b0z2+KcvMOsz+0t4k6E2NRglbqytncSw3WoBvO7V/dhz5/LTi0wl8uVJwytuguuArDK7zny6HPAMXO1UVlHsIxz2mwctJU wJa2JafT0AuNeJD10LGnI7R/fMZ/eIeDlHMF70hnsTz2WWV9WAkKpF48mXHWDSqc/t9qIuTFYetzi+jHQY3c1nwpEKKMKb0LnLT5ispIhAlBRvuJaPHsZF/l tEChhlC7COru6oqxHg1CEXXevyTC1/Fk7GdhcS44x4E= X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 00:18:32 -0000 In message <861st64hjz.fsf@desk.des.no>, =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav? = w rites: > Cy Schubert writes: > > This patch caused some boot failures because the contents of rc_force were > > redefined from "yes" (for yes) and NULL (for no) to the words "yes" and > > "no". This in turn caused etc/rc.d/dhclient to assume force when $rc_force > > was not NULL (test -z failed). Interfaces with static IP addresses invoked > > rc.d/dhclient through devd. The attached patch should make all instances > > $rc_force consistent with your change. > > Yes, I just realized. I committed the wrong version of the patch. I > had a version in a different tree which added check_force > etc. functions. > > Could you please revert? I'd like to spend a little more time making > sure I get everything right. Sure, it's been reverted. People will need to remember to not run mergemaster or avoid updating rc.subr until the final version is committed or dhclient will *always* be started by devd regardless of rc.conf. Are you thinking of a more intrusive change like my first draft of the patch? ngie@ suggested that there be an UPDATING entry. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-all@freebsd.org Thu Apr 6 01:35:44 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 10B95D31B2B; Thu, 6 Apr 2017 01:35:44 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DF743177; Thu, 6 Apr 2017 01:35:43 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v361ZhLR080901; Thu, 6 Apr 2017 01:35:43 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v361ZhY3080900; Thu, 6 Apr 2017 01:35:43 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201704060135.v361ZhY3080900@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Thu, 6 Apr 2017 01:35:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316547 - head/sys/net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 01:35:44 -0000 Author: adrian Date: Thu Apr 6 01:35:42 2017 New Revision: 316547 URL: https://svnweb.freebsd.org/changeset/base/316547 Log: [net80211] refactor out the A-MPDU dispatch routine. The "dispatch a frame from the A-MPDU reorder buffer" code is essentially duplicated in a couple of places. This refactors it out into a single place in preparation for A-MSDU in A-MPDU offload support, where multiple A-MSDUs are decap'ed in hardware to 802.3/802.11 frames, but with the same sequence number. Reviewed by: avos Differential Revision: https://reviews.freebsd.org/D10240 Modified: head/sys/net80211/ieee80211_ht.c Modified: head/sys/net80211/ieee80211_ht.c ============================================================================== --- head/sys/net80211/ieee80211_ht.c Thu Apr 6 00:15:18 2017 (r316546) +++ head/sys/net80211/ieee80211_ht.c Thu Apr 6 01:35:42 2017 (r316547) @@ -644,6 +644,25 @@ ampdu_dispatch(struct ieee80211_node *ni (void) ieee80211_input(ni, m, 0, 0); } +static int +ampdu_dispatch_slot(struct ieee80211_rx_ampdu *rap, struct ieee80211_node *ni, + int i) +{ + struct mbuf *m; + + if (rap->rxa_m[i] == NULL) + return (0); + + m = rap->rxa_m[i]; + rap->rxa_m[i] = NULL; + rap->rxa_qbytes -= m->m_pkthdr.len; + rap->rxa_qframes--; + + ampdu_dispatch(ni, m); + + return (1); +} + static void ampdu_rx_moveup(struct ieee80211_rx_ampdu *rap, struct ieee80211_node *ni, int i, int winstart) @@ -690,20 +709,14 @@ static void ampdu_rx_dispatch(struct ieee80211_rx_ampdu *rap, struct ieee80211_node *ni) { struct ieee80211vap *vap = ni->ni_vap; - struct mbuf *m; int i; /* flush run of frames */ for (i = 1; i < rap->rxa_wnd; i++) { - m = rap->rxa_m[i]; - if (m == NULL) + if (ampdu_dispatch_slot(rap, ni, i) == 0) break; - rap->rxa_m[i] = NULL; - rap->rxa_qbytes -= m->m_pkthdr.len; - rap->rxa_qframes--; - - ampdu_dispatch(ni, m); } + /* * If frames remain, copy the mbuf pointers down so * they correspond to the offsets in the new window. @@ -725,19 +738,14 @@ static void ampdu_rx_flush(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap) { struct ieee80211vap *vap = ni->ni_vap; - struct mbuf *m; - int i; + int i, r; for (i = 0; i < rap->rxa_wnd; i++) { - m = rap->rxa_m[i]; - if (m == NULL) + r = ampdu_dispatch_slot(rap, ni, i); + if (r == 0) continue; - rap->rxa_m[i] = NULL; - rap->rxa_qbytes -= m->m_pkthdr.len; - rap->rxa_qframes--; - vap->iv_stats.is_ampdu_rx_oor++; + vap->iv_stats.is_ampdu_rx_oor += r; - ampdu_dispatch(ni, m); if (rap->rxa_qframes == 0) break; } @@ -753,9 +761,8 @@ ampdu_rx_flush_upto(struct ieee80211_nod struct ieee80211_rx_ampdu *rap, ieee80211_seq winstart) { struct ieee80211vap *vap = ni->ni_vap; - struct mbuf *m; ieee80211_seq seqno; - int i; + int i, r; /* * Flush any complete MSDU's with a sequence number lower @@ -766,18 +773,12 @@ ampdu_rx_flush_upto(struct ieee80211_nod */ seqno = rap->rxa_start; for (i = 0; i < rap->rxa_wnd; i++) { - m = rap->rxa_m[i]; - if (m != NULL) { - rap->rxa_m[i] = NULL; - rap->rxa_qbytes -= m->m_pkthdr.len; - rap->rxa_qframes--; - vap->iv_stats.is_ampdu_rx_oor++; - - ampdu_dispatch(ni, m); - } else { + r = ampdu_dispatch_slot(rap, ni, i); + if (r == 0) { if (!IEEE80211_SEQ_BA_BEFORE(seqno, winstart)) break; } + vap->iv_stats.is_ampdu_rx_oor += r; seqno = IEEE80211_SEQ_INC(seqno); } /* From owner-svn-src-all@freebsd.org Thu Apr 6 01:37:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8C45D31C4D; Thu, 6 Apr 2017 01:37:04 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B4193359; Thu, 6 Apr 2017 01:37:04 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v361b39l080992; Thu, 6 Apr 2017 01:37:03 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v361b3Q5080989; Thu, 6 Apr 2017 01:37:03 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704060137.v361b3Q5080989@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Thu, 6 Apr 2017 01:37:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316548 - in head/etc/periodic: daily monthly weekly X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 01:37:05 -0000 Author: asomers Date: Thu Apr 6 01:37:03 2017 New Revision: 316548 URL: https://svnweb.freebsd.org/changeset/base/316548 Log: Quiet 450.status-security when *_inline="YES" Previously, 450.status-security would always set rc=3 in inline mode, because it doesn't know whether "periodic security" is going to find anything interesting. But this annoyingly results in daily reports that simply say "Security check: \n\n-- End of daily output --". This change fixes that by testing whether "periodic security" printed anything, and setting 450.status-security's exit status to 3 if it did. An alternative would be to change the exit status of periodic(8) to be the worst of its scripts' exit statuses, but that would be a more intrusive change. Reviewed by: brian MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D10267 Modified: head/etc/periodic/daily/450.status-security head/etc/periodic/monthly/450.status-security head/etc/periodic/weekly/450.status-security Modified: head/etc/periodic/daily/450.status-security ============================================================================== --- head/etc/periodic/daily/450.status-security Thu Apr 6 01:35:42 2017 (r316547) +++ head/etc/periodic/daily/450.status-security Thu Apr 6 01:37:03 2017 (r316548) @@ -22,19 +22,25 @@ case "$daily_status_security_enable" in esac export security_output="${daily_status_security_output}" + rc=0 case "${daily_status_security_output}" in "") - rc=3;; + if tempfile=`mktemp ${TMPDIR:-/tmp}/450.status-security.XXXXXX` + then + periodic security > $tempfile || rc=3 + if [ -s "$tempfile" ]; then + cat "$tempfile" + rc=3 + fi + rm -f "$tempfile" + fi;; /*) echo " (output logged separately)" - rc=0;; + periodic security || rc=3;; *) echo " (output mailed separately)" - rc=0;; - esac - - periodic security || rc=3;; - + periodic security || rc=3;; + esac;; *) rc=0;; esac Modified: head/etc/periodic/monthly/450.status-security ============================================================================== --- head/etc/periodic/monthly/450.status-security Thu Apr 6 01:35:42 2017 (r316547) +++ head/etc/periodic/monthly/450.status-security Thu Apr 6 01:37:03 2017 (r316548) @@ -22,19 +22,25 @@ case "$monthly_status_security_enable" i esac export security_output="${monthly_status_security_output}" + rc=0 case "${monthly_status_security_output}" in "") - rc=3;; + if tempfile=`mktemp ${TMPDIR:-/tmp}/450.status-security.XXXXXX` + then + periodic security > $tempfile || rc=3 + if [ -s "$tempfile" ]; then + cat "$tempfile" + rc=3 + fi + rm -f "$tempfile" + fi;; /*) echo " (output logged separately)" - rc=0;; + periodic security || rc=3;; *) echo " (output mailed separately)" - rc=0;; - esac - - periodic security || rc=3;; - + periodic security || rc=3;; + esac;; *) rc=0;; esac Modified: head/etc/periodic/weekly/450.status-security ============================================================================== --- head/etc/periodic/weekly/450.status-security Thu Apr 6 01:35:42 2017 (r316547) +++ head/etc/periodic/weekly/450.status-security Thu Apr 6 01:37:03 2017 (r316548) @@ -22,19 +22,25 @@ case "$weekly_status_security_enable" in esac export security_output="${weekly_status_security_output}" + rc=0 case "${weekly_status_security_output}" in "") - rc=3;; + if tempfile=`mktemp ${TMPDIR:-/tmp}/450.status-security.XXXXXX` + then + periodic security > $tempfile || rc=3 + if [ -s "$tempfile" ]; then + cat "$tempfile" + rc=3 + fi + rm -f "$tempfile" + fi;; /*) echo " (output logged separately)" - rc=0;; + periodic security || rc=3;; *) echo " (output mailed separately)" - rc=0;; - esac - - periodic security || rc=3;; - + periodic security || rc=3;; + esac;; *) rc=0;; esac From owner-svn-src-all@freebsd.org Thu Apr 6 01:38:13 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AD648D31D2A; Thu, 6 Apr 2017 01:38:13 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0044.outbound.protection.outlook.com [104.47.40.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 45477753; Thu, 6 Apr 2017 01:38:12 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=cdiJys+ykAdx4vuybI29IP79sGiN17XppAtI0QELKFU=; b=MkShIUkWVrHzdqhSptuuzeF3o66Ow14IbP6Wez4zSj/JaC2DtX0/3dK19qJPGc9puGrOWZiF2f1duHaRx3yOQUZYnoqr+AzDjPPZFVH8ia4n73TitdxQrcvnMPpIkxX0JYMj0PUMh0DhSkaRdJe0OLXCpSrKiwkZrEp4yiy0g0E= Received: from BY2PR05CA023.namprd05.prod.outlook.com (10.141.250.13) by DM2PR0501MB1119.namprd05.prod.outlook.com (10.160.245.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Thu, 6 Apr 2017 01:38:10 +0000 Received: from BL2NAM02FT063.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::206) by BY2PR05CA023.outlook.office365.com (2a01:111:e400:2c5f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Thu, 6 Apr 2017 01:38:09 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp1.campus.ksu.edu; Received: from ome-vm-smtp1.campus.ksu.edu (129.130.18.151) by BL2NAM02FT063.mail.protection.outlook.com (10.152.77.121) with Microsoft SMTP Server id 15.1.1005.5 via Frontend Transport; Thu, 6 Apr 2017 01:38:09 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp1.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v361c8Ii003474; Wed, 5 Apr 2017 20:38:08 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 6AB9624830A; Wed, 5 Apr 2017 20:38:08 -0500 (CDT) Received: from mail-wr0-f177.google.com (mail-wr0-f177.google.com [209.85.128.177]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id 34FAF248004; Wed, 5 Apr 2017 20:38:06 -0500 (CDT) Received: by mail-wr0-f177.google.com with SMTP id o21so11378344wrb.2; Wed, 05 Apr 2017 18:38:06 -0700 (PDT) X-Gm-Message-State: AFeK/H1wjYEe6C3ThTwvJt2GfKc4s3qGevA4dYvQJnfq6psFpD4LaBSd +lSBYmwxm2XzOb51rJVr1BgmHAKsxA== X-Received: by 10.28.181.69 with SMTP id e66mr11276239wmf.33.1491442685230; Wed, 05 Apr 2017 18:38:05 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Wed, 5 Apr 2017 18:37:44 -0700 (PDT) In-Reply-To: References: <201704051841.v35IfiP2009466@repo.freebsd.org> <85B65B02-8146-449C-B003-B375B8EE3F43@gmail.com> From: Kyle Evans Date: Wed, 5 Apr 2017 20:37:44 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316536 - in head: contrib/netbsd-tests/usr.bin/grep usr.bin/grep/tests To: "Ngie Cooper (yaneurabeya)" CC: , , src-committers , Ed Maste X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39840400002)(39860400002)(39850400002)(39400400002)(39450400003)(39410400002)(2980300002)(438002)(189002)(24454002)(199003)(377454003)(54906002)(305945005)(50986999)(236005)(512874002)(498394004)(9686003)(1411001)(76176999)(8576002)(61266001)(61726006)(42186005)(356003)(75432002)(4326008)(6246003)(450100002)(93516999)(6862004)(88552002)(9896002)(55446002)(2906002)(110136004)(5660300001)(8936002)(38730400002)(53546009)(86362001)(90966002)(54356999)(59536001)(84326002)(229853002)(63696999)(93886004)(8676002)(2950100002)(46386002)(106466001)(189998001)(45336002)(55456009); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0501MB1119; H:ome-vm-smtp1.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT063; 1:Ih55BaTK8yW+W8JNYtYbS1sJQtcgThs+33GUHG7dRnZhL5mu0neqgWH2HghqYtJATNgP9HEzickWgvfQp79rPi8pfNlLI8lkybxVbIC0KmBhIUEpDmy9uteUzZWL+6mxz5GfJzkNLkItBzqry/uRVQBdbvR4Hv6kw+VLvTvwCvXTvzP5vvJKTq4Q8b0TOEgPFvuXU1PmgNVsUDmr3j/pZ8WVkxwQ5Iu3KVo5V3HHCgRYSEiK1R/j+HeLcI2Ig4u1r63OB6ePNGVgmEv0YRsm3LIPWEIhEaS8ROAoTqluHT6RgPmDoZQKo/h3tbQcdsNXhjoU6V802/Dm0ox6GxAxh7MHb6t10w+x9+qn2MHxjka8/H3YiW2PHyUmggBcQk3J4hcA4OZKDHwOMU8w++dZURS4YPR6GZTMkC4vp85KqYnFcxpM9t/KSrvaoyBal/xqr8WK6cewGguATwUCC61Gg4VAEQgQsn9n6Cf6X+7DEoq9rZIRjqjCUdQa9ODjAyHoGbWTtZz6EwKTaI8dMhcl8K0hQFm6n0yMnTwYiMh++5amt/fdM2UxAMIC3LuBln0CBFVbW/ALKJBkVI+3NEVgwA== X-MS-Office365-Filtering-Correlation-Id: 6789f654-1a89-4b5d-4781-08d47c8d94a0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081); SRVR:DM2PR0501MB1119; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1119; 3:WidR81tUepVQe3QWZZL/bnkwkLdYPdgn2Vgd3onl2WJPPfSHX5PYgBPzUYJw+i9+bm4CsDeknrXiJLR9Mi1OKtzcisAYSIhGDEEOCyKmnUyMeC0y0i+JoAty27KTFVpVtDYcDv3VyilUKnnjFF2tZgI75HDVlXHGjSvdIGzNvtsXoB0nJPpjOzUt+wnBQFS7A8NcvkPlAWeo6L8NGw9JEqeoTgsQaIaLGZor3/LT/3D5RJ5CSm1mxwk6z7Sk3I+liThDWwakAFxDFxZsn4F2+M53HKsCT+L2iG6wckj+GmEKMxMHde5sKrwceOCFteK/CNdh/nijIMEzKWoZOTWCnxDeiKG3e9RLL1i1oQdO2mCFddRfDeMa18zpstCN+T2D9TJ0AVUP5LvGZtrxyPZODYSA0XrERay5FwXCNHvsM6D0C0KiWVsXKL4x4sqZqucc583p66b3LuIEP0kiwuAozFNBsd+GFoLRwmMEmNDMAMIfEbiZROKQLHqBXW/6PXrF X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1119; 25:9XJ6ieBtuS4UHiqLyTMbq2UExFLjtysB6sdZ/RoLUrwMWksdQN8l+rB9mM+C7xViIk/b0jWY//oGaJYewQ9OICGdFBsEN1d8UTmj9sncr7LHxDMQxPH3+dp7pkaRgK4JaWyzX3ZUHc+87yoMp/EYgKJuxedBCeMFc5a+1WEaHzx/na34cF244z+mdfJ2xCrRq1HzBCJZXLxekOdNSregvTQEUmcz0THa+AGlYmkxolj2Td2Ra6ukKhnBdhy1H0LtkhH06qdTWtqRt6epcz8m1eaHdfZRJdj5O1mKRI+2xOQZlZIMPO/WWAaTP4YY/r061zyfPuK95vjetrK2r+8FsrQY7X6yV1mRkeSINHbQ3eK0w2ZCDTQTyinjzN6f3qU0ccMo6VzffzIJZXLQ8X0fNIUORohaeCNuCoyiCct9oeUbq58+k7JHRoOb3MqJoFMiILcgFii1AhnxGf1eZgR9aA==; 31:i0VLZ/aFuG3J1Snlie6f8sY+oa/SspL470/eRql2zxcZVbYV5wG80EVWhjp3N5SJjFGOp+9FhGBs3HBdItb96eLzJaRkQnbLWF9VD8FMHCeZ6XHs5Q3dKibqkle5UGcbsEPHt3WcRi+f5VDaGPNjIuJLrt16v3KWAzCYzLNeJDADmIJgWwyQpSx8HRLWua5NeLHJozg2kSB+6X7vXvkqnVb1LLTzIG1U7DRSdCTCyX4CRAgfJzkvhu7s/nA2FXN9vez9WVYCTL9TFsNVnzfuedl1DbrN/gIH8yH9NgWmmZY= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1119; 20:NuXzXLYuH9Oh/JFGUgXVmuvFjyRI/vyQtnv4Td3RLheJ8gh0R9tbWJE6LJsFaI7wYKfWLA2LaHPKy4foWJIqvBMLS2xWcqJx1LWdAbVG4aLEnYzokUmH9KN0a+S1cUJq/B8UsFxypVk58M5+FxcxZQSlo9sVvpCIhUN3hj1fhZEwxkeBFxhRZciFgq5s0BDmhGukFRoPSq13mchELZAM3+DcUF0CbLtyYu/5vd5wau8RzcpL2aca6at2VLhV+hrOhpC68hcbyEv2XthATC+lMQ/X1bM71R1QGG4mjU59PQRwRwmO4ZUJBLl66lINuHxnKyrDsPd+hWYVBzGDoR82WD0iCz1ac2wV3LGynwtmUQtPMkB6D1uPMPg6AQwMOUOdN1KXroUCgOoL1HZri4rED/9aV9Vd5wqDshB7TGRHIz+gErwMvZpyO8U1r9U/MJdz83q/XJx8O4MzhdZMaXZc8JVG4C+MfWvpLBo3sOeQL8M+IQTtzU65IlrUb3s5Wiai X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(13015025)(13017025)(13024025)(13018025)(13023025)(10201501046)(93006095)(93004095)(3002001)(6041248)(20161123562025)(20161123555025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(20161123560025)(20161123564025)(6072148); SRVR:DM2PR0501MB1119; BCL:0; PCL:0; RULEID:; SRVR:DM2PR0501MB1119; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1119; 4:McNP0GL64cW3tFJZMm1TGQyFSp1QaeWmhOmaFj7/Dp7FS9zdeImPwEkGc3UTsmMiaLYLwTaZxfmdv4S0UJnGdB1FnQBhMPC19TexnurzIeVZ9MDJz/21F8//Ey93V84Ia1Iv0x7SP4xj6iFS0rOutg8eQSDZhiTeC35aNLw4x/4uNOS8Duf+J8sGna5ZW+BEuKAwhNrX9h723deTyNmQKw6/EIHaQqKa97GBjs+tIUw0+yM/tauN0Bsuld18PkLqASwzN8NNqzF/gComUw/moussYcg/e94JKZerCGU/EFPJOs09ae1Iv9Mfv/ypvEeukPRlGFNwR/wYofwLa4QGgcVC7D9GU35cs6uCNtQINgkakcXFsMyO8ww2NsvCH4AH0oA2DzcFhW4eC6FA8S8CM3JTETf/gNnJiR1cEa55ZtMJBZt4DvaciI7D7bI5+Cxe+H6J0k8lR5KG+DGLZfwB53sUePX1ro43uP2U3WHcodQoJcOTWkyZpIqrMGum54lIn165FN82TvJiyRrVLXyH6NCx/9FCAgjM2Be1zizmGeiW4f/TLcgEHfPlSYEgeWmy6tOppZDj8S/37mLrvSrXxMMQn1pYPGpoZS9It3lh6WPsUbaZepVfa2niK0eNUaF8vKD6CUrVbkr3qY4jVPkhkVQzkr2JTSxj2UaY2xfNGJixl5LMFk5aHMktsIs1urHWrKQ+a4m7hItQejJOoDgNGLzkRXl0vBqCcZ1BlowA7RGMiHNgUMDPOdi1ROzwDC/Evxg8W6c2YC4BmFe+LSo3GMtQPONPufGN2AT0cHY+VtjYrx1bHvRGG/vTmpIvC8RKz5yo2CUWeS50rE4yxpNh9A== X-Forefront-PRVS: 02698DF457 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0501MB1119; 23:BoBwGCF/cjD9LT7o9l4MQgjE+wHr8MK2iAkS1K/?= =?us-ascii?Q?v068krsxvRWF8K732AxPTsxbgYI39rgT5UK1vkVqp9GeNR+fkC6Jndf/oK73?= =?us-ascii?Q?XyoRkVydMl7gxEyl4XeRYgiKDHm2UyuKR2DtIp2dseToqSzo1b3+hyi8+Gyk?= =?us-ascii?Q?ZmpODC3hjngLwM73k3dfw4SgOyppVPL3BfR415Lis4hErS4gKELaQiep8bLD?= =?us-ascii?Q?l1O7+hBHA6U+bC+9qZ1OTVdIP+31ZfgKmz+F/BaTiHLioNKv7SoO8S4JwoLR?= =?us-ascii?Q?NW7q8BaVeAN/STvYbk0clOemZfd47M6TJ0FZs1qm+7eftn+NjieGoSFX7NL8?= =?us-ascii?Q?T7OnC89wUszzSSP6eeinTXISAdAUAPXKvvPRDv/OrTv9WU16O97TN9WsxS7X?= =?us-ascii?Q?1l0pjaJ9WKs03juSj/LlRBUqWTx3I7fMY1f19qbeDg/XT5C0e9gAl6H5erX8?= =?us-ascii?Q?y6IJwDE2FJ2Cfg5V5UosJxVAA2mfMuQ8Bc56R7gxCH60SxHzHlOrOBXVwHAT?= =?us-ascii?Q?w5Rc9Sr5EnIvBw+cGivV2KZ9cw6WicJsm1ia8dzMe1LiFq9mzbZi5GRQduD1?= =?us-ascii?Q?cxQP/pN0wONaTGiemvwaH2c6vivjj4jNmvCIv4dnGMofJynT2K+MYYD/04/t?= =?us-ascii?Q?+w1M9/yynYT5vbTRjlj7PRw+b9sWajrRA2kfERSeDCsxwRZgEE0KOZwhI43L?= =?us-ascii?Q?HARO+tNftQynqwolQI1LeU5i5Ag/nG+X3TO/EZgU+ee1+BRuFmH4FyN4fzrv?= =?us-ascii?Q?J1+IqQ4rOF8J3CJG4xx2mNtiQ5dX7t4P42qT5m87SashcPlBvmMUH14aKEvk?= =?us-ascii?Q?Ao3n/ExNNNi4csOPKmOyHsz2ysFczlAhzSDbU5PXuSyY8RgIm+hl2wrPal1H?= =?us-ascii?Q?/NyWkToDsdZrEK2oS9BNomk5boRXwqqYgWVdpC/bIOQmTEDybN31VDk4N+Qh?= =?us-ascii?Q?2E30lZxGTDfIEAPwRj2w/tMZo+dzGfmgcxjjVae9Dn1zThqmIsCDOKk/nb3v?= =?us-ascii?Q?YoVJxYlvdSmFeTOb2PZBfO+DxDhIkGG59WKHBI3xaZMQ8UdXkdVwhFzc7sNC?= =?us-ascii?Q?h0XOaATzbJyKwgj6vCB9ZIaoEUB+XDma5P1kWqfM5MdVJvlQMtssBvY5nzlP?= =?us-ascii?Q?WB7ihGJNcZU4xERxHiwzGhz0GgHr3gu8ThJBbCl7TDTCOzv46aTGTUtyXEpt?= =?us-ascii?Q?p6BWTS5C8BPv4hHB/ifN7oAZ+5CW9llCNNwfKxXwhvSgwABRaoESxOmEXPdd?= =?us-ascii?Q?ELOeEz+w/a+t83IgyITPD7fYnkpT5OUaozp2lxIbwcfJST74MEp81KaRRyzW?= =?us-ascii?Q?NuXUyGMeRdtFgbNhcqupSlNmQ+P170AE1K8ubZui+PXaQvUExCg3qZ+NtQ/S?= =?us-ascii?Q?paw4e3w=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1119; 6:uyKYGtpGjr8sSgOd3oGXKEYJcQ24Cjpx0EndMWXs5tP36Fhr9oP17P4e9Ij6vOIYHmDA5MTCnnUZpC8izz9lNX1JioanLOCjEVVGYoSLTYl2j/FgYwW1ueaFlSO73d8HeSeIxGBGa1ht7k8zF5TBO/N2Mfyc5qPBIzWe/Jry2A+kEbsgwjJuUogHpNOl4zR+3gpVxge6pwwHvXYVvzRg1etWGljEax18HKNd8KrNDQjvBtxXUuN7bLuvjxYVQBBdHRidKdf22riyTfKOq/8haUx85d5h1ytWgP7fYK3fCQMX5oPrrw9digvI3ZlP1Mpf5emIrnMd898vo11YsIqf9ou5uh9UfX5togFkrUO17G/VUfWcFGJONLp/5M5SxZWTVhmUCxlq7doq6QsJ9IVyg2xTRCpvRf1aO9qUR90eU+ojlngXpgEWYT2h0Isv5HU5cqQezNFzS8z8TKRrUZ4FJQ==; 5:IoLfLg8JQuBAazX7blKb3sG26vdVGjiMX8MWXzgOiui1nWgyjbMODPILwdeAyjEMZM72MEX6hflSnJ6L2loopGBfQGmAWxccB76FT4Z/myKQ+XBxdKHEW3VyGGTjJbcNb7rRLlV4mg78Y6wL5otl+g==; 24:aOisSII9SUyfpvKfVZd5WmVw3o5H956CH3TTgROPACfc2VN8lhTBQo5zcVAuXWL2sOdIYSWAaTpjUClcvFxr/7novZfAWbLHPTg6UtPo2Gs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0501MB1119; 7:9bMCULXtOhJnfdxlom0XJDwk6CEq+RFz2SsHm1eyNwbIn49ZcIm0EPS0fDOKTCyQBF0zB01tA+zPjnjv3mtcGHGsOfC/SHu16IfXuUwA8Tl9oZ2cDFm3xnXi7VIc99VmiPfSe2PXUVIWFKKS7EwsMwqB6cfLhX5DheiPvO8EywaVdxdzMk/dJ0Hoz7TQajuAWG1g5zeWIlD8UXACsITAqpjg5IlwSa/7GeomZlxiCp4fxketLTK+iSIIuX2IjJkLQbHiWc+KMY6vLmKVm9Zli9ktujAthNn81HbkO3+5TV4WWTph46gEKgVwdt9Q/S4wpfwL0HkCG14ZZ1hv7Ya5Bg==; 20:ilm2VhkRQsBiv+xI2vsSu1+77DhtqikaRKhE+iQrb4k7yCnwtDQwCNwXBiKdoKW1RQT5mfaXhTlxlTssO6z6qgJ41xNkLGFxddtxJbIA2nGtj5f/Q24rv3V9UcftirbQGTVdgl+/ECBDolf149S75b/JGUfyAG0f/U5QoSgBI18= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2017 01:38:09.0128 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp1.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0501MB1119 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 01:38:13 -0000 On Wed, Apr 5, 2017 at 6:06 PM, Ngie Cooper (yaneurabeya) < yaneurabeya@gmail.com> wrote: > > > > > > Yup! > -Ngie > > Given no objections from emaste@ (seems unlikely, given the content), can one of you please commit this when able? It seems like a good idea for the sake of providing context for the failures, and we're still at least an exp-run and probably a good amount of work yet away from being able to flip /usr/bin/grep over to bsdgrep(1) and correct these expected failures. From owner-svn-src-all@freebsd.org Thu Apr 6 02:03:36 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 696C1D31815; Thu, 6 Apr 2017 02:03:36 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 39F8BCDE; Thu, 6 Apr 2017 02:03:36 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3623ZsB093961; Thu, 6 Apr 2017 02:03:35 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3623Z04093960; Thu, 6 Apr 2017 02:03:35 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704060203.v3623Z04093960@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 6 Apr 2017 02:03:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316549 - head/share/man/man9 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 02:03:36 -0000 Author: ngie Date: Thu Apr 6 02:03:35 2017 New Revision: 316549 URL: https://svnweb.freebsd.org/changeset/base/316549 Log: Add sys/types.h #include to EXAMPLE to provide a complete functional standalone example program MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/share/man/man9/sbuf.9 Modified: head/share/man/man9/sbuf.9 ============================================================================== --- head/share/man/man9/sbuf.9 Thu Apr 6 01:37:03 2017 (r316548) +++ head/share/man/man9/sbuf.9 Thu Apr 6 02:03:35 2017 (r316549) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 14, 2015 +.Dd April 5, 2017 .Dt SBUF 9 .Os .Sh NAME @@ -567,6 +567,7 @@ function (the userland version) will return zero for success and \-1 and set errno on error. .Sh EXAMPLES .Bd -literal -compact +#include #include struct sbuf *sb; From owner-svn-src-all@freebsd.org Thu Apr 6 02:40:53 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 66840D30AAC; Thu, 6 Apr 2017 02:40:53 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3AD1E3D7; Thu, 6 Apr 2017 02:40:53 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v362eqpg006489; Thu, 6 Apr 2017 02:40:52 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v362eqE5006488; Thu, 6 Apr 2017 02:40:52 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704060240.v362eqE5006488@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 6 Apr 2017 02:40:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316550 - head/share/man/man9 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 02:40:53 -0000 Author: ngie Date: Thu Apr 6 02:40:52 2017 New Revision: 316550 URL: https://svnweb.freebsd.org/changeset/base/316550 Log: sbuf(9): convert SYNOPSIS section from .Fn entries to .Fo/.Fa/.Fc entries This shortens the column count on many lines considerably. While here, add "(void)" to sbuf_new_auto(3) for consistency with style(9) recommendations. MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/share/man/man9/sbuf.9 Modified: head/share/man/man9/sbuf.9 ============================================================================== --- head/share/man/man9/sbuf.9 Thu Apr 6 02:03:35 2017 (r316549) +++ head/share/man/man9/sbuf.9 Thu Apr 6 02:40:52 2017 (r316550) @@ -66,57 +66,135 @@ .Ft typedef\ int ( sbuf_drain_func ) ( void\ *arg, const\ char\ *data, int\ len ) ; .Pp .Ft struct sbuf * -.Fn sbuf_new "struct sbuf *s" "char *buf" "int length" "int flags" +.Fo sbuf_new +.Fa "struct sbuf *s" +.Fa "char *buf" +.Fa "int length" +.Fa "int flags" +.Fc .Ft struct sbuf * -.Fn sbuf_new_auto +.Fo sbuf_new_auto +.Fa "void" +.Fc .Ft void -.Fn sbuf_clear "struct sbuf *s" +.Fo sbuf_clear +.Fa "struct sbuf *s" +.Fc .Ft int -.Fn sbuf_get_flags "struct sbuf *s" +.Fo sbuf_get_flags +.Fa "struct sbuf *s" +.Fc .Ft void -.Fn sbuf_set_flags "struct sbuf *s" "int flags" +.Fo sbuf_set_flags +.Fa "struct sbuf *s" +.Fa "int flags" +.Fc .Ft void -.Fn sbuf_clear_flags "struct sbuf *s" "int flags" +.Fo sbuf_clear_flags +.Fa "struct sbuf *s" +.Fa "int flags" +.Fc .Ft int -.Fn sbuf_setpos "struct sbuf *s" "int pos" +.Fo sbuf_setpos +.Fa "struct sbuf *s" +.Fa "int pos" +.Fc .Ft int -.Fn sbuf_bcat "struct sbuf *s" "const void *buf" "size_t len" +.Fo sbuf_bcat +.Fa "struct sbuf *s" +.Fa "const void *buf" +.Fa "size_t len" +.Fc .Ft int -.Fn sbuf_bcopyin "struct sbuf *s" "const void *uaddr" "size_t len" +.Fo sbuf_bcopyin +.Fa "struct sbuf *s" +.Fa "const void *uaddr" +.Fa "size_t len" +.Fc .Ft int -.Fn sbuf_bcpy "struct sbuf *s" "const void *buf" "size_t len" +.Fo sbuf_bcpy +.Fa "struct sbuf *s" +.Fa "const void *buf" +.Fa "size_t len" +.Fc .Ft int -.Fn sbuf_cat "struct sbuf *s" "const char *str" +.Fo sbuf_cat +.Fa "struct sbuf *s" +.Fa "const char *str" +.Fc .Ft int -.Fn sbuf_copyin "struct sbuf *s" "const void *uaddr" "size_t len" +.Fo sbuf_cpy +.Fa "struct sbuf *s" +.Fa "const char *str" +.Fc .Ft int -.Fn sbuf_cpy "struct sbuf *s" "const char *str" +.Fo sbuf_copyin +.Fa "struct sbuf *s" +.Fa "const void *uaddr" +.Fa "size_t len" +.Fc .Ft int -.Fn sbuf_printf "struct sbuf *s" "const char *fmt" "..." +.Fo sbuf_printf +.Fa "struct sbuf *s" +.Fa "const char *fmt" "..." +.Fc .Ft int -.Fn sbuf_vprintf "struct sbuf *s" "const char *fmt" "va_list ap" +.Fo sbuf_vprintf +.Fa "struct sbuf *s" +.Fa "const char *fmt" +.Fa "va_list ap" +.Fc .Ft int -.Fn sbuf_putc "struct sbuf *s" "int c" +.Fo sbuf_putc +.Fa "struct sbuf *s" +.Fa "int c" +.Fc .Ft void -.Fn sbuf_set_drain "struct sbuf *s" "sbuf_drain_func *func" "void *arg" +.Fo sbuf_set_drain +.Fa "struct sbuf *s" +.Fa "sbuf_drain_func *func" +.Fa "void *arg" +.Fc .Ft int -.Fn sbuf_trim "struct sbuf *s" +.Fo sbuf_trim +.Fa "struct sbuf *s" +.Fc .Ft int -.Fn sbuf_error "struct sbuf *s" +.Fo sbuf_error +.Fa "struct sbuf *s" +.Fc .Ft int -.Fn sbuf_finish "struct sbuf *s" +.Fo sbuf_finish +.Fa "struct sbuf *s" +.Fc .Ft char * -.Fn sbuf_data "struct sbuf *s" +.Fo sbuf_data +.Fa "struct sbuf *s" +.Fc .Ft ssize_t -.Fn sbuf_len "struct sbuf *s" +.Fo sbuf_len +.Fa "struct sbuf *s" +.Fc .Ft int -.Fn sbuf_done "struct sbuf *s" +.Fo sbuf_done +.Fa "struct sbuf *s" +.Fc .Ft void -.Fn sbuf_delete "struct sbuf *s" +.Fo sbuf_delete +.Fa "struct sbuf *s" +.Fc .Ft void -.Fn sbuf_start_section "struct sbuf *s" "ssize_t *old_lenp" +.Fo sbuf_start_section +.Fa "struct sbuf *s" +.Fa "ssize_t *old_lenp" +.Fc .Ft ssize_t -.Fn sbuf_end_section "struct sbuf *s" "ssize_t old_len" "size_t pad" "int c" +.Fo sbuf_end_section +.Fa "struct sbuf *s" +.Fa "ssize_t old_len" +.Fa "size_t pad" +.Fa "int c" +.Fc .Ft void .Fo sbuf_hexdump .Fa "struct sbuf *sb" @@ -126,10 +204,17 @@ .Fa "int flags" .Fc .Ft void -.Fn sbuf_putbuf "struct sbuf *s" +.Fo sbuf_putbuf +.Fa "struct sbuf *s" +.Fc .In sys/sysctl.h .Ft struct sbuf * -.Fn sbuf_new_for_sysctl "struct sbuf *s" "char *buf" "int length" "struct sysctl_req *req" +.Fo sbuf_new_for_sysctl +.Fa "struct sbuf *s" +.Fa "char *buf" +.Fa "int length" +.Fa "struct sysctl_req *req" +.Fc .Sh DESCRIPTION The .Nm From owner-svn-src-all@freebsd.org Thu Apr 6 02:46:10 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D4450D30F09; Thu, 6 Apr 2017 02:46:10 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A6632BBE; Thu, 6 Apr 2017 02:46:10 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v362k9Cn010757; Thu, 6 Apr 2017 02:46:09 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v362k926010756; Thu, 6 Apr 2017 02:46:09 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704060246.v362k926010756@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 6 Apr 2017 02:46:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316551 - head/share/man/man9 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 02:46:10 -0000 Author: ngie Date: Thu Apr 6 02:46:09 2017 New Revision: 316551 URL: https://svnweb.freebsd.org/changeset/base/316551 Log: sbuf(9): clarify kernel-only APIs - move sbuf_bcopyin(9) and sbuf_copyin(9) near sbuf_new_for_sysctl(9), as all three functions are kernel-only APIs. - add #ifdef _KERNEL around sbuf_*copyin and sbuf_new_for_sysctl(9) to make it visually clear that they are kernel-only APIs. MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/share/man/man9/sbuf.9 Modified: head/share/man/man9/sbuf.9 ============================================================================== --- head/share/man/man9/sbuf.9 Thu Apr 6 02:40:52 2017 (r316550) +++ head/share/man/man9/sbuf.9 Thu Apr 6 02:46:09 2017 (r316551) @@ -106,12 +106,6 @@ .Fa "size_t len" .Fc .Ft int -.Fo sbuf_bcopyin -.Fa "struct sbuf *s" -.Fa "const void *uaddr" -.Fa "size_t len" -.Fc -.Ft int .Fo sbuf_bcpy .Fa "struct sbuf *s" .Fa "const void *buf" @@ -128,12 +122,6 @@ .Fa "const char *str" .Fc .Ft int -.Fo sbuf_copyin -.Fa "struct sbuf *s" -.Fa "const void *uaddr" -.Fa "size_t len" -.Fc -.Ft int .Fo sbuf_printf .Fa "struct sbuf *s" .Fa "const char *fmt" "..." @@ -207,6 +195,21 @@ .Fo sbuf_putbuf .Fa "struct sbuf *s" .Fc +.Fd #ifdef _KERNEL +.In sys/types.h +.In sys/sbuf.h +.Ft int +.Fo sbuf_bcopyin +.Fa "struct sbuf *s" +.Fa "const void *uaddr" +.Fa "size_t len" +.Fc +.Ft int +.Fo sbuf_copyin +.Fa "struct sbuf *s" +.Fa "const void *uaddr" +.Fa "size_t len" +.Fc .In sys/sysctl.h .Ft struct sbuf * .Fo sbuf_new_for_sysctl @@ -215,6 +218,7 @@ .Fa "int length" .Fa "struct sysctl_req *req" .Fc +.Fd #endif /* _KERNEL */ .Sh DESCRIPTION The .Nm From owner-svn-src-all@freebsd.org Thu Apr 6 03:38:52 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 143CFD2F149; Thu, 6 Apr 2017 03:38:52 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id E6D92BA8; Thu, 6 Apr 2017 03:38:51 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from Julian-MBP3.local (106-69-236-122.dyn.iinet.net.au [106.69.236.122]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id v363cj1F024377 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 5 Apr 2017 20:38:49 -0700 (PDT) (envelope-from julian@freebsd.org) Subject: Re: svn commit: r316491 - head/usr.bin/grep To: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201704041417.v34EHo3h010715@repo.freebsd.org> From: Julian Elischer Message-ID: Date: Thu, 6 Apr 2017 11:38:40 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <201704041417.v34EHo3h010715@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 03:38:52 -0000 hard coded colours?? in 2017? On 4/4/17 10:17 pm, Ed Maste wrote: > Author: emaste > Date: Tue Apr 4 14:17:50 2017 > New Revision: 316491 > URL: https://svnweb.freebsd.org/changeset/base/316491 > > Log: > bsdgrep: revert color changes from r316477 > > r316477 changed the color output to match exactly the in-tree GNU grep, > but introduces unnecessary escape sequences. > > Submitted by: Kyle Evans > Reported by: ache > MFC after: 1 month > MFC with: r316477 > > Modified: > head/usr.bin/grep/util.c > > Modified: head/usr.bin/grep/util.c > ============================================================================== > --- head/usr.bin/grep/util.c Tue Apr 4 13:41:50 2017 (r316490) > +++ head/usr.bin/grep/util.c Tue Apr 4 14:17:50 2017 (r316491) > @@ -512,13 +512,13 @@ printline(struct str *line, int sep, reg > fwrite(line->dat + a, matches[i].rm_so - a, 1, > stdout); > if (color) > - fprintf(stdout, "\33[%sm", color); > + fprintf(stdout, "\33[%sm\33[K", color); > > fwrite(line->dat + matches[i].rm_so, > matches[i].rm_eo - matches[i].rm_so, 1, > stdout); > if (color) > - fprintf(stdout, "\33[00m\33[K"); > + fprintf(stdout, "\33[m\33[K"); > a = matches[i].rm_eo; > if (oflag) > putchar('\n'); > > From owner-svn-src-all@freebsd.org Thu Apr 6 03:51:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 25622D2F448; Thu, 6 Apr 2017 03:51:00 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DE9682F1; Thu, 6 Apr 2017 03:50:59 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v363oxW7036475; Thu, 6 Apr 2017 03:50:59 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v363oxxF036474; Thu, 6 Apr 2017 03:50:59 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704060350.v363oxxF036474@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 6 Apr 2017 03:50:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316552 - head/contrib/atf/atf-c X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 03:51:00 -0000 Author: ngie Date: Thu Apr 6 03:50:58 2017 New Revision: 316552 URL: https://svnweb.freebsd.org/changeset/base/316552 Log: atf-c: fix documentation description for atf_utils_wait(3) atf_utils_wait(3) should be used in combination with atf_utils_fork(3), not itself (atf_utils_wait(3)). MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/contrib/atf/atf-c/atf-c.3 Modified: head/contrib/atf/atf-c/atf-c.3 ============================================================================== --- head/contrib/atf/atf-c/atf-c.3 Thu Apr 6 02:46:09 2017 (r316551) +++ head/contrib/atf/atf-c/atf-c.3 Thu Apr 6 03:50:58 2017 (r316552) @@ -22,7 +22,7 @@ .\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.Dd March 6, 2017 +.Dd April 5, 2017 .Dt ATF-C 3 .Os .Sh NAME @@ -680,7 +680,7 @@ those spawned by .Fc .Bd -ragged -offset indent Waits and validates the result of a subprocess spawned with -.Fn atf_utils_wait . +.Fn atf_utils_fork . The validation involves checking that the subprocess exited cleanly and returned the code specified in .Fa expected_exit_status From owner-svn-src-all@freebsd.org Thu Apr 6 04:58:52 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E171DD316A9; Thu, 6 Apr 2017 04:58:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A665C2F8; Thu, 6 Apr 2017 04:58:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v364wpL8063574; Thu, 6 Apr 2017 04:58:51 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v364wpZj063573; Thu, 6 Apr 2017 04:58:51 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704060458.v364wpZj063573@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 6 Apr 2017 04:58:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316553 - head/lib/libsbuf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 04:58:53 -0000 Author: ngie Date: Thu Apr 6 04:58:51 2017 New Revision: 316553 URL: https://svnweb.freebsd.org/changeset/base/316553 Log: sbuf(3): expose sbuf_{clear,get,set}_flags(3) via libsbuf These functions were added to sbuf(9) in r279992, but never exposed to userspace. Expose them now so they can be used/tested. MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/lib/libsbuf/Symbol.map Modified: head/lib/libsbuf/Symbol.map ============================================================================== --- head/lib/libsbuf/Symbol.map Thu Apr 6 03:50:58 2017 (r316552) +++ head/lib/libsbuf/Symbol.map Thu Apr 6 04:58:51 2017 (r316553) @@ -21,6 +21,9 @@ FBSD_1.2 { sbuf_len; sbuf_done; sbuf_delete; + sbuf_clear_flags; + sbuf_get_flags; + sbuf_set_flags; }; FBSD_1.3 { From owner-svn-src-all@freebsd.org Thu Apr 6 05:02:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EF2A8D31880; Thu, 6 Apr 2017 05:02:04 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BEF89922; Thu, 6 Apr 2017 05:02:04 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v365234J067436; Thu, 6 Apr 2017 05:02:03 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36523Qh067435; Thu, 6 Apr 2017 05:02:03 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704060502.v36523Qh067435@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 6 Apr 2017 05:02:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316554 - head/share/man/man9 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 05:02:05 -0000 Author: ngie Date: Thu Apr 6 05:02:03 2017 New Revision: 316554 URL: https://svnweb.freebsd.org/changeset/base/316554 Log: sbuf(9): add MLINKS for sbuf_{clear,get,set}_flags(9) These functions were added in r279992. MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/share/man/man9/Makefile Modified: head/share/man/man9/Makefile ============================================================================== --- head/share/man/man9/Makefile Thu Apr 6 04:58:51 2017 (r316553) +++ head/share/man/man9/Makefile Thu Apr 6 05:02:03 2017 (r316554) @@ -1515,6 +1515,7 @@ MLINKS+=sbuf.9 sbuf_bcat.9 \ sbuf.9 sbuf_bcpy.9 \ sbuf.9 sbuf_cat.9 \ sbuf.9 sbuf_clear.9 \ + sbuf.9 sbuf_clear_flags.9 \ sbuf.9 sbuf_copyin.9 \ sbuf.9 sbuf_cpy.9 \ sbuf.9 sbuf_data.9 \ @@ -1522,6 +1523,7 @@ MLINKS+=sbuf.9 sbuf_bcat.9 \ sbuf.9 sbuf_done.9 \ sbuf.9 sbuf_error.9 \ sbuf.9 sbuf_finish.9 \ + sbuf.9 sbuf_get_flags.9 \ sbuf.9 sbuf_hexdump.9 \ sbuf.9 sbuf_len.9 \ sbuf.9 sbuf_new.9 \ @@ -1530,6 +1532,7 @@ MLINKS+=sbuf.9 sbuf_bcat.9 \ sbuf.9 sbuf_printf.9 \ sbuf.9 sbuf_putc.9 \ sbuf.9 sbuf_set_drain.9 \ + sbuf.9 sbuf_set_flags.9 \ sbuf.9 sbuf_setpos.9 \ sbuf.9 sbuf_start_section.9 \ sbuf.9 sbuf_end_section.9 \ From owner-svn-src-all@freebsd.org Thu Apr 6 05:04:21 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 63584D31922; Thu, 6 Apr 2017 05:04:21 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 35184ACB; Thu, 6 Apr 2017 05:04:21 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3654K1M067570; Thu, 6 Apr 2017 05:04:20 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3654Kpc067569; Thu, 6 Apr 2017 05:04:20 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704060504.v3654Kpc067569@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 6 Apr 2017 05:04:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316555 - stable/10 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 05:04:21 -0000 Author: ngie Date: Thu Apr 6 05:04:20 2017 New Revision: 316555 URL: https://svnweb.freebsd.org/changeset/base/316555 Log: MFC r316368: r316368 (by jkim): Fix typos to stop removing new files. Modified: stable/10/ObsoleteFiles.inc Directory Properties: stable/10/ (props changed) Modified: stable/10/ObsoleteFiles.inc ============================================================================== --- stable/10/ObsoleteFiles.inc Thu Apr 6 05:02:03 2017 (r316554) +++ stable/10/ObsoleteFiles.inc Thu Apr 6 05:04:20 2017 (r316555) @@ -40,16 +40,16 @@ # 20170322: rename to _test to match the FreeBSD test suite name scheme OLD_FILES+=usr/tests/usr.bin/col/col -OLD_FILES+=usr/tests/usr.sbin/pw/pw_config_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_etcdir_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_lock_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupadd_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupdel_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupmod_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_useradd_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_userdel_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_usermod_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_usernext_test +OLD_FILES+=usr/tests/usr.sbin/pw/pw_config +OLD_FILES+=usr/tests/usr.sbin/pw/pw_etcdir +OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupadd +OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupdel +OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupmod +OLD_FILES+=usr/tests/usr.sbin/pw/pw_lock +OLD_FILES+=usr/tests/usr.sbin/pw/pw_useradd +OLD_FILES+=usr/tests/usr.sbin/pw/pw_userdel +OLD_FILES+=usr/tests/usr.sbin/pw/pw_usermod +OLD_FILES+=usr/tests/usr.sbin/pw/pw_usernext # 20170214: Four files from ggate tests consolidated into one OLD_FILES+=usr/tests/sys/geom/class/gate/1_test OLD_FILES+=usr/tests/sys/geom/class/gate/2_test From owner-svn-src-all@freebsd.org Thu Apr 6 05:10:59 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3AB98D31B0F; Thu, 6 Apr 2017 05:10:59 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 07268C83; Thu, 6 Apr 2017 05:10:58 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v365AwLj067954; Thu, 6 Apr 2017 05:10:58 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v365AwOE067953; Thu, 6 Apr 2017 05:10:58 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704060510.v365AwOE067953@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 6 Apr 2017 05:10:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316556 - stable/11 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 05:10:59 -0000 Author: ngie Date: Thu Apr 6 05:10:57 2017 New Revision: 316556 URL: https://svnweb.freebsd.org/changeset/base/316556 Log: MFC r316368: r316368 (by jkim): Fix typos to stop removing new files. Modified: stable/11/ObsoleteFiles.inc Directory Properties: stable/11/ (props changed) Modified: stable/11/ObsoleteFiles.inc ============================================================================== --- stable/11/ObsoleteFiles.inc Thu Apr 6 05:04:20 2017 (r316555) +++ stable/11/ObsoleteFiles.inc Thu Apr 6 05:10:57 2017 (r316556) @@ -157,16 +157,16 @@ OLD_FILES+=usr/tests/usr.bin/ident/ident OLD_FILES+=usr/tests/usr.bin/mkimg/mkimg OLD_FILES+=usr/tests/usr.bin/sdiff/sdiff OLD_FILES+=usr/tests/usr.bin/soelim/soelim -OLD_FILES+=usr/tests/usr.sbin/pw/pw_config_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_etcdir_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_lock_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupadd_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupdel_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupmod_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_useradd_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_userdel_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_usermod_test -OLD_FILES+=usr/tests/usr.sbin/pw/pw_usernext_test +OLD_FILES+=usr/tests/usr.sbin/pw/pw_config +OLD_FILES+=usr/tests/usr.sbin/pw/pw_etcdir +OLD_FILES+=usr/tests/usr.sbin/pw/pw_lock +OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupadd +OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupdel +OLD_FILES+=usr/tests/usr.sbin/pw/pw_groupmod +OLD_FILES+=usr/tests/usr.sbin/pw/pw_useradd +OLD_FILES+=usr/tests/usr.sbin/pw/pw_userdel +OLD_FILES+=usr/tests/usr.sbin/pw/pw_usermod +OLD_FILES+=usr/tests/usr.sbin/pw/pw_usernext # 20170308: rename some tests OLD_FILES+=usr/tests/bin/pwait/pwait OLD_FILES+=usr/tests/usr.bin/timeout/timeout From owner-svn-src-all@freebsd.org Thu Apr 6 05:29:30 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A9E00D31D41; Thu, 6 Apr 2017 05:29:30 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 735D0EBE; Thu, 6 Apr 2017 05:29:30 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v365TTkb075986; Thu, 6 Apr 2017 05:29:29 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v365TT0i075979; Thu, 6 Apr 2017 05:29:29 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704060529.v365TT0i075979@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 6 Apr 2017 05:29:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316557 - in head: etc/mtree lib/libsbuf lib/libsbuf/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 05:29:30 -0000 Author: ngie Date: Thu Apr 6 05:29:28 2017 New Revision: 316557 URL: https://svnweb.freebsd.org/changeset/base/316557 Log: sbuf(3): add some basic functional tests for the library Areas not covered still [positive functionality wise] are: - sbuf_{clear,get,set}_flags - sbuf_new (in particular, with fixed buffers, etc). Some basic negative testing has been added, but more will be added in the future. This work was in part to validate work done by cem in r288223, and ian before that. MFC after: 2 months Sponsored by: Dell EMC Isilon Added: head/lib/libsbuf/tests/ head/lib/libsbuf/tests/Makefile (contents, props changed) head/lib/libsbuf/tests/sbuf_core_test.c (contents, props changed) head/lib/libsbuf/tests/sbuf_stdio_test.c (contents, props changed) head/lib/libsbuf/tests/sbuf_string_test.c (contents, props changed) head/lib/libsbuf/tests/sbuf_test_common.h (contents, props changed) Modified: head/etc/mtree/BSD.tests.dist head/lib/libsbuf/Makefile Modified: head/etc/mtree/BSD.tests.dist ============================================================================== --- head/etc/mtree/BSD.tests.dist Thu Apr 6 05:10:57 2017 (r316556) +++ head/etc/mtree/BSD.tests.dist Thu Apr 6 05:29:28 2017 (r316557) @@ -338,6 +338,8 @@ .. librt .. + libsbuf + .. libthr dlopen .. Modified: head/lib/libsbuf/Makefile ============================================================================== --- head/lib/libsbuf/Makefile Thu Apr 6 05:10:57 2017 (r316556) +++ head/lib/libsbuf/Makefile Thu Apr 6 05:29:28 2017 (r316557) @@ -10,6 +10,10 @@ SHLIB_MAJOR = 6 SYMBOL_MAPS= ${.CURDIR}/Symbol.map VERSION_DEF= ${.CURDIR}/Version.def +.include + .PATH: ${SRCTOP}/sys/kern +SUBDIR.${MK_TESTS}+= tests + .include Added: head/lib/libsbuf/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libsbuf/tests/Makefile Thu Apr 6 05:29:28 2017 (r316557) @@ -0,0 +1,11 @@ +# $FreeBSD$ + +ATF_TESTS_C+= sbuf_core_test +ATF_TESTS_C+= sbuf_stdio_test +ATF_TESTS_C+= sbuf_string_test + +LIBADD+= sbuf util + +WARNS?= 6 + +.include Added: head/lib/libsbuf/tests/sbuf_core_test.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libsbuf/tests/sbuf_core_test.c Thu Apr 6 05:29:28 2017 (r316557) @@ -0,0 +1,211 @@ +/*- + * Copyright (c) 2017 Ngie Cooper + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "sbuf_test_common.h" + +static char test_string[] = "this is a test string"; +#define TEST_STRING_CHOP_COUNT 5 +_Static_assert(nitems(test_string) > TEST_STRING_CHOP_COUNT, + "test_string is too short"); + +ATF_TC_WITHOUT_HEAD(sbuf_clear_test); +ATF_TC_BODY(sbuf_clear_test, tc) +{ + struct sbuf *sb; + ssize_t buf_len; + pid_t child_proc; + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + ATF_REQUIRE_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); + + /* + * Cheat so we can get the contents of the buffer before calling + * sbuf_finish(3) below, making additional sbuf changes impossible. + */ + child_proc = atf_utils_fork(); + if (child_proc == 0) { + sbuf_putbuf(sb); + exit(0); + } + atf_utils_wait(child_proc, 0, test_string, ""); + + sbuf_clear(sb); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + buf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(buf_len == 0, "sbuf_len (%zd) != 0", buf_len); + ATF_REQUIRE_STREQ_MSG(sbuf_data(sb), "", + "sbuf (\"%s\") was not empty", sbuf_data(sb)); + + sbuf_delete(sb); +} + +ATF_TC_WITHOUT_HEAD(sbuf_done_and_sbuf_finish_test); +ATF_TC_BODY(sbuf_done_and_sbuf_finish_test, tc) +{ + struct sbuf *sb; + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + ATF_CHECK(sbuf_done(sb) == 0); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + ATF_CHECK(sbuf_done(sb) != 0); + + sbuf_delete(sb); +} + +ATF_TC_WITHOUT_HEAD(sbuf_len_test); +ATF_TC_BODY(sbuf_len_test, tc) +{ + struct sbuf *sb; + ssize_t buf_len, test_string_len; + int i; + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + test_string_len = strlen(test_string); + for (i = 0; i < 20; i++) { + buf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(buf_len == (ssize_t)(i * test_string_len), + "sbuf_len (%zd) != %zu", buf_len, i * test_string_len); + ATF_REQUIRE_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); + } + +#ifdef HAVE_SBUF_SET_FLAGS + sbuf_set_flags(sb, SBUF_INCLUDENUL); + ATF_REQUIRE_MSG((ssize_t)(i * test_string_len + 1) == sbuf_len(sb), + "sbuf_len(..) didn't report the NUL char"); +#endif + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + sbuf_delete(sb); +} + +ATF_TC_WITHOUT_HEAD(sbuf_setpos_test); +ATF_TC_BODY(sbuf_setpos_test, tc) +{ + struct sbuf *sb; + size_t test_string_chopped_len, test_string_len; + ssize_t buf_len; + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + /* + * An obvious sanity check -- if sbuf_len(..) lies, these invariants + * are impossible to test. + */ + ATF_REQUIRE(sbuf_len(sb) == 0); + + ATF_CHECK(sbuf_setpos(sb, -1) == -1); + ATF_CHECK(sbuf_setpos(sb, 0) == 0); + ATF_CHECK(sbuf_setpos(sb, 1) == -1); + + ATF_REQUIRE_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); + + buf_len = sbuf_len(sb); + test_string_len = strlen(test_string); + test_string_chopped_len = test_string_len - TEST_STRING_CHOP_COUNT; + ATF_REQUIRE_MSG(buf_len == (ssize_t)test_string_len, + "sbuf length (%zd) != test_string length (%zu)", buf_len, + test_string_len); + + /* Out of bounds (under length) */ + ATF_CHECK(sbuf_setpos(sb, -1) == -1); + /* + * Out of bounds (over length) + * + * Note: SBUF_INCLUDENUL not set, so take '\0' into account. + */ + ATF_CHECK(sbuf_setpos(sb, test_string_len + 2) == -1); + /* Within bounds */ + ATF_CHECK(sbuf_setpos(sb, test_string_chopped_len) == 0); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + buf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(buf_len == (ssize_t)test_string_chopped_len, + "sbuf_setpos didn't truncate string as expected"); + ATF_REQUIRE_MSG(strncmp(sbuf_data(sb), test_string, buf_len) == 0, + "sbuf (\"%s\") != test string (\"%s\") for [0,%zd]", sbuf_data(sb), + test_string, buf_len); + + sbuf_delete(sb); +} + +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, sbuf_clear_test); + ATF_TP_ADD_TC(tp, sbuf_done_and_sbuf_finish_test); + ATF_TP_ADD_TC(tp, sbuf_len_test); +#if 0 + /* TODO */ +#ifdef HAVE_SBUF_CLEAR_FLAGS + ATF_TP_ADD_TC(tp, sbuf_clear_flags_test); +#endif +#ifdef HAVE_SBUF_GET_FLAGS + ATF_TP_ADD_TC(tp, sbuf_get_flags_test); +#endif + ATF_TP_ADD_TC(tp, sbuf_new_positive_test); + ATF_TP_ADD_TC(tp, sbuf_new_negative_test); +#ifdef HAVE_SBUF_SET_FLAGS + ATF_TP_ADD_TC(tp, sbuf_set_flags_test); +#endif +#endif + ATF_TP_ADD_TC(tp, sbuf_setpos_test); + + return (atf_no_error()); +} Added: head/lib/libsbuf/tests/sbuf_stdio_test.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libsbuf/tests/sbuf_stdio_test.c Thu Apr 6 05:29:28 2017 (r316557) @@ -0,0 +1,160 @@ +/*- + * Copyright (c) 2017 Ngie Cooper + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "sbuf_test_common.h" + +static char test_string[] = "this is a test string"; + +#define MESSAGE_FORMAT "message: %s\n" +#define MESSAGE_SEPARATOR ';' + +static int +sbuf_vprintf_helper(struct sbuf *sb, const char * restrict format, ...) +{ + va_list ap; + int rc; + + va_start(ap, format); + + rc = sbuf_vprintf(sb, format, ap); + + va_end(ap); + + return (rc); +} + +ATF_TC_WITHOUT_HEAD(sbuf_printf_test); +ATF_TC_BODY(sbuf_printf_test, tc) +{ + struct sbuf *sb; + char *test_string_tmp; + + asprintf(&test_string_tmp, "%s%c" MESSAGE_FORMAT, + test_string, MESSAGE_SEPARATOR, test_string); + ATF_REQUIRE_MSG(test_string_tmp != NULL, "asprintf failed"); + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + ATF_REQUIRE_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); + ATF_REQUIRE_MSG(sbuf_putc(sb, MESSAGE_SEPARATOR) == 0, + "sbuf_putc failed"); + + ATF_REQUIRE_MSG(sbuf_printf(sb, MESSAGE_FORMAT, test_string) == 0, + "sbuf_printf failed"); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + ATF_REQUIRE_STREQ_MSG(sbuf_data(sb), test_string_tmp, + "sbuf (\"%s\") != test string (\"%s\")", sbuf_data(sb), + test_string_tmp); + + sbuf_delete(sb); + + free(test_string_tmp); +} + +ATF_TC_WITHOUT_HEAD(sbuf_putbuf_test); +ATF_TC_BODY(sbuf_putbuf_test, tc) +{ + struct sbuf *sb; + pid_t child_proc; + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + ATF_REQUIRE_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); + + child_proc = atf_utils_fork(); + if (child_proc == 0) { + sbuf_putbuf(sb); + exit(0); + } + atf_utils_wait(child_proc, 0, test_string, ""); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + sbuf_delete(sb); +} + +ATF_TC_WITHOUT_HEAD(sbuf_vprintf_test); +ATF_TC_BODY(sbuf_vprintf_test, tc) +{ + struct sbuf *sb; + char *test_string_tmp; + int rc; + + asprintf(&test_string_tmp, "%s%c" MESSAGE_FORMAT, + test_string, MESSAGE_SEPARATOR, test_string); + ATF_REQUIRE_MSG(test_string_tmp != NULL, "asprintf failed"); + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + ATF_REQUIRE_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); + ATF_REQUIRE_MSG(sbuf_putc(sb, MESSAGE_SEPARATOR) == 0, + "sbuf_putc failed"); + + rc = sbuf_vprintf_helper(sb, MESSAGE_FORMAT, test_string); + ATF_REQUIRE_MSG(rc == 0, "sbuf_vprintf failed"); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + ATF_REQUIRE_STREQ_MSG(sbuf_data(sb), test_string_tmp, + "sbuf (\"%s\") != test string (\"%s\")", sbuf_data(sb), + test_string_tmp); + + sbuf_delete(sb); +} + +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, sbuf_printf_test); + ATF_TP_ADD_TC(tp, sbuf_putbuf_test); + ATF_TP_ADD_TC(tp, sbuf_vprintf_test); + + return (atf_no_error()); +} Added: head/lib/libsbuf/tests/sbuf_string_test.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libsbuf/tests/sbuf_string_test.c Thu Apr 6 05:29:28 2017 (r316557) @@ -0,0 +1,288 @@ +/*- + * Copyright (c) 2017 Ngie Cooper + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "sbuf_test_common.h" + +static char test_string[] = "this is a test string"; +static char test_whitespace_string[] = " \f\n\r\t\v "; +static int test_buffer[] = { 0, 1, 2, 3, 4, 5, }; + +static void +check_buffers_equal(const void *sb_buf, const void *test_buf, size_t len) +{ + + if (memcmp(sb_buf, test_buf, len) != 0) { + printf("sbuf:\n"); + hexdump(sb_buf, len, NULL, 0), + printf("test_buf:\n"); + hexdump(test_buf, len, NULL, 0); + atf_tc_fail("contents of sbuf didn't match test_buf contents"); + } +} + +ATF_TC_WITHOUT_HEAD(sbuf_bcat_test); +ATF_TC_BODY(sbuf_bcat_test, tc) +{ + struct sbuf *sb; + int *test_buffer_tmp; + ssize_t test_sbuf_len; + + test_buffer_tmp = malloc(sizeof(test_buffer) * 2); + ATF_REQUIRE_MSG(test_buffer_tmp != NULL, "malloc failed"); + + memcpy(test_buffer_tmp, test_buffer, sizeof(test_buffer)); + memcpy(&test_buffer_tmp[nitems(test_buffer)], test_buffer, + sizeof(test_buffer)); + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + ATF_CHECK_MSG(sbuf_bcat(sb, test_buffer, sizeof(test_buffer)) == 0, + "sbuf_bcat failed"); + + test_sbuf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)sizeof(test_buffer), + "sbuf_len(..) => %zd (actual) != %zu (expected)", + test_sbuf_len, sizeof(test_buffer)); + + ATF_CHECK_MSG(sbuf_bcat(sb, test_buffer, sizeof(test_buffer)) == 0, + "sbuf_bcat failed"); + + test_sbuf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)(2 * sizeof(test_buffer)), + "sbuf_len(..) => %zd (actual) != %zu (expected)", + test_sbuf_len, 2 * sizeof(test_buffer)); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + check_buffers_equal(sbuf_data(sb), test_buffer_tmp, + (size_t)test_sbuf_len); + + sbuf_delete(sb); + + free(test_buffer_tmp); +} + +ATF_TC_WITHOUT_HEAD(sbuf_bcpy_test); +ATF_TC_BODY(sbuf_bcpy_test, tc) +{ + struct sbuf *sb; + ssize_t test_sbuf_len; + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + ATF_CHECK_MSG(sbuf_bcpy(sb, test_buffer, sizeof(test_buffer)) == 0, + "sbuf_bcpy failed"); + + test_sbuf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)sizeof(test_buffer), + "sbuf_len(..) => %zd (actual) != %zu (expected)", + test_sbuf_len, sizeof(test_buffer)); + + ATF_CHECK_MSG(sbuf_bcpy(sb, test_buffer, sizeof(test_buffer)) == 0, + "sbuf_bcpy failed"); + + test_sbuf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)sizeof(test_buffer), + "sbuf_len(..) => %zd (actual) != %zu (expected)", + test_sbuf_len, sizeof(test_buffer)); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + check_buffers_equal(sbuf_data(sb), test_buffer, (size_t)test_sbuf_len); + + sbuf_delete(sb); +} + +ATF_TC_WITHOUT_HEAD(sbuf_cat_test); +ATF_TC_BODY(sbuf_cat_test, tc) +{ + struct sbuf *sb; + char *test_string_tmp; + ssize_t test_sbuf_len; + + asprintf(&test_string_tmp, "%s%s", test_string, test_string); + ATF_REQUIRE_MSG(test_string_tmp != NULL, "asprintf failed"); + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + ATF_CHECK_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); + + test_sbuf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)strlen(test_string), + "sbuf_len(..) => %zd (actual) != %zu (expected)", + test_sbuf_len, sizeof(test_string)); + + ATF_CHECK_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); + + test_sbuf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)strlen(test_string_tmp), + "sbuf_len(..) => %zd (actual) != %zu (expected)", + test_sbuf_len, strlen(test_string_tmp)); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + ATF_REQUIRE_STREQ_MSG(sbuf_data(sb), test_string_tmp, + "sbuf (\"%s\") != test string (\"%s\")", sbuf_data(sb), + test_string_tmp); + + sbuf_delete(sb); + + free(test_string_tmp); +} + +ATF_TC_WITHOUT_HEAD(sbuf_cpy_test); +ATF_TC_BODY(sbuf_cpy_test, tc) +{ + struct sbuf *sb; + ssize_t test_sbuf_len; + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + ATF_CHECK_MSG(sbuf_cpy(sb, test_string) == 0, "sbuf_cpy failed"); + + test_sbuf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)strlen(test_string), + "sbuf_len(..) => %zd (actual) != %zu (expected)", + test_sbuf_len, strlen(test_string)); + + ATF_CHECK_MSG(sbuf_cpy(sb, test_string) == 0, "sbuf_cpy failed"); + + test_sbuf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)strlen(test_string), + "sbuf_len(..) => %zd (actual) != %zu (expected)", + test_sbuf_len, strlen(test_string)); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + ATF_REQUIRE_STREQ_MSG(sbuf_data(sb), test_string, + "sbuf (\"%s\") != test string (\"%s\")", sbuf_data(sb), + test_string); + + sbuf_delete(sb); +} + +ATF_TC_WITHOUT_HEAD(sbuf_putc_test); +ATF_TC_BODY(sbuf_putc_test, tc) +{ + struct sbuf *sb; + ssize_t test_sbuf_len; + size_t i; + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + for (i = 0; i <= strlen(test_string); i++) { /* Include the NUL */ + ATF_REQUIRE_MSG(sbuf_putc(sb, test_string[i]) == 0, + "sbuf_putc failed"); + + /* The best we can do until sbuf_finish(3) is called. */ + test_sbuf_len = sbuf_len(sb); + ATF_REQUIRE_MSG((ssize_t)(i + 1) == test_sbuf_len, + "sbuf_len(..) => %zd (actual) != %zu (expected)", + test_sbuf_len, i + 1); + } + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + ATF_REQUIRE_STREQ_MSG(sbuf_data(sb), test_string, + "sbuf (\"%s\") != test string (\"%s\")", sbuf_data(sb), + test_string); + + sbuf_delete(sb); +} + +ATF_TC_WITHOUT_HEAD(sbuf_trim_test); +ATF_TC_BODY(sbuf_trim_test, tc) +{ + struct sbuf *sb; + ssize_t exp_sbuf_len, test_sbuf_len; + + sb = sbuf_new_auto(); + ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", + strerror(errno)); + + ATF_CHECK_MSG(sbuf_cpy(sb, test_string) == 0, "sbuf_cpy failed"); + ATF_CHECK_MSG(sbuf_cat(sb, test_whitespace_string) == 0, + "sbuf_cat failed"); + + /* The best we can do until sbuf_finish(3) is called. */ + exp_sbuf_len = (ssize_t)(strlen(test_string) + + strlen(test_whitespace_string)); + test_sbuf_len = sbuf_len(sb); + ATF_REQUIRE_MSG(exp_sbuf_len == test_sbuf_len, + "sbuf_len(..) => %zd (actual) != %zu (expected)", + test_sbuf_len, exp_sbuf_len); + + ATF_REQUIRE_MSG(sbuf_trim(sb) == 0, "sbuf_trim failed"); + + ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", + strerror(errno)); + + ATF_REQUIRE_STREQ_MSG(sbuf_data(sb), test_string, + "sbuf (\"%s\") != test string (\"%s\") (trimmed)", sbuf_data(sb), + test_string); + + sbuf_delete(sb); +} + +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, sbuf_bcat_test); + ATF_TP_ADD_TC(tp, sbuf_bcpy_test); + ATF_TP_ADD_TC(tp, sbuf_cat_test); + ATF_TP_ADD_TC(tp, sbuf_cpy_test); + ATF_TP_ADD_TC(tp, sbuf_putc_test); + ATF_TP_ADD_TC(tp, sbuf_trim_test); + + return (atf_no_error()); +} Added: head/lib/libsbuf/tests/sbuf_test_common.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libsbuf/tests/sbuf_test_common.h Thu Apr 6 05:29:28 2017 (r316557) @@ -0,0 +1,40 @@ +/*- + * Copyright (c) 2017 Ngie Cooper + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef __LIBSBUF_TEST_COMMON_H__ +#define __LIBSBUF_TEST_COMMON_H__ + +#include + +#if __FreeBSD_version > 1100064 +#define HAVE_SBUF_GET_FLAGS +#define HAVE_SBUF_CLEAR_FLAGS +#define HAVE_SBUF_SET_FLAGS +#endif + +#endif From owner-svn-src-all@freebsd.org Thu Apr 6 05:36:37 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 27ED2D328BB; Thu, 6 Apr 2017 05:36:37 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD41A3DD; Thu, 6 Apr 2017 05:36:36 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v365aab7079979; Thu, 6 Apr 2017 05:36:36 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v365aZVR079975; Thu, 6 Apr 2017 05:36:35 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704060536.v365aZVR079975@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Thu, 6 Apr 2017 05:36:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316558 - in head/lib: libcam/tests libsbuf/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 05:36:37 -0000 Author: ngie Date: Thu Apr 6 05:36:35 2017 New Revision: 316558 URL: https://svnweb.freebsd.org/changeset/base/316558 Log: Use __FBSDID instead of the license agreement to embed the $FreeBSD$ RCS keyword Reminded by a comment made by markj w.r.t. using __FBSDID in .c files ala a past Phabricator review. MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/lib/libcam/tests/libcam_test.c head/lib/libsbuf/tests/sbuf_core_test.c head/lib/libsbuf/tests/sbuf_stdio_test.c head/lib/libsbuf/tests/sbuf_string_test.c Modified: head/lib/libcam/tests/libcam_test.c ============================================================================== --- head/lib/libcam/tests/libcam_test.c Thu Apr 6 05:29:28 2017 (r316557) +++ head/lib/libcam/tests/libcam_test.c Thu Apr 6 05:36:35 2017 (r316558) @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD$ */ +#include +__FBSDID("$FreeBSD$"); + #include #include #include Modified: head/lib/libsbuf/tests/sbuf_core_test.c ============================================================================== --- head/lib/libsbuf/tests/sbuf_core_test.c Thu Apr 6 05:29:28 2017 (r316557) +++ head/lib/libsbuf/tests/sbuf_core_test.c Thu Apr 6 05:36:35 2017 (r316558) @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD$ */ +#include +__FBSDID("$FreeBSD$"); + #include #include #include Modified: head/lib/libsbuf/tests/sbuf_stdio_test.c ============================================================================== --- head/lib/libsbuf/tests/sbuf_stdio_test.c Thu Apr 6 05:29:28 2017 (r316557) +++ head/lib/libsbuf/tests/sbuf_stdio_test.c Thu Apr 6 05:36:35 2017 (r316558) @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD$ */ +#include +__FBSDID("$FreeBSD$"); + #include #include #include Modified: head/lib/libsbuf/tests/sbuf_string_test.c ============================================================================== --- head/lib/libsbuf/tests/sbuf_string_test.c Thu Apr 6 05:29:28 2017 (r316557) +++ head/lib/libsbuf/tests/sbuf_string_test.c Thu Apr 6 05:36:35 2017 (r316558) @@ -22,10 +22,11 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * $FreeBSD$ */ +#include +__FBSDID("$FreeBSD$"); + #include #include #include From owner-svn-src-all@freebsd.org Thu Apr 6 06:11:05 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C171AD317B2; Thu, 6 Apr 2017 06:11:05 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 930C290F; Thu, 6 Apr 2017 06:11:05 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v366B450095044; Thu, 6 Apr 2017 06:11:04 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v366B41m095043; Thu, 6 Apr 2017 06:11:04 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201704060611.v366B41m095043@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 6 Apr 2017 06:11:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316559 - in stable: 10/usr.sbin/ntp 11/usr.sbin/ntp X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 06:11:05 -0000 Author: cy Date: Thu Apr 6 06:11:04 2017 New Revision: 316559 URL: https://svnweb.freebsd.org/changeset/base/316559 Log: MFC r314946: Configure leap-second smearing (always). Leap-second smearing is an experimental option that may be specified in ntp.conf(5) and the -x option on the command line to spread the effect of a leap-second over an interval as specified by the leapsmearinterval config file statement. Recommended values are between 7200 (2 hours) and 86400 (24 hours). It is advised that leap-second smearing not be used for public NTP servers (https://www.meinbergglobal.com/download/burnicki/Leap\ %20Second%20Smearing%20With%20NTP.pdf). It is also advised that NTP clients not use a mix of NTP servers using leap-second smearing with NTP servers not using leap-second smearing as that could cause undefined client behaviour. Leap-second smearing was committed to ports net/ntp and net/ntp-devel by r426825 on 2016-11-22. Suggested by: des Modified: stable/11/usr.sbin/ntp/config.h Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/usr.sbin/ntp/config.h Directory Properties: stable/10/ (props changed) Modified: stable/11/usr.sbin/ntp/config.h ============================================================================== --- stable/11/usr.sbin/ntp/config.h Thu Apr 6 05:36:35 2017 (r316558) +++ stable/11/usr.sbin/ntp/config.h Thu Apr 6 06:11:04 2017 (r316559) @@ -1336,7 +1336,7 @@ #define LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE 1 /* leap smear mechanism */ -/* #undef LEAP_SMEAR */ +#define LEAP_SMEAR 1 /* Define to any value to include libseccomp sandboxing. */ /* #undef LIBSECCOMP */ From owner-svn-src-all@freebsd.org Thu Apr 6 06:11:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0DE31D317B6; Thu, 6 Apr 2017 06:11:06 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D1D6F910; Thu, 6 Apr 2017 06:11:05 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v366B4mk095050; Thu, 6 Apr 2017 06:11:04 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v366B4WA095049; Thu, 6 Apr 2017 06:11:04 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201704060611.v366B4WA095049@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 6 Apr 2017 06:11:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316559 - in stable: 10/usr.sbin/ntp 11/usr.sbin/ntp X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 06:11:06 -0000 Author: cy Date: Thu Apr 6 06:11:04 2017 New Revision: 316559 URL: https://svnweb.freebsd.org/changeset/base/316559 Log: MFC r314946: Configure leap-second smearing (always). Leap-second smearing is an experimental option that may be specified in ntp.conf(5) and the -x option on the command line to spread the effect of a leap-second over an interval as specified by the leapsmearinterval config file statement. Recommended values are between 7200 (2 hours) and 86400 (24 hours). It is advised that leap-second smearing not be used for public NTP servers (https://www.meinbergglobal.com/download/burnicki/Leap\ %20Second%20Smearing%20With%20NTP.pdf). It is also advised that NTP clients not use a mix of NTP servers using leap-second smearing with NTP servers not using leap-second smearing as that could cause undefined client behaviour. Leap-second smearing was committed to ports net/ntp and net/ntp-devel by r426825 on 2016-11-22. Suggested by: des Modified: stable/10/usr.sbin/ntp/config.h Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/usr.sbin/ntp/config.h Directory Properties: stable/11/ (props changed) Modified: stable/10/usr.sbin/ntp/config.h ============================================================================== --- stable/10/usr.sbin/ntp/config.h Thu Apr 6 05:36:35 2017 (r316558) +++ stable/10/usr.sbin/ntp/config.h Thu Apr 6 06:11:04 2017 (r316559) @@ -1336,7 +1336,7 @@ #define LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE 1 /* leap smear mechanism */ -/* #undef LEAP_SMEAR */ +#define LEAP_SMEAR 1 /* Define to any value to include libseccomp sandboxing. */ /* #undef LIBSECCOMP */ From owner-svn-src-all@freebsd.org Thu Apr 6 06:31:49 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2EEBD30A6A; Thu, 6 Apr 2017 06:31:49 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 74A912F5; Thu, 6 Apr 2017 06:31:49 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v366VmlU003166; Thu, 6 Apr 2017 06:31:48 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v366VmRb003165; Thu, 6 Apr 2017 06:31:48 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201704060631.v366VmRb003165@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 6 Apr 2017 06:31:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316560 - stable/11/sys/cam/scsi X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 06:31:49 -0000 Author: mav Date: Thu Apr 6 06:31:48 2017 New Revision: 316560 URL: https://svnweb.freebsd.org/changeset/base/316560 Log: MFC r315857: Remove "UNMAPPED" messages printed on da periph attach. I think this message is not very useful for end user. Also its formatting does not match other messages printed at that time. Those who really need this information can always find it in `camcontrol negotiate daX -v`. Modified: stable/11/sys/cam/scsi/scsi_da.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/cam/scsi/scsi_da.c ============================================================================== --- stable/11/sys/cam/scsi/scsi_da.c Thu Apr 6 06:11:04 2017 (r316559) +++ stable/11/sys/cam/scsi/scsi_da.c Thu Apr 6 06:31:48 2017 (r316560) @@ -2533,7 +2533,6 @@ daregister(struct cam_periph *periph, vo if ((cpi.hba_misc & PIM_UNMAPPED) != 0) { softc->unmappedio = 1; softc->disk->d_flags |= DISKFLAG_UNMAPPED_BIO; - xpt_print(periph->path, "UNMAPPED\n"); } cam_strvis(softc->disk->d_descr, cgd->inq_data.vendor, sizeof(cgd->inq_data.vendor), sizeof(softc->disk->d_descr)); From owner-svn-src-all@freebsd.org Thu Apr 6 07:51:01 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8E54AD31C28; Thu, 6 Apr 2017 07:51:01 +0000 (UTC) (envelope-from des@des.no) Received: from smtp.des.no (smtp.des.no [194.63.250.102]) by mx1.freebsd.org (Postfix) with ESMTP id 4CBD7982; Thu, 6 Apr 2017 07:51:00 +0000 (UTC) (envelope-from des@des.no) Received: from desk.des.no (smtp.des.no [194.63.250.102]) by smtp.des.no (Postfix) with ESMTP id 2B958DC97; Thu, 6 Apr 2017 07:50:59 +0000 (UTC) Received: by desk.des.no (Postfix, from userid 1001) id 02D85909F; Thu, 6 Apr 2017 09:50:58 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Cy Schubert Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316487 - head/etc References: <201704060018.v360IL31061110@slippy.cwsent.com> Date: Thu, 06 Apr 2017 09:50:58 +0200 In-Reply-To: <201704060018.v360IL31061110@slippy.cwsent.com> (Cy Schubert's message of "Wed, 05 Apr 2017 17:18:21 -0700") Message-ID: <868tne3rfh.fsf@desk.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 07:51:01 -0000 Cy Schubert writes: > Dag-Erling Sm=C3=B8rgrav writes: > > Could you please revert? > Sure, it's been reverted. No, you misunderstood... I meant revert *my* commit. I didn't know it had already been fixed (for some value of fixed) when I wrote this. > Are you thinking of a more intrusive change like my first draft of the > patch? Sorry, haven't looked at your patch. Mine adds check_debug, check_force etc. and uses them everywhere. Note that none of these variables are documented, so using them outside of rc.subr itself is arguably a bug. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-all@freebsd.org Thu Apr 6 09:07:03 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0D32BD305FC; Thu, 6 Apr 2017 09:07:03 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B5F56285; Thu, 6 Apr 2017 09:07:02 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36971qw065446; Thu, 6 Apr 2017 09:07:01 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v369718F065445; Thu, 6 Apr 2017 09:07:01 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201704060907.v369718F065445@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 6 Apr 2017 09:07:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316561 - head/sys/compat/linuxkpi/common/src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 09:07:03 -0000 Author: hselasky Date: Thu Apr 6 09:07:01 2017 New Revision: 316561 URL: https://svnweb.freebsd.org/changeset/base/316561 Log: Before registering a new mm_struct in the LinuxKPI check if other tasks in the belonging procedure already have a valid mm_struct and reference that instead. The mm_struct in the LinuxKPI should be shared among all tasks belonging to the same procedure. This has to do with with the mmap_sem semaphore which should serialize all VM operations inside a given procedure. Linux based drivers depend on this behaviour. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/src/linux_current.c Modified: head/sys/compat/linuxkpi/common/src/linux_current.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_current.c Thu Apr 6 06:31:48 2017 (r316560) +++ head/sys/compat/linuxkpi/common/src/linux_current.c Thu Apr 6 09:07:01 2017 (r316561) @@ -42,8 +42,12 @@ static MALLOC_DEFINE(M_LINUX_CURRENT, "l int linux_alloc_current(struct thread *td, int flags) { + struct proc *proc; + struct thread *td_other; struct task_struct *ts; + struct task_struct *ts_other; struct mm_struct *mm; + struct mm_struct *mm_other; MPASS(td->td_lkpi_task == NULL); @@ -57,22 +61,55 @@ linux_alloc_current(struct thread *td, i return (ENOMEM); } + /* setup new task structure */ atomic_set(&ts->kthread_flags, 0); ts->task_thread = td; ts->comm = td->td_name; ts->pid = td->td_tid; - ts->mm = mm; atomic_set(&ts->usage, 1); ts->state = TASK_RUNNING; - /* setup mm_struct */ - init_rwsem(&mm->mmap_sem); - atomic_set(&mm->mm_count, 1); - atomic_set(&mm->mm_users, 1); - mm->vmspace = vmspace_acquire_ref(td->td_proc); + proc = td->td_proc; + + /* check if another thread already has a mm_struct */ + PROC_LOCK(proc); + FOREACH_THREAD_IN_PROC(proc, td_other) { + ts_other = td_other->td_lkpi_task; + if (ts_other == NULL) + continue; + + mm_other = ts_other->mm; + if (mm_other == NULL) + continue; + + /* try to share other mm_struct */ + if (atomic_inc_not_zero(&mm_other->mm_users)) { + /* set mm_struct pointer */ + ts->mm = mm_other; + break; + } + } + + /* use allocated mm_struct as a fallback */ + if (ts->mm == NULL) { + /* setup new mm_struct */ + init_rwsem(&mm->mmap_sem); + atomic_set(&mm->mm_count, 1); + atomic_set(&mm->mm_users, 1); + mm->vmspace = vmspace_acquire_ref(proc); + /* set mm_struct pointer */ + ts->mm = mm; + /* clear pointer to not free memory */ + mm = NULL; + } /* store pointer to task struct */ td->td_lkpi_task = ts; + PROC_UNLOCK(proc); + + /* free mm_struct pointer, if any */ + free(mm, M_LINUX_CURRENT); + return (0); } From owner-svn-src-all@freebsd.org Thu Apr 6 09:34:56 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 322F6D2F162; Thu, 6 Apr 2017 09:34:56 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0D8BD814; Thu, 6 Apr 2017 09:34:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v369YtY3077563; Thu, 6 Apr 2017 09:34:55 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v369Ys50077560; Thu, 6 Apr 2017 09:34:54 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201704060934.v369Ys50077560@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 6 Apr 2017 09:34:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316562 - in head/sys/compat/linuxkpi/common: include/linux src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 09:34:56 -0000 Author: hselasky Date: Thu Apr 6 09:34:54 2017 New Revision: 316562 URL: https://svnweb.freebsd.org/changeset/base/316562 Log: Implement proper support for memory map operations in the LinuxKPI, like open, close and fault using the character device pager. Some notes about the implementation: 1) Linux drivers set the vm_ops and vm_private_data fields during a mmap() call to indicate that the driver wants to use the LinuxKPI VM operations. Else these operations are not used. 2) The vm_private_data pointer is associated with a VM area structure and inserted into an internal LinuxKPI list. If the vm_private_data pointer already exists, the existing VM area structure is used instead of the allocated one which gets freed. 3) The LinuxKPI's vm_private_data pointer is used as the callback handle for the FreeBSD VM object. The VM subsystem in FreeBSD has a similar list to identify equal handles and will only call the character device pager's close function once. 4) All LinuxKPI VM operations are serialized through the mmap_sem sempaphore, which is per procedure, which prevents simultaneous access to the shared VM area structure when receiving page faults. Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/include/linux/mm.h head/sys/compat/linuxkpi/common/include/linux/page.h head/sys/compat/linuxkpi/common/src/linux_compat.c Modified: head/sys/compat/linuxkpi/common/include/linux/mm.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/mm.h Thu Apr 6 09:07:01 2017 (r316561) +++ head/sys/compat/linuxkpi/common/include/linux/mm.h Thu Apr 6 09:34:54 2017 (r316562) @@ -38,6 +38,7 @@ #include #include #include +#include #include @@ -89,12 +90,25 @@ CTASSERT((VM_PROT_ALL & -(1 << 8)) == 0) typedef int (*pte_fn_t)(pte_t *, pgtable_t, unsigned long addr, void *data); struct vm_area_struct { - vm_offset_t vm_start; - vm_offset_t vm_end; - vm_offset_t vm_pgoff; - vm_paddr_t vm_pfn; /* PFN For mmap. */ - vm_size_t vm_len; /* length for mmap. */ - vm_memattr_t vm_page_prot; + vm_offset_t vm_start; + vm_offset_t vm_end; + vm_offset_t vm_pgoff; + pgprot_t vm_page_prot; + unsigned long vm_flags; + struct mm_struct *vm_mm; + void *vm_private_data; + const struct vm_operations_struct *vm_ops; + struct linux_file *vm_file; + + /* internal operation */ + vm_paddr_t vm_pfn; /* PFN for memory map */ + vm_size_t vm_len; /* length for memory map */ + vm_pindex_t vm_pfn_first; + int vm_pfn_count; + int *vm_pfn_pcount; + vm_object_t vm_obj; + vm_map_t vm_cached_map; + TAILQ_ENTRY(vm_area_struct) vm_entry; }; struct vm_fault { Modified: head/sys/compat/linuxkpi/common/include/linux/page.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/page.h Thu Apr 6 09:07:01 2017 (r316561) +++ head/sys/compat/linuxkpi/common/include/linux/page.h Thu Apr 6 09:34:54 2017 (r316562) @@ -47,6 +47,28 @@ typedef unsigned long pgprot_t; #define page vm_page +#define LINUXKPI_PROT_VALID (1 << 4) +#define LINUXKPI_CACHE_MODE_SHIFT 3 + +static inline pgprot_t +cachemode2protval(vm_memattr_t attr) +{ + return ((attr | LINUXKPI_PROT_VALID) << LINUXKPI_CACHE_MODE_SHIFT); +} + +static inline vm_memattr_t +pgprot2cachemode(pgprot_t prot) +{ + int val; + + val = prot >> LINUXKPI_CACHE_MODE_SHIFT; + + if (val & LINUXKPI_PROT_VALID) + return (val & ~LINUXKPI_PROT_VALID); + else + return (VM_MEMATTR_DEFAULT); +} + #define virt_to_page(x) PHYS_TO_VM_PAGE(vtophys((x))) #define page_to_pfn(pp) (VM_PAGE_TO_PHYS((pp)) >> PAGE_SHIFT) #define pfn_to_page(pfn) (PHYS_TO_VM_PAGE((pfn) << PAGE_SHIFT)) Modified: head/sys/compat/linuxkpi/common/src/linux_compat.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_compat.c Thu Apr 6 09:07:01 2017 (r316561) +++ head/sys/compat/linuxkpi/common/src/linux_compat.c Thu Apr 6 09:34:54 2017 (r316562) @@ -2,7 +2,7 @@ * Copyright (c) 2010 Isilon Systems, Inc. * Copyright (c) 2010 iX Systems, Inc. * Copyright (c) 2010 Panasas, Inc. - * Copyright (c) 2013-2016 Mellanox Technologies, Ltd. + * Copyright (c) 2013-2017 Mellanox Technologies, Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -88,6 +88,8 @@ MALLOC_DEFINE(M_KMALLOC, "linux", "Linux #undef cdev #define RB_ROOT(head) (head)->rbh_root +static struct vm_area_struct *linux_cdev_handle_find(void *handle); + struct kobject linux_class_root; struct device linux_root_device; struct class linux_class_misc; @@ -394,6 +396,166 @@ linux_file_dtor(void *cdp) } static int +linux_cdev_pager_populate(vm_object_t vm_obj, vm_pindex_t pidx, int fault_type, + vm_prot_t max_prot, vm_pindex_t *first, vm_pindex_t *last) +{ + struct vm_area_struct *vmap; + struct vm_fault vmf; + int err; + + linux_set_current(curthread); + + /* get VM area structure */ + vmap = linux_cdev_handle_find(vm_obj->handle); + MPASS(vmap != NULL); + MPASS(vmap->vm_private_data == vm_obj->handle); + + /* fill out VM fault structure */ + vmf.virtual_address = (void *)(pidx << PAGE_SHIFT); + vmf.flags = (fault_type & VM_PROT_WRITE) ? FAULT_FLAG_WRITE : 0; + vmf.pgoff = 0; + vmf.page = NULL; + + VM_OBJECT_WUNLOCK(vm_obj); + + down_write(&vmap->vm_mm->mmap_sem); + if (unlikely(vmap->vm_ops == NULL)) { + err = VM_FAULT_SIGBUS; + } else { + vmap->vm_pfn_count = 0; + vmap->vm_pfn_pcount = &vmap->vm_pfn_count; + vmap->vm_obj = vm_obj; + + err = vmap->vm_ops->fault(vmap, &vmf); + + while (vmap->vm_pfn_count == 0 && err == VM_FAULT_NOPAGE) { + kern_yield(0); + err = vmap->vm_ops->fault(vmap, &vmf); + } + } + + /* translate return code */ + switch (err) { + case VM_FAULT_OOM: + err = VM_PAGER_AGAIN; + break; + case VM_FAULT_SIGBUS: + err = VM_PAGER_BAD; + break; + case VM_FAULT_NOPAGE: + /* + * By contract the fault handler will return having + * busied all the pages itself. If pidx is already + * found in the object, it will simply xbusy the first + * page and return with vm_pfn_count set to 1. + */ + *first = vmap->vm_pfn_first; + *last = *first + vmap->vm_pfn_count - 1; + err = VM_PAGER_OK; + break; + default: + err = VM_PAGER_ERROR; + break; + } + up_write(&vmap->vm_mm->mmap_sem); + VM_OBJECT_WLOCK(vm_obj); + return (err); +} + +static struct rwlock linux_vma_lock; +static TAILQ_HEAD(, vm_area_struct) linux_vma_head = + TAILQ_HEAD_INITIALIZER(linux_vma_head); + +static struct vm_area_struct * +linux_cdev_handle_insert(void *handle, struct vm_area_struct *vmap) +{ + struct vm_area_struct *ptr; + + rw_wlock(&linux_vma_lock); + TAILQ_FOREACH(ptr, &linux_vma_head, vm_entry) { + if (ptr->vm_private_data == handle) { + rw_wunlock(&linux_vma_lock); + kfree(vmap); + return (NULL); + } + } + TAILQ_INSERT_TAIL(&linux_vma_head, vmap, vm_entry); + rw_wunlock(&linux_vma_lock); + return (vmap); +} + +static void +linux_cdev_handle_remove(struct vm_area_struct *vmap) +{ + if (vmap == NULL) + return; + + rw_wlock(&linux_vma_lock); + TAILQ_REMOVE(&linux_vma_head, vmap, vm_entry); + rw_wunlock(&linux_vma_lock); + kfree(vmap); +} + +static struct vm_area_struct * +linux_cdev_handle_find(void *handle) +{ + struct vm_area_struct *vmap; + + rw_rlock(&linux_vma_lock); + TAILQ_FOREACH(vmap, &linux_vma_head, vm_entry) { + if (vmap->vm_private_data == handle) + break; + } + rw_runlock(&linux_vma_lock); + return (vmap); +} + +static int +linux_cdev_pager_ctor(void *handle, vm_ooffset_t size, vm_prot_t prot, + vm_ooffset_t foff, struct ucred *cred, u_short *color) +{ + const struct vm_operations_struct *vm_ops; + struct vm_area_struct *vmap; + + vmap = linux_cdev_handle_find(handle); + MPASS(vmap != NULL); + + *color = 0; + + down_write(&vmap->vm_mm->mmap_sem); + vm_ops = vmap->vm_ops; + if (likely(vm_ops != NULL)) + vm_ops->open(vmap); + up_write(&vmap->vm_mm->mmap_sem); + + return (0); +} + +static void +linux_cdev_pager_dtor(void *handle) +{ + const struct vm_operations_struct *vm_ops; + struct vm_area_struct *vmap; + + vmap = linux_cdev_handle_find(handle); + MPASS(vmap != NULL); + + down_write(&vmap->vm_mm->mmap_sem); + vm_ops = vmap->vm_ops; + if (likely(vm_ops != NULL)) + vm_ops->close(vmap); + up_write(&vmap->vm_mm->mmap_sem); + + linux_cdev_handle_remove(vmap); +} + +static struct cdev_pager_ops linux_cdev_pager_ops = { + .cdev_pg_populate = linux_cdev_pager_populate, + .cdev_pg_ctor = linux_cdev_pager_ctor, + .cdev_pg_dtor = linux_cdev_pager_dtor +}; + +static int linux_dev_open(struct cdev *dev, int oflags, int devtype, struct thread *td) { struct linux_cdev *ldev; @@ -707,10 +869,11 @@ static int linux_dev_mmap_single(struct cdev *dev, vm_ooffset_t *offset, vm_size_t size, struct vm_object **object, int nprot) { + struct vm_area_struct *vmap; struct linux_file *filp; struct thread *td; struct file *file; - struct vm_area_struct vma; + vm_memattr_t attr; int error; td = curthread; @@ -720,39 +883,82 @@ linux_dev_mmap_single(struct cdev *dev, if ((error = devfs_get_cdevpriv((void **)&filp)) != 0) return (error); filp->f_flags = file->f_flag; + + if (filp->f_op->mmap == NULL) + return (ENODEV); + linux_set_current(td); - vma.vm_start = 0; - vma.vm_end = size; - vma.vm_pgoff = *offset / PAGE_SIZE; - vma.vm_pfn = 0; - vma.vm_page_prot = VM_MEMATTR_DEFAULT; - if (filp->f_op->mmap) { - error = -filp->f_op->mmap(filp, &vma); - if (error == 0) { - struct sglist *sg; - - sg = sglist_alloc(1, M_WAITOK); - sglist_append_phys(sg, - (vm_paddr_t)vma.vm_pfn << PAGE_SHIFT, vma.vm_len); - *object = vm_pager_allocate(OBJT_SG, sg, vma.vm_len, - nprot, 0, td->td_ucred); - if (*object == NULL) { - sglist_free(sg); - error = EINVAL; - goto done; - } - *offset = 0; - if (vma.vm_page_prot != VM_MEMATTR_DEFAULT) { - VM_OBJECT_WLOCK(*object); - vm_object_set_memattr(*object, - vma.vm_page_prot); - VM_OBJECT_WUNLOCK(*object); - } + + vmap = kzalloc(sizeof(*vmap), GFP_KERNEL); + vmap->vm_start = 0; + vmap->vm_end = size; + vmap->vm_pgoff = *offset / PAGE_SIZE; + vmap->vm_pfn = 0; + vmap->vm_flags = vmap->vm_page_prot = nprot; + vmap->vm_ops = NULL; + vmap->vm_file = filp; + vmap->vm_mm = current->mm; + + if (unlikely(down_write_killable(&vmap->vm_mm->mmap_sem))) { + error = EINTR; + } else { + error = -filp->f_op->mmap(filp, vmap); + up_write(&vmap->vm_mm->mmap_sem); + } + + if (error != 0) { + kfree(vmap); + return (error); + } + + attr = pgprot2cachemode(vmap->vm_page_prot); + + if (vmap->vm_ops != NULL) { + void *vm_private_data; + + if (vmap->vm_ops->fault == NULL || + vmap->vm_ops->open == NULL || + vmap->vm_ops->close == NULL || + vmap->vm_private_data == NULL) { + kfree(vmap); + return (EINVAL); } - } else - error = ENODEV; -done: - return (error); + + vm_private_data = vmap->vm_private_data; + + vmap = linux_cdev_handle_insert(vm_private_data, vmap); + + *object = cdev_pager_allocate(vm_private_data, OBJT_MGTDEVICE, + &linux_cdev_pager_ops, size, nprot, *offset, curthread->td_ucred); + + if (*object == NULL) { + linux_cdev_handle_remove(vmap); + return (EINVAL); + } + } else { + struct sglist *sg; + + sg = sglist_alloc(1, M_WAITOK); + sglist_append_phys(sg, (vm_paddr_t)vmap->vm_pfn << PAGE_SHIFT, vmap->vm_len); + + *object = vm_pager_allocate(OBJT_SG, sg, vmap->vm_len, + nprot, 0, curthread->td_ucred); + + kfree(vmap); + + if (*object == NULL) { + sglist_free(sg); + return (EINVAL); + } + } + + if (attr != VM_MEMATTR_DEFAULT) { + VM_OBJECT_WLOCK(*object); + vm_object_set_memattr(*object, attr); + VM_OBJECT_WUNLOCK(*object); + } + *offset = 0; + return (0); } struct cdevsw linuxcdevsw = { @@ -1484,6 +1690,7 @@ linux_compat_init(void *arg) #if defined(__i386__) || defined(__amd64__) linux_cpu_has_clflush = (cpu_feature & CPUID_CLFSH); #endif + rw_init(&linux_vma_lock, "lkpi-vma-lock"); rootoid = SYSCTL_ADD_ROOT_NODE(NULL, OID_AUTO, "sys", CTLFLAG_RD|CTLFLAG_MPSAFE, NULL, "sys"); @@ -1514,6 +1721,8 @@ linux_compat_uninit(void *arg) linux_kobject_kfree_name(&linux_class_root); linux_kobject_kfree_name(&linux_root_device.kobj); linux_kobject_kfree_name(&linux_class_misc.kobj); + + rw_destroy(&linux_vma_lock); } SYSUNINIT(linux_compat, SI_SUB_DRIVERS, SI_ORDER_SECOND, linux_compat_uninit, NULL); From owner-svn-src-all@freebsd.org Thu Apr 6 10:11:25 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6597CD2FC80; Thu, 6 Apr 2017 10:11:25 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail104.syd.optusnet.com.au (mail104.syd.optusnet.com.au [211.29.132.246]) by mx1.freebsd.org (Postfix) with ESMTP id CE75E941; Thu, 6 Apr 2017 10:11:23 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from besplex.bde.org (c122-106-153-191.carlnfd1.nsw.optusnet.com.au [122.106.153.191]) by mail104.syd.optusnet.com.au (Postfix) with ESMTPS id F2E0242C968; Thu, 6 Apr 2017 20:10:55 +1000 (AEST) Date: Thu, 6 Apr 2017 20:10:54 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ngie Cooper cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316550 - head/share/man/man9 In-Reply-To: <201704060240.v362eqE5006488@repo.freebsd.org> Message-ID: <20170406195211.K1015@besplex.bde.org> References: <201704060240.v362eqE5006488@repo.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.2 cv=AYLBJzfG c=1 sm=1 tr=0 a=Tj3pCpwHnMupdyZSltBt7Q==:117 a=Tj3pCpwHnMupdyZSltBt7Q==:17 a=kj9zAlcOel0A:10 a=coam41J3Oa70qm_nbYcA:9 a=N0B3mWoZat11TZs3:21 a=LmM8FR45f129gBZ4:21 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 10:11:25 -0000 On Thu, 6 Apr 2017, Ngie Cooper wrote: > Log: > sbuf(9): convert SYNOPSIS section from .Fn entries to .Fo/.Fa/.Fc entries > > This shortens the column count on many lines considerably. This adds a lot of style bugs. It increases the macro count and the row count considerably. > While here, add "(void)" to sbuf_new_auto(3) for consistency with style(9) > recommendations. This has nothing to do with style 9. sbuf_new_auto() wasn't even declared with a prototype. Though it may have only been a style bug to not use prototypes in 1990, it is now sually a warning and thus an error if it is in a header file (since the user might enable -Werror and -Wsystem-headers might not be off to break warnings in system headers. > Modified: head/share/man/man9/sbuf.9 > ============================================================================== > --- head/share/man/man9/sbuf.9 Thu Apr 6 02:03:35 2017 (r316549) > +++ head/share/man/man9/sbuf.9 Thu Apr 6 02:40:52 2017 (r316550) > @@ -66,57 +66,135 @@ > .Ft typedef\ int ( sbuf_drain_func ) ( void\ *arg, const\ char\ *data, int\ len ) ; > .Pp > .Ft struct sbuf * > -.Fn sbuf_new "struct sbuf *s" "char *buf" "int length" "int flags" > +.Fo sbuf_new > +.Fa "struct sbuf *s" > +.Fa "char *buf" > +.Fa "int length" > +.Fa "int flags" > +.Fc The .Fn macro exists so that you don't have to write verbose macros for every arg, and so that the syntax resembles a C prototype and not a K&R- style list of args and their types. .Fo/.Fc is unfortunately sometimes necessary for long arg lists, if you want not-too-long lines. It can also be used for complex declarations. Perhaps for prototypes with nested protototypes. The nesting can be arbitrarily deep. Bruce From owner-svn-src-all@freebsd.org Thu Apr 6 10:26:05 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3336FD3138C; Thu, 6 Apr 2017 10:26:05 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EB3C630E; Thu, 6 Apr 2017 10:26:04 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36AQ4i8097415; Thu, 6 Apr 2017 10:26:04 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36AQ3YG097413; Thu, 6 Apr 2017 10:26:04 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201704061026.v36AQ3YG097413@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 6 Apr 2017 10:26:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316563 - in head/sys/compat/linuxkpi/common: include/linux src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 10:26:05 -0000 Author: hselasky Date: Thu Apr 6 10:26:03 2017 New Revision: 316563 URL: https://svnweb.freebsd.org/changeset/base/316563 Log: Fix implementation of task_pid_group_leader() in the LinuxKPI. In FreeBSD thread IDs and procedure IDs have distinct number spaces. When asking for the group leader task ID in the LinuxKPI, return the procedure ID and let this resolve to the first task in the procedure having a valid LinuxKPI task structure pointer. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/include/linux/sched.h head/sys/compat/linuxkpi/common/src/linux_current.c Modified: head/sys/compat/linuxkpi/common/include/linux/sched.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/sched.h Thu Apr 6 09:34:54 2017 (r316562) +++ head/sys/compat/linuxkpi/common/include/linux/sched.h Thu Apr 6 10:26:03 2017 (r316563) @@ -74,8 +74,7 @@ struct task_struct { #define current ((struct task_struct *)curthread->td_lkpi_task) -#define task_pid_group_leader(task) \ - FIRST_THREAD_IN_PROC((task)->task_thread->td_proc)->td_tid +#define task_pid_group_leader(task) (task)->task_thread->td_proc->p_pid #define task_pid(task) ((task)->pid) #define task_pid_nr(task) ((task)->pid) #define get_pid(x) (x) Modified: head/sys/compat/linuxkpi/common/src/linux_current.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_current.c Thu Apr 6 09:34:54 2017 (r316562) +++ head/sys/compat/linuxkpi/common/src/linux_current.c Thu Apr 6 10:26:03 2017 (r316563) @@ -158,13 +158,28 @@ struct task_struct * linux_pid_task(pid_t pid) { struct thread *td; + struct proc *p; + /* try to find corresponding thread */ td = tdfind(pid, -1); if (td != NULL) { struct task_struct *ts = td->td_lkpi_task; PROC_UNLOCK(td->td_proc); return (ts); } + + /* try to find corresponding procedure */ + p = pfind(pid); + if (p != NULL) { + FOREACH_THREAD_IN_PROC(p, td) { + struct task_struct *ts = td->td_lkpi_task; + if (ts != NULL) { + PROC_UNLOCK(p); + return (ts); + } + } + PROC_UNLOCK(p); + } return (NULL); } @@ -172,7 +187,9 @@ struct task_struct * linux_get_pid_task(pid_t pid) { struct thread *td; + struct proc *p; + /* try to find corresponding thread */ td = tdfind(pid, -1); if (td != NULL) { struct task_struct *ts = td->td_lkpi_task; @@ -181,6 +198,20 @@ linux_get_pid_task(pid_t pid) PROC_UNLOCK(td->td_proc); return (ts); } + + /* try to find corresponding procedure */ + p = pfind(pid); + if (p != NULL) { + FOREACH_THREAD_IN_PROC(p, td) { + struct task_struct *ts = td->td_lkpi_task; + if (ts != NULL) { + get_task_struct(ts); + PROC_UNLOCK(p); + return (ts); + } + } + PROC_UNLOCK(p); + } return (NULL); } From owner-svn-src-all@freebsd.org Thu Apr 6 10:29:55 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A6A6DD3145F; Thu, 6 Apr 2017 10:29:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 768F3794; Thu, 6 Apr 2017 10:29:55 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36ATsqw097584; Thu, 6 Apr 2017 10:29:54 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36ATsW4097583; Thu, 6 Apr 2017 10:29:54 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201704061029.v36ATsW4097583@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 6 Apr 2017 10:29:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316564 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 10:29:55 -0000 Author: hselasky Date: Thu Apr 6 10:29:54 2017 New Revision: 316564 URL: https://svnweb.freebsd.org/changeset/base/316564 Log: Implement need_resched() in the LinuxKPI. Obtained from: kmacy @ MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/include/linux/sched.h Modified: head/sys/compat/linuxkpi/common/include/linux/sched.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/sched.h Thu Apr 6 10:26:03 2017 (r316563) +++ head/sys/compat/linuxkpi/common/include/linux/sched.h Thu Apr 6 10:29:54 2017 (r316564) @@ -145,4 +145,6 @@ schedule_timeout(signed long timeout) return 0; } +#define need_resched() (curthread->td_flags & TDF_NEEDRESCHED) + #endif /* _LINUX_SCHED_H_ */ From owner-svn-src-all@freebsd.org Thu Apr 6 10:52:53 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4611DD31BAD; Thu, 6 Apr 2017 10:52:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 17AEC62A; Thu, 6 Apr 2017 10:52:53 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36Aqq7Q009636; Thu, 6 Apr 2017 10:52:52 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36AqqCt009635; Thu, 6 Apr 2017 10:52:52 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201704061052.v36AqqCt009635@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 6 Apr 2017 10:52:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316565 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 10:52:53 -0000 Author: hselasky Date: Thu Apr 6 10:52:52 2017 New Revision: 316565 URL: https://svnweb.freebsd.org/changeset/base/316565 Log: Define VM_READ, VM_WRITE and VM_EXEC in the LinuxKPI. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/include/linux/mm.h Modified: head/sys/compat/linuxkpi/common/include/linux/mm.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/mm.h Thu Apr 6 10:29:54 2017 (r316564) +++ head/sys/compat/linuxkpi/common/include/linux/mm.h Thu Apr 6 10:52:52 2017 (r316565) @@ -50,6 +50,10 @@ */ CTASSERT((VM_PROT_ALL & -(1 << 8)) == 0); +#define VM_READ VM_PROT_READ +#define VM_WRITE VM_PROT_WRITE +#define VM_EXEC VM_PROT_EXECUTE + #define VM_PFNINTERNAL (1 << 8) /* FreeBSD private flag to vm_insert_pfn() */ #define VM_MIXEDMAP (1 << 9) #define VM_NORESERVE (1 << 10) From owner-svn-src-all@freebsd.org Thu Apr 6 12:44:35 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AAC68D30C19; Thu, 6 Apr 2017 12:44:35 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 87DC9A4E; Thu, 6 Apr 2017 12:44:35 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36CiYJC054270; Thu, 6 Apr 2017 12:44:34 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36CiYgU054267; Thu, 6 Apr 2017 12:44:34 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704061244.v36CiYgU054267@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 6 Apr 2017 12:44:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316566 - head/sys/fs/nfsclient X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 12:44:35 -0000 Author: kib Date: Thu Apr 6 12:44:34 2017 New Revision: 316566 URL: https://svnweb.freebsd.org/changeset/base/316566 Log: Remove spl*() calls from the nfsclient code. Style adjustments in the related lines in ncl_writebp(). Reviewed by: rmacklem Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/fs/nfsclient/nfs_clbio.c head/sys/fs/nfsclient/nfs_clvfsops.c head/sys/fs/nfsclient/nfs_clvnops.c Modified: head/sys/fs/nfsclient/nfs_clbio.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clbio.c Thu Apr 6 10:52:52 2017 (r316565) +++ head/sys/fs/nfsclient/nfs_clbio.c Thu Apr 6 12:44:34 2017 (r316566) @@ -1811,9 +1811,6 @@ ncl_doio(struct vnode *vp, struct buf *b */ if (error == EINTR || error == EIO || error == ETIMEDOUT || (!error && (bp->b_flags & B_NEEDCOMMIT))) { - int s; - - s = splbio(); bp->b_flags &= ~(B_INVAL|B_NOCACHE); if ((bp->b_flags & B_PAGING) == 0) { bdirty(bp); @@ -1822,7 +1819,6 @@ ncl_doio(struct vnode *vp, struct buf *b if ((error == EINTR || error == ETIMEDOUT) && (bp->b_flags & B_ASYNC) == 0) bp->b_flags |= B_EINTR; - splx(s); } else { if (error) { bp->b_ioflags |= BIO_ERROR; Modified: head/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvfsops.c Thu Apr 6 10:52:52 2017 (r316565) +++ head/sys/fs/nfsclient/nfs_clvfsops.c Thu Apr 6 12:44:34 2017 (r316566) @@ -415,11 +415,6 @@ nfs_mountroot(struct mount *mp) nfs_convert_diskless(); /* - * XXX splnet, so networks will receive... - */ - splnet(); - - /* * Do enough of ifconfig(8) so that the critical net interface can * talk to the server. */ @@ -558,12 +553,9 @@ static void nfs_decode_args(struct mount *mp, struct nfsmount *nmp, struct nfs_args *argp, const char *hostname, struct ucred *cred, struct thread *td) { - int s; int adjsock; char *p; - s = splnet(); - /* * Set read-only flag if requested; otherwise, clear it if this is * an update. If this is not an update, then either the read-only @@ -609,7 +601,6 @@ nfs_decode_args(struct mount *mp, struct /* Update flags atomically. Don't change the lock bits. */ nmp->nm_flag = argp->flags | nmp->nm_flag; - splx(s); if ((argp->flags & NFSMNT_TIMEO) && argp->timeo > 0) { nmp->nm_timeo = (argp->timeo * NFS_HZ + 5) / 10; Modified: head/sys/fs/nfsclient/nfs_clvnops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvnops.c Thu Apr 6 10:52:52 2017 (r316565) +++ head/sys/fs/nfsclient/nfs_clvnops.c Thu Apr 6 12:44:34 2017 (r316566) @@ -3167,27 +3167,21 @@ nfs_print(struct vop_print_args *ap) int ncl_writebp(struct buf *bp, int force __unused, struct thread *td) { - int s; - int oldflags = bp->b_flags; -#if 0 - int retv = 1; - off_t off; -#endif + int oldflags, rtval; BUF_ASSERT_HELD(bp); if (bp->b_flags & B_INVAL) { brelse(bp); - return(0); + return (0); } + oldflags = bp->b_flags; bp->b_flags |= B_CACHE; /* * Undirty the bp. We will redirty it later if the I/O fails. */ - - s = splbio(); bundirty(bp); bp->b_flags &= ~B_DONE; bp->b_ioflags &= ~BIO_ERROR; @@ -3195,7 +3189,6 @@ ncl_writebp(struct buf *bp, int force __ bufobj_wref(bp->b_bufobj); curthread->td_ru.ru_oublock++; - splx(s); /* * Note: to avoid loopback deadlocks, we do not @@ -3207,19 +3200,14 @@ ncl_writebp(struct buf *bp, int force __ bp->b_iooffset = dbtob(bp->b_blkno); bstrategy(bp); - if( (oldflags & B_ASYNC) == 0) { - int rtval = bufwait(bp); - - if (oldflags & B_DELWRI) { - s = splbio(); - reassignbuf(bp); - splx(s); - } - brelse(bp); - return (rtval); - } + if ((oldflags & B_ASYNC) != 0) + return (0); - return (0); + rtval = bufwait(bp); + if (oldflags & B_DELWRI) + reassignbuf(bp); + brelse(bp); + return (rtval); } /* From owner-svn-src-all@freebsd.org Thu Apr 6 12:52:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DEE7DD30F88; Thu, 6 Apr 2017 12:52:06 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B3698FF6; Thu, 6 Apr 2017 12:52:06 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36Cq5c0057522; Thu, 6 Apr 2017 12:52:05 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36Cq5Nn057521; Thu, 6 Apr 2017 12:52:05 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201704061252.v36Cq5Nn057521@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Thu, 6 Apr 2017 12:52:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316567 - head/etc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 12:52:07 -0000 Author: cy Date: Thu Apr 6 12:52:05 2017 New Revision: 316567 URL: https://svnweb.freebsd.org/changeset/base/316567 Log: Revert r316487. It is broken, causing boot to fail due to line 25 in etc/rc.d/dhclient unconditionally testing true when called by a devd rule during boot, ignoring statically assigned IP addresses in rc.conf. Requested by: des@ Modified: head/etc/rc.subr Modified: head/etc/rc.subr ============================================================================== --- head/etc/rc.subr Thu Apr 6 12:44:34 2017 (r316566) +++ head/etc/rc.subr Thu Apr 6 12:52:05 2017 (r316567) @@ -703,11 +703,10 @@ check_startmsgs() # If argument has a given prefix, then change the operation as follows: # Prefix Operation # ------ --------- -# debug Enable debugging messages and set rc_debug to yes -# fast Skip the pid check and set rc_fast and rc_quiet to yes -# force Skip sanity checks and set ${rcvar} and rc_force to yes -# one Set ${rcvar} and set rc_one to yes -# quiet Don't output some diagnostics, and set rc_quiet to yes +# fast Skip the pid check, and set rc_fast=yes, rc_quiet=yes +# force Set ${rcvar} to YES, and set rc_force=yes +# one Set ${rcvar} to YES +# quiet Don't output some diagnostics, and set rc_quiet=yes # # The following globals are used: # @@ -857,8 +856,6 @@ check_startmsgs() # rc_arg Argument to command, after fast/force/one processing # performed # -# rc_debug True if "debug" was provided -# # rc_flags Flags to start the default command with. # Defaults to ${name}_flags, unless overridden # by $flags from the environment. @@ -866,11 +863,9 @@ check_startmsgs() # # rc_pid PID of command (if appropriate) # -# rc_fast Not empty if "fast" was provided -# -# rc_force Not empty if "force" was provided +# rc_fast Not empty if "fast" was provided (q.v.) # -# rc_one Not empty if "one" was provided +# rc_force Not empty if "force" was provided (q.v.) # # rc_quiet Not empty if "quiet" was provided # @@ -889,47 +884,34 @@ run_rc_command() shift 1 rc_extra_args="$*" - : ${rc_debug:=no} ${rc_fast:=no} ${rc_force:=no} ${rc_one:=no} ${rc_quiet:=no} - while :; do - case "$rc_arg" in - debug*) # "debug" prefix; enable debugging - rc_debug=yes - rc_quiet=no - rc_arg=${rc_arg#debug} - _rc_prefix="${_rc_prefix}debug" - ;; - fast*) # "fast" prefix; don't check pid - rc_fast=yes - rc_quiet=yes - rc_arg=${rc_arg#fast} - _rc_prefix="${_rc_prefix}fast" - ;; - force*) # "force" prefix; always run - rc_force=yes - rc_arg=${rc_arg#force} - _rc_prefix="${_rc_prefix}force" - ;; - one*) # "one" prefix; set ${rcvar}=yes - rc_one=yes - rc_arg=${rc_arg#one} - _rc_prefix="${_rc_prefix}one" - ;; - quiet*) # "quiet" prefix; omit some messages - rc_quiet=yes - rc_arg=${rc_arg#quiet} - _rc_prefix="${_rc_prefix}quiet" - ;; - *) - break - ;; - esac - done - if checkyesno rc_force || checkyesno rc_one ; then + _rc_prefix= + case "$rc_arg" in + fast*) # "fast" prefix; don't check pid + rc_arg=${rc_arg#fast} + rc_fast=yes + rc_quiet=yes + ;; + force*) # "force" prefix; always run + rc_force=yes + _rc_prefix=force + rc_arg=${rc_arg#${_rc_prefix}} if [ -n "${rcvar}" ]; then eval ${rcvar}=YES fi - fi - debug "_rc_prefix=${_rc_prefix}" + ;; + one*) # "one" prefix; set ${rcvar}=yes + _rc_prefix=one + rc_arg=${rc_arg#${_rc_prefix}} + if [ -n "${rcvar}" ]; then + eval ${rcvar}=YES + fi + ;; + quiet*) # "quiet" prefix; omit some messages + _rc_prefix=quiet + rc_arg=${rc_arg#${_rc_prefix}} + rc_quiet=yes + ;; + esac eval _override_command=\$${name}_program command=${_override_command:-$command} From owner-svn-src-all@freebsd.org Thu Apr 6 12:54:56 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6852ED2F038; Thu, 6 Apr 2017 12:54:56 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 22702269; Thu, 6 Apr 2017 12:54:55 +0000 (UTC) (envelope-from cy.schubert@komquats.com) Received: from spqr.komquats.com ([96.50.22.10]) by shaw.ca with SMTP id w6w2cT0HXjkXyw6w3cB4tf; Thu, 06 Apr 2017 06:54:48 -0600 X-Authority-Analysis: v=2.2 cv=KeeiiUQD c=1 sm=1 tr=0 a=jvE2nwUzI0ECrNeyr98KWA==:117 a=jvE2nwUzI0ECrNeyr98KWA==:17 a=8nJEP1OIZ-IA:10 a=AzvcPWV-tVgA:10 a=BWvPGDcYAAAA:8 a=YxBL1-UpAAAA:8 a=6I5d2MoRAAAA:8 a=MenKANog2wuEQgPJdsEA:9 a=wPNLvfGTeEIA:10 a=pxhY87DP9d2VeQe4joPk:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=IjZwj45LgO3ly-622nXo:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 39529AEF; Thu, 6 Apr 2017 05:54:46 -0700 (PDT) Received: from slippy (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id v36CsjSl008801; Thu, 6 Apr 2017 05:54:45 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201704061254.v36CsjSl008801@slippy.cwsent.com> X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= cc: Cy Schubert , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316487 - head/etc In-Reply-To: Message from =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= of "Thu, 06 Apr 2017 09:50:58 +0200." <868tne3rfh.fsf@desk.des.no> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Date: Thu, 06 Apr 2017 05:54:45 -0700 X-CMAE-Envelope: MS4wfAYcQHKPjv/boYfMwU4apedbdkroLqO0FtdkzXMxpQPu6BMLN6avIHxRWohT+2MdHtws8Kq2n0g2tRaggLhkMD2034lxsfr80ILZq7rwhNXbmBG9Vpl9 1tFI6I38zb5JeROrhpJGRCESYqeED0uclXiyFj8pdfgZAeZUSB8D8SCd97Y2IdlSSO8eX1MdOsY96Hb+PeoqOQTAq1SqeLAudxrNdFaQFFndScnuL5vhOPHK EP8eOlRi2h3VgFm0l2ies9+GUJavp0duCevPMnRpRgc= X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 12:54:56 -0000 In message <868tne3rfh.fsf@desk.des.no>, =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav? = w rites: > Cy Schubert writes: > > Dag-Erling Smørgrav writes: > > > Could you please revert? > > Sure, it's been reverted. > > No, you misunderstood... I meant revert *my* commit. I didn't know it > had already been fixed (for some value of fixed) when I wrote this. It's reverted now. > > > Are you thinking of a more intrusive change like my first draft of the > > patch? > > Sorry, haven't looked at your patch. Mine adds check_debug, check_force > etc. and uses them everywhere. > > Note that none of these variables are documented, so using them outside > of rc.subr itself is arguably a bug. Agreed. Regardless, an UPDATING entry will still be needed because ports and third party software may have the same "bug" as rc.d/dhclient and rc.d/bgfsck. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-all@freebsd.org Thu Apr 6 13:05:10 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ADAB3D2F457; Thu, 6 Apr 2017 13:05:10 +0000 (UTC) (envelope-from des@des.no) Received: from smtp.des.no (smtp.des.no [194.63.250.102]) by mx1.freebsd.org (Postfix) with ESMTP id 78EE2BE8; Thu, 6 Apr 2017 13:05:09 +0000 (UTC) (envelope-from des@des.no) Received: from desk.des.no (smtp.des.no [194.63.250.102]) by smtp.des.no (Postfix) with ESMTP id E81ADD1A5; Thu, 6 Apr 2017 13:05:02 +0000 (UTC) Received: by desk.des.no (Postfix, from userid 1001) id B80E790CD; Thu, 6 Apr 2017 15:05:02 +0200 (CEST) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Cy Schubert Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316487 - head/etc References: <201704061254.v36CsjSl008801@slippy.cwsent.com> Date: Thu, 06 Apr 2017 15:05:02 +0200 In-Reply-To: <201704061254.v36CsjSl008801@slippy.cwsent.com> (Cy Schubert's message of "Thu, 06 Apr 2017 05:54:45 -0700") Message-ID: <8637dl4rgh.fsf@desk.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 13:05:10 -0000 Cy Schubert writes: > Dag-Erling Sm=C3=B8rgrav writes: > > Note that none of these variables are documented, so using them > > outside of rc.subr itself is arguably a bug. > Agreed. Regardless, an UPDATING entry will still be needed because ports= =20 > and third party software may have the same "bug" as rc.d/dhclient and=20 > rc.d/bgfsck. We could ask portmgr for a list of packages that install files in %%ETCDIR%%/rc.d and a copy of those files. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no From owner-svn-src-all@freebsd.org Thu Apr 6 13:30:33 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 22224D2FCF2; Thu, 6 Apr 2017 13:30:33 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E679FBB8; Thu, 6 Apr 2017 13:30:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36DUWMa070859; Thu, 6 Apr 2017 13:30:32 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36DUVP5070852; Thu, 6 Apr 2017 13:30:31 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201704061330.v36DUVP5070852@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Thu, 6 Apr 2017 13:30:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316568 - in head/sys: compat/linuxkpi/common/include/linux compat/linuxkpi/common/src conf dev/qlnx/qlnxe modules/qlnx/qlnxe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 13:30:33 -0000 Author: hselasky Date: Thu Apr 6 13:30:31 2017 New Revision: 316568 URL: https://svnweb.freebsd.org/changeset/base/316568 Log: Cleanup the bitmap_xxx() functions in the LinuxKPI: - Move all bitmap related functions from bitops.h to bitmap.h, similar to what Linux does. - Apply some minor code cleanup and simplifications to optimize the generated code when using static inline functions. - Implement the following list of bitmap functions which are needed by drm-next and ibcore: - bitmap_find_next_zero_area_off() - bitmap_find_next_zero_area() - bitmap_or() - bitmap_and() - bitmap_xor() - Add missing include directives to the qlnxe driver (davidcs@ has been notified) MFC after: 1 week Sponsored by: Mellanox Technologies Added: head/sys/compat/linuxkpi/common/include/linux/bitmap.h (contents, props changed) Modified: head/sys/compat/linuxkpi/common/include/linux/bitops.h head/sys/compat/linuxkpi/common/include/linux/sched.h head/sys/compat/linuxkpi/common/src/linux_idr.c head/sys/conf/files.amd64 head/sys/dev/qlnx/qlnxe/bcm_osal.h head/sys/modules/qlnx/qlnxe/Makefile Added: head/sys/compat/linuxkpi/common/include/linux/bitmap.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/compat/linuxkpi/common/include/linux/bitmap.h Thu Apr 6 13:30:31 2017 (r316568) @@ -0,0 +1,279 @@ +/* + * Copyright (c) 2013-2017 Mellanox Technologies, Ltd. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conditions, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _LINUX_BITMAP_H_ +#define _LINUX_BITMAP_H_ + +#include + +static inline void +bitmap_zero(unsigned long *addr, const unsigned int size) +{ + memset(addr, 0, BITS_TO_LONGS(size) * sizeof(long)); +} + +static inline void +bitmap_fill(unsigned long *addr, const unsigned int size) +{ + const unsigned int tail = size & (BITS_PER_LONG - 1); + + memset(addr, 0xff, BIT_WORD(size) * sizeof(long)); + + if (tail) + addr[BIT_WORD(size)] = BITMAP_LAST_WORD_MASK(tail); +} + +static inline int +bitmap_full(unsigned long *addr, const unsigned int size) +{ + const unsigned int end = BIT_WORD(size); + const unsigned int tail = size & (BITS_PER_LONG - 1); + unsigned int i; + + for (i = 0; i != end; i++) { + if (addr[i] != ~0UL) + return (0); + } + + if (tail) { + const unsigned long mask = BITMAP_LAST_WORD_MASK(tail); + + if ((addr[end] & mask) != mask) + return (0); + } + return (1); +} + +static inline int +bitmap_empty(unsigned long *addr, const unsigned int size) +{ + const unsigned int end = BIT_WORD(size); + const unsigned int tail = size & (BITS_PER_LONG - 1); + unsigned int i; + + for (i = 0; i != end; i++) { + if (addr[i] != 0) + return (0); + } + + if (tail) { + const unsigned long mask = BITMAP_LAST_WORD_MASK(tail); + + if ((addr[end] & mask) != 0) + return (0); + } + return (1); +} + +static inline void +bitmap_set(unsigned long *map, unsigned int start, int nr) +{ + const unsigned int size = start + nr; + int bits_to_set = BITS_PER_LONG - (start % BITS_PER_LONG); + unsigned long mask_to_set = BITMAP_FIRST_WORD_MASK(start); + + map += BIT_WORD(start); + + while (nr - bits_to_set >= 0) { + *map |= mask_to_set; + nr -= bits_to_set; + bits_to_set = BITS_PER_LONG; + mask_to_set = ~0UL; + map++; + } + + if (nr) { + mask_to_set &= BITMAP_LAST_WORD_MASK(size); + *map |= mask_to_set; + } +} + +static inline void +bitmap_clear(unsigned long *map, unsigned int start, int nr) +{ + const unsigned int size = start + nr; + int bits_to_clear = BITS_PER_LONG - (start % BITS_PER_LONG); + unsigned long mask_to_clear = BITMAP_FIRST_WORD_MASK(start); + + map += BIT_WORD(start); + + while (nr - bits_to_clear >= 0) { + *map &= ~mask_to_clear; + nr -= bits_to_clear; + bits_to_clear = BITS_PER_LONG; + mask_to_clear = ~0UL; + map++; + } + + if (nr) { + mask_to_clear &= BITMAP_LAST_WORD_MASK(size); + *map &= ~mask_to_clear; + } +} + +static inline unsigned int +bitmap_find_next_zero_area_off(const unsigned long *map, + const unsigned int size, unsigned int start, + unsigned int nr, unsigned int align_mask, + unsigned int align_offset) +{ + unsigned int index; + unsigned int end; + unsigned int i; + +retry: + index = find_next_zero_bit(map, size, start); + + index = (((index + align_offset) + align_mask) & ~align_mask) - align_offset; + + end = index + nr; + if (end > size) + return (end); + + i = find_next_bit(map, end, index); + if (i < end) { + start = i + 1; + goto retry; + } + return (index); +} + +static inline unsigned int +bitmap_find_next_zero_area(const unsigned long *map, + const unsigned int size, unsigned int start, + unsigned int nr, unsigned int align_mask) +{ + return (bitmap_find_next_zero_area_off(map, size, + start, nr, align_mask, 0)); +} + +static inline int +bitmap_find_free_region(unsigned long *bitmap, int bits, int order) +{ + int pos; + int end; + + for (pos = 0; (end = pos + (1 << order)) <= bits; pos = end) { + if (!linux_reg_op(bitmap, pos, order, REG_OP_ISFREE)) + continue; + linux_reg_op(bitmap, pos, order, REG_OP_ALLOC); + return (pos); + } + return (-ENOMEM); +} + +static inline int +bitmap_allocate_region(unsigned long *bitmap, int pos, int order) +{ + if (!linux_reg_op(bitmap, pos, order, REG_OP_ISFREE)) + return (-EBUSY); + linux_reg_op(bitmap, pos, order, REG_OP_ALLOC); + return (0); +} + +static inline void +bitmap_release_region(unsigned long *bitmap, int pos, int order) +{ + linux_reg_op(bitmap, pos, order, REG_OP_RELEASE); +} + +static inline unsigned int +bitmap_weight(unsigned long *addr, const unsigned int size) +{ + const unsigned int end = BIT_WORD(size); + const unsigned int tail = size & (BITS_PER_LONG - 1); + unsigned int retval = 0; + unsigned int i; + + for (i = 0; i != end; i++) + retval += hweight_long(addr[i]); + + if (tail) { + const unsigned long mask = BITMAP_LAST_WORD_MASK(tail); + + retval += hweight_long(addr[end] & mask); + } + return (retval); +} + +static inline int +bitmap_equal(const unsigned long *pa, + const unsigned long *pb, unsigned size) +{ + const unsigned int end = BIT_WORD(size); + const unsigned int tail = size & (BITS_PER_LONG - 1); + unsigned int i; + + for (i = 0; i != end; i++) { + if (pa[i] != pb[i]) + return (0); + } + + if (tail) { + const unsigned long mask = BITMAP_LAST_WORD_MASK(tail); + + if ((pa[end] ^ pb[end]) & mask) + return (0); + } + return (1); +} + +static inline void +bitmap_or(unsigned long *dst, const unsigned long *src1, + const unsigned long *src2, const unsigned int size) +{ + const unsigned int end = BITS_TO_LONGS(size); + unsigned int i; + + for (i = 0; i != end; i++) + dst[i] = src1[i] | src2[i]; +} + +static inline void +bitmap_and(unsigned long *dst, const unsigned long *src1, + const unsigned long *src2, const unsigned int size) +{ + const unsigned int end = BITS_TO_LONGS(size); + unsigned int i; + + for (i = 0; i != end; i++) + dst[i] = src1[i] & src2[i]; +} + +static inline void +bitmap_xor(unsigned long *dst, const unsigned long *src1, + const unsigned long *src2, const unsigned int size) +{ + const unsigned int end = BITS_TO_LONGS(size); + unsigned int i; + + for (i = 0; i != end; i++) + dst[i] = src1[i] ^ src2[i]; +} + +#endif /* _LINUX_BITMAP_H_ */ Modified: head/sys/compat/linuxkpi/common/include/linux/bitops.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/bitops.h Thu Apr 6 12:52:05 2017 (r316567) +++ head/sys/compat/linuxkpi/common/include/linux/bitops.h Thu Apr 6 13:30:31 2017 (r316568) @@ -2,7 +2,7 @@ * Copyright (c) 2010 Isilon Systems, Inc. * Copyright (c) 2010 iX Systems, Inc. * Copyright (c) 2010 Panasas, Inc. - * Copyright (c) 2013-2015 Mellanox Technologies, Ltd. + * Copyright (c) 2013-2017 Mellanox Technologies, Ltd. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -256,70 +256,6 @@ find_next_zero_bit(const unsigned long * return (bit); } -static inline void -bitmap_zero(unsigned long *addr, int size) -{ - int len; - - len = BITS_TO_LONGS(size) * sizeof(long); - memset(addr, 0, len); -} - -static inline void -bitmap_fill(unsigned long *addr, int size) -{ - int tail; - int len; - - len = (size / BITS_PER_LONG) * sizeof(long); - memset(addr, 0xff, len); - tail = size & (BITS_PER_LONG - 1); - if (tail) - addr[size / BITS_PER_LONG] = BITMAP_LAST_WORD_MASK(tail); -} - -static inline int -bitmap_full(unsigned long *addr, int size) -{ - unsigned long mask; - int tail; - int len; - int i; - - len = size / BITS_PER_LONG; - for (i = 0; i < len; i++) - if (addr[i] != ~0UL) - return (0); - tail = size & (BITS_PER_LONG - 1); - if (tail) { - mask = BITMAP_LAST_WORD_MASK(tail); - if ((addr[i] & mask) != mask) - return (0); - } - return (1); -} - -static inline int -bitmap_empty(unsigned long *addr, int size) -{ - unsigned long mask; - int tail; - int len; - int i; - - len = size / BITS_PER_LONG; - for (i = 0; i < len; i++) - if (addr[i] != 0) - return (0); - tail = size & (BITS_PER_LONG - 1); - if (tail) { - mask = BITMAP_LAST_WORD_MASK(tail); - if ((addr[i] & mask) != 0) - return (0); - } - return (1); -} - #define __set_bit(i, a) \ atomic_set_long(&((volatile unsigned long *)(a))[BIT_WORD(i)], BIT_MASK(i)) @@ -396,48 +332,6 @@ __test_and_set_bit(long bit, volatile un return !!(val & bit); } -static inline void -bitmap_set(unsigned long *map, int start, int nr) -{ - unsigned long *p = map + BIT_WORD(start); - const int size = start + nr; - int bits_to_set = BITS_PER_LONG - (start % BITS_PER_LONG); - unsigned long mask_to_set = BITMAP_FIRST_WORD_MASK(start); - - while (nr - bits_to_set >= 0) { - *p |= mask_to_set; - nr -= bits_to_set; - bits_to_set = BITS_PER_LONG; - mask_to_set = ~0UL; - p++; - } - if (nr) { - mask_to_set &= BITMAP_LAST_WORD_MASK(size); - *p |= mask_to_set; - } -} - -static inline void -bitmap_clear(unsigned long *map, int start, int nr) -{ - unsigned long *p = map + BIT_WORD(start); - const int size = start + nr; - int bits_to_clear = BITS_PER_LONG - (start % BITS_PER_LONG); - unsigned long mask_to_clear = BITMAP_FIRST_WORD_MASK(start); - - while (nr - bits_to_clear >= 0) { - *p &= ~mask_to_clear; - nr -= bits_to_clear; - bits_to_clear = BITS_PER_LONG; - mask_to_clear = ~0UL; - p++; - } - if (nr) { - mask_to_clear &= BITMAP_LAST_WORD_MASK(size); - *p &= ~mask_to_clear; - } -} - enum { REG_OP_ISFREE, REG_OP_ALLOC, @@ -445,7 +339,7 @@ enum { }; static inline int -__reg_op(unsigned long *bitmap, int pos, int order, int reg_op) +linux_reg_op(unsigned long *bitmap, int pos, int order, int reg_op) { int nbits_reg; int index; @@ -489,71 +383,11 @@ done: return ret; } -static inline int -bitmap_find_free_region(unsigned long *bitmap, int bits, int order) -{ - int pos; - int end; - - for (pos = 0 ; (end = pos + (1 << order)) <= bits; pos = end) { - if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) - continue; - __reg_op(bitmap, pos, order, REG_OP_ALLOC); - return pos; - } - return -ENOMEM; -} - -static inline int -bitmap_allocate_region(unsigned long *bitmap, int pos, int order) -{ - if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) - return -EBUSY; - __reg_op(bitmap, pos, order, REG_OP_ALLOC); - return 0; -} - -static inline void -bitmap_release_region(unsigned long *bitmap, int pos, int order) -{ - __reg_op(bitmap, pos, order, REG_OP_RELEASE); -} - #define for_each_set_bit(bit, addr, size) \ for ((bit) = find_first_bit((addr), (size)); \ (bit) < (size); \ (bit) = find_next_bit((addr), (size), (bit) + 1)) -static inline unsigned -bitmap_weight(unsigned long *bitmap, unsigned nbits) -{ - unsigned bit; - unsigned retval = 0; - - for_each_set_bit(bit, bitmap, nbits) - retval++; - return (retval); -} - -static inline int -bitmap_equal(const unsigned long *pa, - const unsigned long *pb, unsigned bits) -{ - unsigned x; - unsigned y = bits / BITS_PER_LONG; - - for (x = 0; x != y; x++) { - if (pa[x] != pb[x]) - return (0); - } - - y = bits % BITS_PER_LONG; - if (y != 0) { - if ((pa[x] ^ pb[x]) & BITMAP_LAST_WORD_MASK(y)) - return (0); - } - return (1); -} static inline uint64_t sign_extend64(uint64_t value, int index) Modified: head/sys/compat/linuxkpi/common/include/linux/sched.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/sched.h Thu Apr 6 12:52:05 2017 (r316567) +++ head/sys/compat/linuxkpi/common/include/linux/sched.h Thu Apr 6 13:30:31 2017 (r316568) @@ -43,6 +43,8 @@ #include #include #include +#include +#include #include Modified: head/sys/compat/linuxkpi/common/src/linux_idr.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_idr.c Thu Apr 6 12:52:05 2017 (r316567) +++ head/sys/compat/linuxkpi/common/src/linux_idr.c Thu Apr 6 13:30:31 2017 (r316568) @@ -40,7 +40,7 @@ __FBSDID("$FreeBSD$"); #include -#include +#include #include #include #include Modified: head/sys/conf/files.amd64 ============================================================================== --- head/sys/conf/files.amd64 Thu Apr 6 12:52:05 2017 (r316567) +++ head/sys/conf/files.amd64 Thu Apr 6 13:30:31 2017 (r316568) @@ -366,20 +366,34 @@ dev/qlxgbe/ql_isr.c optional qlxgbe pci dev/qlxgbe/ql_misc.c optional qlxgbe pci dev/qlxgbe/ql_os.c optional qlxgbe pci dev/qlxgbe/ql_reset.c optional qlxgbe pci -dev/qlnx/qlnxe/ecore_cxt.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_dcbx.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_dev.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_hw.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_init_fw_funcs.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_init_ops.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_int.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_l2.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_mcp.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_sp_commands.c optional qlnxe pci -dev/qlnx/qlnxe/ecore_spq.c optional qlnxe pci -dev/qlnx/qlnxe/qlnx_ioctl.c optional qlnxe pci -dev/qlnx/qlnxe/qlnx_os.c optional qlnxe pci +dev/qlnx/qlnxe/ecore_cxt.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_dbg_fw_funcs.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_dcbx.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_dev.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_hw.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_init_fw_funcs.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_init_ops.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_int.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_l2.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_mcp.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_sp_commands.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/ecore_spq.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/qlnx_ioctl.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" +dev/qlnx/qlnxe/qlnx_os.c optional qlnxe pci \ + compile-with "${LINUXKPI_C}" dev/sfxge/common/ef10_ev.c optional sfxge pci dev/sfxge/common/ef10_filter.c optional sfxge pci dev/sfxge/common/ef10_intr.c optional sfxge pci Modified: head/sys/dev/qlnx/qlnxe/bcm_osal.h ============================================================================== --- head/sys/dev/qlnx/qlnxe/bcm_osal.h Thu Apr 6 12:52:05 2017 (r316567) +++ head/sys/dev/qlnx/qlnxe/bcm_osal.h Thu Apr 6 13:30:31 2017 (r316568) @@ -35,7 +35,7 @@ #include #if __FreeBSD_version >= 1100090 -#include +#include #else #include #endif Modified: head/sys/modules/qlnx/qlnxe/Makefile ============================================================================== --- head/sys/modules/qlnx/qlnxe/Makefile Thu Apr 6 12:52:05 2017 (r316567) +++ head/sys/modules/qlnx/qlnxe/Makefile Thu Apr 6 13:30:31 2017 (r316568) @@ -57,6 +57,8 @@ CFLAGS += -DECORE_PACKAGE CFLAGS += -DCONFIG_ECORE_L2 CFLAGS += -DECORE_CONFIG_DIRECT_HWFN +CFLAGS+= -I${SRCTOP}/sys/compat/linuxkpi/common/include + #CFLAGS += -g #CFLAGS += -fno-inline From owner-svn-src-all@freebsd.org Thu Apr 6 13:42:33 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5ED22D31503; Thu, 6 Apr 2017 13:42:33 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-it0-x22c.google.com (mail-it0-x22c.google.com [IPv6:2607:f8b0:4001:c0b::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 27D13AAD; Thu, 6 Apr 2017 13:42:33 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-it0-x22c.google.com with SMTP id y18so26102983itc.1; Thu, 06 Apr 2017 06:42:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=BYKhrIws51KIGPvcfjNBvqX9/u01+CEZSx2caD2q8e0=; b=b9pAmKb/XpqLsMCoRMDSe7MrWG3Y7olLH4VbXj7ohaAhW6l6SqY3gy1bQ6AHc4/xeW PSmUz6quLFnZITrQTroRpqa1jnZ7B6BIb+ph/gRD7564CDRlR50TuAvGvtuJBXDFg0es vozI4a/rsh6elbJDTRFRO+Mki7+qkmCZ9pf0o4UJ2wQOWFtcFGn4gTn8CGeCGhMan18T 4TnsaNG06Vll/+IeHyCwR2ISEuGZp2WNiMZKmXLH59KwUzgVT5K4WrFCzO9xoWcY0F46 S4NVukBBF2OXGO1Cn+AX4mqOFGDGgr7jCbsdErqjkG5luTP2kF7/+PfCRTXMqdXlWcnX kB6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=BYKhrIws51KIGPvcfjNBvqX9/u01+CEZSx2caD2q8e0=; b=s6sm+22PEKQ0UcoBhPeVecDaLLAUAvOhdIuv2G29ZfmzqAPeMHemhL/w1wEpQhmX3j WriAxxDdV4J/R+NsO1qc6ReQt5pGd6HF7a+0ev64w7e0IL6ySvijc8haD4tzfjjMWWCm r1xO6PY236xAJ7gloipMHeEyAHeA/sy/SD96FjCMnLzAwDtgdxNt7cQkdXyGHXQx7lid Js6hI0A7jdnSRY2bRWcT6FjSwfaVoF5StzOiOxPvyxZXg1HGBiYUPRqfuXln45nbcpAd Be6PhSehNqxzpZkrq0+/FVoXdmckJqF7bW6k/lu++Hg8LYwmslvS6TeOYAPvzVfKZSOD 2qeg== X-Gm-Message-State: AFeK/H1egmqV57TbEC9A3tzrIROQkKRVJllAhmNtT+BKGl2FHTFQzL8B jfaPvx3jgOUHqaU9tTq2a0K7lx2EfOb7 X-Received: by 10.36.80.213 with SMTP id m204mr25287656itb.105.1491486152402; Thu, 06 Apr 2017 06:42:32 -0700 (PDT) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.30.209 with HTTP; Thu, 6 Apr 2017 06:42:11 -0700 (PDT) In-Reply-To: References: <201704041417.v34EHo3h010715@repo.freebsd.org> From: Ed Maste Date: Thu, 6 Apr 2017 09:42:11 -0400 X-Google-Sender-Auth: 9h0y4KSgi53LFG3cV24u4RuEGkY Message-ID: Subject: Re: svn commit: r316491 - head/usr.bin/grep To: Julian Elischer Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 13:42:33 -0000 On 5 April 2017 at 23:38, Julian Elischer wrote: > > hard coded colours?? > in 2017? No, from the 2010 GSoC that brought in this version of BSD grep. From owner-svn-src-all@freebsd.org Thu Apr 6 13:50:24 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A3B4AD31716; Thu, 6 Apr 2017 13:50:24 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 70924DC7; Thu, 6 Apr 2017 13:50:24 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36DoNed078885; Thu, 6 Apr 2017 13:50:23 GMT (envelope-from ed@FreeBSD.org) Received: (from ed@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36DoNQd078884; Thu, 6 Apr 2017 13:50:23 GMT (envelope-from ed@FreeBSD.org) Message-Id: <201704061350.v36DoNQd078884@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ed set sender to ed@FreeBSD.org using -f From: Ed Schouten Date: Thu, 6 Apr 2017 13:50:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316569 - stable/11/sys/kern X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 13:50:24 -0000 Author: ed Date: Thu Apr 6 13:50:23 2017 New Revision: 316569 URL: https://svnweb.freebsd.org/changeset/base/316569 Log: MFC r315860: Don't require the presence of the compat_3_brand. The existing ELF image activator requires the brandinfo to provide such a string unconditionally, even if the executable format in question doesn't use this type of branding. Skip matching when it's a null pointer. Modified: stable/11/sys/kern/imgact_elf.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/imgact_elf.c ============================================================================== --- stable/11/sys/kern/imgact_elf.c Thu Apr 6 13:30:31 2017 (r316568) +++ stable/11/sys/kern/imgact_elf.c Thu Apr 6 13:50:23 2017 (r316569) @@ -309,8 +309,9 @@ __elfN(get_brandinfo)(struct image_param continue; if (hdr->e_machine == bi->machine && (hdr->e_ident[EI_OSABI] == bi->brand || + (bi->compat_3_brand != NULL && strcmp((const char *)&hdr->e_ident[OLD_EI_BRAND], - bi->compat_3_brand) == 0)) { + bi->compat_3_brand) == 0))) { /* Looks good, but give brand a chance to veto */ if (!bi->header_supported || bi->header_supported(imgp)) { From owner-svn-src-all@freebsd.org Thu Apr 6 13:51:56 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 199DCD317FD; Thu, 6 Apr 2017 13:51:56 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CF231196; Thu, 6 Apr 2017 13:51:55 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36Dpsnl081797; Thu, 6 Apr 2017 13:51:54 GMT (envelope-from ed@FreeBSD.org) Received: (from ed@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36DpsJu081617; Thu, 6 Apr 2017 13:51:54 GMT (envelope-from ed@FreeBSD.org) Message-Id: <201704061351.v36DpsJu081617@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ed set sender to ed@FreeBSD.org using -f From: Ed Schouten Date: Thu, 6 Apr 2017 13:51:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316570 - in stable/11/sys: amd64/cloudabi32 amd64/cloudabi64 arm/cloudabi32 arm64/cloudabi64 i386/cloudabi32 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 13:51:56 -0000 Author: ed Date: Thu Apr 6 13:51:54 2017 New Revision: 316570 URL: https://svnweb.freebsd.org/changeset/base/316570 Log: MFC r315861: Stop providing the compat_3_brand. As of r315860, the ELF image activator works fine for CloudABI without it. Modified: stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c stable/11/sys/i386/cloudabi32/cloudabi32_sysvec.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c ============================================================================== --- stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 13:50:23 2017 (r316569) +++ stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 13:51:54 2017 (r316570) @@ -227,5 +227,4 @@ Elf32_Brandinfo cloudabi32_brand = { .brand = ELFOSABI_CLOUDABI, .machine = EM_386, .sysvec = &cloudabi32_elf_sysvec, - .compat_3_brand = "CloudABI", }; Modified: stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 13:50:23 2017 (r316569) +++ stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 13:51:54 2017 (r316570) @@ -213,5 +213,4 @@ Elf64_Brandinfo cloudabi64_brand = { .machine = EM_X86_64, .sysvec = &cloudabi64_elf_sysvec, .flags = BI_CAN_EXEC_DYN, - .compat_3_brand = "CloudABI", }; Modified: stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c ============================================================================== --- stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 13:50:23 2017 (r316569) +++ stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 13:51:54 2017 (r316570) @@ -189,5 +189,4 @@ Elf32_Brandinfo cloudabi32_brand = { .brand = ELFOSABI_CLOUDABI, .machine = EM_ARM, .sysvec = &cloudabi32_elf_sysvec, - .compat_3_brand = "CloudABI", }; Modified: stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 13:50:23 2017 (r316569) +++ stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 13:51:54 2017 (r316570) @@ -182,5 +182,4 @@ Elf64_Brandinfo cloudabi64_brand = { .machine = EM_AARCH64, .sysvec = &cloudabi64_elf_sysvec, .flags = BI_CAN_EXEC_DYN, - .compat_3_brand = "CloudABI", }; Modified: stable/11/sys/i386/cloudabi32/cloudabi32_sysvec.c ============================================================================== --- stable/11/sys/i386/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 13:50:23 2017 (r316569) +++ stable/11/sys/i386/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 13:51:54 2017 (r316570) @@ -200,5 +200,4 @@ Elf32_Brandinfo cloudabi32_brand = { .brand = ELFOSABI_CLOUDABI, .machine = EM_386, .sysvec = &cloudabi32_elf_sysvec, - .compat_3_brand = "CloudABI", }; From owner-svn-src-all@freebsd.org Thu Apr 6 13:59:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 702E6D31B45; Thu, 6 Apr 2017 13:59:00 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 40BA190E; Thu, 6 Apr 2017 13:59:00 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36Dwxni083193; Thu, 6 Apr 2017 13:58:59 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36Dwx1x083192; Thu, 6 Apr 2017 13:58:59 GMT (envelope-from np@FreeBSD.org) Message-Id: <201704061358.v36Dwx1x083192@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 6 Apr 2017 13:58:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316571 - head/sys/dev/cxgbe/iw_cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 13:59:00 -0000 Author: np Date: Thu Apr 6 13:58:59 2017 New Revision: 316571 URL: https://svnweb.freebsd.org/changeset/base/316571 Log: cxgbe/iw_cxgbe: Remove bad cast that resulted in incorrect length for memory regions larger than 4GB. MFC after: 3 days Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/iw_cxgbe/mem.c Modified: head/sys/dev/cxgbe/iw_cxgbe/mem.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/mem.c Thu Apr 6 13:51:54 2017 (r316570) +++ head/sys/dev/cxgbe/iw_cxgbe/mem.c Thu Apr 6 13:58:59 2017 (r316571) @@ -514,7 +514,7 @@ struct ib_mr *c4iw_register_phys_mem(str mhp->attr.va_fbo = *iova_start; mhp->attr.page_size = shift - 12; - mhp->attr.len = (u32) total_size; + mhp->attr.len = total_size; mhp->attr.pbl_size = npages; ret = register_mem(rhp, php, mhp, shift); if (ret) From owner-svn-src-all@freebsd.org Thu Apr 6 14:36:10 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6856AD32531; Thu, 6 Apr 2017 14:36:10 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 37E1410D; Thu, 6 Apr 2017 14:36:10 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36Ea9Uq099430; Thu, 6 Apr 2017 14:36:09 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36Ea98K099428; Thu, 6 Apr 2017 14:36:09 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704061436.v36Ea98K099428@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 6 Apr 2017 14:36:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316572 - head/lib/libnetbsd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 14:36:10 -0000 Author: emaste Date: Thu Apr 6 14:36:08 2017 New Revision: 316572 URL: https://svnweb.freebsd.org/changeset/base/316572 Log: libnetbsd: add emalloc and friends These are error-checked versions of memory allocation routines used by NetBSD code, and are being added to facilitate updates to makefs. Reviewed by: ngie Differential Revision: https://reviews.freebsd.org/D10291 Added: head/lib/libnetbsd/efun.c (contents, props changed) Modified: head/lib/libnetbsd/Makefile head/lib/libnetbsd/util.h Modified: head/lib/libnetbsd/Makefile ============================================================================== --- head/lib/libnetbsd/Makefile Thu Apr 6 13:58:59 2017 (r316571) +++ head/lib/libnetbsd/Makefile Thu Apr 6 14:36:08 2017 (r316572) @@ -7,7 +7,7 @@ LIB= netbsd CFLAGS+= -I${.CURDIR} -SRCS+= sockaddr_snprintf.c strsuftoll.c util.c util.h +SRCS+= efun.c sockaddr_snprintf.c strsuftoll.c util.c util.h INTERNALLIB= Added: head/lib/libnetbsd/efun.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libnetbsd/efun.c Thu Apr 6 14:36:08 2017 (r316572) @@ -0,0 +1,160 @@ +/* $NetBSD: efun.c,v 1.10 2015/07/26 02:20:30 kamil Exp $ */ +/* $FreeBSD$ */ + +/*- + * Copyright (c) 2006 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#if HAVE_NBTOOL_CONFIG_H +#include "nbtool_config.h" +#endif + +#include +#ifdef __RCSID +__RCSID("$NetBSD: efun.c,v 1.10 2015/07/26 02:20:30 kamil Exp $"); +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +static void (*efunc)(int, const char *, ...) = err; + +void (* +esetfunc(void (*ef)(int, const char *, ...)))(int, const char *, ...) +{ + void (*of)(int, const char *, ...) = efunc; + efunc = ef == NULL ? (void (*)(int, const char *, ...))exit : ef; + return of; +} + +size_t +estrlcpy(char *dst, const char *src, size_t len) +{ + size_t rv; + if ((rv = strlcpy(dst, src, len)) >= len) { + errno = ENAMETOOLONG; + (*efunc)(1, + "Cannot copy string; %zu chars needed %zu provided", + rv, len); + } + return rv; +} + +size_t +estrlcat(char *dst, const char *src, size_t len) +{ + size_t rv; + if ((rv = strlcat(dst, src, len)) >= len) { + errno = ENAMETOOLONG; + (*efunc)(1, + "Cannot append to string; %zu chars needed %zu provided", + rv, len); + } + return rv; +} + +char * +estrdup(const char *s) +{ + char *d = strdup(s); + if (d == NULL) + (*efunc)(1, "Cannot copy string"); + return d; +} + +char * +estrndup(const char *s, size_t len) +{ + char *d = strndup(s, len); + if (d == NULL) + (*efunc)(1, "Cannot copy string"); + return d; +} + +void * +emalloc(size_t n) +{ + void *p = malloc(n); + if (p == NULL && n != 0) + (*efunc)(1, "Cannot allocate %zu bytes", n); + return p; +} + +void * +ecalloc(size_t n, size_t s) +{ + void *p = calloc(n, s); + if (p == NULL && n != 0 && s != 0) + (*efunc)(1, "Cannot allocate %zu blocks of size %zu", n, s); + return p; +} + +void * +erealloc(void *p, size_t n) +{ + void *q = realloc(p, n); + if (q == NULL && n != 0) + (*efunc)(1, "Cannot re-allocate %zu bytes", n); + return q; +} + +FILE * +efopen(const char *p, const char *m) +{ + FILE *fp = fopen(p, m); + if (fp == NULL) + (*efunc)(1, "Cannot open `%s'", p); + return fp; +} + +int +easprintf(char ** __restrict ret, const char * __restrict format, ...) +{ + int rv; + va_list ap; + va_start(ap, format); + if ((rv = vasprintf(ret, format, ap)) == -1) + (*efunc)(1, "Cannot format string"); + va_end(ap); + return rv; +} + +int +evasprintf(char ** __restrict ret, const char * __restrict format, va_list ap) +{ + int rv; + if ((rv = vasprintf(ret, format, ap)) == -1) + (*efunc)(1, "Cannot format string"); + return rv; +} Modified: head/lib/libnetbsd/util.h ============================================================================== --- head/lib/libnetbsd/util.h Thu Apr 6 13:58:59 2017 (r316571) +++ head/lib/libnetbsd/util.h Thu Apr 6 14:36:08 2017 (r316572) @@ -36,6 +36,19 @@ #include #include +void (*esetfunc(void (*)(int, const char *, ...)))(int, const char *, ...); +size_t estrlcpy(char *, const char *, size_t); +size_t estrlcat(char *, const char *, size_t); +char *estrdup(const char *); +char *estrndup(const char *, size_t); +void *emalloc(size_t); +void *ecalloc(size_t, size_t); +void *erealloc(void *, size_t); +struct __sFILE *efopen(const char *, const char *); +int easprintf(char ** __restrict, const char * __restrict, ...) + __printflike(2, 3); +int evasprintf(char ** __restrict, const char * __restrict, __va_list) + __printflike(2, 0); char *flags_to_string(u_long flags, const char *def); int sockaddr_snprintf(char *, size_t, const char *, const struct sockaddr *); From owner-svn-src-all@freebsd.org Thu Apr 6 14:50:17 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2B12FD3294B; Thu, 6 Apr 2017 14:50:17 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E3AA5DF6; Thu, 6 Apr 2017 14:50:16 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36EoGMJ003763; Thu, 6 Apr 2017 14:50:16 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36EoGj4003762; Thu, 6 Apr 2017 14:50:16 GMT (envelope-from np@FreeBSD.org) Message-Id: <201704061450.v36EoGj4003762@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 6 Apr 2017 14:50:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316573 - head/sys/dev/cxgbe/iw_cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 14:50:17 -0000 Author: np Date: Thu Apr 6 14:50:15 2017 New Revision: 316573 URL: https://svnweb.freebsd.org/changeset/base/316573 Log: cxgbe/iw_cxgbe: Replace a magic constant with something more readable (and accurate). T4 and later have an extra bit for page shift so the maximum page size is 8TB (shift of 12 + 31) instead of 128MB (12 + 15). This saves space in the chip's PBL (physical buffer list) when registering very large memory regions. MFC after: 3 days Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/iw_cxgbe/mem.c Modified: head/sys/dev/cxgbe/iw_cxgbe/mem.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/mem.c Thu Apr 6 14:36:08 2017 (r316572) +++ head/sys/dev/cxgbe/iw_cxgbe/mem.c Thu Apr 6 14:50:15 2017 (r316573) @@ -345,7 +345,8 @@ static int build_phys_page_list(struct i } /* Find largest page shift we can use to cover buffers */ - for (*shift = PAGE_SHIFT; *shift < 27; ++(*shift)) + for (*shift = PAGE_SHIFT; *shift < PAGE_SHIFT + M_FW_RI_TPTE_PS; + ++(*shift)) if ((1ULL << *shift) & mask) break; From owner-svn-src-all@freebsd.org Thu Apr 6 15:10:39 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 41D87D32E30; Thu, 6 Apr 2017 15:10:39 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E04BAF5A; Thu, 6 Apr 2017 15:10:38 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36FAcXH011637; Thu, 6 Apr 2017 15:10:38 GMT (envelope-from ed@FreeBSD.org) Received: (from ed@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36FAajp011618; Thu, 6 Apr 2017 15:10:36 GMT (envelope-from ed@FreeBSD.org) Message-Id: <201704061510.v36FAajp011618@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ed set sender to ed@FreeBSD.org using -f From: Ed Schouten Date: Thu, 6 Apr 2017 15:10:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316574 - in stable/11/sys: amd64/cloudabi32 amd64/cloudabi64 arm/cloudabi32 arm64/cloudabi64 compat/cloudabi compat/cloudabi32 compat/cloudabi64 contrib/cloudabi i386/cloudabi32 X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 15:10:39 -0000 Author: ed Date: Thu Apr 6 15:10:36 2017 New Revision: 316574 URL: https://svnweb.freebsd.org/changeset/base/316574 Log: Bring kernel space CloudABI code in sync with HEAD. MFC r312353, r312354 and r312355: Sync in the latest CloudABI generated source files. Languages like C++17 and Go provide direct support for slice types: pointer/length pairs. The CloudABI generator now has more complete for this, meaning that for the C binding, pointer/length pairs now use an automatic naming scheme of ${name} and ${name}_len. Apart from this change and some reformatting, the ABI definitions are identical. Binary compatibility is preserved entirely. MFC r315700: Make file descriptor passing work for CloudABI's sendmsg(). Reduce the potential amount of code duplication between cloudabi32 and cloudabi64 by creating a cloudabi_sock_recv() utility function. The cloudabi32 and cloudabi64 modules will then only contain code to convert the iovecs to the native pointer size. In cloudabi_sock_recv(), we can now construct an SCM_RIGHTS cmsghdr in an mbuf and pass that on to kern_sendit(). MFC r315736: Make file descriptor passing for CloudABI's recvmsg() work. Similar to the change for sendmsg(), create a pointer size independent implementation of recvmsg() and let cloudabi32 and cloudabi64 call into it. In case userspace requests one or more file descriptors, call kern_recvit() in such a way that we get the control message headers in an mbuf. Iterate over all of the headers and copy the file descriptors to userspace. Modified: stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c stable/11/sys/compat/cloudabi/cloudabi_file.c stable/11/sys/compat/cloudabi/cloudabi_mem.c stable/11/sys/compat/cloudabi/cloudabi_proc.c stable/11/sys/compat/cloudabi/cloudabi_random.c stable/11/sys/compat/cloudabi/cloudabi_sock.c stable/11/sys/compat/cloudabi/cloudabi_util.h stable/11/sys/compat/cloudabi32/cloudabi32_fd.c stable/11/sys/compat/cloudabi32/cloudabi32_poll.c stable/11/sys/compat/cloudabi32/cloudabi32_proto.h stable/11/sys/compat/cloudabi32/cloudabi32_sock.c stable/11/sys/compat/cloudabi32/cloudabi32_syscall.h stable/11/sys/compat/cloudabi32/cloudabi32_syscalls.c stable/11/sys/compat/cloudabi32/cloudabi32_sysent.c stable/11/sys/compat/cloudabi32/cloudabi32_systrace_args.c stable/11/sys/compat/cloudabi32/cloudabi32_thread.c stable/11/sys/compat/cloudabi64/cloudabi64_fd.c stable/11/sys/compat/cloudabi64/cloudabi64_poll.c stable/11/sys/compat/cloudabi64/cloudabi64_proto.h stable/11/sys/compat/cloudabi64/cloudabi64_sock.c stable/11/sys/compat/cloudabi64/cloudabi64_syscall.h stable/11/sys/compat/cloudabi64/cloudabi64_syscalls.c stable/11/sys/compat/cloudabi64/cloudabi64_sysent.c stable/11/sys/compat/cloudabi64/cloudabi64_systrace_args.c stable/11/sys/compat/cloudabi64/cloudabi64_thread.c stable/11/sys/contrib/cloudabi/cloudabi32_types.h stable/11/sys/contrib/cloudabi/cloudabi64_types.h stable/11/sys/contrib/cloudabi/cloudabi_types_common.h stable/11/sys/contrib/cloudabi/syscalls32.master stable/11/sys/contrib/cloudabi/syscalls64.master stable/11/sys/i386/cloudabi32/cloudabi32_sysvec.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c ============================================================================== --- stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 15:10:36 2017 (r316574) @@ -181,7 +181,7 @@ cloudabi32_thread_setregs(struct thread /* Perform standard register initialization. */ stack.ss_sp = TO_PTR(attr->stack); - stack.ss_size = attr->stack_size - sizeof(args); + stack.ss_size = attr->stack_len - sizeof(args); cpu_set_upcall(td, TO_PTR(attr->entry_point), NULL, &stack); /* Modified: stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 15:10:36 2017 (r316574) @@ -164,7 +164,7 @@ cloudabi64_thread_setregs(struct thread * from the top of the stack to store a single element array, * containing a pointer to the TCB. %fs base will point to this. */ - tcbptr = rounddown(attr->stack + attr->stack_size - sizeof(tcbptr), + tcbptr = rounddown(attr->stack + attr->stack_len - sizeof(tcbptr), _Alignof(tcbptr)); error = copyout(&tcb, (void *)tcbptr, sizeof(tcb)); if (error != 0) Modified: stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c ============================================================================== --- stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 15:10:36 2017 (r316574) @@ -148,7 +148,7 @@ cloudabi32_thread_setregs(struct thread /* Perform standard register initialization. */ stack.ss_sp = TO_PTR(attr->stack); - stack.ss_size = attr->stack_size; + stack.ss_size = attr->stack_len; cpu_set_upcall(td, TO_PTR(attr->entry_point), NULL, &stack); /* Modified: stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 15:10:36 2017 (r316574) @@ -140,7 +140,7 @@ cloudabi64_thread_setregs(struct thread /* Perform standard register initialization. */ stack.ss_sp = TO_PTR(attr->stack); - stack.ss_size = attr->stack_size; + stack.ss_size = attr->stack_len; cpu_set_upcall(td, TO_PTR(attr->entry_point), NULL, &stack); /* Modified: stable/11/sys/compat/cloudabi/cloudabi_file.c ============================================================================== --- stable/11/sys/compat/cloudabi/cloudabi_file.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi/cloudabi_file.c Thu Apr 6 15:10:36 2017 (r316574) @@ -146,7 +146,7 @@ cloudabi_sys_file_create(struct thread * char *path; int error; - error = copyin_path(uap->path, uap->pathlen, &path); + error = copyin_path(uap->path, uap->path_len, &path); if (error != 0) return (error); @@ -177,10 +177,10 @@ cloudabi_sys_file_link(struct thread *td char *path1, *path2; int error; - error = copyin_path(uap->path1, uap->path1len, &path1); + error = copyin_path(uap->path1, uap->path1_len, &path1); if (error != 0) return (error); - error = copyin_path(uap->path2, uap->path2len, &path2); + error = copyin_path(uap->path2, uap->path2_len, &path2); if (error != 0) { cloudabi_freestr(path1); return (error); @@ -261,7 +261,7 @@ cloudabi_sys_file_open(struct thread *td fp->f_flag = fflags & FMASK; /* Open path. */ - error = copyin_path(uap->path, uap->pathlen, &path); + error = copyin_path(uap->path, uap->path_len, &path); if (error != 0) { fdrop(fp, td); return (error); @@ -380,7 +380,7 @@ cloudabi_sys_file_readdir(struct thread { struct iovec iov = { .iov_base = uap->buf, - .iov_len = uap->nbyte + .iov_len = uap->buf_len }; struct uio uio = { .uio_iov = &iov, @@ -494,7 +494,7 @@ done: return (error); /* Return number of bytes copied to userspace. */ - td->td_retval[0] = uap->nbyte - uio.uio_resid; + td->td_retval[0] = uap->buf_len - uio.uio_resid; return (0); } @@ -505,12 +505,12 @@ cloudabi_sys_file_readlink(struct thread char *path; int error; - error = copyin_path(uap->path, uap->pathlen, &path); + error = copyin_path(uap->path, uap->path_len, &path); if (error != 0) return (error); error = kern_readlinkat(td, uap->fd, path, UIO_SYSSPACE, - uap->buf, UIO_USERSPACE, uap->bufsize); + uap->buf, UIO_USERSPACE, uap->buf_len); cloudabi_freestr(path); return (error); } @@ -522,16 +522,16 @@ cloudabi_sys_file_rename(struct thread * char *old, *new; int error; - error = copyin_path(uap->old, uap->oldlen, &old); + error = copyin_path(uap->path1, uap->path1_len, &old); if (error != 0) return (error); - error = copyin_path(uap->new, uap->newlen, &new); + error = copyin_path(uap->path2, uap->path2_len, &new); if (error != 0) { cloudabi_freestr(old); return (error); } - error = kern_renameat(td, uap->oldfd, old, uap->newfd, new, + error = kern_renameat(td, uap->fd1, old, uap->fd2, new, UIO_SYSSPACE); cloudabi_freestr(old); cloudabi_freestr(new); @@ -653,7 +653,7 @@ cloudabi_sys_file_stat_get(struct thread char *path; int error; - error = copyin_path(uap->path, uap->pathlen, &path); + error = copyin_path(uap->path, uap->path_len, &path); if (error != 0) return (error); @@ -707,7 +707,7 @@ cloudabi_sys_file_stat_put(struct thread error = copyin(uap->buf, &fs, sizeof(fs)); if (error != 0) return (error); - error = copyin_path(uap->path, uap->pathlen, &path); + error = copyin_path(uap->path, uap->path_len, &path); if (error != 0) return (error); @@ -726,10 +726,10 @@ cloudabi_sys_file_symlink(struct thread char *path1, *path2; int error; - error = copyin_path(uap->path1, uap->path1len, &path1); + error = copyin_path(uap->path1, uap->path1_len, &path1); if (error != 0) return (error); - error = copyin_path(uap->path2, uap->path2len, &path2); + error = copyin_path(uap->path2, uap->path2_len, &path2); if (error != 0) { cloudabi_freestr(path1); return (error); @@ -748,7 +748,7 @@ cloudabi_sys_file_unlink(struct thread * char *path; int error; - error = copyin_path(uap->path, uap->pathlen, &path); + error = copyin_path(uap->path, uap->path_len, &path); if (error != 0) return (error); Modified: stable/11/sys/compat/cloudabi/cloudabi_mem.c ============================================================================== --- stable/11/sys/compat/cloudabi/cloudabi_mem.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi/cloudabi_mem.c Thu Apr 6 15:10:36 2017 (r316574) @@ -85,7 +85,7 @@ cloudabi_sys_mem_advise(struct thread *t return (EINVAL); } - return (kern_madvise(td, (uintptr_t)uap->addr, uap->len, + return (kern_madvise(td, (uintptr_t)uap->mapping, uap->mapping_len, behav)); } @@ -94,7 +94,7 @@ cloudabi_sys_mem_lock(struct thread *td, { return (kern_mlock(td->td_proc, td->td_ucred, - __DECONST(uintptr_t, uap->addr), uap->len)); + __DECONST(uintptr_t, uap->mapping), uap->mapping_len)); } int @@ -133,7 +133,7 @@ cloudabi_sys_mem_protect(struct thread * if (error != 0) return (error); - return (kern_mprotect(td, (uintptr_t)uap->addr, uap->len, + return (kern_mprotect(td, (uintptr_t)uap->mapping, uap->mapping_len, prot)); } @@ -156,7 +156,7 @@ cloudabi_sys_mem_sync(struct thread *td, if ((uap->flags & CLOUDABI_MS_INVALIDATE) != 0) flags |= MS_INVALIDATE; - return (kern_msync(td, (uintptr_t)uap->addr, uap->len, + return (kern_msync(td, (uintptr_t)uap->mapping, uap->mapping_len, flags)); } @@ -165,8 +165,8 @@ cloudabi_sys_mem_unlock(struct thread *t struct cloudabi_sys_mem_unlock_args *uap) { - return (kern_munlock(td, __DECONST(uintptr_t, uap->addr), - uap->len)); + return (kern_munlock(td, __DECONST(uintptr_t, uap->mapping), + uap->mapping_len)); } int @@ -174,5 +174,5 @@ cloudabi_sys_mem_unmap(struct thread *td struct cloudabi_sys_mem_unmap_args *uap) { - return (kern_munmap(td, (uintptr_t)uap->addr, uap->len)); + return (kern_munmap(td, (uintptr_t)uap->mapping, uap->mapping_len)); } Modified: stable/11/sys/compat/cloudabi/cloudabi_proc.c ============================================================================== --- stable/11/sys/compat/cloudabi/cloudabi_proc.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi/cloudabi_proc.c Thu Apr 6 15:10:36 2017 (r316574) @@ -53,8 +53,8 @@ cloudabi_sys_proc_exec(struct thread *td error = pre_execve(td, &oldvmspace); if (error != 0) return (error); - error = exec_copyin_data_fds(td, &args, uap->data, uap->datalen, - uap->fds, uap->fdslen); + error = exec_copyin_data_fds(td, &args, uap->data, uap->data_len, + uap->fds, uap->fds_len); if (error == 0) { args.fd = uap->fd; error = kern_execve(td, &args, NULL); Modified: stable/11/sys/compat/cloudabi/cloudabi_random.c ============================================================================== --- stable/11/sys/compat/cloudabi/cloudabi_random.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi/cloudabi_random.c Thu Apr 6 15:10:36 2017 (r316574) @@ -38,7 +38,7 @@ cloudabi_sys_random_get(struct thread *t { struct iovec iov = { .iov_base = uap->buf, - .iov_len = uap->nbyte + .iov_len = uap->buf_len }; struct uio uio = { .uio_iov = &iov, Modified: stable/11/sys/compat/cloudabi/cloudabi_sock.c ============================================================================== --- stable/11/sys/compat/cloudabi/cloudabi_sock.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi/cloudabi_sock.c Thu Apr 6 15:10:36 2017 (r316574) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015 Nuxi, https://nuxi.nl/ + * Copyright (c) 2015-2017 Nuxi, https://nuxi.nl/ * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -30,7 +30,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include +#include #include #include #include @@ -48,7 +50,7 @@ __FBSDID("$FreeBSD$"); #include /* Converts FreeBSD's struct sockaddr to CloudABI's cloudabi_sockaddr_t. */ -void +static void cloudabi_convert_sockaddr(const struct sockaddr *sa, socklen_t sal, cloudabi_sockaddr_t *rsa) { @@ -140,7 +142,7 @@ cloudabi_sys_sock_bind(struct thread *td struct sockaddr_un sun; int error; - error = copyin_sockaddr_un(uap->path, uap->pathlen, &sun); + error = copyin_sockaddr_un(uap->path, uap->path_len, &sun); if (error != 0) return (error); return (kern_bindat(td, uap->fd, uap->sock, (struct sockaddr *)&sun)); @@ -153,7 +155,7 @@ cloudabi_sys_sock_connect(struct thread struct sockaddr_un sun; int error; - error = copyin_sockaddr_un(uap->path, uap->pathlen, &sun); + error = copyin_sockaddr_un(uap->path, uap->path_len, &sun); if (error != 0) return (error); return (kern_connectat(td, uap->fd, uap->sock, @@ -243,3 +245,126 @@ cloudabi_sys_sock_stat_get(struct thread fdrop(fp, td); return (copyout(&ss, uap->buf, sizeof(ss))); } + +int +cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd, struct iovec *data, + size_t datalen, cloudabi_fd_t *fds, size_t fdslen, + cloudabi_msgflags_t flags, size_t *rdatalen, size_t *rfdslen, + cloudabi_sockaddr_t *peername, cloudabi_msgflags_t *rflags) +{ + struct sockaddr_storage ss; + struct msghdr hdr = { + .msg_name = &ss, + .msg_namelen = sizeof(ss), + .msg_iov = data, + .msg_iovlen = datalen, + }; + struct mbuf *control; + int error; + + /* Convert flags. */ + if (flags & CLOUDABI_MSG_PEEK) + hdr.msg_flags |= MSG_PEEK; + if (flags & CLOUDABI_MSG_WAITALL) + hdr.msg_flags |= MSG_WAITALL; + + control = NULL; + error = kern_recvit(td, fd, &hdr, UIO_SYSSPACE, + fdslen > 0 ? &control : NULL); + if (error != 0) + return (error); + + /* Convert return values. */ + *rdatalen = td->td_retval[0]; + td->td_retval[0] = 0; + *rfdslen = 0; + cloudabi_convert_sockaddr((struct sockaddr *)&ss, + MIN(hdr.msg_namelen, sizeof(ss)), peername); + *rflags = 0; + if (hdr.msg_flags & MSG_EOR) + *rflags |= CLOUDABI_MSG_EOR; + if (hdr.msg_flags & MSG_TRUNC) + *rflags |= CLOUDABI_MSG_TRUNC; + + /* Extract file descriptors from SCM_RIGHTS messages. */ + if (control != NULL) { + struct cmsghdr *chdr; + + hdr.msg_control = mtod(control, void *); + hdr.msg_controllen = control->m_len; + for (chdr = CMSG_FIRSTHDR(&hdr); chdr != NULL; + chdr = CMSG_NXTHDR(&hdr, chdr)) { + if (chdr->cmsg_level == SOL_SOCKET && + chdr->cmsg_type == SCM_RIGHTS) { + size_t nfds; + + nfds = (chdr->cmsg_len - CMSG_LEN(0)) / + sizeof(int); + if (nfds > fdslen) { + /* Unable to store file descriptors. */ + nfds = fdslen; + *rflags |= CLOUDABI_MSG_CTRUNC; + } + error = copyout(CMSG_DATA(chdr), fds, + nfds * sizeof(int)); + if (error != 0) { + m_free(control); + return (error); + } + fds += nfds; + fdslen -= nfds; + *rfdslen += nfds; + } + } + m_free(control); + } + return (0); +} + +int +cloudabi_sock_send(struct thread *td, cloudabi_fd_t fd, struct iovec *data, + size_t datalen, const cloudabi_fd_t *fds, size_t fdslen, + cloudabi_msgflags_t flags, size_t *rdatalen) +{ + struct msghdr hdr = { + .msg_iov = data, + .msg_iovlen = datalen, + }; + struct mbuf *control; + int error, mflags; + + /* Convert flags. */ + mflags = MSG_NOSIGNAL; + if (flags & CLOUDABI_MSG_EOR) + mflags |= MSG_EOR; + + /* Convert file descriptor array to an SCM_RIGHTS message. */ + if (fdslen > MCLBYTES || CMSG_SPACE(fdslen * sizeof(int)) > MCLBYTES) { + return (EINVAL); + } else if (fdslen > 0) { + struct cmsghdr *chdr; + + control = m_get2(CMSG_SPACE(fdslen * sizeof(int)), + M_WAITOK, MT_CONTROL, 0); + control->m_len = CMSG_SPACE(fdslen * sizeof(int)); + + chdr = mtod(control, struct cmsghdr *); + chdr->cmsg_len = CMSG_LEN(fdslen * sizeof(int)); + chdr->cmsg_level = SOL_SOCKET; + chdr->cmsg_type = SCM_RIGHTS; + error = copyin(fds, CMSG_DATA(chdr), fdslen * sizeof(int)); + if (error != 0) { + m_free(control); + return (error); + } + } else { + control = NULL; + } + + error = kern_sendit(td, fd, &hdr, mflags, control, UIO_USERSPACE); + if (error != 0) + return (error); + *rdatalen = td->td_retval[0]; + td->td_retval[0] = 0; + return (0); +} Modified: stable/11/sys/compat/cloudabi/cloudabi_util.h ============================================================================== --- stable/11/sys/compat/cloudabi/cloudabi_util.h Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi/cloudabi_util.h Thu Apr 6 15:10:36 2017 (r316574) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015 Nuxi, https://nuxi.nl/ + * Copyright (c) 2015-2017 Nuxi, https://nuxi.nl/ * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -44,10 +44,6 @@ int cloudabi_clock_time_get(struct threa /* Converts a FreeBSD errno to a CloudABI errno. */ cloudabi_errno_t cloudabi_convert_errno(int); -/* Converts FreeBSD's struct sockaddr to CloudABI's cloudabi_sockaddr_t. */ -void cloudabi_convert_sockaddr(const struct sockaddr *, socklen_t, - cloudabi_sockaddr_t *); - /* Converts a file descriptor to a CloudABI file descriptor type. */ cloudabi_filetype_t cloudabi_convert_filetype(const struct file *); @@ -77,6 +73,13 @@ int cloudabi_futex_lock_wrlock(struct th cloudabi_scope_t, cloudabi_clockid_t, cloudabi_timestamp_t, cloudabi_timestamp_t); +/* Socket operations. */ +int cloudabi_sock_recv(struct thread *, cloudabi_fd_t, struct iovec *, size_t, + cloudabi_fd_t *, size_t, cloudabi_msgflags_t, size_t *, size_t *, + cloudabi_sockaddr_t *, cloudabi_msgflags_t *); +int cloudabi_sock_send(struct thread *, cloudabi_fd_t, struct iovec *, size_t, + const cloudabi_fd_t *, size_t, cloudabi_msgflags_t, size_t *); + /* vDSO setup and teardown. */ void cloudabi_vdso_init(struct sysentvec *, char *, char *); void cloudabi_vdso_destroy(struct sysentvec *); Modified: stable/11/sys/compat/cloudabi32/cloudabi32_fd.c ============================================================================== --- stable/11/sys/compat/cloudabi32/cloudabi32_fd.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi32/cloudabi32_fd.c Thu Apr 6 15:10:36 2017 (r316574) @@ -71,8 +71,8 @@ cloudabi32_copyinuio(const cloudabi32_io free(uio, M_IOV); return (error); } - iov[i].iov_base = TO_PTR(iovobj.iov_base); - iov[i].iov_len = iovobj.iov_len; + iov[i].iov_base = TO_PTR(iovobj.buf); + iov[i].iov_len = iovobj.buf_len; if (iov[i].iov_len > INT32_MAX - uio->uio_resid) { free(uio, M_IOV); return (EINVAL); @@ -91,7 +91,7 @@ cloudabi32_sys_fd_pread(struct thread *t struct uio *uio; int error; - error = cloudabi32_copyinuio(uap->iov, uap->iovcnt, &uio); + error = cloudabi32_copyinuio(uap->iovs, uap->iovs_len, &uio); if (error != 0) return (error); error = kern_preadv(td, uap->fd, uio, uap->offset); @@ -106,7 +106,7 @@ cloudabi32_sys_fd_pwrite(struct thread * struct uio *uio; int error; - error = cloudabi32_copyinuio(TO_PTR(uap->iov), uap->iovcnt, &uio); + error = cloudabi32_copyinuio(TO_PTR(uap->iovs), uap->iovs_len, &uio); if (error != 0) return (error); error = kern_pwritev(td, uap->fd, uio, uap->offset); @@ -121,7 +121,7 @@ cloudabi32_sys_fd_read(struct thread *td struct uio *uio; int error; - error = cloudabi32_copyinuio(uap->iov, uap->iovcnt, &uio); + error = cloudabi32_copyinuio(uap->iovs, uap->iovs_len, &uio); if (error != 0) return (error); error = kern_readv(td, uap->fd, uio); @@ -136,7 +136,7 @@ cloudabi32_sys_fd_write(struct thread *t struct uio *uio; int error; - error = cloudabi32_copyinuio(TO_PTR(uap->iov), uap->iovcnt, &uio); + error = cloudabi32_copyinuio(TO_PTR(uap->iovs), uap->iovs_len, &uio); if (error != 0) return (error); error = kern_writev(td, uap->fd, uio); Modified: stable/11/sys/compat/cloudabi32/cloudabi32_poll.c ============================================================================== --- stable/11/sys/compat/cloudabi32/cloudabi32_poll.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi32/cloudabi32_poll.c Thu Apr 6 15:10:36 2017 (r316574) @@ -398,11 +398,11 @@ cloudabi32_sys_poll_fd(struct thread *td return (EINVAL); timeout.tv_sec = subtimo.clock.timeout / 1000000000; timeout.tv_nsec = subtimo.clock.timeout % 1000000000; - return (kern_kevent(td, uap->fd, uap->nin, uap->nout, ©ops, - &timeout)); + return (kern_kevent(td, uap->fd, uap->in_len, uap->out_len, + ©ops, &timeout)); } else { /* Poll without a timeout. */ - return (kern_kevent(td, uap->fd, uap->nin, uap->nout, ©ops, - NULL)); + return (kern_kevent(td, uap->fd, uap->in_len, uap->out_len, + ©ops, NULL)); } } Modified: stable/11/sys/compat/cloudabi32/cloudabi32_proto.h ============================================================================== --- stable/11/sys/compat/cloudabi32/cloudabi32_proto.h Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi32/cloudabi32_proto.h Thu Apr 6 15:10:36 2017 (r316574) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/contrib/cloudabi/syscalls32.master 304563 2016-08-21 15:56:19Z ed + * created from FreeBSD: head/sys/contrib/cloudabi/syscalls32.master 312353 2017-01-17 22:03:08Z ed */ #ifndef _CLOUDABI32_SYSPROTO_H_ @@ -63,20 +63,20 @@ struct cloudabi_sys_fd_dup_args { }; struct cloudabi32_sys_fd_pread_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; - char iov_l_[PADL_(const cloudabi32_iovec_t *)]; const cloudabi32_iovec_t * iov; char iov_r_[PADR_(const cloudabi32_iovec_t *)]; - char iovcnt_l_[PADL_(size_t)]; size_t iovcnt; char iovcnt_r_[PADR_(size_t)]; + char iovs_l_[PADL_(const cloudabi32_iovec_t *)]; const cloudabi32_iovec_t * iovs; char iovs_r_[PADR_(const cloudabi32_iovec_t *)]; + char iovs_len_l_[PADL_(size_t)]; size_t iovs_len; char iovs_len_r_[PADR_(size_t)]; char offset_l_[PADL_(cloudabi_filesize_t)]; cloudabi_filesize_t offset; char offset_r_[PADR_(cloudabi_filesize_t)]; }; struct cloudabi32_sys_fd_pwrite_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; - char iov_l_[PADL_(const cloudabi32_ciovec_t *)]; const cloudabi32_ciovec_t * iov; char iov_r_[PADR_(const cloudabi32_ciovec_t *)]; - char iovcnt_l_[PADL_(size_t)]; size_t iovcnt; char iovcnt_r_[PADR_(size_t)]; + char iovs_l_[PADL_(const cloudabi32_ciovec_t *)]; const cloudabi32_ciovec_t * iovs; char iovs_r_[PADR_(const cloudabi32_ciovec_t *)]; + char iovs_len_l_[PADL_(size_t)]; size_t iovs_len; char iovs_len_r_[PADR_(size_t)]; char offset_l_[PADL_(cloudabi_filesize_t)]; cloudabi_filesize_t offset; char offset_r_[PADR_(cloudabi_filesize_t)]; }; struct cloudabi32_sys_fd_read_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; - char iov_l_[PADL_(const cloudabi32_iovec_t *)]; const cloudabi32_iovec_t * iov; char iov_r_[PADR_(const cloudabi32_iovec_t *)]; - char iovcnt_l_[PADL_(size_t)]; size_t iovcnt; char iovcnt_r_[PADR_(size_t)]; + char iovs_l_[PADL_(const cloudabi32_iovec_t *)]; const cloudabi32_iovec_t * iovs; char iovs_r_[PADR_(const cloudabi32_iovec_t *)]; + char iovs_len_l_[PADL_(size_t)]; size_t iovs_len; char iovs_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_fd_replace_args { char from_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t from; char from_r_[PADR_(cloudabi_fd_t)]; @@ -101,8 +101,8 @@ struct cloudabi_sys_fd_sync_args { }; struct cloudabi32_sys_fd_write_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; - char iov_l_[PADL_(const cloudabi32_ciovec_t *)]; const cloudabi32_ciovec_t * iov; char iov_r_[PADR_(const cloudabi32_ciovec_t *)]; - char iovcnt_l_[PADL_(size_t)]; size_t iovcnt; char iovcnt_r_[PADR_(size_t)]; + char iovs_l_[PADL_(const cloudabi32_ciovec_t *)]; const cloudabi32_ciovec_t * iovs; char iovs_r_[PADR_(const cloudabi32_ciovec_t *)]; + char iovs_len_l_[PADL_(size_t)]; size_t iovs_len; char iovs_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_file_advise_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; @@ -118,44 +118,44 @@ struct cloudabi_sys_file_allocate_args { struct cloudabi_sys_file_create_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; - char pathlen_l_[PADL_(size_t)]; size_t pathlen; char pathlen_r_[PADR_(size_t)]; + char path_len_l_[PADL_(size_t)]; size_t path_len; char path_len_r_[PADR_(size_t)]; char type_l_[PADL_(cloudabi_filetype_t)]; cloudabi_filetype_t type; char type_r_[PADR_(cloudabi_filetype_t)]; }; struct cloudabi_sys_file_link_args { char fd1_l_[PADL_(cloudabi_lookup_t)]; cloudabi_lookup_t fd1; char fd1_r_[PADR_(cloudabi_lookup_t)]; char path1_l_[PADL_(const char *)]; const char * path1; char path1_r_[PADR_(const char *)]; - char path1len_l_[PADL_(size_t)]; size_t path1len; char path1len_r_[PADR_(size_t)]; + char path1_len_l_[PADL_(size_t)]; size_t path1_len; char path1_len_r_[PADR_(size_t)]; char fd2_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd2; char fd2_r_[PADR_(cloudabi_fd_t)]; char path2_l_[PADL_(const char *)]; const char * path2; char path2_r_[PADR_(const char *)]; - char path2len_l_[PADL_(size_t)]; size_t path2len; char path2len_r_[PADR_(size_t)]; + char path2_len_l_[PADL_(size_t)]; size_t path2_len; char path2_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_file_open_args { char dirfd_l_[PADL_(cloudabi_lookup_t)]; cloudabi_lookup_t dirfd; char dirfd_r_[PADR_(cloudabi_lookup_t)]; char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; - char pathlen_l_[PADL_(size_t)]; size_t pathlen; char pathlen_r_[PADR_(size_t)]; + char path_len_l_[PADL_(size_t)]; size_t path_len; char path_len_r_[PADR_(size_t)]; char oflags_l_[PADL_(cloudabi_oflags_t)]; cloudabi_oflags_t oflags; char oflags_r_[PADR_(cloudabi_oflags_t)]; char fds_l_[PADL_(const cloudabi_fdstat_t *)]; const cloudabi_fdstat_t * fds; char fds_r_[PADR_(const cloudabi_fdstat_t *)]; }; struct cloudabi_sys_file_readdir_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; - char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char buf_len_l_[PADL_(size_t)]; size_t buf_len; char buf_len_r_[PADR_(size_t)]; char cookie_l_[PADL_(cloudabi_dircookie_t)]; cloudabi_dircookie_t cookie; char cookie_r_[PADR_(cloudabi_dircookie_t)]; }; struct cloudabi_sys_file_readlink_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; - char pathlen_l_[PADL_(size_t)]; size_t pathlen; char pathlen_r_[PADR_(size_t)]; + char path_len_l_[PADL_(size_t)]; size_t path_len; char path_len_r_[PADR_(size_t)]; char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; - char bufsize_l_[PADL_(size_t)]; size_t bufsize; char bufsize_r_[PADR_(size_t)]; + char buf_len_l_[PADL_(size_t)]; size_t buf_len; char buf_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_file_rename_args { - char oldfd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t oldfd; char oldfd_r_[PADR_(cloudabi_fd_t)]; - char old_l_[PADL_(const char *)]; const char * old; char old_r_[PADR_(const char *)]; - char oldlen_l_[PADL_(size_t)]; size_t oldlen; char oldlen_r_[PADR_(size_t)]; - char newfd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t newfd; char newfd_r_[PADR_(cloudabi_fd_t)]; - char new_l_[PADL_(const char *)]; const char * new; char new_r_[PADR_(const char *)]; - char newlen_l_[PADL_(size_t)]; size_t newlen; char newlen_r_[PADR_(size_t)]; + char fd1_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd1; char fd1_r_[PADR_(cloudabi_fd_t)]; + char path1_l_[PADL_(const char *)]; const char * path1; char path1_r_[PADR_(const char *)]; + char path1_len_l_[PADL_(size_t)]; size_t path1_len; char path1_len_r_[PADR_(size_t)]; + char fd2_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd2; char fd2_r_[PADR_(cloudabi_fd_t)]; + char path2_l_[PADL_(const char *)]; const char * path2; char path2_r_[PADR_(const char *)]; + char path2_len_l_[PADL_(size_t)]; size_t path2_len; char path2_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_file_stat_fget_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; @@ -169,27 +169,27 @@ struct cloudabi_sys_file_stat_fput_args struct cloudabi_sys_file_stat_get_args { char fd_l_[PADL_(cloudabi_lookup_t)]; cloudabi_lookup_t fd; char fd_r_[PADR_(cloudabi_lookup_t)]; char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; - char pathlen_l_[PADL_(size_t)]; size_t pathlen; char pathlen_r_[PADR_(size_t)]; + char path_len_l_[PADL_(size_t)]; size_t path_len; char path_len_r_[PADR_(size_t)]; char buf_l_[PADL_(cloudabi_filestat_t *)]; cloudabi_filestat_t * buf; char buf_r_[PADR_(cloudabi_filestat_t *)]; }; struct cloudabi_sys_file_stat_put_args { char fd_l_[PADL_(cloudabi_lookup_t)]; cloudabi_lookup_t fd; char fd_r_[PADR_(cloudabi_lookup_t)]; char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; - char pathlen_l_[PADL_(size_t)]; size_t pathlen; char pathlen_r_[PADR_(size_t)]; + char path_len_l_[PADL_(size_t)]; size_t path_len; char path_len_r_[PADR_(size_t)]; char buf_l_[PADL_(const cloudabi_filestat_t *)]; const cloudabi_filestat_t * buf; char buf_r_[PADR_(const cloudabi_filestat_t *)]; char flags_l_[PADL_(cloudabi_fsflags_t)]; cloudabi_fsflags_t flags; char flags_r_[PADR_(cloudabi_fsflags_t)]; }; struct cloudabi_sys_file_symlink_args { char path1_l_[PADL_(const char *)]; const char * path1; char path1_r_[PADR_(const char *)]; - char path1len_l_[PADL_(size_t)]; size_t path1len; char path1len_r_[PADR_(size_t)]; + char path1_len_l_[PADL_(size_t)]; size_t path1_len; char path1_len_r_[PADR_(size_t)]; char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; char path2_l_[PADL_(const char *)]; const char * path2; char path2_r_[PADR_(const char *)]; - char path2len_l_[PADL_(size_t)]; size_t path2len; char path2len_r_[PADR_(size_t)]; + char path2_len_l_[PADL_(size_t)]; size_t path2_len; char path2_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_file_unlink_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; - char pathlen_l_[PADL_(size_t)]; size_t pathlen; char pathlen_r_[PADR_(size_t)]; + char path_len_l_[PADL_(size_t)]; size_t path_len; char path_len_r_[PADR_(size_t)]; char flags_l_[PADL_(cloudabi_ulflags_t)]; cloudabi_ulflags_t flags; char flags_r_[PADR_(cloudabi_ulflags_t)]; }; struct cloudabi_sys_lock_unlock_args { @@ -197,13 +197,13 @@ struct cloudabi_sys_lock_unlock_args { char scope_l_[PADL_(cloudabi_scope_t)]; cloudabi_scope_t scope; char scope_r_[PADR_(cloudabi_scope_t)]; }; struct cloudabi_sys_mem_advise_args { - char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)]; - char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char mapping_l_[PADL_(void *)]; void * mapping; char mapping_r_[PADR_(void *)]; + char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)]; char advice_l_[PADL_(cloudabi_advice_t)]; cloudabi_advice_t advice; char advice_r_[PADR_(cloudabi_advice_t)]; }; struct cloudabi_sys_mem_lock_args { - char addr_l_[PADL_(const void *)]; const void * addr; char addr_r_[PADR_(const void *)]; - char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char mapping_l_[PADL_(const void *)]; const void * mapping; char mapping_r_[PADR_(const void *)]; + char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_mem_map_args { char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)]; @@ -214,22 +214,22 @@ struct cloudabi_sys_mem_map_args { char off_l_[PADL_(cloudabi_filesize_t)]; cloudabi_filesize_t off; char off_r_[PADR_(cloudabi_filesize_t)]; }; struct cloudabi_sys_mem_protect_args { - char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)]; - char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char mapping_l_[PADL_(void *)]; void * mapping; char mapping_r_[PADR_(void *)]; + char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)]; char prot_l_[PADL_(cloudabi_mprot_t)]; cloudabi_mprot_t prot; char prot_r_[PADR_(cloudabi_mprot_t)]; }; struct cloudabi_sys_mem_sync_args { - char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)]; - char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char mapping_l_[PADL_(void *)]; void * mapping; char mapping_r_[PADR_(void *)]; + char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)]; char flags_l_[PADL_(cloudabi_msflags_t)]; cloudabi_msflags_t flags; char flags_r_[PADR_(cloudabi_msflags_t)]; }; struct cloudabi_sys_mem_unlock_args { - char addr_l_[PADL_(const void *)]; const void * addr; char addr_r_[PADR_(const void *)]; - char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char mapping_l_[PADL_(const void *)]; const void * mapping; char mapping_r_[PADR_(const void *)]; + char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_mem_unmap_args { - char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)]; - char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)]; + char mapping_l_[PADL_(void *)]; void * mapping; char mapping_r_[PADR_(void *)]; + char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)]; }; struct cloudabi32_sys_poll_args { char in_l_[PADL_(const cloudabi32_subscription_t *)]; const cloudabi32_subscription_t * in; char in_r_[PADR_(const cloudabi32_subscription_t *)]; @@ -239,17 +239,17 @@ struct cloudabi32_sys_poll_args { struct cloudabi32_sys_poll_fd_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; char in_l_[PADL_(const cloudabi32_subscription_t *)]; const cloudabi32_subscription_t * in; char in_r_[PADR_(const cloudabi32_subscription_t *)]; - char nin_l_[PADL_(size_t)]; size_t nin; char nin_r_[PADR_(size_t)]; + char in_len_l_[PADL_(size_t)]; size_t in_len; char in_len_r_[PADR_(size_t)]; char out_l_[PADL_(cloudabi32_event_t *)]; cloudabi32_event_t * out; char out_r_[PADR_(cloudabi32_event_t *)]; - char nout_l_[PADL_(size_t)]; size_t nout; char nout_r_[PADR_(size_t)]; + char out_len_l_[PADL_(size_t)]; size_t out_len; char out_len_r_[PADR_(size_t)]; char timeout_l_[PADL_(const cloudabi32_subscription_t *)]; const cloudabi32_subscription_t * timeout; char timeout_r_[PADR_(const cloudabi32_subscription_t *)]; }; struct cloudabi_sys_proc_exec_args { char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; char data_l_[PADL_(const void *)]; const void * data; char data_r_[PADR_(const void *)]; - char datalen_l_[PADL_(size_t)]; size_t datalen; char datalen_r_[PADR_(size_t)]; + char data_len_l_[PADL_(size_t)]; size_t data_len; char data_len_r_[PADR_(size_t)]; char fds_l_[PADL_(const cloudabi_fd_t *)]; const cloudabi_fd_t * fds; char fds_r_[PADR_(const cloudabi_fd_t *)]; - char fdslen_l_[PADL_(size_t)]; size_t fdslen; char fdslen_r_[PADR_(size_t)]; + char fds_len_l_[PADL_(size_t)]; size_t fds_len; char fds_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_proc_exit_args { char rval_l_[PADL_(cloudabi_exitcode_t)]; cloudabi_exitcode_t rval; char rval_r_[PADR_(cloudabi_exitcode_t)]; @@ -262,7 +262,7 @@ struct cloudabi_sys_proc_raise_args { }; struct cloudabi_sys_random_get_args { char buf_l_[PADL_(void *)]; void * buf; char buf_r_[PADR_(void *)]; - char nbyte_l_[PADL_(size_t)]; size_t nbyte; char nbyte_r_[PADR_(size_t)]; + char buf_len_l_[PADL_(size_t)]; size_t buf_len; char buf_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_sock_accept_args { char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)]; @@ -272,13 +272,13 @@ struct cloudabi_sys_sock_bind_args { char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)]; char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; - char pathlen_l_[PADL_(size_t)]; size_t pathlen; char pathlen_r_[PADR_(size_t)]; + char path_len_l_[PADL_(size_t)]; size_t path_len; char path_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_sock_connect_args { char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)]; char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)]; char path_l_[PADL_(const char *)]; const char * path; char path_r_[PADR_(const char *)]; - char pathlen_l_[PADL_(size_t)]; size_t pathlen; char pathlen_r_[PADR_(size_t)]; + char path_len_l_[PADL_(size_t)]; size_t path_len; char path_len_r_[PADR_(size_t)]; }; struct cloudabi_sys_sock_listen_args { char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)]; Modified: stable/11/sys/compat/cloudabi32/cloudabi32_sock.c ============================================================================== --- stable/11/sys/compat/cloudabi32/cloudabi32_sock.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi32/cloudabi32_sock.c Thu Apr 6 15:10:36 2017 (r316574) @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015 Nuxi, https://nuxi.nl/ + * Copyright (c) 2015-2017 Nuxi, https://nuxi.nl/ * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -29,9 +29,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include #include #include @@ -48,53 +45,43 @@ int cloudabi32_sys_sock_recv(struct thread *td, struct cloudabi32_sys_sock_recv_args *uap) { - struct sockaddr_storage ss; cloudabi32_recv_in_t ri; cloudabi32_recv_out_t ro = {}; cloudabi32_iovec_t iovobj; - struct msghdr msghdr = {}; + struct iovec *iov; const cloudabi32_iovec_t *user_iov; - size_t i; + size_t i, rdatalen, rfdslen; int error; error = copyin(uap->in, &ri, sizeof(ri)); if (error != 0) return (error); - /* Convert results in cloudabi_recv_in_t to struct msghdr. */ - if (ri.ri_datalen > UIO_MAXIOV) + /* Convert iovecs to native format. */ + if (ri.ri_data_len > UIO_MAXIOV) return (EINVAL); - msghdr.msg_iovlen = ri.ri_datalen; - msghdr.msg_iov = malloc(msghdr.msg_iovlen * sizeof(struct iovec), + iov = malloc(ri.ri_data_len * sizeof(struct iovec), M_SOCKET, M_WAITOK); user_iov = TO_PTR(ri.ri_data); - for (i = 0; i < msghdr.msg_iovlen; i++) { + for (i = 0; i < ri.ri_data_len; i++) { error = copyin(&user_iov[i], &iovobj, sizeof(iovobj)); if (error != 0) { - free(msghdr.msg_iov, M_SOCKET); + free(iov, M_SOCKET); return (error); } - msghdr.msg_iov[i].iov_base = TO_PTR(iovobj.iov_base); - msghdr.msg_iov[i].iov_len = iovobj.iov_len; + iov[i].iov_base = TO_PTR(iovobj.buf); + iov[i].iov_len = iovobj.buf_len; } - msghdr.msg_name = &ss; - msghdr.msg_namelen = sizeof(ss); - if (ri.ri_flags & CLOUDABI_MSG_PEEK) - msghdr.msg_flags |= MSG_PEEK; - if (ri.ri_flags & CLOUDABI_MSG_WAITALL) - msghdr.msg_flags |= MSG_WAITALL; - - /* TODO(ed): Add file descriptor passing. */ - error = kern_recvit(td, uap->sock, &msghdr, UIO_SYSSPACE, NULL); - free(msghdr.msg_iov, M_SOCKET); + + error = cloudabi_sock_recv(td, uap->sock, iov, ri.ri_data_len, + TO_PTR(ri.ri_fds), ri.ri_fds_len, ri.ri_flags, &rdatalen, + &rfdslen, &ro.ro_peername, &ro.ro_flags); + free(iov, M_SOCKET); if (error != 0) return (error); - /* Convert results in msghdr to cloudabi_recv_out_t. */ - ro.ro_datalen = td->td_retval[0]; - cloudabi_convert_sockaddr((struct sockaddr *)&ss, - MIN(msghdr.msg_namelen, sizeof(ss)), &ro.ro_peername); - td->td_retval[0] = 0; + ro.ro_datalen = rdatalen; + ro.ro_fdslen = rfdslen; return (copyout(&ro, uap->out, sizeof(ro))); } @@ -105,44 +92,37 @@ cloudabi32_sys_sock_send(struct thread * cloudabi32_send_in_t si; cloudabi32_send_out_t so = {}; cloudabi32_ciovec_t iovobj; - struct msghdr msghdr = {}; + struct iovec *iov; const cloudabi32_ciovec_t *user_iov; - size_t i; - int error, flags; + size_t datalen, i; + int error; error = copyin(uap->in, &si, sizeof(si)); if (error != 0) return (error); - /* Convert results in cloudabi_send_in_t to struct msghdr. */ - if (si.si_datalen > UIO_MAXIOV) + /* Convert iovecs to native format. */ + if (si.si_data_len > UIO_MAXIOV) return (EINVAL); - msghdr.msg_iovlen = si.si_datalen; - msghdr.msg_iov = malloc(msghdr.msg_iovlen * sizeof(struct iovec), + iov = malloc(si.si_data_len * sizeof(struct iovec), M_SOCKET, M_WAITOK); user_iov = TO_PTR(si.si_data); - for (i = 0; i < msghdr.msg_iovlen; i++) { + for (i = 0; i < si.si_data_len; i++) { error = copyin(&user_iov[i], &iovobj, sizeof(iovobj)); if (error != 0) { - free(msghdr.msg_iov, M_SOCKET); + free(iov, M_SOCKET); return (error); } - msghdr.msg_iov[i].iov_base = TO_PTR(iovobj.iov_base); - msghdr.msg_iov[i].iov_len = iovobj.iov_len; + iov[i].iov_base = TO_PTR(iovobj.buf); + iov[i].iov_len = iovobj.buf_len; } - flags = MSG_NOSIGNAL; - if (si.si_flags & CLOUDABI_MSG_EOR) - flags |= MSG_EOR; - - /* TODO(ed): Add file descriptor passing. */ - error = kern_sendit(td, uap->sock, &msghdr, flags, NULL, UIO_USERSPACE); - free(msghdr.msg_iov, M_SOCKET); + error = cloudabi_sock_send(td, uap->sock, iov, si.si_data_len, + TO_PTR(si.si_fds), si.si_fds_len, si.si_flags, &datalen); + free(iov, M_SOCKET); if (error != 0) return (error); - /* Convert results in msghdr to cloudabi_send_out_t. */ - so.so_datalen = td->td_retval[0]; - td->td_retval[0] = 0; + so.so_datalen = datalen; return (copyout(&so, uap->out, sizeof(so))); } Modified: stable/11/sys/compat/cloudabi32/cloudabi32_syscall.h ============================================================================== --- stable/11/sys/compat/cloudabi32/cloudabi32_syscall.h Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi32/cloudabi32_syscall.h Thu Apr 6 15:10:36 2017 (r316574) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/contrib/cloudabi/syscalls32.master 304563 2016-08-21 15:56:19Z ed + * created from FreeBSD: head/sys/contrib/cloudabi/syscalls32.master 312353 2017-01-17 22:03:08Z ed */ #define CLOUDABI32_SYS_cloudabi_sys_clock_res_get 0 Modified: stable/11/sys/compat/cloudabi32/cloudabi32_syscalls.c ============================================================================== --- stable/11/sys/compat/cloudabi32/cloudabi32_syscalls.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi32/cloudabi32_syscalls.c Thu Apr 6 15:10:36 2017 (r316574) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/contrib/cloudabi/syscalls32.master 304563 2016-08-21 15:56:19Z ed + * created from FreeBSD: head/sys/contrib/cloudabi/syscalls32.master 312353 2017-01-17 22:03:08Z ed */ const char *cloudabi32_syscallnames[] = { Modified: stable/11/sys/compat/cloudabi32/cloudabi32_sysent.c ============================================================================== --- stable/11/sys/compat/cloudabi32/cloudabi32_sysent.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi32/cloudabi32_sysent.c Thu Apr 6 15:10:36 2017 (r316574) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/contrib/cloudabi/syscalls32.master 304563 2016-08-21 15:56:19Z ed + * created from FreeBSD: head/sys/contrib/cloudabi/syscalls32.master 312353 2017-01-17 22:03:08Z ed */ #include Modified: stable/11/sys/compat/cloudabi32/cloudabi32_systrace_args.c ============================================================================== --- stable/11/sys/compat/cloudabi32/cloudabi32_systrace_args.c Thu Apr 6 14:50:15 2017 (r316573) +++ stable/11/sys/compat/cloudabi32/cloudabi32_systrace_args.c Thu Apr 6 15:10:36 2017 (r316574) @@ -74,8 +74,8 @@ systrace_args(int sysnum, void *params, case 8: { struct cloudabi32_sys_fd_pread_args *p = params; iarg[0] = p->fd; /* cloudabi_fd_t */ - uarg[1] = (intptr_t) p->iov; /* const cloudabi32_iovec_t * */ - uarg[2] = p->iovcnt; /* size_t */ + uarg[1] = (intptr_t) p->iovs; /* const cloudabi32_iovec_t * */ + uarg[2] = p->iovs_len; /* size_t */ iarg[3] = p->offset; /* cloudabi_filesize_t */ *n_args = 4; break; @@ -84,8 +84,8 @@ systrace_args(int sysnum, void *params, case 9: { struct cloudabi32_sys_fd_pwrite_args *p = params; iarg[0] = p->fd; /* cloudabi_fd_t */ - uarg[1] = (intptr_t) p->iov; /* const cloudabi32_ciovec_t * */ - uarg[2] = p->iovcnt; /* size_t */ + uarg[1] = (intptr_t) p->iovs; /* const cloudabi32_ciovec_t * */ + uarg[2] = p->iovs_len; /* size_t */ iarg[3] = p->offset; /* cloudabi_filesize_t */ *n_args = 4; break; @@ -94,8 +94,8 @@ systrace_args(int sysnum, void *params, case 10: { struct cloudabi32_sys_fd_read_args *p = params; iarg[0] = p->fd; /* cloudabi_fd_t */ - uarg[1] = (intptr_t) p->iov; /* const cloudabi32_iovec_t * */ - uarg[2] = p->iovcnt; /* size_t */ + uarg[1] = (intptr_t) p->iovs; /* const cloudabi32_iovec_t * */ + uarg[2] = p->iovs_len; /* size_t */ *n_args = 3; break; } @@ -144,8 +144,8 @@ systrace_args(int sysnum, void *params, case 16: { struct cloudabi32_sys_fd_write_args *p = params; iarg[0] = p->fd; /* cloudabi_fd_t */ - uarg[1] = (intptr_t) p->iov; /* const cloudabi32_ciovec_t * */ - uarg[2] = p->iovcnt; /* size_t */ + uarg[1] = (intptr_t) p->iovs; /* const cloudabi32_ciovec_t * */ + uarg[2] = p->iovs_len; /* size_t */ *n_args = 3; break; } @@ -173,7 +173,7 @@ systrace_args(int sysnum, void *params, struct cloudabi_sys_file_create_args *p = params; iarg[0] = p->fd; /* cloudabi_fd_t */ uarg[1] = (intptr_t) p->path; /* const char * */ - uarg[2] = p->pathlen; /* size_t */ + uarg[2] = p->path_len; /* size_t */ iarg[3] = p->type; /* cloudabi_filetype_t */ *n_args = 4; break; @@ -183,10 +183,10 @@ systrace_args(int sysnum, void *params, struct cloudabi_sys_file_link_args *p = params; iarg[0] = p->fd1; /* cloudabi_lookup_t */ uarg[1] = (intptr_t) p->path1; /* const char * */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@freebsd.org Thu Apr 6 15:15:02 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9FD5CD320BA; Thu, 6 Apr 2017 15:15:02 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6FEE015D5; Thu, 6 Apr 2017 15:15:02 +0000 (UTC) (envelope-from allanjude@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36FF1ZM015733; Thu, 6 Apr 2017 15:15:01 GMT (envelope-from allanjude@FreeBSD.org) Received: (from allanjude@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36FF1PD015732; Thu, 6 Apr 2017 15:15:01 GMT (envelope-from allanjude@FreeBSD.org) Message-Id: <201704061515.v36FF1PD015732@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: allanjude set sender to allanjude@FreeBSD.org using -f From: Allan Jude Date: Thu, 6 Apr 2017 15:15:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r316575 - svnadmin/conf X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 15:15:02 -0000 Author: allanjude Date: Thu Apr 6 15:15:01 2017 New Revision: 316575 URL: https://svnweb.freebsd.org/changeset/base/316575 Log: Release tsoome from mentorship Toomas is doing great work, so lets get out of his way and let him do it. Approved by: imp Modified: svnadmin/conf/mentors Modified: svnadmin/conf/mentors ============================================================================== --- svnadmin/conf/mentors Thu Apr 6 15:10:36 2017 (r316574) +++ svnadmin/conf/mentors Thu Apr 6 15:15:01 2017 (r316575) @@ -27,4 +27,3 @@ pstef pfg rgrimes grehan slm ken Co-mentor: scottl, ambrisko stevek sjg -tsoome allanjude Co-mentor: imp From owner-svn-src-all@freebsd.org Thu Apr 6 15:19:20 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 90408D3213C; Thu, 6 Apr 2017 15:19:20 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54D6F1793; Thu, 6 Apr 2017 15:19:20 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36FJJBj015923; Thu, 6 Apr 2017 15:19:19 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36FJI3q015916; Thu, 6 Apr 2017 15:19:18 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201704061519.v36FJI3q015916@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 6 Apr 2017 15:19:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316576 - in stable/11/sys: amd64/cloudabi32 amd64/cloudabi64 arm/cloudabi32 arm64/cloudabi64 i386/cloudabi32 kern sys X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 15:19:20 -0000 Author: kib Date: Thu Apr 6 15:19:18 2017 New Revision: 316576 URL: https://svnweb.freebsd.org/changeset/base/316576 Log: Improvements for the brand detection and prioritization. MFC r315701 (by ed): Set the interpreter path to /nonexistent. MFC r315749: Adjust r314851 to not require every brand to specify interpreter path. MFC r315753: Add a flag BI_BRAND_ONLY_STATIC to specify that the brand only matches static binaries. MFC r315754: Update r315753 with the proper flag name. MFC r316211: A followup to r315749, two more places where brand->interp_path was accessed unconditionally. Modified: stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c stable/11/sys/i386/cloudabi32/cloudabi32_sysvec.c stable/11/sys/kern/imgact_elf.c stable/11/sys/sys/imgact_elf.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c ============================================================================== --- stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 15:15:01 2017 (r316575) +++ stable/11/sys/amd64/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 15:19:18 2017 (r316576) @@ -227,4 +227,5 @@ Elf32_Brandinfo cloudabi32_brand = { .brand = ELFOSABI_CLOUDABI, .machine = EM_386, .sysvec = &cloudabi32_elf_sysvec, + .flags = BI_BRAND_ONLY_STATIC, }; Modified: stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 15:15:01 2017 (r316575) +++ stable/11/sys/amd64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 15:19:18 2017 (r316576) @@ -212,5 +212,5 @@ Elf64_Brandinfo cloudabi64_brand = { .brand = ELFOSABI_CLOUDABI, .machine = EM_X86_64, .sysvec = &cloudabi64_elf_sysvec, - .flags = BI_CAN_EXEC_DYN, + .flags = BI_CAN_EXEC_DYN | BI_BRAND_ONLY_STATIC, }; Modified: stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c ============================================================================== --- stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 15:15:01 2017 (r316575) +++ stable/11/sys/arm/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 15:19:18 2017 (r316576) @@ -189,4 +189,5 @@ Elf32_Brandinfo cloudabi32_brand = { .brand = ELFOSABI_CLOUDABI, .machine = EM_ARM, .sysvec = &cloudabi32_elf_sysvec, + .flags = BI_BRAND_ONLY_STATIC, }; Modified: stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c ============================================================================== --- stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 15:15:01 2017 (r316575) +++ stable/11/sys/arm64/cloudabi64/cloudabi64_sysvec.c Thu Apr 6 15:19:18 2017 (r316576) @@ -181,5 +181,5 @@ Elf64_Brandinfo cloudabi64_brand = { .brand = ELFOSABI_CLOUDABI, .machine = EM_AARCH64, .sysvec = &cloudabi64_elf_sysvec, - .flags = BI_CAN_EXEC_DYN, + .flags = BI_CAN_EXEC_DYN | BI_BRAND_ONLY_STATIC, }; Modified: stable/11/sys/i386/cloudabi32/cloudabi32_sysvec.c ============================================================================== --- stable/11/sys/i386/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 15:15:01 2017 (r316575) +++ stable/11/sys/i386/cloudabi32/cloudabi32_sysvec.c Thu Apr 6 15:19:18 2017 (r316576) @@ -200,4 +200,5 @@ Elf32_Brandinfo cloudabi32_brand = { .brand = ELFOSABI_CLOUDABI, .machine = EM_386, .sysvec = &cloudabi32_elf_sysvec, + .flags = BI_BRAND_ONLY_STATIC, }; Modified: stable/11/sys/kern/imgact_elf.c ============================================================================== --- stable/11/sys/kern/imgact_elf.c Thu Apr 6 15:15:01 2017 (r316575) +++ stable/11/sys/kern/imgact_elf.c Thu Apr 6 15:19:18 2017 (r316576) @@ -273,6 +273,8 @@ __elfN(get_brandinfo)(struct image_param bi = elf_brand_list[i]; if (bi == NULL) continue; + if (interp != NULL && (bi->flags & BI_BRAND_ONLY_STATIC) != 0) + continue; if (hdr->e_machine == bi->machine && (bi->flags & (BI_BRAND_NOTE|BI_BRAND_NOTE_MANDATORY)) != 0) { ret = __elfN(check_note)(imgp, bi->brand_note, osrel); @@ -289,9 +291,11 @@ __elfN(get_brandinfo)(struct image_param * this, we return first brand which accepted * our note and, optionally, header. */ - if (ret && bi_m == NULL && (strlen(bi->interp_path) + - 1 != interp_name_len || strncmp(interp, - bi->interp_path, interp_name_len) != 0)) { + if (ret && bi_m == NULL && interp != NULL && + (bi->interp_path == NULL || + (strlen(bi->interp_path) + 1 != interp_name_len || + strncmp(interp, bi->interp_path, interp_name_len) + != 0))) { bi_m = bi; ret = 0; } @@ -305,7 +309,8 @@ __elfN(get_brandinfo)(struct image_param /* If the executable has a brand, search for it in the brand list. */ for (i = 0; i < MAX_BRANDS; i++) { bi = elf_brand_list[i]; - if (bi == NULL || bi->flags & BI_BRAND_NOTE_MANDATORY) + if (bi == NULL || (bi->flags & BI_BRAND_NOTE_MANDATORY) != 0 || + (interp != NULL && (bi->flags & BI_BRAND_ONLY_STATIC) != 0)) continue; if (hdr->e_machine == bi->machine && (hdr->e_ident[EI_OSABI] == bi->brand || @@ -319,7 +324,11 @@ __elfN(get_brandinfo)(struct image_param * Again, prefer strictly matching * interpreter path. */ - if (strlen(bi->interp_path) + 1 == + if (interp_name_len == 0 && + bi->interp_path == NULL) + return (bi); + if (bi->interp_path != NULL && + strlen(bi->interp_path) + 1 == interp_name_len && strncmp(interp, bi->interp_path, interp_name_len) == 0) return (bi); @@ -348,9 +357,12 @@ __elfN(get_brandinfo)(struct image_param if (interp != NULL) { for (i = 0; i < MAX_BRANDS; i++) { bi = elf_brand_list[i]; - if (bi == NULL || bi->flags & BI_BRAND_NOTE_MANDATORY) + if (bi == NULL || (bi->flags & + (BI_BRAND_NOTE_MANDATORY | BI_BRAND_ONLY_STATIC)) + != 0) continue; if (hdr->e_machine == bi->machine && + bi->interp_path != NULL && /* ELF image p_filesz includes terminating zero */ strlen(bi->interp_path) + 1 == interp_name_len && strncmp(interp, bi->interp_path, interp_name_len) @@ -362,7 +374,8 @@ __elfN(get_brandinfo)(struct image_param /* Lacking a recognized interpreter, try the default brand */ for (i = 0; i < MAX_BRANDS; i++) { bi = elf_brand_list[i]; - if (bi == NULL || bi->flags & BI_BRAND_NOTE_MANDATORY) + if (bi == NULL || (bi->flags & BI_BRAND_NOTE_MANDATORY) != 0 || + (interp != NULL && (bi->flags & BI_BRAND_ONLY_STATIC) != 0)) continue; if (hdr->e_machine == bi->machine && __elfN(fallback_brand) == bi->brand) Modified: stable/11/sys/sys/imgact_elf.h ============================================================================== --- stable/11/sys/sys/imgact_elf.h Thu Apr 6 15:15:01 2017 (r316575) +++ stable/11/sys/sys/imgact_elf.h Thu Apr 6 15:19:18 2017 (r316576) @@ -81,6 +81,7 @@ typedef struct { #define BI_CAN_EXEC_DYN 0x0001 #define BI_BRAND_NOTE 0x0002 /* May have note.ABI-tag section. */ #define BI_BRAND_NOTE_MANDATORY 0x0004 /* Must have note.ABI-tag section. */ +#define BI_BRAND_ONLY_STATIC 0x0008 /* Match only interp-less binaries. */ } __ElfN(Brandinfo); __ElfType(Auxargs); From owner-svn-src-all@freebsd.org Thu Apr 6 15:42:14 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 101FFD3261D; Thu, 6 Apr 2017 15:42:14 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DEABE784; Thu, 6 Apr 2017 15:42:13 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36FgDRE027945; Thu, 6 Apr 2017 15:42:13 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36FgDBe027944; Thu, 6 Apr 2017 15:42:13 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <201704061542.v36FgDBe027944@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Thu, 6 Apr 2017 15:42:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316577 - head/sys/boot/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 15:42:14 -0000 Author: tsoome Date: Thu Apr 6 15:42:12 2017 New Revision: 316577 URL: https://svnweb.freebsd.org/changeset/base/316577 Log: loader: part.c cstyle cleanup The description tells it all, as an side note, I am using uint8_t instead of u_char as the partition table data really is handled as byte stream, not char array. Reviewed by: allanjude, imp Differential Revision: https://reviews.freebsd.org/D10180 Modified: head/sys/boot/common/part.c Modified: head/sys/boot/common/part.c ============================================================================== --- head/sys/boot/common/part.c Thu Apr 6 15:19:18 2017 (r316576) +++ head/sys/boot/common/part.c Thu Apr 6 15:42:12 2017 (r316577) @@ -42,7 +42,7 @@ __FBSDID("$FreeBSD$"); #include #ifdef PART_DEBUG -#define DEBUG(fmt, args...) printf("%s: " fmt "\n" , __func__ , ## args) +#define DEBUG(fmt, args...) printf("%s: " fmt "\n", __func__, ## args) #else #define DEBUG(fmt, args...) #endif @@ -145,7 +145,7 @@ gpt_parttype(uuid_t type) return (PART_UNKNOWN); } -static struct gpt_hdr* +static struct gpt_hdr * gpt_checkhdr(struct gpt_hdr *hdr, uint64_t lba_self, uint64_t lba_last, uint16_t sectorsize) { @@ -199,7 +199,7 @@ gpt_checkhdr(struct gpt_hdr *hdr, uint64 } static int -gpt_checktbl(const struct gpt_hdr *hdr, u_char *tbl, size_t size, +gpt_checktbl(const struct gpt_hdr *hdr, uint8_t *tbl, size_t size, uint64_t lba_last) { struct gpt_ent *ent; @@ -226,13 +226,13 @@ gpt_checktbl(const struct gpt_hdr *hdr, return (0); } -static struct ptable* +static struct ptable * ptable_gptread(struct ptable *table, void *dev, diskread_t dread) { struct pentry *entry; struct gpt_hdr *phdr, hdr; struct gpt_ent *ent; - u_char *buf, *tbl; + uint8_t *buf, *tbl; uint64_t offset; int pri, sec; size_t size, i; @@ -379,7 +379,7 @@ mbr_parttype(uint8_t type) return (PART_UNKNOWN); } -static struct ptable* +static struct ptable * ptable_ebrread(struct ptable *table, void *dev, diskread_t dread) { struct dos_partition *dp; @@ -457,13 +457,13 @@ bsd_parttype(uint8_t type) return (PART_UNKNOWN); } -static struct ptable* +static struct ptable * ptable_bsdread(struct ptable *table, void *dev, diskread_t dread) { struct disklabel *dl; struct partition *part; struct pentry *entry; - u_char *buf; + uint8_t *buf; uint32_t raw_offset; int i; @@ -539,12 +539,12 @@ vtoc8_parttype(uint16_t type) return (PART_UNKNOWN); } -static struct ptable* +static struct ptable * ptable_vtoc8read(struct ptable *table, void *dev, diskread_t dread) { struct pentry *entry; struct vtoc8 *dl; - u_char *buf; + uint8_t *buf; uint16_t sum, heads, sectors; int i; @@ -603,13 +603,13 @@ out: } #endif /* LOADER_VTOC8_SUPPORT */ -struct ptable* +struct ptable * ptable_open(void *dev, uint64_t sectors, uint16_t sectorsize, diskread_t *dread) { struct dos_partition *dp; struct ptable *table; - u_char *buf; + uint8_t *buf; int i, count; #ifdef LOADER_MBR_SUPPORT struct pentry *entry; @@ -795,14 +795,14 @@ ptable_getpart(const struct ptable *tabl * 5: Active FAT/FAT32 slice * 6: non-active FAT/FAT32 slice */ -#define PREF_RAWDISK 0 -#define PREF_FBSD_ACT 1 -#define PREF_FBSD 2 -#define PREF_LINUX_ACT 3 -#define PREF_LINUX 4 -#define PREF_DOS_ACT 5 -#define PREF_DOS 6 -#define PREF_NONE 7 +#define PREF_RAWDISK 0 +#define PREF_FBSD_ACT 1 +#define PREF_FBSD 2 +#define PREF_LINUX_ACT 3 +#define PREF_LINUX 4 +#define PREF_DOS_ACT 5 +#define PREF_DOS 6 +#define PREF_NONE 7 int ptable_getbestpart(const struct ptable *table, struct ptable_entry *part) { @@ -884,12 +884,12 @@ ptable_iterate(const struct ptable *tabl #endif #ifdef LOADER_VTOC8_SUPPORT if (table->type == PTABLE_VTOC8) - sprintf(name, "%c", (u_char) 'a' + + sprintf(name, "%c", (uint8_t) 'a' + entry->part.index); else #endif if (table->type == PTABLE_BSD) - sprintf(name, "%c", (u_char) 'a' + + sprintf(name, "%c", (uint8_t) 'a' + entry->part.index); if ((ret = iter(arg, name, &entry->part)) != 0) return (ret); From owner-svn-src-all@freebsd.org Thu Apr 6 15:57:54 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CAAA7D32B00; Thu, 6 Apr 2017 15:57:54 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A5ECDEEA; Thu, 6 Apr 2017 15:57:54 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36FvrbV032160; Thu, 6 Apr 2017 15:57:53 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36FvrKo032157; Thu, 6 Apr 2017 15:57:53 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <201704061557.v36FvrKo032157@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Thu, 6 Apr 2017 15:57:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316578 - in head: lib/libstand sys/boot/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 15:57:54 -0000 Author: tsoome Date: Thu Apr 6 15:57:53 2017 New Revision: 316578 URL: https://svnweb.freebsd.org/changeset/base/316578 Log: loader: want mechanism to avoid RA with bcache While we have mechanisms in place to protect ourselves against the read behind the disk end, there is still one corner case. As the GPT partition table has backup table at the end of the disk, and we yet do not know the size of the disk (if the wrong size is provided by the firmware/bios), we need to limit the reads to avoid read ahead in such case. Note: this update does add constant into stand.h, so the incremental build will need to get local stand.h updated first. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D10187 Modified: head/lib/libstand/stand.h head/sys/boot/common/bcache.c head/sys/boot/common/disk.c Modified: head/lib/libstand/stand.h ============================================================================== --- head/lib/libstand/stand.h Thu Apr 6 15:42:12 2017 (r316577) +++ head/lib/libstand/stand.h Thu Apr 6 15:57:53 2017 (r316578) @@ -194,6 +194,9 @@ extern struct open_file files[]; #define F_WRITE 0x0002 /* file opened for writing */ #define F_RAW 0x0004 /* raw device open - no file system */ #define F_NODEV 0x0008 /* network open - no device */ +#define F_MASK 0xFFFF +/* Mode modifier for strategy() */ +#define F_NORA (0x01 << 16) /* Disable Read-Ahead */ #define isascii(c) (((c) & ~0x7F) == 0) Modified: head/sys/boot/common/bcache.c ============================================================================== --- head/sys/boot/common/bcache.c Thu Apr 6 15:42:12 2017 (r316577) +++ head/sys/boot/common/bcache.c Thu Apr 6 15:57:53 2017 (r316578) @@ -295,7 +295,11 @@ read_strategy(void *devdata, int rw, dad * Our choice of 16 read ahead blocks will always fit inside the bcache. */ - ra = bc->bcache_nblks - BHASH(bc, p_blk + p_size); + if ((rw & F_NORA) == F_NORA) + ra = 0; + else + ra = bc->bcache_nblks - BHASH(bc, p_blk + p_size); + if (ra != 0 && ra != bc->bcache_nblks) { /* do we have RA space? */ ra = MIN(bc->ra, ra - 1); ra = rounddown(ra, 16); /* multiple of 16 blocks */ @@ -316,6 +320,7 @@ read_strategy(void *devdata, int rw, dad * in either case we should return the data in bcache and only * return error if there is no data. */ + rw &= F_MASK; result = dd->dv_strategy(dd->dv_devdata, rw, p_blk, p_size * bcache_blksize, p_buf, &r_size); @@ -381,10 +386,11 @@ bcache_strategy(void *devdata, int rw, d ((size * 2 / bcache_blksize) > bcache_nblks)) { DEBUG("bypass %zu from %qu", size / bcache_blksize, blk); bcache_bypasses++; + rw &= F_MASK; return (dd->dv_strategy(dd->dv_devdata, rw, blk, size, buf, rsize)); } - switch (rw) { + switch (rw & F_MASK) { case F_READ: nblk = size / bcache_blksize; if (size != 0 && nblk == 0) @@ -423,7 +429,7 @@ bcache_strategy(void *devdata, int rw, d return (ret); case F_WRITE: - return write_strategy(devdata, rw, blk, size, buf, rsize); + return write_strategy(devdata, F_WRITE, blk, size, buf, rsize); } return -1; } Modified: head/sys/boot/common/disk.c ============================================================================== --- head/sys/boot/common/disk.c Thu Apr 6 15:42:12 2017 (r316577) +++ head/sys/boot/common/disk.c Thu Apr 6 15:57:53 2017 (r316578) @@ -87,7 +87,12 @@ ptblread(void *d, void *buf, size_t bloc dev = (struct disk_devdesc *)d; od = (struct open_disk *)dev->d_opendata; - return (dev->d_dev->dv_strategy(dev, F_READ, offset, + + /* + * As the GPT backup partition is located at the end of the disk, + * to avoid reading past disk end, flag bcache not to use RA. + */ + return (dev->d_dev->dv_strategy(dev, F_READ | F_NORA, offset, blocks * od->sectorsize, (char *)buf, NULL)); } From owner-svn-src-all@freebsd.org Thu Apr 6 16:18:44 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DA605D32E7A; Thu, 6 Apr 2017 16:18:44 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9C6E2A09; Thu, 6 Apr 2017 16:18:44 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36GIhDA040424; Thu, 6 Apr 2017 16:18:43 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36GIgVg040413; Thu, 6 Apr 2017 16:18:42 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704061618.v36GIgVg040413@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 6 Apr 2017 16:18:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316579 - in head/usr.sbin/makefs: . cd9660 ffs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 16:18:45 -0000 Author: emaste Date: Thu Apr 6 16:18:42 2017 New Revision: 316579 URL: https://svnweb.freebsd.org/changeset/base/316579 Log: makefs: use emalloc and friends The emalloc set of error-checking memory allocation routines were added to libnetbsd in r316572. Use them in makefs to reduce differences with NetBSD. NetBSD revs: cd9660.c 1.39 ffs.c 1.56 makefs.c 1.42 walk.c 1.27 cd9660/cd9660_archimedes.c 1.2 cd9660/cd9660_eltorito.c 1.20 cd9660/cd9660_write.c 1.16 cd9660/iso9660_rrip.c 1.12 ffs/buf.c 1.17 ffs/mkfs.c 1.26 Obtained from: NetBSD Modified: head/usr.sbin/makefs/cd9660.c head/usr.sbin/makefs/cd9660/cd9660_archimedes.c head/usr.sbin/makefs/cd9660/cd9660_eltorito.c head/usr.sbin/makefs/cd9660/cd9660_write.c head/usr.sbin/makefs/cd9660/iso9660_rrip.c head/usr.sbin/makefs/ffs.c head/usr.sbin/makefs/ffs/buf.c head/usr.sbin/makefs/ffs/mkfs.c head/usr.sbin/makefs/makefs.c head/usr.sbin/makefs/mtree.c head/usr.sbin/makefs/walk.c Modified: head/usr.sbin/makefs/cd9660.c ============================================================================== --- head/usr.sbin/makefs/cd9660.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/cd9660.c Thu Apr 6 16:18:42 2017 (r316579) @@ -103,6 +103,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "makefs.h" #include "cd9660.h" @@ -172,10 +173,8 @@ static int cd9660_add_generic_bootimage static cd9660node * cd9660_allocate_cd9660node(void) { - cd9660node *temp; + cd9660node *temp = ecalloc(1, sizeof(*temp)); - if ((temp = calloc(1, sizeof(cd9660node))) == NULL) - err(EXIT_FAILURE, "%s: calloc", __func__); TAILQ_INIT(&temp->cn_children); temp->parent = temp->dot_record = temp->dot_dot_record = NULL; temp->ptnext = temp->ptprev = temp->ptlast = NULL; @@ -252,10 +251,7 @@ cd9660_set_defaults(iso9660_disk *diskSt void cd9660_prep_opts(fsinfo_t *fsopts) { - iso9660_disk *diskStructure; - - if ((diskStructure = calloc(1, sizeof(*diskStructure))) == NULL) - err(EXIT_FAILURE, "%s: calloc", __func__); + iso9660_disk *diskStructure = ecalloc(1, sizeof(*diskStructure)); #define OPT_STR(letter, name, desc) \ { letter, name, NULL, OPT_STRBUF, 0, 0, desc } @@ -439,9 +435,7 @@ cd9660_parse_opts(const char *option, fs rv = 0; } else { diskStructure->boot_image_directory = - malloc(strlen(buf) + 1); - if (diskStructure->boot_image_directory == NULL) - err(1, "malloc"); + emalloc(strlen(buf) + 1); /* BIG TODO: Add the max length function here */ rv = cd9660_arguments_set_string(buf, desc, 12, 'd', diskStructure->boot_image_directory); @@ -521,12 +515,7 @@ cd9660_makefs(const char *image, const c /* Actually, we now need to add the REAL root node, at level 0 */ real_root = cd9660_allocate_cd9660node(); - if ((real_root->isoDirRecord = - malloc( sizeof(iso_directory_record_cd9660) )) == NULL) { - CD9660_MEM_ALLOC_ERROR("cd9660_makefs"); - exit(1); - } - + real_root->isoDirRecord = emalloc(sizeof(*real_root->isoDirRecord)); /* Leave filename blank for root */ memset(real_root->isoDirRecord->name, 0, ISO_FILENAME_MAXLENGTH_WITH_PADDING); @@ -770,11 +759,7 @@ cd9660_setup_volume_descriptors(iso9660_ volume_descriptor *temp, *t; /* Set up the PVD */ - if ((temp = malloc(sizeof(volume_descriptor))) == NULL) { - CD9660_MEM_ALLOC_ERROR("cd9660_setup_volume_descriptors"); - exit(1); - } - + temp = emalloc(sizeof(*temp)); temp->volumeDescriptorData = (unsigned char *)&diskStructure->primaryDescriptor; temp->volumeDescriptorData[0] = ISO_VOLUME_DESCRIPTOR_PVD; @@ -787,19 +772,10 @@ cd9660_setup_volume_descriptors(iso9660_ sector++; /* Set up boot support if enabled. BVD must reside in sector 17 */ if (diskStructure->is_bootable) { - if ((t = malloc(sizeof(volume_descriptor))) == NULL) { - CD9660_MEM_ALLOC_ERROR( - "cd9660_setup_volume_descriptors"); - exit(1); - } - if ((t->volumeDescriptorData = malloc(2048)) == NULL) { - CD9660_MEM_ALLOC_ERROR( - "cd9660_setup_volume_descriptors"); - exit(1); - } + t = emalloc(sizeof(*t)); + t->volumeDescriptorData = ecalloc(1, 2048); temp->next = t; temp = t; - memset(t->volumeDescriptorData, 0, 2048); t->sector = 17; if (diskStructure->verbose_level > 0) printf("Setting up boot volume descriptor\n"); @@ -808,17 +784,9 @@ cd9660_setup_volume_descriptors(iso9660_ } /* Set up the terminator */ - if ((t = malloc(sizeof(volume_descriptor))) == NULL) { - CD9660_MEM_ALLOC_ERROR("cd9660_setup_volume_descriptors"); - exit(1); - } - if ((t->volumeDescriptorData = malloc(2048)) == NULL) { - CD9660_MEM_ALLOC_ERROR("cd9660_setup_volume_descriptors"); - exit(1); - } - + t = emalloc(sizeof(*t)); + t->volumeDescriptorData = ecalloc(1, 2048); temp->next = t; - memset(t->volumeDescriptorData, 0, 2048); t->volumeDescriptorData[0] = ISO_VOLUME_DESCRIPTOR_TERMINATOR; t->next = NULL; t->volumeDescriptorData[6] = 1; @@ -838,12 +806,7 @@ cd9660_setup_volume_descriptors(iso9660_ static int cd9660_fill_extended_attribute_record(cd9660node *node) { - if ((node->isoExtAttributes = - malloc(sizeof(struct iso_extended_attributes))) == NULL) { - CD9660_MEM_ALLOC_ERROR("cd9660_fill_extended_attribute_record"); - exit(1); - }; - + node->isoExtAttributes = emalloc(sizeof(*node->isoExtAttributes)); return 1; } #endif @@ -901,12 +864,7 @@ cd9660_translate_node(iso9660_disk *disk printf("%s: NULL node passed, returning\n", __func__); return 0; } - if ((newnode->isoDirRecord = - malloc(sizeof(iso_directory_record_cd9660))) == NULL) { - CD9660_MEM_ALLOC_ERROR("cd9660_translate_node"); - return 0; - } - + newnode->isoDirRecord = emalloc(sizeof(*newnode->isoDirRecord)); /* Set the node pointer */ newnode->node = node; @@ -1113,7 +1071,7 @@ cd9660_rename_filename(iso9660_disk *dis else maxlength = ISO_FILENAME_MAXLENGTH_BEFORE_VERSION; - tmp = malloc(ISO_FILENAME_MAXLENGTH_WITH_PADDING); + tmp = emalloc(ISO_FILENAME_MAXLENGTH_WITH_PADDING); while (i < num && iter) { powers = 1; @@ -1552,9 +1510,7 @@ struct ptq_entry } *n; #define PTQUEUE_NEW(n,s,r,t){\ - n = malloc(sizeof(struct s)); \ - if (n == NULL) \ - return r; \ + n = emalloc(sizeof(struct s)); \ n->node = t;\ } @@ -2006,24 +1962,9 @@ cd9660_create_virtual_entry(iso9660_disk if (temp == NULL) return NULL; - if ((tfsnode = malloc(sizeof(fsnode))) == NULL) { - CD9660_MEM_ALLOC_ERROR("cd9660_create_virtual_entry"); - return NULL; - } - - /* Assume for now name is a valid length */ - if ((tfsnode->name = malloc(strlen(name) + 1)) == NULL) { - CD9660_MEM_ALLOC_ERROR("cd9660_create_virtual_entry"); - return NULL; - } - - if ((temp->isoDirRecord = - malloc(sizeof(iso_directory_record_cd9660))) == NULL) { - CD9660_MEM_ALLOC_ERROR("cd9660_create_virtual_entry"); - return NULL; - } - - strcpy(tfsnode->name, name); + tfsnode = emalloc(sizeof(*tfsnode)); + tfsnode->name = estrdup(name); + temp->isoDirRecord = emalloc(sizeof(*temp->isoDirRecord)); cd9660_convert_filename(diskStructure, tfsnode->name, temp->isoDirRecord->name, file); @@ -2075,8 +2016,7 @@ cd9660_create_file(iso9660_disk *diskStr temp->type = CD9660_TYPE_FILE | CD9660_TYPE_VIRTUAL; - if ((temp->node->inode = calloc(1, sizeof(fsinode))) == NULL) - return NULL; + temp->node->inode = ecalloc(1, sizeof(*temp->node->inode)); *temp->node->inode = *me->node->inode; if (cd9660_translate_node_common(diskStructure, temp) == 0) @@ -2103,8 +2043,7 @@ cd9660_create_directory(iso9660_disk *di temp->type = CD9660_TYPE_DIR | CD9660_TYPE_VIRTUAL; - if ((temp->node->inode = calloc(1, sizeof(fsinode))) == NULL) - return NULL; + temp->node->inode = ecalloc(1, sizeof(*temp->node->inode)); *temp->node->inode = *me->node->inode; if (cd9660_translate_node_common(diskStructure, temp) == 0) @@ -2172,10 +2111,7 @@ cd9660_add_generic_bootimage(iso9660_dis return 0; } - if ((diskStructure->generic_bootimage = strdup(bootimage)) == NULL) { - warn("%s: strdup", __func__); - return 0; - } + diskStructure->generic_bootimage = estrdup(bootimage); /* Get information about the file */ if (lstat(diskStructure->generic_bootimage, &stbuf) == -1) Modified: head/usr.sbin/makefs/cd9660/cd9660_archimedes.c ============================================================================== --- head/usr.sbin/makefs/cd9660/cd9660_archimedes.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/cd9660/cd9660_archimedes.c Thu Apr 6 16:18:42 2017 (r316579) @@ -40,12 +40,11 @@ #include __FBSDID("$FreeBSD$"); -#include #include #include #include -#include #include +#include #include "makefs.h" #include "cd9660.h" @@ -93,11 +92,8 @@ archimedes_convert_node(cd9660node *node return; if (type == -1) type = 0; - assert(sizeof(struct ISO_ARCHIMEDES) == 32); - if ((arc = calloc(1, sizeof(struct ISO_ARCHIMEDES))) == NULL) { - CD9660_MEM_ALLOC_ERROR("archimedes_convert_node"); - exit(1); - } + assert(sizeof(*arc) == 32); + arc = ecalloc(1, sizeof(*arc)); stamp = riscos_date(node->node->inode->st.st_mtime); Modified: head/usr.sbin/makefs/cd9660/cd9660_eltorito.c ============================================================================== --- head/usr.sbin/makefs/cd9660/cd9660_eltorito.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/cd9660/cd9660_eltorito.c Thu Apr 6 16:18:42 2017 (r316579) @@ -34,6 +34,7 @@ #include "cd9660.h" #include "cd9660_eltorito.h" +#include #include __FBSDID("$FreeBSD$"); @@ -73,10 +74,7 @@ cd9660_add_boot_disk(iso9660_disk *diskS } /* First decode the boot information */ - if ((temp = strdup(boot_info)) == NULL) { - warn("%s: strdup", __func__); - return 0; - } + temp = estrdup(boot_info); sysname = temp; filename = strchr(sysname, ';'); @@ -93,12 +91,7 @@ cd9660_add_boot_disk(iso9660_disk *diskS printf("Found bootdisk with system %s, and filename %s\n", sysname, filename); } - if ((new_image = malloc(sizeof(*new_image))) == NULL) { - warn("%s: malloc", __func__); - free(temp); - return 0; - } - (void)memset(new_image, 0, sizeof(*new_image)); + new_image = ecalloc(1, sizeof(*new_image)); new_image->loadSegment = 0; /* default for now */ /* Decode System */ @@ -118,12 +111,7 @@ cd9660_add_boot_disk(iso9660_disk *diskS } - if ((new_image->filename = strdup(filename)) == NULL) { - warn("%s: strdup", __func__); - free(temp); - free(new_image); - return 0; - } + new_image->filename = estrdup(filename); free(temp); @@ -226,12 +214,7 @@ cd9660_eltorito_add_boot_option(iso9660_ static struct boot_catalog_entry * cd9660_init_boot_catalog_entry(void) { - struct boot_catalog_entry *temp; - - if ((temp = malloc(sizeof(*temp))) == NULL) - return NULL; - - return memset(temp, 0, sizeof(*temp)); + return ecalloc(1, sizeof(struct boot_catalog_entry)); } static struct boot_catalog_entry * @@ -244,11 +227,6 @@ cd9660_boot_setup_validation_entry(char int i; entry = cd9660_init_boot_catalog_entry(); - if (entry == NULL) { - warnx("Error: memory allocation failed in " - "cd9660_boot_setup_validation_entry"); - return 0; - } ve = &entry->entry_data.VE; ve->header_id[0] = 1; Modified: head/usr.sbin/makefs/cd9660/cd9660_write.c ============================================================================== --- head/usr.sbin/makefs/cd9660/cd9660_write.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/cd9660/cd9660_write.c Thu Apr 6 16:18:42 2017 (r316579) @@ -38,6 +38,8 @@ #include __FBSDID("$FreeBSD$"); +#include + static int cd9660_write_volume_descriptors(iso9660_disk *, FILE *); static int cd9660_write_path_table(iso9660_disk *, FILE *, off_t, int); static int cd9660_write_path_tables(iso9660_disk *, FILE *); @@ -172,14 +174,8 @@ cd9660_write_path_table(iso9660_disk *di path_table_entry temp_entry; cd9660node *ptcur; - buffer = malloc(diskStructure->sectorSize * path_table_sectors); - if (buffer == NULL) { - warnx("%s: Memory allocation error allocating buffer", - __func__); - return 0; - } + buffer = ecalloc(path_table_sectors, diskStructure->sectorSize); buffer_head = buffer; - memset(buffer, 0, diskStructure->sectorSize * path_table_sectors); ptcur = diskStructure->rootNode; @@ -278,16 +274,8 @@ cd9660_write_file(iso9660_disk *diskStru /* Todo : clean up variables */ - temp_file_name = malloc(CD9660MAXPATH + 1); - if (temp_file_name == NULL) - err(EXIT_FAILURE, "%s: malloc", __func__); - - memset(temp_file_name, 0, CD9660MAXPATH + 1); - - buf = malloc(diskStructure->sectorSize); - if (buf == NULL) - err(EXIT_FAILURE, "%s: malloc", __func__); - + temp_file_name = ecalloc(CD9660MAXPATH + 1, 1); + buf = emalloc(diskStructure->sectorSize); if ((writenode->level != 0) && !(writenode->node->type & S_IFDIR)) { fsinode *inode = writenode->node->inode; @@ -446,10 +434,7 @@ cd9660_copy_file(iso9660_disk *diskStruc int buf_size = diskStructure->sectorSize; char *buf; - buf = malloc(buf_size); - if (buf == NULL) - err(EXIT_FAILURE, "%s: malloc", __func__); - + buf = emalloc(buf_size); if ((rf = fopen(filename, "rb")) == NULL) { warn("%s: cannot open %s", __func__, filename); free(buf); Modified: head/usr.sbin/makefs/cd9660/iso9660_rrip.c ============================================================================== --- head/usr.sbin/makefs/cd9660/iso9660_rrip.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/cd9660/iso9660_rrip.c Thu Apr 6 16:18:42 2017 (r316579) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include "makefs.h" #include "cd9660.h" #include "iso9660_rrip.h" +#include static void cd9660_rrip_initialize_inode(cd9660node *); static int cd9660_susp_handle_continuation(iso9660_disk *, cd9660node *); @@ -458,11 +459,7 @@ cd9660node_susp_create_node(int susp_typ { struct ISO_SUSP_ATTRIBUTES* temp; - if ((temp = malloc(sizeof(struct ISO_SUSP_ATTRIBUTES))) == NULL) { - CD9660_MEM_ALLOC_ERROR("cd9660node_susp_create_node"); - exit(1); - } - + temp = emalloc(sizeof(*temp)); temp->susp_type = susp_type; temp->entry_type = entry_type; temp->last_in_suf = 0; Modified: head/usr.sbin/makefs/ffs.c ============================================================================== --- head/usr.sbin/makefs/ffs.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/ffs.c Thu Apr 6 16:18:42 2017 (r316579) @@ -82,6 +82,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "makefs.h" #include "ffs.h" @@ -149,10 +150,7 @@ int sectorsize; /* XXX: for buf.c::getb void ffs_prep_opts(fsinfo_t *fsopts) { - ffs_opt_t *ffs_opts; - - if ((ffs_opts = calloc(1, sizeof(ffs_opt_t))) == NULL) - err(1, "Allocating memory for ffs_options"); + ffs_opt_t *ffs_opts = ecalloc(1, sizeof(*ffs_opts)); const option_t ffs_options[] = { { 'b', "bsize", &ffs_opts->bsize, OPT_INT32, @@ -518,10 +516,7 @@ ffs_create_image(const char *image, fsin printf("zero-ing image `%s', %lld sectors, " "using %d byte chunks\n", image, (long long)bufrem, bufsize); - if ((buf = calloc(1, bufsize)) == NULL) { - warn("Can't create buffer for sector"); - return (-1); - } + buf = ecalloc(1, bufsize); } while (bufrem > 0) { i = write(fsopts->fd, buf, MIN(bufsize, bufrem)); @@ -919,8 +914,7 @@ ffs_write_file(union dinode *din, uint32 goto write_inode_and_leave; /* mmm, cheating */ if (isfile) { - if ((fbuf = malloc(ffs_opts->bsize)) == NULL) - err(1, "Allocating memory for write buffer"); + fbuf = emalloc(ffs_opts->bsize); if ((ffd = open((char *)buf, O_RDONLY, 0444)) == -1) { warn("Can't open `%s' for reading", (char *)buf); goto leave_ffs_write_file; @@ -1047,8 +1041,7 @@ ffs_make_dirbuf(dirbuf_t *dbuf, const ch if (debug & DEBUG_FS_MAKE_DIRBUF) printf("ffs_make_dirbuf: growing buf to %d\n", dbuf->size + DIRBLKSIZ); - if ((newbuf = realloc(dbuf->buf, dbuf->size + DIRBLKSIZ)) == NULL) - err(1, "Allocating memory for directory buffer"); + newbuf = erealloc(dbuf->buf, dbuf->size + DIRBLKSIZ); dbuf->buf = newbuf; dbuf->size += DIRBLKSIZ; memset(dbuf->buf + dbuf->size - DIRBLKSIZ, 0, DIRBLKSIZ); @@ -1099,10 +1092,7 @@ ffs_write_inode(union dinode *dp, uint32 assert (isclr(cg_inosused_swap(cgp, fsopts->needswap), cgino)); - buf = malloc(fs->fs_bsize); - if (buf == NULL) - errx(1, "ffs_write_inode: cg %d: can't alloc inode block", cg); - + buf = emalloc(fs->fs_bsize); dp1 = (struct ufs1_dinode *)buf; dp2 = (struct ufs2_dinode *)buf; Modified: head/usr.sbin/makefs/ffs/buf.c ============================================================================== --- head/usr.sbin/makefs/ffs/buf.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/ffs/buf.c Thu Apr 6 16:18:42 2017 (r316579) @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "makefs.h" @@ -205,9 +206,7 @@ getblk(struct vnode *vp, daddr_t blkno, } } if (bp == NULL) { - if ((bp = calloc(1, sizeof(struct buf))) == NULL) - err(1, "getblk: calloc"); - + bp = ecalloc(1, sizeof(*bp)); bp->b_bufsize = 0; bp->b_blkno = bp->b_lblkno = blkno; bp->b_fd = fd; @@ -217,9 +216,7 @@ getblk(struct vnode *vp, daddr_t blkno, } bp->b_bcount = size; if (bp->b_data == NULL || bp->b_bcount > bp->b_bufsize) { - n = realloc(bp->b_data, size); - if (n == NULL) - err(1, "getblk: realloc b_data %ld", bp->b_bcount); + n = erealloc(bp->b_data, size); memset(n, 0, size); bp->b_data = n; bp->b_bufsize = size; Modified: head/usr.sbin/makefs/ffs/mkfs.c ============================================================================== --- head/usr.sbin/makefs/ffs/mkfs.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/ffs/mkfs.c Thu Apr 6 16:18:42 2017 (r316579) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "makefs.h" #include "ffs.h" @@ -402,8 +403,7 @@ ffs_mkfs(const char *fsys, const fsinfo_ size = sblock.fs_cssize; if (sblock.fs_contigsumsize > 0) size += sblock.fs_ncg * sizeof(int32_t); - if ((space = (char *)calloc(1, size)) == NULL) - err(1, "memory allocation error for cg summaries"); + space = ecalloc(1, size); sblock.fs_csp = space; space = (char *)space + sblock.fs_cssize; if (sblock.fs_contigsumsize > 0) { @@ -492,11 +492,7 @@ ffs_mkfs(const char *fsys, const fsinfo_ iobufsize = SBLOCKSIZE + 3 * sblock.fs_bsize; else iobufsize = 4 * sblock.fs_bsize; - if ((iobuf = malloc(iobufsize)) == NULL) { - printf("Cannot allocate I/O buffer\n"); - exit(38); - } - memset(iobuf, 0, iobufsize); + iobuf = ecalloc(1, iobufsize); /* * Make a copy of the superblock into the buffer that we will be * writing out in each cylinder group. @@ -562,8 +558,7 @@ ffs_write_superblock(struct fs *fs, cons size = fs->fs_cssize; blks = howmany(size, fs->fs_fsize); space = (void *)fs->fs_csp; - if ((wrbuf = malloc(size)) == NULL) - err(1, "ffs_write_superblock: malloc %d", size); + wrbuf = emalloc(size); for (i = 0; i < blks; i+= fs->fs_frag) { size = fs->fs_bsize; if (i + fs->fs_frag > blks) Modified: head/usr.sbin/makefs/makefs.c ============================================================================== --- head/usr.sbin/makefs/makefs.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/makefs.c Thu Apr 6 16:18:42 2017 (r316579) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "makefs.h" #include "mtree.h" @@ -352,10 +353,7 @@ set_option(const option_t *options, cons assert(option != NULL); - if ((var = strdup(option)) == NULL) { - err(EXIT_FAILURE, "Allocating memory for copy of option string"); - } - + var = estrdup(option); for (val = var; *val; val++) if (*val == '=') { *val++ = '\0'; @@ -396,8 +394,7 @@ set_option_var(const option_t *options, options[i].maximum); break; case OPT_STRPTR: - if ((s = strdup(val)) == NULL) - err(1, NULL); + s = estrdup(val); *(char **)options[i].value = s; break; case OPT_STRBUF: @@ -440,14 +437,11 @@ option_t * copy_opts(const option_t *o) { size_t i; - void *rv; for (i = 0; o[i].name; i++) continue; i++; - if ((rv = calloc(i, sizeof(*o))) == NULL) - err(1, "calloc"); - return memcpy(rv, o, i * sizeof(*o)); + return memcpy(ecalloc(i, sizeof(*o)), o, i * sizeof(*o)); } static int Modified: head/usr.sbin/makefs/mtree.c ============================================================================== --- head/usr.sbin/makefs/mtree.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/mtree.c Thu Apr 6 16:18:42 2017 (r316579) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include "makefs.h" @@ -80,14 +81,11 @@ mtree_file_push(const char *name, FILE * { struct mtree_fileinfo *fi; - fi = malloc(sizeof(*fi)); - if (fi == NULL) - return (ENOMEM); - + fi = emalloc(sizeof(*fi)); if (strcmp(name, "-") == 0) - fi->name = strdup("(stdin)"); + fi->name = estrdup("(stdin)"); else - fi->name = strdup(name); + fi->name = estrdup(name); if (fi->name == NULL) { free(fi); return (ENOMEM); @@ -173,7 +171,7 @@ mtree_file_path(fsnode *node) } sbuf_cat(sb, rp[depth]); sbuf_finish(sb); - res = strdup(sbuf_data(sb)); + res = estrdup(sbuf_data(sb)); sbuf_delete(sb); if (res == NULL) errno = ENOMEM; @@ -203,8 +201,8 @@ mtree_resolve(const char *spec, int *ist quoted = (subst || c == '\'') ? 1 : 0; if (!subst) { - res = strdup(spec + quoted); - if (res != NULL && quoted) + res = estrdup(spec + quoted); + if (quoted) res[len - 2] = '\0'; return (res); } @@ -260,25 +258,18 @@ mtree_resolve(const char *spec, int *ist } error = ENOMEM; - var = calloc(p - v, 1); - if (var == NULL) - break; - + var = ecalloc(p - v, 1); memcpy(var, v + 1, p - v - 1); if (strcmp(var, ".CURDIR") == 0) { res = getcwd(NULL, 0); if (res == NULL) break; } else if (strcmp(var, ".PROG") == 0) { - res = strdup(getprogname()); - if (res == NULL) - break; + res = estrdup(getprogname()); } else { v = getenv(var); if (v != NULL) { - res = strdup(v); - if (res == NULL) - break; + res = estrdup(v); } else res = NULL; } @@ -456,25 +447,12 @@ create_node(const char *name, u_int type { fsnode *n; - n = calloc(1, sizeof(*n)); - if (n == NULL) - return (NULL); - - n->name = strdup(name); - if (n->name == NULL) { - free(n); - return (NULL); - } - + n = ecalloc(1, sizeof(*n)); + n->name = estrdup(name); n->type = (type == 0) ? global->type : type; n->parent = parent; - n->inode = calloc(1, sizeof(*n->inode)); - if (n->inode == NULL) { - free(n->name); - free(n); - return (NULL); - } + n->inode = ecalloc(1, sizeof(*n->inode)); /* Assign global options/defaults. */ bcopy(global->inode, n->inode, sizeof(*n->inode)); @@ -565,7 +543,7 @@ read_mtree_keywords(FILE *fp, fsnode *no error = ENOATTR; break; } - node->contents = strdup(value); + node->contents = estrdup(value); } else error = ENOSYS; break; @@ -612,7 +590,7 @@ read_mtree_keywords(FILE *fp, fsnode *no error = ENOATTR; break; } - node->symlink = strdup(value); + node->symlink = estrdup(value); } else error = ENOSYS; break; Modified: head/usr.sbin/makefs/walk.c ============================================================================== --- head/usr.sbin/makefs/walk.c Thu Apr 6 15:57:53 2017 (r316578) +++ head/usr.sbin/makefs/walk.c Thu Apr 6 16:18:42 2017 (r316579) @@ -202,8 +202,7 @@ walk_dir(const char *root, const char *d if (llen == -1) err(1, "Readlink `%s'", path); slink[llen] = '\0'; - if ((cur->symlink = strdup(slink)) == NULL) - err(1, "Memory allocation error"); + cur->symlink = estrdup(slink); } } assert(first != NULL); @@ -221,11 +220,10 @@ create_fsnode(const char *root, const ch { fsnode *cur; - if ((cur = calloc(1, sizeof(fsnode))) == NULL || - (cur->path = strdup(path)) == NULL || - (cur->name = strdup(name)) == NULL || - (cur->inode = calloc(1, sizeof(fsinode))) == NULL) - err(1, "Memory allocation error"); + cur = ecalloc(1, sizeof(*cur)); + cur->path = estrdup(path); + cur->name = estrdup(name); + cur->inode = ecalloc(1, sizeof(*cur->inode)); cur->root = root; cur->type = stbuf->st_mode & S_IFMT; cur->inode->nlink = 1; @@ -457,9 +455,7 @@ apply_specdir(const char *dir, NODE *spe if (curfsnode->type == S_IFLNK) { assert(curnode->slink != NULL); /* for symlinks, copy the target */ - if ((curfsnode->symlink = - strdup(curnode->slink)) == NULL) - err(1, "Memory allocation error"); + curfsnode->symlink = estrdup(curnode->slink); } } apply_specentry(dir, curnode, curfsnode); @@ -515,8 +511,7 @@ apply_specentry(const char *dir, NODE *s assert(specnode->slink != NULL); ASEPRINT("symlink", "%s", dirnode->symlink, specnode->slink); free(dirnode->symlink); - if ((dirnode->symlink = strdup(specnode->slink)) == NULL) - err(1, "Memory allocation error"); + dirnode->symlink = estrdup(specnode->slink); } if (specnode->flags & F_TIME) { ASEPRINT("time", "%ld", @@ -665,10 +660,7 @@ link_check(fsinode *entry) htused = 0; ohtable = htable; - htable = calloc(htmask+1, sizeof(*htable)); - if (!htable) - err(1, "Memory allocation error"); - + htable = ecalloc(htmask+1, sizeof(*htable)); /* populate newly allocated hashtable */ if (ohtable) { int i; From owner-svn-src-all@freebsd.org Thu Apr 6 16:19:21 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 07B7DD32ED4; Thu, 6 Apr 2017 16:19:21 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CC47AB68; Thu, 6 Apr 2017 16:19:20 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36GJJl1040492; Thu, 6 Apr 2017 16:19:19 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36GJJOC040491; Thu, 6 Apr 2017 16:19:19 GMT (envelope-from np@FreeBSD.org) Message-Id: <201704061619.v36GJJOC040491@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Thu, 6 Apr 2017 16:19:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316580 - head/sys/dev/cxgbe/iw_cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 16:19:21 -0000 Author: np Date: Thu Apr 6 16:19:19 2017 New Revision: 316580 URL: https://svnweb.freebsd.org/changeset/base/316580 Log: cxgbe/iw_cxgbe: Remove another bad cast. This should have been included in r316571. MFC after: 3 days Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/iw_cxgbe/mem.c Modified: head/sys/dev/cxgbe/iw_cxgbe/mem.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/mem.c Thu Apr 6 16:18:42 2017 (r316579) +++ head/sys/dev/cxgbe/iw_cxgbe/mem.c Thu Apr 6 16:19:19 2017 (r316580) @@ -443,7 +443,7 @@ int c4iw_reregister_phys_mem(struct ib_m mhp->attr.zbva = 0; mhp->attr.va_fbo = *iova_start; mhp->attr.page_size = shift - 12; - mhp->attr.len = (u32) total_size; + mhp->attr.len = total_size; mhp->attr.pbl_size = npages; } From owner-svn-src-all@freebsd.org Thu Apr 6 16:22:55 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 860E5D300EC; Thu, 6 Apr 2017 16:22:55 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3E34EFAC; Thu, 6 Apr 2017 16:22:55 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36GMsjp044355; Thu, 6 Apr 2017 16:22:54 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36GMsEM044354; Thu, 6 Apr 2017 16:22:54 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704061622.v36GMsEM044354@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Thu, 6 Apr 2017 16:22:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316581 - head/sys/dev/bnxt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 16:22:55 -0000 Author: sbruno Date: Thu Apr 6 16:22:54 2017 New Revision: 316581 URL: https://svnweb.freebsd.org/changeset/base/316581 Log: tx and rx interrupts are not combined in bnxt(4) and should be handled independantly. Submitted by: venkatkumar.duvvuru@broadcom.com> Differential Revision: https://reviews.freebsd.org/D10297 Modified: head/sys/dev/bnxt/if_bnxt.c Modified: head/sys/dev/bnxt/if_bnxt.c ============================================================================== --- head/sys/dev/bnxt/if_bnxt.c Thu Apr 6 16:19:19 2017 (r316580) +++ head/sys/dev/bnxt/if_bnxt.c Thu Apr 6 16:22:54 2017 (r316581) @@ -177,7 +177,8 @@ static void bnxt_update_admin_status(if_ /* Interrupt enable / disable */ static void bnxt_intr_enable(if_ctx_t ctx); -static int bnxt_queue_intr_enable(if_ctx_t ctx, uint16_t qid); +static int bnxt_rx_queue_intr_enable(if_ctx_t ctx, uint16_t qid); +static int bnxt_tx_queue_intr_enable(if_ctx_t ctx, uint16_t qid); static void bnxt_disable_intr(if_ctx_t ctx); static int bnxt_msix_intr_assign(if_ctx_t ctx, int msix); @@ -253,8 +254,8 @@ static device_method_t bnxt_iflib_method DEVMETHOD(ifdi_update_admin_status, bnxt_update_admin_status), DEVMETHOD(ifdi_intr_enable, bnxt_intr_enable), - DEVMETHOD(ifdi_tx_queue_intr_enable, bnxt_queue_intr_enable), - DEVMETHOD(ifdi_rx_queue_intr_enable, bnxt_queue_intr_enable), + DEVMETHOD(ifdi_tx_queue_intr_enable, bnxt_tx_queue_intr_enable), + DEVMETHOD(ifdi_rx_queue_intr_enable, bnxt_rx_queue_intr_enable), DEVMETHOD(ifdi_intr_disable, bnxt_disable_intr), DEVMETHOD(ifdi_msix_intr_assign, bnxt_msix_intr_assign), @@ -1437,7 +1438,16 @@ bnxt_intr_enable(if_ctx_t ctx) /* Enable interrupt for a single queue */ static int -bnxt_queue_intr_enable(if_ctx_t ctx, uint16_t qid) +bnxt_tx_queue_intr_enable(if_ctx_t ctx, uint16_t qid) +{ + struct bnxt_softc *softc = iflib_get_softc(ctx); + + bnxt_do_enable_intr(&softc->tx_cp_rings[qid]); + return 0; +} + +static int +bnxt_rx_queue_intr_enable(if_ctx_t ctx, uint16_t qid) { struct bnxt_softc *softc = iflib_get_softc(ctx); @@ -1482,7 +1492,7 @@ bnxt_msix_intr_assign(if_ctx_t ctx, int for (i=0; iscctx->isc_nrxqsets; i++) { rc = iflib_irq_alloc_generic(ctx, &softc->rx_cp_rings[i].irq, - softc->rx_cp_rings[i].ring.id + 1, IFLIB_INTR_RXTX, + softc->rx_cp_rings[i].ring.id + 1, IFLIB_INTR_RX, bnxt_handle_rx_cp, &softc->rx_cp_rings[i], i, "rx_cp"); if (rc) { device_printf(iflib_get_dev(ctx), From owner-svn-src-all@freebsd.org Thu Apr 6 17:09:01 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 193CDD30E20; Thu, 6 Apr 2017 17:09:01 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DDE60A25; Thu, 6 Apr 2017 17:09:00 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36H906L060612; Thu, 6 Apr 2017 17:09:00 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36H90DI060607; Thu, 6 Apr 2017 17:09:00 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201704061709.v36H90DI060607@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Thu, 6 Apr 2017 17:09:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316582 - head/sys/dev/bwn X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 17:09:01 -0000 Author: cem Date: Thu Apr 6 17:08:59 2017 New Revision: 316582 URL: https://svnweb.freebsd.org/changeset/base/316582 Log: bwn(4): Fix trivial null dereference Reported by: PVS-Studio Sponsored by: Dell EMC Isilon Modified: head/sys/dev/bwn/if_bwn.c Modified: head/sys/dev/bwn/if_bwn.c ============================================================================== --- head/sys/dev/bwn/if_bwn.c Thu Apr 6 16:22:54 2017 (r316581) +++ head/sys/dev/bwn/if_bwn.c Thu Apr 6 17:08:59 2017 (r316582) @@ -6754,10 +6754,15 @@ static void bwn_txpwr(void *arg, int npending) { struct bwn_mac *mac = arg; - struct bwn_softc *sc = mac->mac_sc; + struct bwn_softc *sc; + + if (mac == NULL) + return; + + sc = mac->mac_sc; BWN_LOCK(sc); - if (mac && mac->mac_status >= BWN_MAC_STATUS_STARTED && + if (mac->mac_status >= BWN_MAC_STATUS_STARTED && mac->mac_phy.set_txpwr != NULL) mac->mac_phy.set_txpwr(mac); BWN_UNLOCK(sc); From owner-svn-src-all@freebsd.org Thu Apr 6 17:16:42 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 71649D311B5; Thu, 6 Apr 2017 17:16:42 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 41B3CFCB; Thu, 6 Apr 2017 17:16:42 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36HGf5j064454; Thu, 6 Apr 2017 17:16:41 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36HGf8e064452; Thu, 6 Apr 2017 17:16:41 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704061716.v36HGf8e064452@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 6 Apr 2017 17:16:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316583 - in head/sys/dev: ex ixgb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 17:16:42 -0000 Author: emaste Date: Thu Apr 6 17:16:41 2017 New Revision: 316583 URL: https://svnweb.freebsd.org/changeset/base/316583 Log: remove archaic register keyword from ixgb and ex Reviewed by: sbruno Modified: head/sys/dev/ex/if_ex.c head/sys/dev/ixgb/if_ixgb.c Modified: head/sys/dev/ex/if_ex.c ============================================================================== --- head/sys/dev/ex/if_ex.c Thu Apr 6 17:08:59 2017 (r316582) +++ head/sys/dev/ex/if_ex.c Thu Apr 6 17:16:41 2017 (r316583) @@ -812,7 +812,7 @@ rx_another: ; static int -ex_ioctl(register struct ifnet *ifp, u_long cmd, caddr_t data) +ex_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { struct ex_softc * sc = ifp->if_softc; struct ifreq * ifr = (struct ifreq *)data; Modified: head/sys/dev/ixgb/if_ixgb.c ============================================================================== --- head/sys/dev/ixgb/if_ixgb.c Thu Apr 6 17:08:59 2017 (r316582) +++ head/sys/dev/ixgb/if_ixgb.c Thu Apr 6 17:16:41 2017 (r316583) @@ -1777,7 +1777,7 @@ static int ixgb_get_buf(int i, struct adapter * adapter, struct mbuf * nmp) { - register struct mbuf *mp = nmp; + struct mbuf *mp = nmp; struct ixgb_buffer *rx_buffer; struct ifnet *ifp; bus_addr_t paddr; From owner-svn-src-all@freebsd.org Thu Apr 6 17:31:59 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A42EDD317F6; Thu, 6 Apr 2017 17:31:59 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 74A7DC04; Thu, 6 Apr 2017 17:31:59 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36HVwK0072435; Thu, 6 Apr 2017 17:31:58 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36HVwfZ072434; Thu, 6 Apr 2017 17:31:58 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201704061731.v36HVwfZ072434@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Thu, 6 Apr 2017 17:31:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316584 - head/sys/fs/smbfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 17:31:59 -0000 Author: cem Date: Thu Apr 6 17:31:58 2017 New Revision: 316584 URL: https://svnweb.freebsd.org/changeset/base/316584 Log: smbfs: Fix an indentation level Based on the change in r242386, it seems clear that scred was intended to be released in all paths at exit. No functional change. This line's indent was just the result of a bad copy paste from the previous free() in an early exit path. Reported by: PVS-Studio Sponsored by: Dell EMC Isilon Modified: head/sys/fs/smbfs/smbfs_vnops.c Modified: head/sys/fs/smbfs/smbfs_vnops.c ============================================================================== --- head/sys/fs/smbfs/smbfs_vnops.c Thu Apr 6 17:16:41 2017 (r316583) +++ head/sys/fs/smbfs/smbfs_vnops.c Thu Apr 6 17:31:58 2017 (r316584) @@ -280,7 +280,7 @@ smbfs_getattr(ap) smbfs_attr_cachelookup(vp, va); if (np->n_flag & NOPEN) np->n_size = oldsize; - smbfs_free_scred(scred); + smbfs_free_scred(scred); return 0; } From owner-svn-src-all@freebsd.org Thu Apr 6 18:17:31 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2AC67D32422; Thu, 6 Apr 2017 18:17:31 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EFDAC152A; Thu, 6 Apr 2017 18:17:30 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36IHUkv088719; Thu, 6 Apr 2017 18:17:30 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36IHT8i088712; Thu, 6 Apr 2017 18:17:29 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <201704061817.v36IHT8i088712@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Thu, 6 Apr 2017 18:17:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316585 - in head/sys/boot: efi/boot1 efi/loader i386/common i386/loader i386/zfsboot zfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 18:17:31 -0000 Author: tsoome Date: Thu Apr 6 18:17:29 2017 New Revision: 316585 URL: https://svnweb.freebsd.org/changeset/base/316585 Log: loader: zfs reader should check all labels The current zfs reader is only checking first label from each device, however, we do have 4 labels on device and we should check all 4 to be protected against disk failures and incomplete label updates. The difficulty is about the fact that 2 label copies are in front of the pool data, and 2 are at the end, which means, we have to know the size of the pool data area. Since we have now the mechanism from common/disk.c to use the partition information, it does help us in this task; however, there are still some corner cases. Namely, if the pool is created without partition, directly on the disk, and firmware will give us the wrong size for the disk, we only can check the first two label copies. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D10203 Modified: head/sys/boot/efi/boot1/zfs_module.c head/sys/boot/efi/loader/main.c head/sys/boot/i386/common/drv.h head/sys/boot/i386/loader/main.c head/sys/boot/i386/zfsboot/zfsboot.c head/sys/boot/zfs/libzfs.h head/sys/boot/zfs/zfsimpl.c Modified: head/sys/boot/efi/boot1/zfs_module.c ============================================================================== --- head/sys/boot/efi/boot1/zfs_module.c Thu Apr 6 17:31:58 2017 (r316584) +++ head/sys/boot/efi/boot1/zfs_module.c Thu Apr 6 18:17:29 2017 (r316585) @@ -40,6 +40,15 @@ static dev_info_t *devices; +uint64_t +ldi_get_size(void *priv) +{ + dev_info_t *devinfo = priv; + + return (devinfo->dev->Media->BlockSize * + (devinfo->dev->Media->LastBlock + 1)); +} + static int vdev_read(vdev_t *vdev, void *priv, off_t off, void *buf, size_t bytes) { Modified: head/sys/boot/efi/loader/main.c ============================================================================== --- head/sys/boot/efi/loader/main.c Thu Apr 6 17:31:58 2017 (r316584) +++ head/sys/boot/efi/loader/main.c Thu Apr 6 18:17:29 2017 (r316585) @@ -28,6 +28,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include #include @@ -838,4 +839,14 @@ efi_zfs_probe(void) } } } + +uint64_t +ldi_get_size(void *priv) +{ + int fd = (uintptr_t) priv; + uint64_t size; + + ioctl(fd, DIOCGMEDIASIZE, &size); + return (size); +} #endif Modified: head/sys/boot/i386/common/drv.h ============================================================================== --- head/sys/boot/i386/common/drv.h Thu Apr 6 17:31:58 2017 (r316584) +++ head/sys/boot/i386/common/drv.h Thu Apr 6 18:17:29 2017 (r316585) @@ -36,7 +36,7 @@ struct dsk { unsigned int slice; int part; daddr_t start; - int init; + uint64_t size; }; int drvread(struct dsk *dskp, void *buf, daddr_t lba, unsigned nblk); Modified: head/sys/boot/i386/loader/main.c ============================================================================== --- head/sys/boot/i386/loader/main.c Thu Apr 6 17:31:58 2017 (r316584) +++ head/sys/boot/i386/loader/main.c Thu Apr 6 18:17:29 2017 (r316585) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -463,4 +464,14 @@ i386_zfs_probe(void) zfs_probe_dev(devname, NULL); } } + +uint64_t +ldi_get_size(void *priv) +{ + int fd = (uintptr_t) priv; + uint64_t size; + + ioctl(fd, DIOCGMEDIASIZE, &size); + return (size); +} #endif Modified: head/sys/boot/i386/zfsboot/zfsboot.c ============================================================================== --- head/sys/boot/i386/zfsboot/zfsboot.c Thu Apr 6 17:31:58 2017 (r316584) +++ head/sys/boot/i386/zfsboot/zfsboot.c Thu Apr 6 18:17:29 2017 (r316585) @@ -468,6 +468,23 @@ copy_dsk(struct dsk *dsk) return (newdsk); } +/* + * The "layered" ioctl to read disk/partition size. Unfortunately + * the zfsboot case is hardest, because we do not have full software + * stack available, so we need to do some manual work here. + */ +uint64_t +ldi_get_size(void *priv) +{ + struct dsk *dskp = priv; + uint64_t size = dskp->size; + + if (dskp->start == 0) + size = drvsize(dskp); + + return (size * DEV_BSIZE); +} + static void probe_drive(struct dsk *dsk) { @@ -549,6 +566,7 @@ probe_drive(struct dsk *dsk) if (memcmp(&ent->ent_type, &freebsd_zfs_uuid, sizeof(uuid_t)) == 0) { dsk->start = ent->ent_lba_start; + dsk->size = ent->ent_lba_end - ent->ent_lba_start + 1; dsk->slice = part + 1; dsk->part = 255; if (vdev_probe(vdev_read, dsk, NULL) == 0) { @@ -593,6 +611,7 @@ trymbr: if (!dp[i].dp_typ) continue; dsk->start = dp[i].dp_start; + dsk->size = dp[i].dp_size; dsk->slice = i + 1; if (vdev_probe(vdev_read, dsk, NULL) == 0) { dsk = copy_dsk(dsk); @@ -648,7 +667,7 @@ main(void) dsk->slice = *(uint8_t *)PTOV(ARGS + 1) + 1; dsk->part = 0; dsk->start = 0; - dsk->init = 0; + dsk->size = 0; bootinfo.bi_version = BOOTINFO_VERSION; bootinfo.bi_size = sizeof(bootinfo); @@ -699,7 +718,7 @@ main(void) dsk->slice = 0; dsk->part = 0; dsk->start = 0; - dsk->init = 0; + dsk->size = 0; probe_drive(dsk); } Modified: head/sys/boot/zfs/libzfs.h ============================================================================== --- head/sys/boot/zfs/libzfs.h Thu Apr 6 17:31:58 2017 (r316584) +++ head/sys/boot/zfs/libzfs.h Thu Apr 6 18:17:29 2017 (r316585) @@ -81,6 +81,7 @@ int zfs_parsedev(struct zfs_devdesc *dev char *zfs_fmtdev(void *vdev); int zfs_probe_dev(const char *devname, uint64_t *pool_guid); int zfs_list(const char *name); +uint64_t ldi_get_size(void *); void init_zfs_bootenv(char *currdev); int zfs_bootenv(const char *name); int zfs_belist_add(const char *name, uint64_t __unused); Modified: head/sys/boot/zfs/zfsimpl.c ============================================================================== --- head/sys/boot/zfs/zfsimpl.c Thu Apr 6 17:31:58 2017 (r316584) +++ head/sys/boot/zfs/zfsimpl.c Thu Apr 6 18:17:29 2017 (r316585) @@ -68,7 +68,7 @@ static const char *features_for_read[] = */ static spa_list_t zfs_pools; -static const dnode_phys_t *dnode_cache_obj = NULL; +static const dnode_phys_t *dnode_cache_obj; static uint64_t dnode_cache_bn; static char *dnode_cache_buf; static char *zap_scratch; @@ -523,12 +523,11 @@ vdev_init_from_nvlist(const unsigned cha int nkids, i, is_new; uint64_t is_offline, is_faulted, is_degraded, is_removed, isnt_present; - if (nvlist_find(nvlist, ZPOOL_CONFIG_GUID, - DATA_TYPE_UINT64, 0, &guid) - || nvlist_find(nvlist, ZPOOL_CONFIG_ID, - DATA_TYPE_UINT64, 0, &id) - || nvlist_find(nvlist, ZPOOL_CONFIG_TYPE, - DATA_TYPE_STRING, 0, &type)) { + if (nvlist_find(nvlist, ZPOOL_CONFIG_GUID, DATA_TYPE_UINT64, + NULL, &guid) + || nvlist_find(nvlist, ZPOOL_CONFIG_ID, DATA_TYPE_UINT64, NULL, &id) + || nvlist_find(nvlist, ZPOOL_CONFIG_TYPE, DATA_TYPE_STRING, + NULL, &type)) { printf("ZFS: can't find vdev details\n"); return (ENOENT); } @@ -546,15 +545,15 @@ vdev_init_from_nvlist(const unsigned cha is_offline = is_removed = is_faulted = is_degraded = isnt_present = 0; - nvlist_find(nvlist, ZPOOL_CONFIG_OFFLINE, DATA_TYPE_UINT64, 0, + nvlist_find(nvlist, ZPOOL_CONFIG_OFFLINE, DATA_TYPE_UINT64, NULL, &is_offline); - nvlist_find(nvlist, ZPOOL_CONFIG_REMOVED, DATA_TYPE_UINT64, 0, + nvlist_find(nvlist, ZPOOL_CONFIG_REMOVED, DATA_TYPE_UINT64, NULL, &is_removed); - nvlist_find(nvlist, ZPOOL_CONFIG_FAULTED, DATA_TYPE_UINT64, 0, + nvlist_find(nvlist, ZPOOL_CONFIG_FAULTED, DATA_TYPE_UINT64, NULL, &is_faulted); - nvlist_find(nvlist, ZPOOL_CONFIG_DEGRADED, DATA_TYPE_UINT64, 0, + nvlist_find(nvlist, ZPOOL_CONFIG_DEGRADED, DATA_TYPE_UINT64, NULL, &is_degraded); - nvlist_find(nvlist, ZPOOL_CONFIG_NOT_PRESENT, DATA_TYPE_UINT64, 0, + nvlist_find(nvlist, ZPOOL_CONFIG_NOT_PRESENT, DATA_TYPE_UINT64, NULL, &isnt_present); vdev = vdev_find(guid); @@ -573,17 +572,19 @@ vdev_init_from_nvlist(const unsigned cha vdev->v_id = id; vdev->v_top = pvdev != NULL ? pvdev : vdev; if (nvlist_find(nvlist, ZPOOL_CONFIG_ASHIFT, - DATA_TYPE_UINT64, 0, &ashift) == 0) + DATA_TYPE_UINT64, NULL, &ashift) == 0) { vdev->v_ashift = ashift; - else + } else { vdev->v_ashift = 0; + } if (nvlist_find(nvlist, ZPOOL_CONFIG_NPARITY, - DATA_TYPE_UINT64, 0, &nparity) == 0) + DATA_TYPE_UINT64, NULL, &nparity) == 0) { vdev->v_nparity = nparity; - else + } else { vdev->v_nparity = 0; + } if (nvlist_find(nvlist, ZPOOL_CONFIG_PATH, - DATA_TYPE_STRING, 0, &path) == 0) { + DATA_TYPE_STRING, NULL, &path) == 0) { if (strncmp(path, "/dev/", 5) == 0) path += 5; vdev->v_name = strdup(path); @@ -625,8 +626,8 @@ vdev_init_from_nvlist(const unsigned cha vdev->v_state = VDEV_STATE_CANT_OPEN; } - rc = nvlist_find(nvlist, ZPOOL_CONFIG_CHILDREN, - DATA_TYPE_NVLIST_ARRAY, &nkids, &kids); + rc = nvlist_find(nvlist, ZPOOL_CONFIG_CHILDREN, DATA_TYPE_NVLIST_ARRAY, + &nkids, &kids); /* * Its ok if we don't have any kids. */ @@ -744,12 +745,17 @@ spa_get_primary_vdev(const spa_t *spa) #endif static spa_t * -spa_create(uint64_t guid) +spa_create(uint64_t guid, const char *name) { spa_t *spa; - spa = malloc(sizeof(spa_t)); + if ((spa = malloc(sizeof(spa_t))) == NULL) + return (NULL); memset(spa, 0, sizeof(spa_t)); + if ((spa->spa_name = strdup(name)) == NULL) { + free(spa); + return (NULL); + } STAILQ_INIT(&spa->spa_vdevs); spa->spa_guid = guid; STAILQ_INSERT_TAIL(&zfs_pools, spa, spa_link); @@ -905,24 +911,39 @@ spa_all_status(void) return (ret); } +uint64_t +vdev_label_offset(uint64_t psize, int l, uint64_t offset) +{ + uint64_t label_offset; + + if (l < VDEV_LABELS / 2) + label_offset = 0; + else + label_offset = psize - VDEV_LABELS * sizeof (vdev_label_t); + + return (offset + l * sizeof (vdev_label_t) + label_offset); +} + static int vdev_probe(vdev_phys_read_t *_read, void *read_priv, spa_t **spap) { vdev_t vtmp; vdev_phys_t *vdev_label = (vdev_phys_t *) zap_scratch; + vdev_phys_t *tmp_label = zfs_alloc(sizeof(vdev_phys_t)); spa_t *spa; vdev_t *vdev, *top_vdev, *pool_vdev; off_t off; blkptr_t bp; - const unsigned char *nvlist; + const unsigned char *nvlist = NULL; uint64_t val; uint64_t guid; + uint64_t best_txg = 0; uint64_t pool_txg, pool_guid; - uint64_t is_log; + uint64_t psize; const char *pool_name; const unsigned char *vdevs; const unsigned char *features; - int i, rc, is_newer; + int i, l, rc, is_newer; char *upbuf; const struct uberblock *up; @@ -933,26 +954,47 @@ vdev_probe(vdev_phys_read_t *_read, void memset(&vtmp, 0, sizeof(vtmp)); vtmp.v_phys_read = _read; vtmp.v_read_priv = read_priv; - off = offsetof(vdev_label_t, vl_vdev_phys); - BP_ZERO(&bp); - BP_SET_LSIZE(&bp, sizeof(vdev_phys_t)); - BP_SET_PSIZE(&bp, sizeof(vdev_phys_t)); - BP_SET_CHECKSUM(&bp, ZIO_CHECKSUM_LABEL); - BP_SET_COMPRESS(&bp, ZIO_COMPRESS_OFF); - DVA_SET_OFFSET(BP_IDENTITY(&bp), off); - ZIO_SET_CHECKSUM(&bp.blk_cksum, off, 0, 0, 0); - if (vdev_read_phys(&vtmp, &bp, vdev_label, off, 0)) - return (EIO); + psize = P2ALIGN(ldi_get_size(read_priv), + (uint64_t)sizeof (vdev_label_t)); - if (vdev_label->vp_nvlist[0] != NV_ENCODE_XDR) { - return (EIO); + for (l = 0; l < VDEV_LABELS; l++) { + off = vdev_label_offset(psize, l, + offsetof(vdev_label_t, vl_vdev_phys)); + + BP_ZERO(&bp); + BP_SET_LSIZE(&bp, sizeof(vdev_phys_t)); + BP_SET_PSIZE(&bp, sizeof(vdev_phys_t)); + BP_SET_CHECKSUM(&bp, ZIO_CHECKSUM_LABEL); + BP_SET_COMPRESS(&bp, ZIO_COMPRESS_OFF); + DVA_SET_OFFSET(BP_IDENTITY(&bp), off); + ZIO_SET_CHECKSUM(&bp.blk_cksum, off, 0, 0, 0); + + if (vdev_read_phys(&vtmp, &bp, tmp_label, off, 0)) + continue; + + if (tmp_label->vp_nvlist[0] != NV_ENCODE_XDR) + continue; + + nvlist = (const unsigned char *) tmp_label->vp_nvlist + 4; + if (nvlist_find(nvlist, ZPOOL_CONFIG_POOL_TXG, + DATA_TYPE_UINT64, NULL, &pool_txg) != 0) + continue; + + if (best_txg <= pool_txg) { + best_txg = pool_txg; + memcpy(vdev_label, tmp_label, sizeof (vdev_phys_t)); + } } + zfs_free(tmp_label, sizeof (vdev_phys_t)); + + if (vdev_label->vp_nvlist[0] != NV_ENCODE_XDR) + return (EIO); + nvlist = (const unsigned char *) vdev_label->vp_nvlist + 4; - if (nvlist_find(nvlist, - ZPOOL_CONFIG_VERSION, - DATA_TYPE_UINT64, 0, &val)) { + if (nvlist_find(nvlist, ZPOOL_CONFIG_VERSION, DATA_TYPE_UINT64, + NULL, &val) != 0) { return (EIO); } @@ -963,15 +1005,14 @@ vdev_probe(vdev_phys_read_t *_read, void } /* Check ZFS features for read */ - if (nvlist_find(nvlist, - ZPOOL_CONFIG_FEATURES_FOR_READ, - DATA_TYPE_NVLIST, 0, &features) == 0 - && nvlist_check_features_for_read(features) != 0) + if (nvlist_find(nvlist, ZPOOL_CONFIG_FEATURES_FOR_READ, + DATA_TYPE_NVLIST, NULL, &features) == 0 && + nvlist_check_features_for_read(features) != 0) { return (EIO); + } - if (nvlist_find(nvlist, - ZPOOL_CONFIG_POOL_STATE, - DATA_TYPE_UINT64, 0, &val)) { + if (nvlist_find(nvlist, ZPOOL_CONFIG_POOL_STATE, DATA_TYPE_UINT64, + NULL, &val) != 0) { return (EIO); } @@ -980,15 +1021,12 @@ vdev_probe(vdev_phys_read_t *_read, void return (EIO); } - if (nvlist_find(nvlist, - ZPOOL_CONFIG_POOL_TXG, - DATA_TYPE_UINT64, 0, &pool_txg) - || nvlist_find(nvlist, - ZPOOL_CONFIG_POOL_GUID, - DATA_TYPE_UINT64, 0, &pool_guid) - || nvlist_find(nvlist, - ZPOOL_CONFIG_POOL_NAME, - DATA_TYPE_STRING, 0, &pool_name)) { + if (nvlist_find(nvlist, ZPOOL_CONFIG_POOL_TXG, DATA_TYPE_UINT64, + NULL, &pool_txg) != 0 || + nvlist_find(nvlist, ZPOOL_CONFIG_POOL_GUID, DATA_TYPE_UINT64, + NULL, &pool_guid) != 0 || + nvlist_find(nvlist, ZPOOL_CONFIG_POOL_NAME, DATA_TYPE_STRING, + NULL, &pool_name) != 0) { /* * Cache and spare devices end up here - just ignore * them. @@ -997,25 +1035,26 @@ vdev_probe(vdev_phys_read_t *_read, void return (EIO); } - is_log = 0; - (void) nvlist_find(nvlist, ZPOOL_CONFIG_IS_LOG, DATA_TYPE_UINT64, 0, - &is_log); - if (is_log) + if (nvlist_find(nvlist, ZPOOL_CONFIG_IS_LOG, DATA_TYPE_UINT64, + NULL, &val) == 0 && val != 0) { return (EIO); + } /* * Create the pool if this is the first time we've seen it. */ spa = spa_find_by_guid(pool_guid); - if (!spa) { - spa = spa_create(pool_guid); - spa->spa_name = strdup(pool_name); + if (spa == NULL) { + spa = spa_create(pool_guid, pool_name); + if (spa == NULL) + return (ENOMEM); } if (pool_txg > spa->spa_txg) { spa->spa_txg = pool_txg; is_newer = 1; - } else + } else { is_newer = 0; + } /* * Get the vdev tree and create our in-core copy of it. @@ -1023,23 +1062,21 @@ vdev_probe(vdev_phys_read_t *_read, void * be some kind of alias (overlapping slices, dangerously dedicated * disks etc). */ - if (nvlist_find(nvlist, - ZPOOL_CONFIG_GUID, - DATA_TYPE_UINT64, 0, &guid)) { + if (nvlist_find(nvlist, ZPOOL_CONFIG_GUID, DATA_TYPE_UINT64, + NULL, &guid) != 0) { return (EIO); } vdev = vdev_find(guid); if (vdev && vdev->v_phys_read) /* Has this vdev already been inited? */ return (EIO); - if (nvlist_find(nvlist, - ZPOOL_CONFIG_VDEV_TREE, - DATA_TYPE_NVLIST, 0, &vdevs)) { + if (nvlist_find(nvlist, ZPOOL_CONFIG_VDEV_TREE, DATA_TYPE_NVLIST, + NULL, &vdevs)) { return (EIO); } rc = vdev_init_from_nvlist(vdevs, NULL, &top_vdev, is_newer); - if (rc) + if (rc != 0) return (rc); /* @@ -1079,36 +1116,37 @@ vdev_probe(vdev_phys_read_t *_read, void */ upbuf = zfs_alloc(VDEV_UBERBLOCK_SIZE(vdev)); up = (const struct uberblock *)upbuf; - for (i = 0; - i < VDEV_UBERBLOCK_COUNT(vdev); - i++) { - off = VDEV_UBERBLOCK_OFFSET(vdev, i); - BP_ZERO(&bp); - DVA_SET_OFFSET(&bp.blk_dva[0], off); - BP_SET_LSIZE(&bp, VDEV_UBERBLOCK_SIZE(vdev)); - BP_SET_PSIZE(&bp, VDEV_UBERBLOCK_SIZE(vdev)); - BP_SET_CHECKSUM(&bp, ZIO_CHECKSUM_LABEL); - BP_SET_COMPRESS(&bp, ZIO_COMPRESS_OFF); - ZIO_SET_CHECKSUM(&bp.blk_cksum, off, 0, 0, 0); + for (l = 0; l < VDEV_LABELS; l++) { + for (i = 0; i < VDEV_UBERBLOCK_COUNT(vdev); i++) { + off = vdev_label_offset(psize, l, + VDEV_UBERBLOCK_OFFSET(vdev, i)); + BP_ZERO(&bp); + DVA_SET_OFFSET(&bp.blk_dva[0], off); + BP_SET_LSIZE(&bp, VDEV_UBERBLOCK_SIZE(vdev)); + BP_SET_PSIZE(&bp, VDEV_UBERBLOCK_SIZE(vdev)); + BP_SET_CHECKSUM(&bp, ZIO_CHECKSUM_LABEL); + BP_SET_COMPRESS(&bp, ZIO_COMPRESS_OFF); + ZIO_SET_CHECKSUM(&bp.blk_cksum, off, 0, 0, 0); - if (vdev_read_phys(vdev, &bp, upbuf, off, 0)) - continue; + if (vdev_read_phys(vdev, &bp, upbuf, off, 0)) + continue; - if (up->ub_magic != UBERBLOCK_MAGIC) - continue; - if (up->ub_txg < spa->spa_txg) - continue; - if (up->ub_txg > spa->spa_uberblock.ub_txg) { - spa->spa_uberblock = *up; - } else if (up->ub_txg == spa->spa_uberblock.ub_txg) { - if (up->ub_timestamp > spa->spa_uberblock.ub_timestamp) + if (up->ub_magic != UBERBLOCK_MAGIC) + continue; + if (up->ub_txg < spa->spa_txg) + continue; + if (up->ub_txg > spa->spa_uberblock.ub_txg || + (up->ub_txg == spa->spa_uberblock.ub_txg && + up->ub_timestamp > + spa->spa_uberblock.ub_timestamp)) { spa->spa_uberblock = *up; + } } } zfs_free(upbuf, VDEV_UBERBLOCK_SIZE(vdev)); vdev->spa = spa; - if (spap) + if (spap != NULL) *spap = spa; return (0); } From owner-svn-src-all@freebsd.org Thu Apr 6 18:22:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8EC7CD326C4; Thu, 6 Apr 2017 18:22:00 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 66C171A4A; Thu, 6 Apr 2017 18:22:00 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36ILxLf090541; Thu, 6 Apr 2017 18:21:59 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36ILxXa090537; Thu, 6 Apr 2017 18:21:59 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201704061821.v36ILxXa090537@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Thu, 6 Apr 2017 18:21:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316586 - in head: . share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 18:22:00 -0000 Author: bdrewery Date: Thu Apr 6 18:21:59 2017 New Revision: 316586 URL: https://svnweb.freebsd.org/changeset/base/316586 Log: META_MODE: Fix build-tools still sometimes rebuilding during target build. In a cross-build, the build-tools are native host binaries. We do not want to rebuild them when building for the target. Bmake previously did not support checking .NOMETA on an existing target, so .NOMETA_CMP was used here. However, .NOMETA_CMP still triggers meta mode conditions if the number of commands or the command changes. In r312467 the paths to build ncurses files were modified and thus triggered meta mode to rebuild the build tools (make_keys, make_hash) in ncurses during the target build. Bmake 20160604 committed in r301462 changed .NOMETA to also skip meta mode logic for an existing .meta file as well, thus it is now the proper fix here. I explored moving the build-tools output to WORLDTMP/tools with relatively good success, but have concerns that doing so would be problematic for downstream vendors who use LOCAL_TOOL_DIRS and expect the tools to be in current OBJDIR for the target. It also adds more complexity into finding the tools during target build and handling of where they are for rescue/rescue and mkcsmapper_static/mkesdb_static which should really not be connected in build-tools anyway. MFC after: 2 weeks Reported by: many Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 head/Makefile.libcompat head/share/mk/bsd.crunchgen.mk Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Thu Apr 6 18:17:29 2017 (r316585) +++ head/Makefile.inc1 Thu Apr 6 18:21:59 2017 (r316586) @@ -466,7 +466,7 @@ CROSSENV+= MAKEOBJDIRPREFIX=${OBJTREE} \ CPUTYPE=${TARGET_CPUTYPE} .if ${MK_META_MODE} != "no" # Don't rebuild build-tools targets during normal build. -CROSSENV+= BUILD_TOOLS_META=.NOMETA_CMP +CROSSENV+= BUILD_TOOLS_META=.NOMETA .endif .if ${MK_GROFF} != "no" CROSSENV+= GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \ @@ -2548,7 +2548,7 @@ CDMAKE=${CDENV} PATH=${CDTMP}/usr/bin:${ CD2MAKE=${CD2ENV} PATH=${CDTMP}/usr/bin:${XDDESTDIR}/usr/bin:${PATH} ${MAKE} ${NOFUN} .if ${MK_META_MODE} != "no" # Don't rebuild build-tools targets during normal build. -CD2MAKE+= BUILD_TOOLS_META=.NOMETA_CMP +CD2MAKE+= BUILD_TOOLS_META=.NOMETA .endif XDDESTDIR=${DESTDIR}/${XDTP} .if !defined(OSREL) Modified: head/Makefile.libcompat ============================================================================== --- head/Makefile.libcompat Thu Apr 6 18:17:29 2017 (r316585) +++ head/Makefile.libcompat Thu Apr 6 18:21:59 2017 (r316586) @@ -116,7 +116,7 @@ LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${L DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}" .if ${MK_META_MODE} != "no" # Don't rebuild build-tools targets during normal build. -LIBCOMPATWMAKEENV+= BUILD_TOOLS_META=.NOMETA_CMP +LIBCOMPATWMAKEENV+= BUILD_TOOLS_META=.NOMETA .endif LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \ CXX="${XCXX} ${LIBCOMPATCXXFLAGS} ${LIBCOMPATCFLAGS}" \ Modified: head/share/mk/bsd.crunchgen.mk ============================================================================== --- head/share/mk/bsd.crunchgen.mk Thu Apr 6 18:17:29 2017 (r316585) +++ head/share/mk/bsd.crunchgen.mk Thu Apr 6 18:21:59 2017 (r316586) @@ -133,7 +133,7 @@ ${PROG}: ${OUTPUTS} objs .NOMETA .PHONY objs: ${OUTMK} .META ${CRUNCHENV} MAKEOBJDIRPREFIX=${CRUNCHOBJS} \ - ${MAKE} -f ${OUTMK} BUILD_TOOLS_META=.NOMETA_CMP objs + ${MAKE} -f ${OUTMK} BUILD_TOOLS_META=.NOMETA objs # Someone should replace the bin/csh and bin/sh build-tools with # shell scripts so we can remove this nonsense. From owner-svn-src-all@freebsd.org Thu Apr 6 19:10:17 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 42520D32E26; Thu, 6 Apr 2017 19:10:17 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 11BB720E; Thu, 6 Apr 2017 19:10:17 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36JAGxK009687; Thu, 6 Apr 2017 19:10:16 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36JAG1c009686; Thu, 6 Apr 2017 19:10:16 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201704061910.v36JAG1c009686@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Thu, 6 Apr 2017 19:10:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316587 - head/share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 19:10:17 -0000 Author: trasz Date: Thu Apr 6 19:10:16 2017 New Revision: 316587 URL: https://svnweb.freebsd.org/changeset/base/316587 Log: Update hier(7) by removing files and directories that no longer exist and doing a few random tweaks. MFC after: 2 weeks Modified: head/share/man/man7/hier.7 Modified: head/share/man/man7/hier.7 ============================================================================== --- head/share/man/man7/hier.7 Thu Apr 6 18:21:59 2017 (r316586) +++ head/share/man/man7/hier.7 Thu Apr 6 19:10:16 2017 (r316587) @@ -28,7 +28,7 @@ .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd April 3, 2017 +.Dd April 6, 2017 .Dt HIER 7 .Os .Sh NAME @@ -58,7 +58,7 @@ Loadable modules containing binary firmw firmware downloaded to it to function .It Pa kernel/ pure kernel executable (the operating system loaded into memory -at boot time) +at boot time) and kernel modules .It Pa modules/ third-party loadable kernel modules; see @@ -85,8 +85,6 @@ device special files managed by file descriptor files; see .Xr \&fd 4 -.It Pa net/ -network devices .El .It Pa /etc/ system configuration files and scripts @@ -191,8 +189,6 @@ such as Linux standard C include files .Pp .Bl -tag -width "kerberos5/" -compact -.It Pa altq/ -C include files for alternate queueing .It Pa arpa/ C include files for Internet service protocols .It Pa bsnmp/ @@ -236,13 +232,8 @@ WaveLAN driver .El .It Pa fs/ .Bl -tag -width "kerberos5/" -compact -.It Pa cd9660/ -iso9660 file system .It Pa fdescfs/ per-process file descriptors file system -.It Pa fifofs/ -.St -p1003.1 -FIFOs file system .It Pa msdosfs/ MS-DOS file system .It Pa nfs/ @@ -275,8 +266,6 @@ RAID3 GEOM class STRIPE GEOM class .El .Pp -.It Pa isc/ -ISC utility library libisc include files .It Pa libmilter/ C include files for libmilter, the @@ -286,6 +275,10 @@ mail filter API machine-specific C include files .It Pa net/ miscellaneous network C include files +.Bl -tag -width "altq/" -compact +.It Pa altq/ +C include files for alternate queueing +.El .It Pa net80211/ C include files for 802.11 wireless networking; see @@ -321,12 +314,8 @@ include files for the UNI signalling pro SMB/CIFS requester .It Pa nfs/ C include files for NFS (Network File System) version 2 and 3 (legacy) -.It Pa objc/ -Objective C include files .It Pa openssl/ OpenSSL (Cryptography/SSL toolkit) headers -.It Pa pccard/ -PC-CARD controllers .It Pa protocols/ C include files for Berkeley service protocols .It Pa readline/ @@ -388,9 +377,6 @@ standalone debug data for the kernel and DTrace library scripts .It Pa engines/ OpenSSL (Cryptography/SSL toolkit) dynamically loadable engines -.It Pa private/ -Private system libraries not for use by third-party programs. -ABI and API stability are not guaranteed. .El .Pp .It Pa libdata/ @@ -436,8 +422,8 @@ see .It Pa local/ local executables, libraries, etc. Also used as the default destination for the -.Fx -ports framework. +.Xr ports 7 +framework. Within .Pa local/ , the general layout sketched out by @@ -464,9 +450,10 @@ architecture-specific target tree produc .Pa /usr/src tree .It Pa ports/ -The +.Xr ports 7 , +the .Fx -ports collection (optional). +ports collection. .It Pa sbin/ system daemons & system utilities (executed by users) .It Pa share/ @@ -486,14 +473,8 @@ see .It Pa freebsd .Fx Ns -specific terms, proper names, and jargon -.It Pa words -common words .It Pa web2 words from Webster's 2nd International -.It Pa papers/ -reference databases; -see -.Xr refer 1 .El .Pp .It Pa doc/ @@ -553,8 +534,8 @@ ASCII text files used by various games device description file for device name .It Pa keys/ known trusted and revoked keys. -.Bl -tag -width "keys/pkg/" -compact -.It Pa keys/pkg/ +.Bl -tag -width "pkg/" -compact +.It Pa pkg/ fingerprints for .Xr pkg 7 and @@ -567,8 +548,6 @@ see .Xr setlocale 3 .It Pa man/ manual pages -.It Pa mdocml/ -data files used by mdocml .It Pa me/ macros for use with the me macro package; see @@ -694,6 +673,8 @@ source code for files in build infrastructure for kerberos version 5 .It Pa lib/ source code for files in +.Pa /lib +and .Pa /usr/lib .It Pa libexec/ source code for files in @@ -727,6 +708,8 @@ ARMv8 architecture support bootloader code .It Pa cam/ .Xr cam 4 +and +.Xr ctl 4 .It Pa cddl/ CDDL-licensed optional sources, including ZFS and DTrace From owner-svn-src-all@freebsd.org Thu Apr 6 19:13:41 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E609CD32F95; Thu, 6 Apr 2017 19:13:41 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A23048CD; Thu, 6 Apr 2017 19:13:41 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36JDemj013334; Thu, 6 Apr 2017 19:13:40 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36JDe8S013331; Thu, 6 Apr 2017 19:13:40 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704061913.v36JDe8S013331@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Thu, 6 Apr 2017 19:13:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316588 - stable/10/sys/dev/e1000 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 19:13:42 -0000 Author: sbruno Date: Thu Apr 6 19:13:40 2017 New Revision: 316588 URL: https://svnweb.freebsd.org/changeset/base/316588 Log: Direct commit of fixes to stable/10, resolving PCI passthrough and initialization issues when trying to passthrough a i340 (igb) to VMware. While here, cleanup some bits of em(4) to DTRT as well. PR: 218113 Submitted by: Kaho Toshikazu Modified: stable/10/sys/dev/e1000/if_em.c stable/10/sys/dev/e1000/if_em.h stable/10/sys/dev/e1000/if_igb.c Modified: stable/10/sys/dev/e1000/if_em.c ============================================================================== --- stable/10/sys/dev/e1000/if_em.c Thu Apr 6 19:10:16 2017 (r316587) +++ stable/10/sys/dev/e1000/if_em.c Thu Apr 6 19:13:40 2017 (r316588) @@ -2846,7 +2846,7 @@ em_free_pci_resources(struct adapter *ad if (adapter->msix_mem != NULL) bus_release_resource(dev, SYS_RES_MEMORY, - PCIR_BAR(EM_MSIX_BAR), adapter->msix_mem); + adapter->memrid, adapter->msix_mem); if (adapter->memory != NULL) bus_release_resource(dev, SYS_RES_MEMORY, @@ -2880,9 +2880,9 @@ em_setup_msix(struct adapter *adapter) em_enable_vectors_82574(adapter); #endif /* Map the MSIX BAR */ - int rid = PCIR_BAR(EM_MSIX_BAR); + adapter->memrid = PCIR_BAR(EM_MSIX_BAR); adapter->msix_mem = bus_alloc_resource_any(dev, - SYS_RES_MEMORY, &rid, RF_ACTIVE); + SYS_RES_MEMORY, &adapter->memrid, RF_ACTIVE); if (adapter->msix_mem == NULL) { /* May not be enabled */ device_printf(adapter->dev, @@ -2933,7 +2933,7 @@ msix_one: msi: if (adapter->msix_mem != NULL) { bus_release_resource(dev, SYS_RES_MEMORY, - PCIR_BAR(EM_MSIX_BAR), adapter->msix_mem); + adapter->memrid, adapter->msix_mem); adapter->msix_mem = NULL; } val = 1; Modified: stable/10/sys/dev/e1000/if_em.h ============================================================================== --- stable/10/sys/dev/e1000/if_em.h Thu Apr 6 19:10:16 2017 (r316587) +++ stable/10/sys/dev/e1000/if_em.h Thu Apr 6 19:13:40 2017 (r316588) @@ -400,6 +400,7 @@ struct adapter { struct resource *memory; struct resource *flash; struct resource *msix_mem; + int memrid; struct resource *res; void *tag; Modified: stable/10/sys/dev/e1000/if_igb.c ============================================================================== --- stable/10/sys/dev/e1000/if_igb.c Thu Apr 6 19:10:16 2017 (r316587) +++ stable/10/sys/dev/e1000/if_igb.c Thu Apr 6 19:13:40 2017 (r316588) @@ -2806,7 +2806,7 @@ igb_setup_msix(struct adapter *adapter) msi: if (adapter->msix_mem != NULL) { bus_release_resource(dev, SYS_RES_MEMORY, - PCIR_BAR(IGB_MSIX_BAR), adapter->msix_mem); + adapter->memrid, adapter->msix_mem); adapter->msix_mem = NULL; } msgs = 1; From owner-svn-src-all@freebsd.org Thu Apr 6 19:17:21 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2B27D32093; Thu, 6 Apr 2017 19:17:21 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7D59AB11; Thu, 6 Apr 2017 19:17:21 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36JHKn0013619; Thu, 6 Apr 2017 19:17:20 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36JHKf1013618; Thu, 6 Apr 2017 19:17:20 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201704061917.v36JHKf1013618@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Thu, 6 Apr 2017 19:17:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316589 - head/share/man/man7 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 19:17:21 -0000 Author: trasz Date: Thu Apr 6 19:17:20 2017 New Revision: 316589 URL: https://svnweb.freebsd.org/changeset/base/316589 Log: Unify capitalization. MFC after: 2 weeks Modified: head/share/man/man7/hier.7 Modified: head/share/man/man7/hier.7 ============================================================================== --- head/share/man/man7/hier.7 Thu Apr 6 19:13:40 2017 (r316588) +++ head/share/man/man7/hier.7 Thu Apr 6 19:17:20 2017 (r316589) @@ -54,7 +54,7 @@ Compiled flattened device tree (FDT) fil and .Xr dtc 1 .It Pa firmware/ -Loadable modules containing binary firmware for hardware that needs +loadable kernel modules containing binary firmware for hardware that needs firmware downloaded to it to function .It Pa kernel/ pure kernel executable (the operating system loaded into memory @@ -64,9 +64,8 @@ third-party loadable kernel modules; see .Xr kldstat 8 .It Pa zfs/ -Contains .Xr zfs 8 -zpool cache files. +zpool cache files .El .It Pa /cdrom/ default mount point for CD-ROM drives @@ -115,7 +114,7 @@ scripts that are run daily, weekly, and see .Xr periodic 8 .It Pa rc.d/ -System and daemon startup/control scripts; +system and daemon startup/control scripts; see .Xr rc 8 .It Pa security/ @@ -199,7 +198,7 @@ C++ include files C include files for the Common Access Methods Layer .Bl -tag -width "kerberos5/" -compact .It Pa scsi/ -The SCSI device on top of CAM +SCSI device on top of CAM .El .It Pa dev/ C include files for programming various @@ -207,7 +206,7 @@ C include files for programming various devices .Bl -tag -width "kerberos5/" -compact .It Pa ic/ -Various header files describing driver- and bus-independent +various header files describing driver- and bus-independent hardware circuits .It Pa ofw/ Open Firmware support @@ -216,17 +215,16 @@ Open Firmware support see .Xr pbio 4 .It Pa ppbus/ -The parallel port bus; +parallel port bus; see .Xr ppbus 4 .It Pa usb/ -The USB subsystem +USB subsystem .It Pa utopia/ -Physical chip driver for ATM interfaces; +physical chip driver for ATM interfaces; see .Xr utopia 4 .It Pa wi/ -The .Xr wi 4 WaveLAN driver .El @@ -527,7 +525,7 @@ Chinese translations of documents in /us .It Pa examples/ various examples for users and programmers .It Pa firmware/ -Firmware images loaded by userland programs +firmware images loaded by userland programs .It Pa games/ ASCII text files used by various games .It Pa groff_font/ @@ -584,7 +582,7 @@ example MIBs, example files and tree definitions for the SNMP daemon. .Bl -tag -width Fl -compact .It Pa defs/ -Tree definition files for use with +tree definition files for use with .Xr gensnmptree 1 .It Pa mibs/ MIB files @@ -656,7 +654,7 @@ third-party, and/or local source files .It Pa bin/ source code for files in /bin .It Pa cddl/ -Utilities covered by the Common Development and Distribution License +utilities covered by the Common Development and Distribution License .It Pa contrib/ source code for contributed software .It Pa crypto/ @@ -665,7 +663,7 @@ source code for contributed cryptography source code for files in .Pa /etc .It Pa gnu/ -Utilities covered by the GNU General Public License +utilities covered by the GNU General Public License .It Pa include/ source code for files in .Pa /usr/include From owner-svn-src-all@freebsd.org Thu Apr 6 19:41:28 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5E499D32950; Thu, 6 Apr 2017 19:41:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2EE19DF9; Thu, 6 Apr 2017 19:41:28 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (unknown [127.0.1.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by freefall.freebsd.org (Postfix) with ESMTPS id 20417276D; Thu, 6 Apr 2017 19:41:27 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id C9E8975C2; Thu, 6 Apr 2017 19:41:25 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id Lj9Y-Y6HSkbM; Thu, 6 Apr 2017 19:41:22 +0000 (UTC) Subject: Re: svn commit: r316585 - in head/sys/boot: efi/boot1 efi/loader i386/common i386/loader i386/zfsboot zfs DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 099B775BD To: Toomas Soome , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201704061817.v36IHT8i088712@repo.freebsd.org> From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <06998a2b-fa92-500a-cdf6-5057ca96a76f@FreeBSD.org> Date: Thu, 6 Apr 2017 12:41:02 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <201704061817.v36IHT8i088712@repo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="d6QmR7mJ6tHhjmR3RPEp7N85JoQLfaJBR" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 19:41:28 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --d6QmR7mJ6tHhjmR3RPEp7N85JoQLfaJBR Content-Type: multipart/mixed; boundary="J5KuqnVMLX3XGdgo1lAW4lpPBsl6jhsES"; protected-headers="v1" From: Bryan Drewery To: Toomas Soome , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-ID: <06998a2b-fa92-500a-cdf6-5057ca96a76f@FreeBSD.org> Subject: Re: svn commit: r316585 - in head/sys/boot: efi/boot1 efi/loader i386/common i386/loader i386/zfsboot zfs References: <201704061817.v36IHT8i088712@repo.freebsd.org> In-Reply-To: <201704061817.v36IHT8i088712@repo.freebsd.org> --J5KuqnVMLX3XGdgo1lAW4lpPBsl6jhsES Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 4/6/2017 11:17 AM, Toomas Soome wrote: > Author: tsoome > Date: Thu Apr 6 18:17:29 2017 > New Revision: 316585 > URL: https://svnweb.freebsd.org/changeset/base/316585 >=20 > Log: > loader: zfs reader should check all labels > =20 > The current zfs reader is only checking first label from each device,= however, > we do have 4 labels on device and we should check all 4 to be protect= ed > against disk failures and incomplete label updates. > =20 > The difficulty is about the fact that 2 label copies are in front of = the > pool data, and 2 are at the end, which means, we have to know the siz= e of > the pool data area. > =20 > Since we have now the mechanism from common/disk.c to use the partiti= on > information, it does help us in this task; however, there are still s= ome > corner cases. > =20 > Namely, if the pool is created without partition, directly on the dis= k, > and firmware will give us the wrong size for the disk, we only can ch= eck > the first two label copies. > =20 > Reviewed by: allanjude > Differential Revision: https://reviews.freebsd.org/D10203 Something seems wrong in make universe: > cc -isystem /usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/include -= L/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/lib -B/usr/obj/sparc64= =2Esparc64/root/git/freebsd/tmp/usr/lib --sysroot=3D/usr/obj/sparc64.spar= c64/root/git/freebsd/tmp -B/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/= usr/bin -O2 -pipe -DLOADER_DISK_SUPPORT -DLOADER_UFS_SUPPORT -DLOADER_CD9= 660_SUPPORT -DLOADER_ZFS_SUPPORT -I/root/git/freebsd/sys/boot/sparc64/zfs= loader/../../zfs -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../../= cddl/boot/zfs -DLOADER_GZIP_SUPPORT -DLOADER_NET_SUPPORT -DLOADER_NFS_SUP= PORT -DLOADER_TFTP_SUPPORT -DBOOT_FORTH -I/root/git/freebsd/sys/boot/spar= c64/zfsloader/../../ficl -I/root/git/freebsd/sys/boot/sparc64/zfsloader/.= =2E/../ficl/sparc64 -DLOADER_DISK_SUPPORT -DLOADER_GPT_SUPPORT -DLOADER_M= BR_SUPPORT -DLOADER_GELI_SUPPORT -I/root/git/freebsd/sys/boot/ficl -I/roo= t/git/freebsd/sys/boot/ficl/sparc64 -I/root/git/freebsd/sys/boot/ficl/../= common -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../common -I. -I= /root/git/freebsd/sys/boot/sparc64/zfsloader/../../ofw/libofw/ -I/root/gi= t/freebsd/sys/boot/sparc64/zfsloader/../../../../lib/libstand/ -I/root/gi= t/freebsd/sys -ffreestanding -std=3Dgnu99 -static -nostdlib -o zfsloader = locore.o main.o metadata.o vers.o boot.o commands.o console.o devopen.o i= nterp.o interp_backslash.o interp_parse.o ls.o misc.o module.o panic.o lo= ad_elf64.o reloc_elf64.o dev_net.o disk.o part.o crc32.o interp_forth.o = /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../.= =2E/ficl/libficl.a /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/spa= rc64/zfsloader/../../zfs/libzfsboot.a /usr/obj/sparc64.sparc64/root/git/f= reebsd/sys/boot/sparc64/zfsloader/../../ofw/libofw/libofw.a -lstand > --- zfsloader --- > /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/..= /../zfs/libzfsboot.a(zfs.o): In function `zfs_probe': > zfs.c:(.text+0x7f28): undefined reference to `ldi_get_size' > *** [zfsloader] Error code 1 --=20 Regards, Bryan Drewery --J5KuqnVMLX3XGdgo1lAW4lpPBsl6jhsES-- --d6QmR7mJ6tHhjmR3RPEp7N85JoQLfaJBR Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJY5pnSAAoJEDXXcbtuRpfP8NgH/A/muY76/C6fXD4LKvQvzMIV ufjgUI9ZiG17YSJciL/+6Vub4fheXQPZz1kT2sYwR2G7a1jYJecQG4y2LhjzD+Bs fGbmFRym2fomIQ3yZ0NJAeWWzcVlIx2yeSs2hhOmNvYEW594YH/TzO5be2COL8tL Vy3RtmGw0yOIf3z01ZheTQCrJUjHu5BnemHa3DR8KvE+GU77hOLAbktmj3yAaxnS C+cz9WT4FbJW4iqw+wf09Tr0Bi0pihecJdqaP3v7Czo1wM3cz3vn5cky/rbp0ZCI UXAOH24XBNum8QpsWGlKyjIeyrVSznSVrjREQieZXS2ukPIbQ9fHg/kRnNftIug= =2GwO -----END PGP SIGNATURE----- --d6QmR7mJ6tHhjmR3RPEp7N85JoQLfaJBR-- From owner-svn-src-all@freebsd.org Thu Apr 6 19:49:02 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3647DD32DDB; Thu, 6 Apr 2017 19:49:02 +0000 (UTC) (envelope-from tsoome@me.com) Received: from st13p35im-asmtp001.me.com (st13p35im-asmtp001.me.com [17.164.199.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0CDA13CE; Thu, 6 Apr 2017 19:49:02 +0000 (UTC) (envelope-from tsoome@me.com) Received: from process-dkim-sign-daemon.st13p35im-asmtp001.me.com by st13p35im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.38.0 64bit (built Feb 26 2016)) id <0OO000D006LYGJ00@st13p35im-asmtp001.me.com>; Thu, 06 Apr 2017 19:48:44 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=4d515a; t=1491508123; bh=UOcKkJpPU9pqu7ybR+zi1VPt3ToU84bf683tcsbXpb4=; h=Content-type:MIME-version:Subject:From:Date:Message-id:To; b=IE1Qu6pD68YGKaPR5EAEjm3+7xeJtZr2+K8Nb9BR2IKdFxmeuxICNKe8DJq5oyOTq oGZn7LDKdNaREeCVlAK2R2Sbp2sGW+6BZh6f/yNggKnkWj8unGJqvhM5e1GW5lHO7r q1DWAIwnQ0yqci5EBJdmYtM18ua6AQrwkiU9tzHx545j3aN6UV2Vsc2JUrXIJOFla8 n11UBtp8qCR6Vd0iGp6N1SpLw+fbo45Exer0U6h23hYTZRLQcUAoHG4+dwZ7TyQrgY ZXhqsOwL/H6ZokvIWI7q5/86uVKFMVjjvEpgtHF3HFePpkLw2FnmpZbHQ5a6PD4zr0 ktJxDZQSIk/6g== Received: from icloud.com ([127.0.0.1]) by st13p35im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.38.0 64bit (built Feb 26 2016)) with ESMTPSA id <0OO000NAM712AT10@st13p35im-asmtp001.me.com>; Thu, 06 Apr 2017 19:48:43 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-04-06_14:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 clxscore=1034 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1701120000 definitions=main-1704060161 Content-type: text/plain; charset=utf-8 MIME-version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r316585 - in head/sys/boot: efi/boot1 efi/loader i386/common i386/loader i386/zfsboot zfs From: Toomas Soome In-reply-to: <06998a2b-fa92-500a-cdf6-5057ca96a76f@FreeBSD.org> Date: Thu, 06 Apr 2017 22:48:38 +0300 Cc: Toomas Soome , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-transfer-encoding: quoted-printable Message-id: <3EFCAFB8-25E6-41A0-A1CF-26B4785FB482@me.com> References: <201704061817.v36IHT8i088712@repo.freebsd.org> <06998a2b-fa92-500a-cdf6-5057ca96a76f@FreeBSD.org> To: Bryan Drewery X-Mailer: Apple Mail (2.3273) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 19:49:02 -0000 Yes, sorry, I did miss the sparc version, looking on it=E2=80=A6. rgds, toomas > On 6. apr 2017, at 22:41, Bryan Drewery wrote: >=20 > On 4/6/2017 11:17 AM, Toomas Soome wrote: >> Author: tsoome >> Date: Thu Apr 6 18:17:29 2017 >> New Revision: 316585 >> URL: https://svnweb.freebsd.org/changeset/base/316585 >>=20 >> Log: >> loader: zfs reader should check all labels >>=20 >> The current zfs reader is only checking first label from each = device, however, >> we do have 4 labels on device and we should check all 4 to be = protected >> against disk failures and incomplete label updates. >>=20 >> The difficulty is about the fact that 2 label copies are in front of = the >> pool data, and 2 are at the end, which means, we have to know the = size of >> the pool data area. >>=20 >> Since we have now the mechanism from common/disk.c to use the = partition >> information, it does help us in this task; however, there are still = some >> corner cases. >>=20 >> Namely, if the pool is created without partition, directly on the = disk, >> and firmware will give us the wrong size for the disk, we only can = check >> the first two label copies. >>=20 >> Reviewed by: allanjude >> Differential Revision: https://reviews.freebsd.org/D10203 >=20 >=20 > Something seems wrong in make universe: >=20 >> cc -isystem /usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/include = -L/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/lib = -B/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/lib = --sysroot=3D/usr/obj/sparc64.sparc64/root/git/freebsd/tmp = -B/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/bin -O2 -pipe = -DLOADER_DISK_SUPPORT -DLOADER_UFS_SUPPORT -DLOADER_CD9660_SUPPORT = -DLOADER_ZFS_SUPPORT = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../zfs = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../../cddl/boot/zfs = -DLOADER_GZIP_SUPPORT -DLOADER_NET_SUPPORT -DLOADER_NFS_SUPPORT = -DLOADER_TFTP_SUPPORT -DBOOT_FORTH = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ficl = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ficl/sparc64 = -DLOADER_DISK_SUPPORT -DLOADER_GPT_SUPPORT -DLOADER_MBR_SUPPORT = -DLOADER_GELI_SUPPORT -I/root/git/freebsd/sys/boot/ficl = -I/root/git/freebsd/sys/boot/ficl/sparc64 = -I/root/git/freebsd/sys/boot/ficl/../common = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../common -I. = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ofw/libofw/ = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../../../lib/libstand/ = -I/root/git/freebsd/sys -ffreestanding -std=3Dgnu99 -static -nostdlib -o = zfsloader locore.o main.o metadata.o vers.o boot.o commands.o console.o = devopen.o interp.o interp_backslash.o interp_parse.o ls.o misc.o = module.o panic.o load_elf64.o reloc_elf64.o dev_net.o disk.o part.o = crc32.o interp_forth.o = /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../..= /ficl/libficl.a = /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../..= /zfs/libzfsboot.a = /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../..= /ofw/libofw/libofw.a -lstand >> --- zfsloader --- >> = /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../..= /zfs/libzfsboot.a(zfs.o): In function `zfs_probe': >> zfs.c:(.text+0x7f28): undefined reference to `ldi_get_size' >> *** [zfsloader] Error code 1 >=20 >=20 >=20 > --=20 > Regards, > Bryan Drewery >=20 From owner-svn-src-all@freebsd.org Thu Apr 6 20:12:40 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AD8D1D305DE; Thu, 6 Apr 2017 20:12:40 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 70AF93F9; Thu, 6 Apr 2017 20:12:40 +0000 (UTC) (envelope-from tsoome@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36KCdhB037670; Thu, 6 Apr 2017 20:12:39 GMT (envelope-from tsoome@FreeBSD.org) Received: (from tsoome@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36KCdVr037668; Thu, 6 Apr 2017 20:12:39 GMT (envelope-from tsoome@FreeBSD.org) Message-Id: <201704062012.v36KCdVr037668@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tsoome set sender to tsoome@FreeBSD.org using -f From: Toomas Soome Date: Thu, 6 Apr 2017 20:12:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316590 - head/lib/libstand X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 20:12:40 -0000 Author: tsoome Date: Thu Apr 6 20:12:39 2017 New Revision: 316590 URL: https://svnweb.freebsd.org/changeset/base/316590 Log: libstand/dosfs: cache FAT32 in 128 Kb blocks to save loader memory Current implementation of dosfs in libstand reads full File Allocation Table to the RAM in the initialization code. In the extreme case of FAT32 filesystem, this structure will take up to 256-1024 Mb of loader memory, depending on the cluster size. Proposed patch reduces libstands/dosfs memory requirements to 128 Kb for all variants of dosfs filesystem. For FAT12 and FAT16 filesystems, File Allocation Table is cached in full, as before. For FAT32, File Allocation Table is broken into the equal blocks of 128 Kilobytes (32768 entries), and only current block is cached. Because per-filesystem context is now small, global FAT cache (for all instances of dosfs filesystem) is replaced by local per-instance cache. Submitted by: Mikhail.Kupchik_gmail.com Reviewed by: tsoome, allanjude Differential Revision: https://reviews.freebsd.org/D9547 Modified: head/lib/libstand/dosfs.c head/lib/libstand/dosfs.h Modified: head/lib/libstand/dosfs.c ============================================================================== --- head/lib/libstand/dosfs.c Thu Apr 6 19:17:20 2017 (r316589) +++ head/lib/libstand/dosfs.c Thu Apr 6 20:12:39 2017 (r316590) @@ -65,6 +65,7 @@ struct fs_ops dosfs_fsops = { #define DEPSEC 16 /* directory entries per sector */ #define DSHIFT 4 /* DEPSEC shift */ #define LOCLUS 2 /* lowest cluster number */ +#define FATBLKSZ 0x20000 /* size of block in the FAT cache buffer */ /* DOS "BIOS Parameter Block" */ typedef struct { @@ -132,18 +133,6 @@ static DOS_DE dot[2] = { ((u_int)cv2((de)->dex.h_clus) << 16) | \ cv2((de)->clus)) -/* - * fat cache metadata - */ -struct fatcache { - int unit; /* disk unit number */ - int size; /* buffer (and fat) size in sectors */ - u_char *buf; -}; - -static struct fatcache fat; - -static int dosunmount(DOS_FS *); static int parsebs(DOS_FS *, DOS_BS *); static int namede(DOS_FS *, const char *, DOS_DE **); static int lookup(DOS_FS *, u_int, const char *, DOS_DE **); @@ -153,36 +142,37 @@ static off_t fsize(DOS_FS *, DOS_DE *); static int fatcnt(DOS_FS *, u_int); static int fatget(DOS_FS *, u_int *); static int fatend(u_int, u_int); -static int ioread(DOS_FS *, u_int, void *, u_int); -static int ioget(struct open_file *, daddr_t, void *, u_int); +static int ioread(DOS_FS *, u_int, void *, size_t); +static int ioget(struct open_file *, daddr_t, void *, size_t); -static void -dos_read_fat(DOS_FS *fs, struct open_file *fd) +static int +dos_read_fatblk(DOS_FS *fs, struct open_file *fd, u_int blknum) { - struct devdesc *dd = fd->f_devdata; + int err; + size_t io_size; + daddr_t offset_in_fat, max_offset_in_fat; - if (fat.buf != NULL) { /* can we reuse old buffer? */ - if (fat.size != fs->spf) { - free(fat.buf); /* no, free old buffer */ - fat.buf = NULL; - } + offset_in_fat = ((daddr_t)blknum) * FATBLKSZ; + max_offset_in_fat = secbyt(fs->spf); + io_size = FATBLKSZ; + if (offset_in_fat > max_offset_in_fat) + offset_in_fat = max_offset_in_fat; + if (offset_in_fat + io_size > max_offset_in_fat) + io_size = ((size_t)(max_offset_in_fat - offset_in_fat)); + + if (io_size != 0) { + err = ioget(fd, fs->lsnfat + bytsec(offset_in_fat), + fs->fatbuf, io_size); + if (err != 0) { + fs->fatbuf_blknum = ((u_int)(-1)); + return (err); + } } + if (io_size < FATBLKSZ) + memset(fs->fatbuf + io_size, 0, FATBLKSZ - io_size); - if (fat.buf == NULL) - fat.buf = malloc(secbyt(fs->spf)); - - if (fat.buf != NULL) { - if (ioget(fd, fs->lsnfat, fat.buf, secbyt(fs->spf)) == 0) { - fat.size = fs->spf; - fat.unit = dd->d_unit; - return; - } - } - if (fat.buf != NULL) /* got IO error */ - free(fat.buf); - fat.buf = NULL; - fat.unit = -1; /* impossible unit */ - fat.size = 0; + fs->fatbuf_blknum = blknum; + return (0); } /* @@ -192,24 +182,27 @@ static int dos_mount(DOS_FS *fs, struct open_file *fd) { int err; - struct devdesc *dd = fd->f_devdata; u_char *buf; bzero(fs, sizeof(DOS_FS)); fs->fd = fd; - if ((err = !(buf = malloc(secbyt(1))) ? errno : 0) || - (err = ioget(fs->fd, 0, buf, secbyt(1))) || + if ((buf = malloc(secbyt(1))) == NULL) + return (errno); + if ((err = ioget(fs->fd, 0, buf, secbyt(1))) || (err = parsebs(fs, (DOS_BS *)buf))) { - if (buf != NULL) - free(buf); - (void)dosunmount(fs); + free(buf); return (err); } free(buf); - if (fat.buf == NULL || fat.unit != dd->d_unit) - dos_read_fat(fs, fd); + if ((fs->fatbuf = malloc(FATBLKSZ)) == NULL) + return (errno); + err = dos_read_fatblk(fs, fd, 0); + if (err != 0) { + free(fs->fatbuf); + return (err); + } fs->root = dot[0]; fs->root.name[0] = ' '; @@ -228,21 +221,9 @@ dos_mount(DOS_FS *fs, struct open_file * static int dos_unmount(DOS_FS *fs) { - int err; - if (fs->links) return (EBUSY); - if ((err = dosunmount(fs))) - return (err); - return (0); -} - -/* - * Common code shared by dos_mount() and dos_unmount() - */ -static int -dosunmount(DOS_FS *fs) -{ + free(fs->fatbuf); free(fs); return (0); } @@ -257,16 +238,20 @@ dos_open(const char *path, struct open_f DOS_FILE *f; DOS_FS *fs; u_int size, clus; - int err = 0; + int err; /* Allocate mount structure, associate with open */ - fs = malloc(sizeof(DOS_FS)); - - if ((err = dos_mount(fs, fd))) - goto out; + if ((fs = malloc(sizeof(DOS_FS))) == NULL) + return (errno); + if ((err = dos_mount(fs, fd))) { + free(fs); + return (err); + } - if ((err = namede(fs, path, &de))) - goto out; + if ((err = namede(fs, path, &de))) { + dos_unmount(fs); + return (err); + } clus = stclus(fs->fatsz, de); size = cv4(de->size); @@ -274,18 +259,20 @@ dos_open(const char *path, struct open_f if ((!(de->attr & FA_DIR) && (!clus != !size)) || ((de->attr & FA_DIR) && size) || (clus && !okclus(fs, clus))) { - err = EINVAL; - goto out; + dos_unmount(fs); + return (EINVAL); + } + if ((f = malloc(sizeof(DOS_FILE))) == NULL) { + err = errno; + dos_unmount(fs); + return (err); } - f = malloc(sizeof(DOS_FILE)); bzero(f, sizeof(DOS_FILE)); f->fs = fs; fs->links++; f->de = *de; fd->f_fsdata = (void *)f; - - out: - return (err); + return (0); } /* @@ -761,34 +748,57 @@ fatcnt(DOS_FS *fs, u_int c) } /* - * Get next cluster in cluster chain. Use in core fat cache unless another - * device replaced it. + * Get next cluster in cluster chain. Use in core fat cache unless + * the number of current 128K block in FAT has changed. */ static int fatget(DOS_FS *fs, u_int *c) { - u_char buf[4]; - u_int x, offset, n, nbyte; - struct devdesc *dd = fs->fd->f_devdata; - int err = 0; + u_int val_in, val_out, offset, blknum, nbyte; + const u_char *p_entry; + int err; - if (fat.unit != dd->d_unit) { - /* fat cache was changed to another device, don't use it */ - err = ioread(fs, secbyt(fs->lsnfat) + fatoff(fs->fatsz, *c), buf, - fs->fatsz != 32 ? 2 : 4); - if (err) - return (err); - } else { - offset = fatoff(fs->fatsz, *c); - nbyte = fs->fatsz != 32 ? 2 : 4; + /* check input value to prevent overflow in fatoff() */ + val_in = *c; + if (val_in & 0xf0000000) + return (EINVAL); - if (offset + nbyte > secbyt(fat.size)) - return (EINVAL); - memcpy(buf, fat.buf + offset, nbyte); + /* ensure that current 128K FAT block is cached */ + offset = fatoff(fs->fatsz, val_in); + nbyte = fs->fatsz != 32 ? 2 : 4; + if (offset + nbyte > secbyt(fs->spf)) + return (EINVAL); + blknum = offset / FATBLKSZ; + offset %= FATBLKSZ; + if (offset + nbyte > FATBLKSZ) + return (EINVAL); + if (blknum != fs->fatbuf_blknum) { + err = dos_read_fatblk(fs, fs->fd, blknum); + if (err != 0) + return (err); } + p_entry = fs->fatbuf + offset; - x = fs->fatsz != 32 ? cv2(buf) : cv4(buf); - *c = fs->fatsz == 12 ? *c & 1 ? x >> 4 : x & 0xfff : x; + /* extract cluster number from FAT entry */ + switch (fs->fatsz) { + case 32: + val_out = cv4(p_entry); + val_out &= 0x0fffffff; + break; + case 16: + val_out = cv2(p_entry); + break; + case 12: + val_out = cv2(p_entry); + if (val_in & 1) + val_out >>= 4; + else + val_out &= 0xfff; + break; + default: + return (EINVAL); + } + *c = val_out; return (0); } @@ -805,7 +815,7 @@ fatend(u_int sz, u_int c) * Offset-based I/O primitive */ static int -ioread(DOS_FS *fs, u_int offset, void *buf, u_int nbyte) +ioread(DOS_FS *fs, u_int offset, void *buf, size_t nbyte) { char *s; u_int off, n; @@ -843,8 +853,16 @@ ioread(DOS_FS *fs, u_int offset, void *b * Sector-based I/O primitive */ static int -ioget(struct open_file *fd, daddr_t lsec, void *buf, u_int size) +ioget(struct open_file *fd, daddr_t lsec, void *buf, size_t size) { - return ((fd->f_dev->dv_strategy)(fd->f_devdata, F_READ, lsec, - size, buf, NULL)); + size_t rsize; + int rv; + + /* Make sure we get full read or error. */ + rsize = 0; + rv = (fd->f_dev->dv_strategy)(fd->f_devdata, F_READ, lsec, + size, buf, &rsize); + if ((rv == 0) && (size != rsize)) + rv = EIO; + return (rv); } Modified: head/lib/libstand/dosfs.h ============================================================================== --- head/lib/libstand/dosfs.h Thu Apr 6 19:17:20 2017 (r316589) +++ head/lib/libstand/dosfs.h Thu Apr 6 20:12:39 2017 (r316590) @@ -96,6 +96,8 @@ typedef union { typedef struct { struct open_file *fd; /* file descriptor */ + u_char *fatbuf; /* FAT cache buffer */ + u_int fatbuf_blknum; /* number of 128K block in FAT cache buffer */ u_int links; /* active links to structure */ u_int spc; /* sectors per cluster */ u_int bsize; /* cluster size in bytes */ From owner-svn-src-all@freebsd.org Thu Apr 6 21:36:21 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3A891D32E7C; Thu, 6 Apr 2017 21:36:21 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-it0-x231.google.com (mail-it0-x231.google.com [IPv6:2607:f8b0:4001:c0b::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 04A017B7; Thu, 6 Apr 2017 21:36:21 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-it0-x231.google.com with SMTP id 19so13483841itj.1; Thu, 06 Apr 2017 14:36:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=8sVmp3kxeM84HV61AE9Hml1J8PNZRm1iSW6Ab+t4GcA=; b=APNdcNuHfKvlUZaq8qZjOgmKRxboV3fo5InBf7NFt3A1Op86EfY5fHwIJ4lpqkkiQu rhgFQRH8hPLXgUckzh4zwbyvqZOP7oe1wYndvm+t+QaJtmSdCjCAbCqKli6HcwZOY344 mGZhdvtXCrt/KKIy6mpx1+7EerVtU0q/Y0HrT0wERTEqzZUkDc/FpPvJ+6bGIoa0TTTc VcTK4KWyCBcto/KvBCjKEuaXyk8OTwaPJKSzXd63lPDf6aSZjOSnwvBo3GPoSqfMRtDS aOUyYjPmIZfR8u+36ZfBQ02kismsNI+ltQ31F9WkxwAHtO/19KciRigcXf4Ki3sCQsSo i7TQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=8sVmp3kxeM84HV61AE9Hml1J8PNZRm1iSW6Ab+t4GcA=; b=J+cL0Qa11xN5XA0pbyZC38Qc3URhGUkxiRxEOwRn7I1KgbYMUDqfXOAPUoyrYTPvgD lzfNKQfGiZN3cewl9k8pCfbepjLggYxtEQMY8gw5a4dLPeI7DsRdTKGRpHcBg9MCJ424 7pxMy3r8dRuIwrPfn7kKxt7uSEnan+kSWb/cZYvQDb4GunJYW+KqQX+GHJw2cQMRLPZj YYtBo/GFS0nkLlCsh3oKLkIPOvoSJMR5qu9qQxfav8RJXz2Wd9IDCX8A/yDUf4jowuP9 t1cu7F2ntvV9ez3NiCjTgrUaWNXOUcG+R4ApJCQRG7bUHfd6QuwqDs05glYr39KQPMIt Uh/A== X-Gm-Message-State: AFeK/H0UX0nTxt64I9xMAk6t8lp3QtwmOyBosnOdyOYT4RS5TJAU9qs4 YmguzazVf6UZCpeSRkM8HctSRKFPUrTMwLc= X-Received: by 10.36.0.215 with SMTP id 206mr4563710ita.82.1491514580209; Thu, 06 Apr 2017 14:36:20 -0700 (PDT) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.30.209 with HTTP; Thu, 6 Apr 2017 14:35:59 -0700 (PDT) In-Reply-To: <201704061709.v36H90DI060607@repo.freebsd.org> References: <201704061709.v36H90DI060607@repo.freebsd.org> From: Ed Maste Date: Thu, 6 Apr 2017 17:35:59 -0400 X-Google-Sender-Auth: wG2qCGvi6cN1e3aC9tUCc4_Y_24 Message-ID: Subject: Re: svn commit: r316582 - head/sys/dev/bwn To: Conrad Meyer Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 21:36:21 -0000 On 6 April 2017 at 13:09, Conrad Meyer wrote: > Author: cem > Date: Thu Apr 6 17:08:59 2017 > New Revision: 316582 > URL: https://svnweb.freebsd.org/changeset/base/316582 > > Log: > bwn(4): Fix trivial null dereference This is also CID 1007386 From owner-svn-src-all@freebsd.org Thu Apr 6 22:21:50 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82311D32DBD; Thu, 6 Apr 2017 22:21:50 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4F196DEF; Thu, 6 Apr 2017 22:21:50 +0000 (UTC) (envelope-from obrien@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36MLnB7092649; Thu, 6 Apr 2017 22:21:49 GMT (envelope-from obrien@FreeBSD.org) Received: (from obrien@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36MLnr7092648; Thu, 6 Apr 2017 22:21:49 GMT (envelope-from obrien@FreeBSD.org) Message-Id: <201704062221.v36MLnr7092648@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: obrien set sender to obrien@FreeBSD.org using -f From: "David E. O'Brien" Date: Thu, 6 Apr 2017 22:21:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316591 - head/sys/dev/tpm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 22:21:50 -0000 Author: obrien Date: Thu Apr 6 22:21:49 2017 New Revision: 316591 URL: https://svnweb.freebsd.org/changeset/base/316591 Log: Remove dead code. The #ifdef __FreeBSD__ section within the OpenBSD tpm_attach() implementation can never be active. Modified: head/sys/dev/tpm/tpm.c Modified: head/sys/dev/tpm/tpm.c ============================================================================== --- head/sys/dev/tpm/tpm.c Thu Apr 6 20:12:39 2017 (r316590) +++ head/sys/dev/tpm/tpm.c Thu Apr 6 22:21:49 2017 (r316591) @@ -422,12 +422,8 @@ tpm_attach(device_t parent, device_t sel return; } -#ifdef __FreeBSD__ - sc->sc_suspend = 0; -#else sc->sc_suspend = PWR_RESUME; sc->sc_powerhook = powerhook_establish(tpm_powerhook, sc); -#endif } #endif From owner-svn-src-all@freebsd.org Thu Apr 6 22:50:30 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 48CD7D324FB; Thu, 6 Apr 2017 22:50:30 +0000 (UTC) (envelope-from garga@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1A731D97; Thu, 6 Apr 2017 22:50:30 +0000 (UTC) (envelope-from garga@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36MoTw7002153; Thu, 6 Apr 2017 22:50:29 GMT (envelope-from garga@FreeBSD.org) Received: (from garga@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36MoTW3002150; Thu, 6 Apr 2017 22:50:29 GMT (envelope-from garga@FreeBSD.org) Message-Id: <201704062250.v36MoTW3002150@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: garga set sender to garga@FreeBSD.org using -f From: Renato Botelho Date: Thu, 6 Apr 2017 22:50:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316592 - head/usr.sbin/arp X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 22:50:30 -0000 Author: garga (ports committer) Date: Thu Apr 6 22:50:28 2017 New Revision: 316592 URL: https://svnweb.freebsd.org/changeset/base/316592 Log: Introduce libxo support to arp(8) Reviewed by: wblock, gnn, allanjude, phil Approved by: allanjude MFC after: 1 week Sponsored by: Rubicon Communications (Netgate) Differential Revision: https://reviews.freebsd.org/D9563 Modified: head/usr.sbin/arp/Makefile head/usr.sbin/arp/arp.8 head/usr.sbin/arp/arp.c Modified: head/usr.sbin/arp/Makefile ============================================================================== --- head/usr.sbin/arp/Makefile Thu Apr 6 22:21:49 2017 (r316591) +++ head/usr.sbin/arp/Makefile Thu Apr 6 22:50:28 2017 (r316592) @@ -4,6 +4,8 @@ PROG= arp MAN= arp.4 arp.8 +LIBADD= xo + WARNS?= 3 .include Modified: head/usr.sbin/arp/arp.8 ============================================================================== --- head/usr.sbin/arp/arp.8 Thu Apr 6 22:21:49 2017 (r316591) +++ head/usr.sbin/arp/arp.8 Thu Apr 6 22:50:28 2017 (r316592) @@ -28,7 +28,7 @@ .\" @(#)arp.8 8.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd January 31, 2013 +.Dd April 6, 2017 .Dt ARP 8 .Os .Sh NAME @@ -36,10 +36,12 @@ .Nd address resolution display and control .Sh SYNOPSIS .Nm +.Op Fl -libxo Ar options .Op Fl n .Op Fl i Ar interface .Ar hostname .Nm +.Op Fl -libxo Ar options .Op Fl n .Op Fl i Ar interface .Fl a @@ -77,6 +79,13 @@ using Internet dot notation. .Pp Available options: .Bl -tag -width indent +.It Fl -libxo +Generate output via +.Xr libxo 3 +in a selection of different human and machine readable formats. +See +.Xr xo_parse_args 3 +for details on command line arguments. .It Fl a The program displays or deletes all of the current .Tn ARP @@ -182,6 +191,8 @@ character will mark the rest of the line .El .Sh SEE ALSO .Xr inet 3 , +.Xr libxo 3 , +.Xr xo_parse_args 3 , .Xr arp 4 , .Xr ifconfig 8 , .Xr ndp 8 Modified: head/usr.sbin/arp/arp.c ============================================================================== --- head/usr.sbin/arp/arp.c Thu Apr 6 22:21:49 2017 (r316591) +++ head/usr.sbin/arp/arp.c Thu Apr 6 22:50:28 2017 (r316592) @@ -78,6 +78,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include typedef void (action_fn)(struct sockaddr_dl *sdl, struct sockaddr_in *s_in, struct rt_msghdr *rtm); @@ -114,6 +115,8 @@ struct if_nameindex *ifnameindex; #define SETFUNC(f) { if (func) usage(); func = (f); } +#define ARP_XO_VERSION "1" + int main(int argc, char *argv[]) { @@ -121,6 +124,10 @@ main(int argc, char *argv[]) int rtn = 0; int aflag = 0; /* do it for all entries */ + argc = xo_parse_args(argc, argv); + if (argc < 0) + exit(1); + while ((ch = getopt(argc, argv, "andfsSi:")) != -1) switch(ch) { case 'a': @@ -155,12 +162,13 @@ main(int argc, char *argv[]) func = F_GET; if (rifname) { if (func != F_GET && !(func == F_DELETE && aflag)) - errx(1, "-i not applicable to this operation"); + xo_errx(1, "-i not applicable to this operation"); if (if_nametoindex(rifname) == 0) { if (errno == ENXIO) - errx(1, "interface %s does not exist", rifname); + xo_errx(1, "interface %s does not exist", + rifname); else - err(1, "if_nametoindex(%s)", rifname); + xo_err(1, "if_nametoindex(%s)", rifname); } } switch (func) { @@ -168,7 +176,16 @@ main(int argc, char *argv[]) if (aflag) { if (argc != 0) usage(); + + xo_set_version(ARP_XO_VERSION); + xo_open_container("arp"); + xo_open_list("arp-cache"); + search(0, print_entry); + + xo_close_list("arp-cache"); + xo_close_container("arp"); + xo_finish(); } else { if (argc != 1) usage(); @@ -218,7 +235,7 @@ file(char *name) char line[100], arg[5][50], *args[5], *p; if ((fp = fopen(name, "r")) == NULL) - err(1, "cannot open %s", name); + xo_err(1, "cannot open %s", name); args[0] = &arg[0][0]; args[1] = &arg[1][0]; args[2] = &arg[2][0]; @@ -234,7 +251,7 @@ file(char *name) i = sscanf(p, "%49s %49s %49s %49s %49s", arg[0], arg[1], arg[2], arg[3], arg[4]); if (i < 2) { - warnx("bad line: %s", line); + xo_warnx("bad line: %s", line); retval = 1; continue; } @@ -262,7 +279,7 @@ getaddr(char *host) reply.sin_addr.s_addr = inet_addr(host); if (reply.sin_addr.s_addr == INADDR_NONE) { if (!(hp = gethostbyname(host))) { - warnx("%s: %s", host, hstrerror(h_errno)); + xo_warnx("%s: %s", host, hstrerror(h_errno)); return (NULL); } bcopy((char *)hp->h_addr, (char *)&reply.sin_addr, @@ -327,7 +344,7 @@ set(int argc, char **argv) clock_gettime(CLOCK_MONOTONIC, &tp); if (sysctlbyname("net.link.ether.inet.max_age", &max_age, &len, NULL, 0) != 0) - err(1, "sysctlbyname"); + xo_err(1, "sysctlbyname"); expire_time = tp.tv_sec + max_age; } else if (strcmp(argv[0], "pub") == 0) { flags |= RTF_ANNOUNCE; @@ -343,18 +360,18 @@ set(int argc, char **argv) } } else if (strcmp(argv[0], "blackhole") == 0) { if (flags & RTF_REJECT) { - errx(1, "Choose one of blackhole or reject, " + xo_errx(1, "Choose one of blackhole or reject, " "not both."); } flags |= RTF_BLACKHOLE; } else if (strcmp(argv[0], "reject") == 0) { if (flags & RTF_BLACKHOLE) { - errx(1, "Choose one of blackhole or reject, " + xo_errx(1, "Choose one of blackhole or reject, " "not both."); } flags |= RTF_REJECT; } else { - warnx("Invalid parameter '%s'", argv[0]); + xo_warnx("Invalid parameter '%s'", argv[0]); usage(); } argv++; @@ -362,7 +379,7 @@ set(int argc, char **argv) ea = (struct ether_addr *)LLADDR(&sdl_m); if (doing_proxy && !strcmp(eaddr, "auto")) { if (!get_ether_addr(dst->sin_addr.s_addr, ea)) { - warnx("no interface found for %s", + xo_warnx("no interface found for %s", inet_ntoa(dst->sin_addr)); return (1); } @@ -371,7 +388,7 @@ set(int argc, char **argv) struct ether_addr *ea1 = ether_aton(eaddr); if (ea1 == NULL) { - warnx("invalid Ethernet address '%s'", eaddr); + xo_warnx("invalid Ethernet address '%s'", eaddr); return (1); } else { *ea = *ea1; @@ -389,7 +406,7 @@ set(int argc, char **argv) */ rtm = rtmsg(RTM_GET, dst, &sdl_m); if (rtm == NULL) { - warn("%s", host); + xo_warn("%s", host); return (1); } addr = (struct sockaddr_in *)(rtm + 1); @@ -398,7 +415,7 @@ set(int argc, char **argv) if ((sdl->sdl_family != AF_LINK) || (rtm->rtm_flags & RTF_GATEWAY) || !valid_type(sdl->sdl_type)) { - warnx("cannot intuit interface index and type for %s", host); + xo_warnx("cannot intuit interface index and type for %s", host); return (1); } sdl_m.sdl_type = sdl->sdl_type; @@ -413,19 +430,31 @@ static int get(char *host) { struct sockaddr_in *addr; + int found; addr = getaddr(host); if (addr == NULL) return (1); - if (0 == search(addr->sin_addr.s_addr, print_entry)) { - printf("%s (%s) -- no entry", + + xo_set_version(ARP_XO_VERSION); + xo_open_container("arp"); + xo_open_list("arp-cache"); + + found = search(addr->sin_addr.s_addr, print_entry); + + if (found == 0) { + xo_emit("{d:hostname/%s} ({d:ip-address/%s}) -- no entry", host, inet_ntoa(addr->sin_addr)); if (rifname) - printf(" on %s", rifname); - printf("\n"); - return (1); + xo_emit(" on {d:interface/%s}", rifname); + xo_emit("\n"); } - return (0); + + xo_close_list("arp-cache"); + xo_close_container("arp"); + xo_finish(); + + return (found == 0); } /* @@ -460,7 +489,7 @@ delete(char *host) for (;;) { /* try twice */ rtm = rtmsg(RTM_GET, dst, &sdl_m); if (rtm == NULL) { - warn("%s", host); + xo_warn("%s", host); return (1); } addr = (struct sockaddr_in *)(rtm + 1); @@ -486,7 +515,7 @@ delete(char *host) * is a proxy-arp entry to remove. */ if (flags & RTF_ANNOUNCE) { - warnx("delete: cannot locate %s", host); + xo_warnx("delete: cannot locate %s", host); return (1); } @@ -527,21 +556,21 @@ search(u_long addr, action_fn *action) mib[5] = 0; #endif if (sysctl(mib, 6, NULL, &needed, NULL, 0) < 0) - err(1, "route-sysctl-estimate"); + xo_err(1, "route-sysctl-estimate"); if (needed == 0) /* empty table */ return 0; buf = NULL; for (;;) { buf = reallocf(buf, needed); if (buf == NULL) - errx(1, "could not reallocate memory"); + xo_errx(1, "could not reallocate memory"); st = sysctl(mib, 6, buf, &needed, NULL, 0); if (st == 0 || errno != ENOMEM) break; needed += needed / 8; } if (st == -1) - err(1, "actual retrieval of routing table"); + xo_err(1, "actual retrieval of routing table"); lim = buf + needed; for (next = buf; next < lim; next += rtm->rtm_msglen) { rtm = (struct rt_msghdr *)next; @@ -577,7 +606,9 @@ print_entry(struct sockaddr_dl *sdl, if (ifnameindex == NULL) if ((ifnameindex = if_nameindex()) == NULL) - err(1, "cannot retrieve interface names"); + xo_err(1, "cannot retrieve interface names"); + + xo_open_instance("arp-cache"); if (nflag == 0) hp = gethostbyaddr((caddr_t)&(addr->sin_addr), @@ -591,82 +622,87 @@ print_entry(struct sockaddr_dl *sdl, if (h_errno == TRY_AGAIN) nflag = 1; } - printf("%s (%s) at ", host, inet_ntoa(addr->sin_addr)); + xo_emit("{:hostname/%s} ({:ip-address/%s}) at ", host, + inet_ntoa(addr->sin_addr)); if (sdl->sdl_alen) { if ((sdl->sdl_type == IFT_ETHER || sdl->sdl_type == IFT_L2VLAN || sdl->sdl_type == IFT_BRIDGE) && sdl->sdl_alen == ETHER_ADDR_LEN) - printf("%s", + xo_emit("{:mac-address/%s}", ether_ntoa((struct ether_addr *)LLADDR(sdl))); else { int n = sdl->sdl_nlen > 0 ? sdl->sdl_nlen + 1 : 0; - printf("%s", link_ntoa(sdl) + n); + xo_emit("{:mac-address/%s}", link_ntoa(sdl) + n); } } else - printf("(incomplete)"); + xo_emit("{d:/(incomplete)}{en:incomplete/true}"); for (p = ifnameindex; p && ifnameindex->if_index && ifnameindex->if_name; p++) { if (p->if_index == sdl->sdl_index) { - printf(" on %s", p->if_name); + xo_emit(" on {:interface/%s}", p->if_name); break; } } if (rtm->rtm_rmx.rmx_expire == 0) - printf(" permanent"); + xo_emit("{d:/ permanent}{en:permanent/true}"); else { static struct timespec tp; if (tp.tv_sec == 0) clock_gettime(CLOCK_MONOTONIC, &tp); if ((expire_time = rtm->rtm_rmx.rmx_expire - tp.tv_sec) > 0) - printf(" expires in %d seconds", (int)expire_time); + xo_emit(" expires in {:expires/%d} seconds", + (int)expire_time); else - printf(" expired"); + xo_emit("{d:/ expired}{en:expired/true}"); } + if (rtm->rtm_flags & RTF_ANNOUNCE) - printf(" published"); + xo_emit("{d:/ published}{en:published/true}"); + switch(sdl->sdl_type) { case IFT_ETHER: - printf(" [ethernet]"); + xo_emit(" [{:type/ethernet}]"); break; case IFT_ISO88025: - printf(" [token-ring]"); + xo_emit(" [{:type/token-ring}]"); trld = SDL_ISO88025(sdl); if (trld->trld_rcf != 0) { - printf(" rt=%x", ntohs(trld->trld_rcf)); + xo_emit(" rt=%x", ntohs(trld->trld_rcf)); for (seg = 0; seg < ((TR_RCF_RIFLEN(trld->trld_rcf) - 2 ) / 2); seg++) - printf(":%x", ntohs(*(trld->trld_route[seg]))); + xo_emit(":%x", ntohs(*(trld->trld_route[seg]))); } break; case IFT_FDDI: - printf(" [fddi]"); + xo_emit(" [{:type/fddi}]"); break; case IFT_ATM: - printf(" [atm]"); + xo_emit(" [{:type/atm}]"); break; case IFT_L2VLAN: - printf(" [vlan]"); + xo_emit(" [{:type/vlan}]"); break; case IFT_IEEE1394: - printf(" [firewire]"); + xo_emit(" [{:type/firewire}]"); break; case IFT_BRIDGE: - printf(" [bridge]"); + xo_emit(" [{:type/bridge}]"); break; case IFT_INFINIBAND: - printf(" [infiniband]"); + xo_emit(" [{:type/infiniband}]"); break; default: break; } - printf("\n"); + xo_emit("\n"); + xo_close_instance("arp-cache"); } /* @@ -720,7 +756,7 @@ rtmsg(int cmd, struct sockaddr_in *dst, if (s < 0) { /* first time: open socket, get pid */ s = socket(PF_ROUTE, SOCK_RAW, 0); if (s < 0) - err(1, "socket"); + xo_err(1, "socket"); pid = getpid(); } bzero(&so_mask, sizeof(so_mask)); @@ -740,7 +776,7 @@ rtmsg(int cmd, struct sockaddr_in *dst, switch (cmd) { default: - errx(1, "internal wrong cmd"); + xo_errx(1, "internal wrong cmd"); case RTM_ADD: rtm->rtm_addrs |= RTA_GATEWAY; rtm->rtm_rmx.rmx_expire = expire_time; @@ -773,7 +809,7 @@ doit: rtm->rtm_type = cmd; if ((rlen = write(s, (char *)&m_rtmsg, l)) < 0) { if (errno != ESRCH || cmd != RTM_DELETE) { - warn("writing to routing socket"); + xo_warn("writing to routing socket"); return (NULL); } } @@ -781,7 +817,7 @@ doit: l = read(s, (char *)&m_rtmsg, sizeof(m_rtmsg)); } while (l > 0 && (rtm->rtm_seq != seq || rtm->rtm_pid != pid)); if (l < 0) - warn("read from routing socket"); + xo_warn("read from routing socket"); return (rtm); } @@ -805,12 +841,12 @@ get_ether_addr(in_addr_t ipaddr, struct sock = socket(AF_INET, SOCK_DGRAM, 0); if (sock < 0) - err(1, "socket"); + xo_err(1, "socket"); ifc.ifc_len = sizeof(ifs); ifc.ifc_req = ifs; if (ioctl(sock, SIOCGIFCONF, &ifc) < 0) { - warnx("ioctl(SIOCGIFCONF)"); + xo_warnx("ioctl(SIOCGIFCONF)"); goto done; } From owner-svn-src-all@freebsd.org Thu Apr 6 23:19:49 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CACA9D32C68; Thu, 6 Apr 2017 23:19:49 +0000 (UTC) (envelope-from tsoome@me.com) Received: from st13p35im-asmtp001.me.com (st13p35im-asmtp001.me.com [17.164.199.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9EA4AD36; Thu, 6 Apr 2017 23:19:49 +0000 (UTC) (envelope-from tsoome@me.com) Received: from process-dkim-sign-daemon.st13p35im-asmtp001.me.com by st13p35im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.38.0 64bit (built Feb 26 2016)) id <0OO000C00GKYGA00@st13p35im-asmtp001.me.com>; Thu, 06 Apr 2017 23:19:48 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=4d515a; t=1491520788; bh=kiTmRfson7KtERb9dvWTXsWyORRuZnDkZe4bvy6DlTk=; h=From:Message-id:Content-type:MIME-version:Subject:Date:To; b=mFX81Fx5dLsEiu2JqX0S22pxEPXrH7vb1SP3tgeMn1wmlpgVXrrlLZFnR/vuftUE5 LoEY+p4g9AcplXCnyOH/PB/8pXOatWQD82ncY9yToh6h8dudTSZExlS+sygY0m4rlh 2lIaqmC+/E5tbZjdoKoe47889sgTuhQTnst/pH1zWLVTbEDEMiuWg8UMNW+zkM4hpF b/5mpd3ccUBHGIU9R3tWDNeHhr+oqyPipBfXYnL2gUvuvTUMAwq9NKW+IUFnOmMtih QS8NH5vBfTV8zKfqr4wYxS2WiGUHREbWE6ApUMasN0xae2RjoENkjhOtHQyzm8SY5F WOXs9/KXSyRqA== Received: from icloud.com ([127.0.0.1]) by st13p35im-asmtp001.me.com (Oracle Communications Messaging Server 7.0.5.38.0 64bit (built Feb 26 2016)) with ESMTPSA id <0OO000H4OGSXN630@st13p35im-asmtp001.me.com>; Thu, 06 Apr 2017 23:19:48 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-04-06_14:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 clxscore=1034 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1701120000 definitions=main-1704060192 From: Toomas Soome Message-id: MIME-version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: svn commit: r316585 - in head/sys/boot: efi/boot1 efi/loader i386/common i386/loader i386/zfsboot zfs Date: Fri, 07 Apr 2017 02:19:44 +0300 In-reply-to: <3EFCAFB8-25E6-41A0-A1CF-26B4785FB482@me.com> Cc: Toomas Soome , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org To: Bryan Drewery References: <201704061817.v36IHT8i088712@repo.freebsd.org> <06998a2b-fa92-500a-cdf6-5057ca96a76f@FreeBSD.org> <3EFCAFB8-25E6-41A0-A1CF-26B4785FB482@me.com> X-Mailer: Apple Mail (2.3273) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 23:19:49 -0000 > On 6. apr 2017, at 22:48, Toomas Soome wrote: >=20 >=20 > Yes, sorry, I did miss the sparc version, looking on it=E2=80=A6. I did quick and =E2=80=9Cdirty=E2=80=9D first round, but really need = some help there, please check and comment: = https://reviews.freebsd.org/D10302 =20= >=20 > rgds, > toomas >=20 >=20 >> On 6. apr 2017, at 22:41, Bryan Drewery wrote: >>=20 >> On 4/6/2017 11:17 AM, Toomas Soome wrote: >>> Author: tsoome >>> Date: Thu Apr 6 18:17:29 2017 >>> New Revision: 316585 >>> URL: https://svnweb.freebsd.org/changeset/base/316585 >>>=20 >>> Log: >>> loader: zfs reader should check all labels >>>=20 >>> The current zfs reader is only checking first label from each = device, however, >>> we do have 4 labels on device and we should check all 4 to be = protected >>> against disk failures and incomplete label updates. >>>=20 >>> The difficulty is about the fact that 2 label copies are in front of = the >>> pool data, and 2 are at the end, which means, we have to know the = size of >>> the pool data area. >>>=20 >>> Since we have now the mechanism from common/disk.c to use the = partition >>> information, it does help us in this task; however, there are still = some >>> corner cases. >>>=20 >>> Namely, if the pool is created without partition, directly on the = disk, >>> and firmware will give us the wrong size for the disk, we only can = check >>> the first two label copies. >>>=20 >>> Reviewed by: allanjude >>> Differential Revision: https://reviews.freebsd.org/D10203 >>=20 >>=20 >> Something seems wrong in make universe: >>=20 >>> cc -isystem = /usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/include = -L/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/lib = -B/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/lib = --sysroot=3D/usr/obj/sparc64.sparc64/root/git/freebsd/tmp = -B/usr/obj/sparc64.sparc64/root/git/freebsd/tmp/usr/bin -O2 -pipe = -DLOADER_DISK_SUPPORT -DLOADER_UFS_SUPPORT -DLOADER_CD9660_SUPPORT = -DLOADER_ZFS_SUPPORT = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../zfs = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../../cddl/boot/zfs = -DLOADER_GZIP_SUPPORT -DLOADER_NET_SUPPORT -DLOADER_NFS_SUPPORT = -DLOADER_TFTP_SUPPORT -DBOOT_FORTH = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ficl = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ficl/sparc64 = -DLOADER_DISK_SUPPORT -DLOADER_GPT_SUPPORT -DLOADER_MBR_SUPPORT = -DLOADER_GELI_SUPPORT -I/root/git/freebsd/sys/boot/ficl = -I/root/git/freebsd/sys/boot/ficl/sparc64 = -I/root/git/freebsd/sys/boot/ficl/../common = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../common -I. = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../ofw/libofw/ = -I/root/git/freebsd/sys/boot/sparc64/zfsloader/../../../../lib/libstand/ = -I/root/git/freebsd/sys -ffreestanding -std=3Dgnu99 -static -nostdlib -o = zfsloader locore.o main.o metadata.o vers.o boot.o commands.o console.o = devopen.o interp.o interp_backslash.o interp_parse.o ls.o misc.o = module.o panic.o load_elf64.o reloc_elf64.o dev_net.o disk.o part.o = crc32.o interp_forth.o = /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../..= /ficl/libficl.a = /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../..= /zfs/libzfsboot.a = /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../..= /ofw/libofw/libofw.a -lstand >>> --- zfsloader --- >>> = /usr/obj/sparc64.sparc64/root/git/freebsd/sys/boot/sparc64/zfsloader/../..= /zfs/libzfsboot.a(zfs.o): In function `zfs_probe': >>> zfs.c:(.text+0x7f28): undefined reference to `ldi_get_size' >>> *** [zfsloader] Error code 1 >>=20 >>=20 >>=20 >> --=20 >> Regards, >> Bryan Drewery >>=20 >=20 >=20 From owner-svn-src-all@freebsd.org Thu Apr 6 23:35:12 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2EF44D3201F; Thu, 6 Apr 2017 23:35:12 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F3269836; Thu, 6 Apr 2017 23:35:11 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36NZBx6022139; Thu, 6 Apr 2017 23:35:11 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36NZBJ3022138; Thu, 6 Apr 2017 23:35:11 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201704062335.v36NZBJ3022138@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Thu, 6 Apr 2017 23:35:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316593 - head/usr.sbin/makefs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 23:35:12 -0000 Author: brooks Date: Thu Apr 6 23:35:10 2017 New Revision: 316593 URL: https://svnweb.freebsd.org/changeset/base/316593 Log: Point out that -F probably does not do what the user expects. Users attempting to create images from mtree METALOG files created by installworld often use -F when they should be passing the METALOG file in place of a directory. This is often produces difficult to debug error reports. Reviewed by: emaste MFC after: 1 week Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10038 Modified: head/usr.sbin/makefs/makefs.8 Modified: head/usr.sbin/makefs/makefs.8 ============================================================================== --- head/usr.sbin/makefs/makefs.8 Thu Apr 6 22:50:28 2017 (r316592) +++ head/usr.sbin/makefs/makefs.8 Thu Apr 6 23:35:10 2017 (r316593) @@ -35,7 +35,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 14, 2016 +.Dd April 6, 2017 .Dt MAKEFS 8 .Os .Sh NAME @@ -116,6 +116,12 @@ set in .Ar debug-mask . XXX: document these .It Fl F Ar mtree-specfile +.Em This is almost certainly not the option you are looking for. +To create an image from a list of files in an mtree format manifest, +specify it as the last argument on the commandline, not as a the +argument to +.Fl F . +.Pp Use .Ar mtree-specfile as an From owner-svn-src-all@freebsd.org Thu Apr 6 23:40:15 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0DF27D3218E; Thu, 6 Apr 2017 23:40:15 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B9ECBA4D; Thu, 6 Apr 2017 23:40:14 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36NeDRY022363; Thu, 6 Apr 2017 23:40:13 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36NeD0Z022360; Thu, 6 Apr 2017 23:40:13 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201704062340.v36NeD0Z022360@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Thu, 6 Apr 2017 23:40:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316594 - in head/sys: compat/freebsd32 kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 23:40:15 -0000 Author: brooks Date: Thu Apr 6 23:40:13 2017 New Revision: 316594 URL: https://svnweb.freebsd.org/changeset/base/316594 Log: Change the size argument of __getcwd() to size_t. This matches the getcwd() definition. This is technically an ABI change, but that would only effect 64-bit big-endian platforms that pass arguments on the stack. We have none of those. Reviewed by: jhb Obtained from: CheriABI Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9428 Modified: head/sys/compat/freebsd32/syscalls.master head/sys/kern/syscalls.master Modified: head/sys/compat/freebsd32/syscalls.master ============================================================================== --- head/sys/compat/freebsd32/syscalls.master Thu Apr 6 23:35:10 2017 (r316593) +++ head/sys/compat/freebsd32/syscalls.master Thu Apr 6 23:40:13 2017 (r316594) @@ -586,7 +586,7 @@ 323 AUE_NULL OBSOL thr_wakeup 324 AUE_MLOCKALL NOPROTO { int mlockall(int how); } 325 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } -326 AUE_GETCWD NOPROTO { int __getcwd(char *buf, u_int buflen); } +326 AUE_GETCWD NOPROTO { int __getcwd(char *buf, size_t buflen); } 327 AUE_NULL NOPROTO { int sched_setparam (pid_t pid, \ const struct sched_param *param); } Modified: head/sys/kern/syscalls.master ============================================================================== --- head/sys/kern/syscalls.master Thu Apr 6 23:35:10 2017 (r316593) +++ head/sys/kern/syscalls.master Thu Apr 6 23:40:13 2017 (r316594) @@ -573,7 +573,7 @@ 323 AUE_NULL OBSOL thr_wakeup 324 AUE_MLOCKALL STD { int mlockall(int how); } 325 AUE_MUNLOCKALL STD { int munlockall(void); } -326 AUE_GETCWD STD { int __getcwd(char *buf, u_int buflen); } +326 AUE_GETCWD STD { int __getcwd(char *buf, size_t buflen); } 327 AUE_NULL STD { int sched_setparam (pid_t pid, \ const struct sched_param *param); } From owner-svn-src-all@freebsd.org Thu Apr 6 23:40:53 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7242ED321EF; Thu, 6 Apr 2017 23:40:53 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DCA0BE7; Thu, 6 Apr 2017 23:40:53 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v36Neqnp022431; Thu, 6 Apr 2017 23:40:52 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v36NepeF022425; Thu, 6 Apr 2017 23:40:51 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201704062340.v36NepeF022425@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Thu, 6 Apr 2017 23:40:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316595 - in head/sys: compat/freebsd32 kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Apr 2017 23:40:53 -0000 Author: brooks Date: Thu Apr 6 23:40:51 2017 New Revision: 316595 URL: https://svnweb.freebsd.org/changeset/base/316595 Log: Regen after r316594. Modified: head/sys/compat/freebsd32/freebsd32_systrace_args.c head/sys/kern/systrace_args.c head/sys/kern/vfs_cache.c head/sys/sys/syscallsubr.h head/sys/sys/sysproto.h Modified: head/sys/compat/freebsd32/freebsd32_systrace_args.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_systrace_args.c Thu Apr 6 23:40:13 2017 (r316594) +++ head/sys/compat/freebsd32/freebsd32_systrace_args.c Thu Apr 6 23:40:51 2017 (r316595) @@ -1588,7 +1588,7 @@ systrace_args(int sysnum, void *params, case 326: { struct __getcwd_args *p = params; uarg[0] = (intptr_t) p->buf; /* char * */ - uarg[1] = p->buflen; /* u_int */ + uarg[1] = p->buflen; /* size_t */ *n_args = 2; break; } @@ -5838,7 +5838,7 @@ systrace_entry_setargdesc(int sysnum, in p = "userland char *"; break; case 1: - p = "u_int"; + p = "size_t"; break; default: break; Modified: head/sys/kern/systrace_args.c ============================================================================== --- head/sys/kern/systrace_args.c Thu Apr 6 23:40:13 2017 (r316594) +++ head/sys/kern/systrace_args.c Thu Apr 6 23:40:51 2017 (r316595) @@ -1622,7 +1622,7 @@ systrace_args(int sysnum, void *params, case 326: { struct __getcwd_args *p = params; uarg[0] = (intptr_t) p->buf; /* char * */ - uarg[1] = p->buflen; /* u_int */ + uarg[1] = p->buflen; /* size_t */ *n_args = 2; break; } @@ -5901,7 +5901,7 @@ systrace_entry_setargdesc(int sysnum, in p = "userland char *"; break; case 1: - p = "u_int"; + p = "size_t"; break; default: break; Modified: head/sys/kern/vfs_cache.c ============================================================================== --- head/sys/kern/vfs_cache.c Thu Apr 6 23:40:13 2017 (r316594) +++ head/sys/kern/vfs_cache.c Thu Apr 6 23:40:51 2017 (r316595) @@ -2045,8 +2045,8 @@ sys___getcwd(struct thread *td, struct _ } int -kern___getcwd(struct thread *td, char *buf, enum uio_seg bufseg, u_int buflen, - u_int path_max) +kern___getcwd(struct thread *td, char *buf, enum uio_seg bufseg, size_t buflen, + size_t path_max) { char *bp, *tmpbuf; struct filedesc *fdp; Modified: head/sys/sys/syscallsubr.h ============================================================================== --- head/sys/sys/syscallsubr.h Thu Apr 6 23:40:13 2017 (r316594) +++ head/sys/sys/syscallsubr.h Thu Apr 6 23:40:51 2017 (r316595) @@ -60,7 +60,7 @@ struct sched_param; struct __wrusage; int kern___getcwd(struct thread *td, char *buf, enum uio_seg bufseg, - u_int buflen, u_int path_max); + size_t buflen, size_t path_max); int kern_accept(struct thread *td, int s, struct sockaddr **name, socklen_t *namelen, struct file **fp); int kern_accept4(struct thread *td, int s, struct sockaddr **name, Modified: head/sys/sys/sysproto.h ============================================================================== --- head/sys/sys/sysproto.h Thu Apr 6 23:40:13 2017 (r316594) +++ head/sys/sys/sysproto.h Thu Apr 6 23:40:51 2017 (r316595) @@ -855,7 +855,7 @@ struct munlockall_args { }; struct __getcwd_args { char buf_l_[PADL_(char *)]; char * buf; char buf_r_[PADR_(char *)]; - char buflen_l_[PADL_(u_int)]; u_int buflen; char buflen_r_[PADR_(u_int)]; + char buflen_l_[PADL_(size_t)]; size_t buflen; char buflen_r_[PADR_(size_t)]; }; struct sched_setparam_args { char pid_l_[PADL_(pid_t)]; pid_t pid; char pid_r_[PADR_(pid_t)]; From owner-svn-src-all@freebsd.org Fri Apr 7 00:33:05 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4E5EBD30558; Fri, 7 Apr 2017 00:33:05 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2B68AB6D; Fri, 7 Apr 2017 00:33:05 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v370X4Vw046199; Fri, 7 Apr 2017 00:33:04 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v370X4BZ046196; Fri, 7 Apr 2017 00:33:04 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704070033.v370X4BZ046196@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Fri, 7 Apr 2017 00:33:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316596 - in head/sys: dev/e1000 net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 00:33:05 -0000 Author: sbruno Date: Fri Apr 7 00:33:03 2017 New Revision: 316596 URL: https://svnweb.freebsd.org/changeset/base/316596 Log: Move pause frame counter out of struct if_ctx and into struct if_softc_ctx_t so that we can use it in iflib to detect pause frames. The igb(4) driver definitely used to use this in its old timer function and I see no reason to restrict it to that driver only. Sponsored by: Limelight Networks Modified: head/sys/dev/e1000/if_em.c head/sys/net/iflib.c head/sys/net/iflib.h Modified: head/sys/dev/e1000/if_em.c ============================================================================== --- head/sys/dev/e1000/if_em.c Thu Apr 6 23:40:51 2017 (r316595) +++ head/sys/dev/e1000/if_em.c Fri Apr 7 00:33:03 2017 (r316596) @@ -3705,6 +3705,11 @@ em_update_stats_counters(struct adapter adapter->stats.xonrxc += E1000_READ_REG(&adapter->hw, E1000_XONRXC); adapter->stats.xontxc += E1000_READ_REG(&adapter->hw, E1000_XONTXC); adapter->stats.xoffrxc += E1000_READ_REG(&adapter->hw, E1000_XOFFRXC); + /* + ** For watchdog management we need to know if we have been + ** paused during the last interval, so capture that here. + */ + adapter->shared->isc_pause_frames = adapter->stats.xoffrxc; adapter->stats.xofftxc += E1000_READ_REG(&adapter->hw, E1000_XOFFTXC); adapter->stats.fcruc += E1000_READ_REG(&adapter->hw, E1000_FCRUC); adapter->stats.prc64 += E1000_READ_REG(&adapter->hw, E1000_PRC64); Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Thu Apr 6 23:40:51 2017 (r316595) +++ head/sys/net/iflib.c Fri Apr 7 00:33:03 2017 (r316596) @@ -170,7 +170,6 @@ struct iflib_ctx { int ifc_link_state; int ifc_link_irq; - int ifc_pause_frames; int ifc_watchdog_events; struct cdev *ifc_led_dev; struct resource *ifc_msix_mem; @@ -2087,6 +2086,7 @@ iflib_timer(void *arg) { iflib_txq_t txq = arg; if_ctx_t ctx = txq->ift_ctx; + if_softc_ctx_t sctx = &ctx->ifc_softc_ctx; if (!(if_getdrvflags(ctx->ifc_ifp) & IFF_DRV_RUNNING)) return; @@ -2098,7 +2098,7 @@ iflib_timer(void *arg) IFDI_TIMER(ctx, txq->ift_id); if ((txq->ift_qstatus == IFLIB_QUEUE_HUNG) && ((txq->ift_cleaned_prev == txq->ift_cleaned) || - (ctx->ifc_pause_frames == 0))) + (sctx->isc_pause_frames == 0))) goto hung; if (ifmp_ring_is_stalled(txq->ift_br)) @@ -2108,7 +2108,7 @@ iflib_timer(void *arg) if (txq->ift_db_pending) GROUPTASK_ENQUEUE(&txq->ift_task); - ctx->ifc_pause_frames = 0; + sctx->isc_pause_frames = 0; if (if_getdrvflags(ctx->ifc_ifp) & IFF_DRV_RUNNING) callout_reset_on(&txq->ift_timer, hz/2, iflib_timer, txq, txq->ift_timer.c_cpu); return; @@ -2120,7 +2120,6 @@ hung: IFDI_WATCHDOG_RESET(ctx); ctx->ifc_watchdog_events++; - ctx->ifc_pause_frames = 0; ctx->ifc_flags |= IFC_DO_RESET; iflib_admin_intr_deferred(ctx); Modified: head/sys/net/iflib.h ============================================================================== --- head/sys/net/iflib.h Thu Apr 6 23:40:51 2017 (r316595) +++ head/sys/net/iflib.h Fri Apr 7 00:33:03 2017 (r316596) @@ -215,6 +215,7 @@ typedef struct if_softc_ctx { iflib_intr_mode_t isc_intr; uint16_t isc_max_frame_size; /* set at init time by driver */ + uint32_t isc_pause_frames; /* set by driver for iflib_timer to detect */ pci_vendor_info_t isc_vendor_info; /* set by iflib prior to attach_pre */ int isc_disable_msix; if_txrx_t isc_txrx; From owner-svn-src-all@freebsd.org Fri Apr 7 02:31:56 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8C19DD32ECB; Fri, 7 Apr 2017 02:31:56 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4FFDF7FC; Fri, 7 Apr 2017 02:31:56 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v372Vt4W094658; Fri, 7 Apr 2017 02:31:55 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v372VtiJ094656; Fri, 7 Apr 2017 02:31:55 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704070231.v372VtiJ094656@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 7 Apr 2017 02:31:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316597 - in head/usr.sbin/makefs: . cd9660 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 02:31:56 -0000 Author: emaste Date: Fri Apr 7 02:31:55 2017 New Revision: 316597 URL: https://svnweb.freebsd.org/changeset/base/316597 Log: makefs: Sync with NetBSD (fix unused variable warnings) NetBSD revs: cd9660.c 1.45 cd9660/cd9660_write.c 1.17 Obtained from: NetBSD Modified: head/usr.sbin/makefs/cd9660.c head/usr.sbin/makefs/cd9660/cd9660_write.c Modified: head/usr.sbin/makefs/cd9660.c ============================================================================== --- head/usr.sbin/makefs/cd9660.c Fri Apr 7 00:33:03 2017 (r316596) +++ head/usr.sbin/makefs/cd9660.c Fri Apr 7 02:31:55 2017 (r316597) @@ -815,15 +815,14 @@ static int cd9660_translate_node_common(iso9660_disk *diskStructure, cd9660node *newnode) { time_t tstamp = stampst.st_ino ? stampst.st_mtime : time(NULL); - int test; u_char flag; char temp[ISO_FILENAME_MAXLENGTH_WITH_PADDING]; /* Now populate the isoDirRecord structure */ memset(temp, 0, ISO_FILENAME_MAXLENGTH_WITH_PADDING); - test = cd9660_convert_filename(diskStructure, newnode->node->name, - temp, !(S_ISDIR(newnode->node->type))); + (void)cd9660_convert_filename(diskStructure, newnode->node->name, + temp, !(S_ISDIR(newnode->node->type))); flag = ISO_FLAG_CLEAR; if (S_ISDIR(newnode->node->type)) @@ -1111,7 +1110,7 @@ cd9660_rename_filename(iso9660_disk *dis * See if you can spot them all :) */ - /* +#if 0 if (diskStructure->isoLevel == 1) { numbts = 8 - digits - delete_chars; if (dot < 0) { @@ -1122,7 +1121,7 @@ cd9660_rename_filename(iso9660_disk *dis } } } - */ +#endif /* (copying just the filename before the '.' */ memcpy(tmp, (iter->o_name), numbts); Modified: head/usr.sbin/makefs/cd9660/cd9660_write.c ============================================================================== --- head/usr.sbin/makefs/cd9660/cd9660_write.c Fri Apr 7 00:33:03 2017 (r316596) +++ head/usr.sbin/makefs/cd9660/cd9660_write.c Fri Apr 7 02:31:55 2017 (r316597) @@ -143,10 +143,8 @@ static int cd9660_write_volume_descriptors(iso9660_disk *diskStructure, FILE *fd) { volume_descriptor *vd_temp = diskStructure->firstVolumeDescriptor; - int pos; while (vd_temp != NULL) { - pos = vd_temp->sector * diskStructure->sectorSize; cd9660_write_filedata(diskStructure, fd, vd_temp->sector, vd_temp->volumeDescriptorData, 1); vd_temp = vd_temp->next; @@ -267,7 +265,6 @@ cd9660_write_file(iso9660_disk *diskStru int ret; off_t working_sector; int cur_sector_offset; - int written; iso_directory_record_cd9660 temp_record; cd9660node *temp; int rv = 0; @@ -340,7 +337,7 @@ cd9660_write_file(iso9660_disk *diskStru err(1, "fseeko"); } /* Write out the basic ISO directory record */ - written = fwrite(&temp_record, 1, + (void)fwrite(&temp_record, 1, temp->isoDirRecord->length[0], fd); if (diskStructure->rock_ridge_enabled) { cd9660_write_rr(diskStructure, fd, temp, From owner-svn-src-all@freebsd.org Fri Apr 7 05:00:14 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 08FA8D3258E; Fri, 7 Apr 2017 05:00:14 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5BFA187B; Fri, 7 Apr 2017 05:00:13 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37509fW052104; Fri, 7 Apr 2017 05:00:09 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v375092A052103; Fri, 7 Apr 2017 05:00:09 GMT (envelope-from cem@FreeBSD.org) Message-Id: <201704070500.v375092A052103@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Fri, 7 Apr 2017 05:00:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316598 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 05:00:14 -0000 Author: cem Date: Fri Apr 7 05:00:09 2017 New Revision: 316598 URL: https://svnweb.freebsd.org/changeset/base/316598 Log: kern_descrip: Move kinfo_ofile size assert under COMPAT_FREEBSD7 The size and structure are not used outside of FreeBSD 7 compatibility ABIs. Sponsored by: Dell EMC Isilon Modified: head/sys/kern/kern_descrip.c Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Fri Apr 7 02:31:55 2017 (r316597) +++ head/sys/kern/kern_descrip.c Fri Apr 7 05:00:09 2017 (r316598) @@ -3573,11 +3573,11 @@ sysctl_kern_proc_filedesc(SYSCTL_HANDLER return (error != 0 ? error : error2); } +#ifdef COMPAT_FREEBSD7 #ifdef KINFO_OFILE_SIZE CTASSERT(sizeof(struct kinfo_ofile) == KINFO_OFILE_SIZE); #endif -#ifdef COMPAT_FREEBSD7 static void kinfo_to_okinfo(struct kinfo_file *kif, struct kinfo_ofile *okif) { From owner-svn-src-all@freebsd.org Fri Apr 7 05:19:50 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A8290D32CC7; Fri, 7 Apr 2017 05:19:50 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x241.google.com (mail-pg0-x241.google.com [IPv6:2607:f8b0:400e:c05::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 75977662; Fri, 7 Apr 2017 05:19:50 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x241.google.com with SMTP id g2so12880974pge.2; Thu, 06 Apr 2017 22:19:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=GH7466dDL7O3sd17xSgCHJrnVmQq/mWd5x0x99rHFwA=; b=ravm3CAMAYeZs6K+HsORo2Nq2sHC/uobwmuivqajU9pm02Tz/PfuL5L5BMBeRSnJbr A4H0foWXXrj2AF3ivnFxG5ebNBvisMgz/dQdYBKyr0TkDmcTc2spSYcfaORjSOS/rvjO 4Mkk/9tqdDXUUyuOSaM/LiyLXPABfSg+LNtHBBwc5Fwtl6mJk1JSAefs/OWj6JGH9ha2 PQnx9fs8xMFl71hM5pQajyLnrHVeyOBaUXxXd3iW9RM1lMlWuPTwoGSZf5tRCwEWnYm+ DJKQ99YLU2Yf8YZ59nbMCQvGBSnX1MDgbWun7nXQvVzCqYXbf8gyahtYOdIirWRR9OGR f0oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=GH7466dDL7O3sd17xSgCHJrnVmQq/mWd5x0x99rHFwA=; b=BTKafa2q+oPvAmlz/yQb4/ZgRmKl3bex4xnGwMgv38ESzKYZfgLNCixRrfoiZ3Vg2g hAhgHa45n/hWhdc5qziQ3IdREX4OCgON/WS5sjY4ZWC358HsamXGHnH4efpN6TheNOjK 6W64Px5MpERqxe3YAorgA4Tt1E151nZIVreHl9yjp5Jg9U1AHbzCTR7fiHjOve30VBRw XyvbK422n65c1sK3Cgk55vmDrC7NJJNmeYNErOdNxuHiMbYf54rzhfkuEN+rNbPizBma JIIsjz0beEd9ZU3HjfBOuStsXy1SJEw92Zo6oysSgFSFFUkSeNVe/o+w4Cvl+TgeM/j0 tDBQ== X-Gm-Message-State: AFeK/H352y8BBVF/Vkzy44jnCJw/joAjv6Dz1ZIcgn19+g9lNCnbAMGCcwVhcF36dYAZBw== X-Received: by 10.84.245.2 with SMTP id i2mr47626108pll.131.1491542389903; Thu, 06 Apr 2017 22:19:49 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id h71sm6673550pfj.65.2017.04.06.22.19.48 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 06 Apr 2017 22:19:49 -0700 (PDT) Subject: Re: svn commit: r316591 - head/sys/dev/tpm Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_A80FA18F-487C-487F-808D-46F1C2EF6E78"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201704062221.v36MLnr7092648@repo.freebsd.org> Date: Thu, 6 Apr 2017 22:19:48 -0700 Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: References: <201704062221.v36MLnr7092648@repo.freebsd.org> To: "David E. O'Brien" X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 05:19:50 -0000 --Apple-Mail=_A80FA18F-487C-487F-808D-46F1C2EF6E78 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Apr 6, 2017, at 15:21, David E. O'Brien wrote: >=20 > Author: obrien > Date: Thu Apr 6 22:21:49 2017 > New Revision: 316591 > URL: https://svnweb.freebsd.org/changeset/base/316591 >=20 > Log: > Remove dead code. > The #ifdef __FreeBSD__ section within the OpenBSD tpm_attach() = implementation > can never be active. >=20 > Modified: > head/sys/dev/tpm/tpm.c >=20 > Modified: head/sys/dev/tpm/tpm.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/dev/tpm/tpm.c Thu Apr 6 20:12:39 2017 = (r316590) > +++ head/sys/dev/tpm/tpm.c Thu Apr 6 22:21:49 2017 = (r316591) > @@ -422,12 +422,8 @@ tpm_attach(device_t parent, device_t sel > return; > } >=20 > -#ifdef __FreeBSD__ > - sc->sc_suspend =3D 0; > -#else > sc->sc_suspend =3D PWR_RESUME; > sc->sc_powerhook =3D powerhook_establish(tpm_powerhook, sc); > -#endif > } > #endif Hi David, I think you meant to delete the other piece of code (__FreeBSD__ = is always defined). Also, why delete lines that might make it harder to backport = changes from OpenBSD? Thanks, -Ngie --Apple-Mail=_A80FA18F-487C-487F-808D-46F1C2EF6E78 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJY5yF0AAoJEPWDqSZpMIYV+pQP/RPJj24pi05ZZ6ENnDcpgpqc fEmTpG7cMFG80lPWyDE1WlzbEXkFyT2Ag3/q+1tlJMwMcgWospo3msrcPE/8KxBJ FT303Q4MFpaUecrY6ukbxvoRXJYjwh1USV9h5NixJisqlrKjrnpSt8ijv8w/ObkK RF8kKB2W/ROiNNaA8NR1OqyHmb1X/qfSKD1prkNq/pn3Y7IGjt8GRCk4e94Mfj1y PWOzdkeaNrS3L9+gt4T8Z8e10Oeigeegy8jrxGmMRN+8jNoZlEky6eVbvqG3a5bL Bocf92qnWMCdoRSaAGpafo5NkOWUitab2gONu26Ep2wvsxgKwycu+GJbsWiGpSLL RcQhzr59GTSCnOErHNNV8p7JrGIoqtDvujvjq1Ga+vFhDVI0OQtMnobVDizluUQf Vi9n1lCxNeUKIleRMY8T6ecvbU6zGcPgx/GEVvWLxklmNufoJXiHkAgrsUSCc3Zk H+EkejgUdeaZHm9TDk4kldmyX0JQcW4xB3AFFdpyMFOKTZqbHh/o2cvCB0uef8iV fO4IktwtFMOqGkIyvHxm4KiXuO5Jj1SRjP47zdo/VCPZC4BZAuvs2SfVN6wnn/hv gG/d1X7oJlaLaWba+8kmAc1DbCtCcp16inBsCoDHTQ5rsHRw/KB2dWiEx0LVq+5D A3LVJ0paMBCKolw6CqDZ =bGm3 -----END PGP SIGNATURE----- --Apple-Mail=_A80FA18F-487C-487F-808D-46F1C2EF6E78-- From owner-svn-src-all@freebsd.org Fri Apr 7 05:21:25 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B65DD32E3B; Fri, 7 Apr 2017 05:21:25 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x242.google.com (mail-pg0-x242.google.com [IPv6:2607:f8b0:400e:c05::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1DDB9A04; Fri, 7 Apr 2017 05:21:25 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x242.google.com with SMTP id 79so12942643pgf.0; Thu, 06 Apr 2017 22:21:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=EkUX7WQgXHPsvtHX/hq/a4wawv0xqfXet+6YHWmkGhE=; b=lmWP36gduV2GGZ6GabmI4BESaVbRr/IsKTKlLPLxIzcmxK67BW3/Yj81RwccODgC48 xfFvTQ+RDvonLz19t43rJH6UYIlNdYIHGkWtuEJ+GTv+RmDQZqlOJFp7nntnTQAz6ahl NnG/8jGgL+pjw3WjFAUKmxh0MI02pOKDUyEKYCJtGAoYSlCbi+ZRe6jGSJE2nEIOCtJc K3r+BvvA/pweOUUzk1Dc6vVoenS9bhsj0X+CjLOHt+HSS1ZEf5I9E2RXq0O5Z5C1z9qX EQooGL+rt1sv4SoioKpCIiOPBzaLpI53j/TcZ4xto5g4orZ01omZlW8QRfr9OdNQx8/5 Z5nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=EkUX7WQgXHPsvtHX/hq/a4wawv0xqfXet+6YHWmkGhE=; b=IZJ3/cu/QPQAGC7W90nGSbX/jmHSxgK8LW/KDneZozRyu8j2VgFBtZBitnbegvD6V+ WfoOok9ewbAS7XJKPIfwxIIfzCBSuYkWRcbvvcj+R/WaTImnI4bPVhku7Lawhh5erSfB YNrOPYykRqvuN31e9qyYQprbv7YBcsDtKTWOLBNqyAwCbb0zSmQmyrSuqwn8l92N8BdG 82yKcxBe5vBBSB8cUYwlFpvnAlr2qQUPcjbsS1SIY5N1wK5aBHcLIcZqXezLvgvKkpx7 TpOhcRxrsnPngCYCZx4cO2BdBh7Rsu9hJR08kkNXj1eeJSHsiC9HRKTRh4GwAf01286c gY1g== X-Gm-Message-State: AFeK/H3rmgYGrWtYgUDLkdtp49G4DPD0reoLUgW9YEd9TRZcgF8hWAGIgNPmX8BuCAFdTA== X-Received: by 10.84.141.164 with SMTP id 33mr46882396plv.166.1491542484725; Thu, 06 Apr 2017 22:21:24 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id q23sm6685328pfg.63.2017.04.06.22.21.23 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 06 Apr 2017 22:21:24 -0700 (PDT) Subject: Re: svn commit: r316592 - head/usr.sbin/arp Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_91C7E156-943E-41C5-ACE5-029FEE02B2DA"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201704062250.v36MoTW3002150@repo.freebsd.org> Date: Thu, 6 Apr 2017 22:21:14 -0700 Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-Id: <170E9A0C-AFCF-4FA1-B308-130339A463B2@gmail.com> References: <201704062250.v36MoTW3002150@repo.freebsd.org> To: Renato Botelho X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 05:21:25 -0000 --Apple-Mail=_91C7E156-943E-41C5-ACE5-029FEE02B2DA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Apr 6, 2017, at 15:50, Renato Botelho wrote: >=20 > Author: garga (ports committer) > Date: Thu Apr 6 22:50:28 2017 > New Revision: 316592 > URL: https://svnweb.freebsd.org/changeset/base/316592 >=20 > Log: > Introduce libxo support to arp(8) >=20 > Reviewed by: wblock, gnn, allanjude, phil > Approved by: allanjude > MFC after: 1 week > Sponsored by: Rubicon Communications (Netgate) > Differential Revision: https://reviews.freebsd.org/D9563 I really wish tests had been written before utilities are libxo=E2=80=99if= ied =3D[. *crosses fingers and hopes that the libxo=E2=80=99ification is = bug-free, unlike netstat*. Thanks, -Ngie --Apple-Mail=_91C7E156-943E-41C5-ACE5-029FEE02B2DA Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJY5yHKAAoJEPWDqSZpMIYVDRIP/3/5/D6mkCFxwV/t2sdcGyXe YiqiCjBf4TkBM5G0DHa+im1nkZk2BtBtpuVF1BdtGX+Zwq1upo+G7cQqDk1YXihH hiC2TpEzbIFqSCle952y7ujcilKiBOLQyG7zQFhFoOFU1bYwVf2Yaqv6cnm+MYrT 2hck/FZpCp3k/wN0YZh7pcwV9Dw8BGKvk7RMSdEC7+/aS/2M5fPC7coIH5JI1WhV eeH2eTIX79yDvQUqmYJCew6P7ij32wSz2WPQwB9KGqumphCmH9IDvgByBvMG15V0 W3ypzMB6Pi/6+LrldmEQblRDuOQOt3aLwVekvZ1e6MKCIJ1tKAflHNczdlvK57cz QZAGrp4nPgRpIR3BYD+XRtNnYqj1dBs7KEN4yMvHB5RvENsWJ6bd72qbtGOVHG31 zg204E4pBhwQLvRxsGhUnkBdCIKM+Ihp13BET/CAGz2NW41FTAisBLOWDGhivzE/ m//WtXkKOsFmzUxoOA243lcqGkESmp7XJ30W28ervaIHY2I2GQtABcRH21+RJZbi 0vkbN9YFHyHCZ5CfJCQPza+aYCYOk2XhaxMHinwozMexUGY5aZb7GbI6HwJXCiRa kGe4EIKkwV3s91yBbp9GRVozz+D7PJCapnz98Pf0AmdQi7z1B+5pxFbbpl8x/vaR vBIRE4/PlYCs94hT9J0C =6+nq -----END PGP SIGNATURE----- --Apple-Mail=_91C7E156-943E-41C5-ACE5-029FEE02B2DA-- From owner-svn-src-all@freebsd.org Fri Apr 7 05:37:10 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9006CD322D2; Fri, 7 Apr 2017 05:37:10 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5AAEF133; Fri, 7 Apr 2017 05:37:10 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v375b8CL068574; Fri, 7 Apr 2017 05:37:08 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v375b8Bg068573; Fri, 7 Apr 2017 05:37:08 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201704070537.v375b8Bg068573@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Fri, 7 Apr 2017 05:37:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316599 - head/sys/compat/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 05:37:10 -0000 Author: dchagin Date: Fri Apr 7 05:37:08 2017 New Revision: 316599 URL: https://svnweb.freebsd.org/changeset/base/316599 Log: Prevent ushort values overflow when convert new Linux 64-bit ipc struct to the old Linux ipc struct. Reported by: PVS-Studio XMFC with: r314866 MFC after: 3 days Modified: head/sys/compat/linux/linux_ipc.c Modified: head/sys/compat/linux/linux_ipc.c ============================================================================== --- head/sys/compat/linux/linux_ipc.c Fri Apr 7 05:00:09 2017 (r316598) +++ head/sys/compat/linux/linux_ipc.c Fri Apr 7 05:37:08 2017 (r316599) @@ -348,11 +348,11 @@ linux_msqid_pushdown(l_int ver, struct l linux_msqid.msg_cbytes = linux_msqid64->msg_cbytes; linux_msqid.msg_lcbytes = linux_msqid64->msg_cbytes; if (linux_msqid64->msg_qnum > USHRT_MAX) - linux_msqid.msg_qnum = linux_msqid64->msg_qnum; + linux_msqid.msg_qnum = USHRT_MAX; else linux_msqid.msg_qnum = linux_msqid64->msg_qnum; if (linux_msqid64->msg_qbytes > USHRT_MAX) - linux_msqid.msg_qbytes = linux_msqid64->msg_qbytes; + linux_msqid.msg_qbytes = USHRT_MAX; else linux_msqid.msg_qbytes = linux_msqid64->msg_qbytes; linux_msqid.msg_lqbytes = linux_msqid64->msg_qbytes; From owner-svn-src-all@freebsd.org Fri Apr 7 05:46:46 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EB24AD3267C; Fri, 7 Apr 2017 05:46:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BB79A9C3; Fri, 7 Apr 2017 05:46:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v375kjaS072566; Fri, 7 Apr 2017 05:46:45 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v375kjkH072565; Fri, 7 Apr 2017 05:46:45 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704070546.v375kjkH072565@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Fri, 7 Apr 2017 05:46:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316600 - head/lib/libpmc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 05:46:47 -0000 Author: ngie Date: Fri Apr 7 05:46:45 2017 New Revision: 316600 URL: https://svnweb.freebsd.org/changeset/base/316600 Log: pmc(3): add additional references for libpmc functions in the SEE ALSO section These functions are already referenced throughout the manpage -- this makes their presence more apparent. MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/lib/libpmc/pmc.3 Modified: head/lib/libpmc/pmc.3 ============================================================================== --- head/lib/libpmc/pmc.3 Fri Apr 7 05:37:08 2017 (r316599) +++ head/lib/libpmc/pmc.3 Fri Apr 7 05:46:45 2017 (r316600) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 28, 2014 +.Dd April 6, 2017 .Dt PMC 3 .Os .Sh NAME @@ -546,6 +546,19 @@ API is .Xr pmc.westmere 3 , .Xr pmc.westmereuc 3 , .Xr pmc.xscale 3 , +.Xr pmc_allocate 3 , +.Xr pmc_attach 3 , +.Xr pmc_capabilities 3 , +.Xr pmc_configure_logfile 3 , +.Xr pmc_disable 3 , +.Xr pmc_event_names_of_class 3 , +.Xr pmc_get_driver_stats 3 , +.Xr pmc_get_msr 3 , +.Xr pmc_init 3 , +.Xr pmc_name_of_capability 3 , +.Xr pmc_read 3 , +.Xr pmc_set 3 , +.Xr pmc_start 3 , .Xr pmclog 3 , .Xr hwpmc 4 , .Xr pmccontrol 8 , From owner-svn-src-all@freebsd.org Fri Apr 7 06:00:20 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B6575D329CA; Fri, 7 Apr 2017 06:00:20 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 93595F0A; Fri, 7 Apr 2017 06:00:20 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3760JNi077025; Fri, 7 Apr 2017 06:00:19 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3760Jde077024; Fri, 7 Apr 2017 06:00:19 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704070600.v3760Jde077024@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Fri, 7 Apr 2017 06:00:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316601 - head/lib/libpmc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 06:00:20 -0000 Author: ngie Date: Fri Apr 7 06:00:19 2017 New Revision: 316601 URL: https://svnweb.freebsd.org/changeset/base/316601 Log: pmc.atomsilvermont(3): fix manlint warnings Start new sentences on new lines. Sentences affected by the change are wrapped at <80 columns. Other potentially offending lines have been left alone to reduce churn. MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/lib/libpmc/pmc.atomsilvermont.3 Modified: head/lib/libpmc/pmc.atomsilvermont.3 ============================================================================== --- head/lib/libpmc/pmc.atomsilvermont.3 Fri Apr 7 05:46:45 2017 (r316600) +++ head/lib/libpmc/pmc.atomsilvermont.3 Fri Apr 7 06:00:19 2017 (r316601) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 20, 2014 +.Dd April 6, 2017 .Dt PMC.ATOMSILVERMONT 3 .Os .Sh NAME @@ -262,7 +262,8 @@ The number of store uops reissued from R .It Li MEM_UOPS_RETIRED.L1_MISS_LOADS .Pq Event 04H , Umask 01H The number of load ops retired that miss in L1 -Data cache. Note that prefetch misses will not be counted. +Data cache. +Note that prefetch misses will not be counted. .It Li MEM_UOPS_RETIRED.L2_HIT_LOADS .Pq Event 04H , Umask 02H The number of load micro-ops retired that hit L2. @@ -287,26 +288,27 @@ The number of load ops retired. The number of store ops retired. .It Li PAGE_WALKS.D_SIDE_CYCLES .Pq Event 05H , Umask 01H -Every cycle when a D-side (walks due to a load) page walk -is in progress. Page walk duration divided by -number of page walks is the average duration of page-walks. -Edge trigger bit must be cleared. Set Edge to count the number -of page walks. +Every cycle when a D-side (walks due to a load) page walk is in progress. +Page walk duration divided by number of page walks is the average duration of +page-walks. +Edge trigger bit must be cleared. +Set Edge to count the number of page walks. .It Li PAGE_WALKS.I_SIDE_CYCLES .Pq Event 05H , Umask 02H -Every cycle when a I-side (walks due to an instruction fetch) -page walk is in progress. Page walk duration divided by number -of page walks is the average duration of page-walks. +Every cycle when a I-side (walks due to an instruction fetch) page walk is in +progress. +Page walk duration divided by number of page walks is the average duration of +page-walks. .It Li PAGE_WALKS.WALKS .Pq Event 05H , Umask 03H -The number of times a data (D) page walk or an instruction (I) -page walk is completed or started. Since a page walk implies a -TLB miss, the number of TLB misses can be counted by counting -the number of pagewalks. +The number of times a data (D) page walk or an instruction (I) page walk is +completed or started. +Since a page walk implies a TLB miss, the number of TLB misses can be counted +by counting the number of pagewalks. .It Li LONGEST_LAT_CACHE.MISS .Pq Event 2EH , Umask 41H -the total number of L2 cache references and -The number of L2 cache misses respectively. +the total number of L2 cache references and the number of L2 cache misses +respectively. L3 is not supported in Silvermont microarchitecture. .It Li LONGEST_LAT_CACHE.REFERENCE .Pq Event 2EH , Umask 4FH @@ -323,39 +325,39 @@ requests), BBS (L2 misses) and WOB (L2 w .It Li CORE_REJECT_L2Q.ALL .Pq Event 31H , Umask 00H The number of demand and L1 prefetcher -requests rejected by the L2Q due to a full or nearly full -condition which likely indicates back pressure from L2Q. -It also counts requests that would have gone directly to -the XQ, but are rejected due to a full or nearly full condition, -indicating back pressure from the IDI link. The L2Q may also -reject transactions from a core to insure fairness between -cores, or to delay a core's dirty eviction when the address -conflicts incoming external snoops. (Note that L2 prefetcher -requests that are dropped are not counted by this event.). +requests rejected by the L2Q due to a full or nearly full condition which +likely indicates back pressure from L2Q. +It also counts requests that would have gone directly to the XQ, but are +rejected due to a full or nearly full condition, indicating back pressure from +the IDI link. +The L2Q may also reject transactions from a core to insure fairness between +cores, or to delay a core's dirty eviction when the address conflicts incoming +external snoops. +(Note that L2 prefetcher requests that are dropped are not counted by this +event). .It Li CPU_CLK_UNHALTED.CORE_P .Pq Event 3CH , Umask 00H -The number of core cycles while the core is not in a halt -state. The core enters the halt state when it is running -the HLT instruction. In mobile systems the core frequency -may change from time to time. For this reason this event -may have a changing ratio with regards to time. +The number of core cycles while the core is not in a halt state. +The core enters the halt state when it is running the HLT instruction. +In mobile systems the core frequency may change from time to time. +For this reason this event may have a changing ratio with regards to time. .It Li CPU_CLK_UNHALTED.REF_P .Pq Event 3CH , Umask 01H -The number of reference cycles that the core is not in a halt -state. The core enters the halt state when it is running -the HLT instruction. +The number of reference cycles that the core is not in a halt state. +The core enters the halt state when it is running the HLT instruction. In mobile systems the core frequency may change from time. -This event is not affected by core frequency changes but counts -as if the core is running at the maximum frequency all the time. +This event is not affected by core frequency changes but counts as if the core +is running at the maximum frequency all the time. .It Li ICACHE.HIT .Pq Event 80H , Umask 01H The number of instruction fetches from the instruction cache. .It Li ICACHE.MISSES .Pq Event 80H , Umask 02H -The number of instruction fetches that miss the -Instruction cache or produce memory requests. This includes -uncacheable fetches. An instruction fetch miss is counted only -once and not once for every cycle it is outstanding. +The number of instruction fetches that miss the Instruction cache or produce +memory requests. +This includes uncacheable fetches. +An instruction fetch miss is counted only once and not once for every cycle +it is outstanding. .It Li ICACHE.ACCESSES .Pq Event 80H , Umask 03H The number of instruction fetches, including uncacheable fetches. @@ -372,10 +374,10 @@ Requires MSR_OFFCORE_RESP0 to specify re Requires MSR_OFFCORE_RESP to specify request type and response. .It Li INST_RETIRED.ANY_P .Pq Event C0H , Umask 00H -The number of instructions that retire execution. For instructions -that consist of multiple micro-ops, this event counts the -retirement of the last micro-op of the instruction. The counter -continues counting during hardware interrupts, traps, and inside +The number of instructions that retire execution. +For instructions that consist of multiple micro-ops, this event counts the +retirement of the last micro-op of the instruction. +The counter continues counting during hardware interrupts, traps, and inside interrupt handlers. .It Li UOPS_RETIRED.MS .Pq Event C2H , Umask 01H From owner-svn-src-all@freebsd.org Fri Apr 7 06:06:57 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2F375D32C7F; Fri, 7 Apr 2017 06:06:57 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F4049669; Fri, 7 Apr 2017 06:06:56 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v3766uY1080868; Fri, 7 Apr 2017 06:06:56 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v3766uYT080867; Fri, 7 Apr 2017 06:06:56 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704070606.v3766uYT080867@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Fri, 7 Apr 2017 06:06:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316602 - head/lib/libpmc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 06:06:57 -0000 Author: ngie Date: Fri Apr 7 06:06:55 2017 New Revision: 316602 URL: https://svnweb.freebsd.org/changeset/base/316602 Log: pmc_read(3): fix manlint error Remove spurious trailing comma from last .Nm entry in NAME section. MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/lib/libpmc/pmc_read.3 Modified: head/lib/libpmc/pmc_read.3 ============================================================================== --- head/lib/libpmc/pmc_read.3 Fri Apr 7 06:00:19 2017 (r316601) +++ head/lib/libpmc/pmc_read.3 Fri Apr 7 06:06:55 2017 (r316602) @@ -29,7 +29,7 @@ .Sh NAME .Nm pmc_read , .Nm pmc_rw , -.Nm pmc_write , +.Nm pmc_write .Nd read and write hardware performance counters .Sh LIBRARY .Lb libpmc From owner-svn-src-all@freebsd.org Fri Apr 7 07:46:23 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0A7F4D31BFD; Fri, 7 Apr 2017 07:46:23 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C5D56E37; Fri, 7 Apr 2017 07:46:22 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v377kLn8023332; Fri, 7 Apr 2017 07:46:21 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v377kLIS023331; Fri, 7 Apr 2017 07:46:21 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201704070746.v377kLIS023331@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Fri, 7 Apr 2017 07:46:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316603 - head/targets/pseudo/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 07:46:23 -0000 Author: ngie Date: Fri Apr 7 07:46:21 2017 New Revision: 316603 URL: https://svnweb.freebsd.org/changeset/base/316603 Log: META_MODE: add additional reachover relative paths to DIRDEPS_BUILD These additional entries are being added, after their addition to the source tree. MFC after: 2 months Sponsored by: Dell EMC Isilon Modified: head/targets/pseudo/tests/Makefile.depend Modified: head/targets/pseudo/tests/Makefile.depend ============================================================================== --- head/targets/pseudo/tests/Makefile.depend Fri Apr 7 06:06:55 2017 (r316602) +++ head/targets/pseudo/tests/Makefile.depend Fri Apr 7 07:46:21 2017 (r316603) @@ -6,341 +6,359 @@ # find . -name Makefile -exec grep -l '^\.include.*\.test.mk' {} + | grep -v '^\./contrib' | sed -e 's,/Makefile,,' -e 's,^\./,,' -e 's,^, ,' -e 's,$, \\,' | sort DIRDEPS= \ - bin/cat/tests \ - bin/date/tests \ - bin/dd/tests \ - bin/expr/tests \ - bin/ls/tests \ - bin/mv/tests \ - bin/pax/tests \ - bin/pkill/tests \ - bin/sh/tests \ - bin/sh/tests/builtins \ - bin/sh/tests/errors \ - bin/sh/tests/execution \ - bin/sh/tests/expansion \ - bin/sh/tests/parameters \ - bin/sh/tests/parser \ - bin/sh/tests/set-e \ - bin/sleep/tests \ - bin/test/tests \ - bin/tests \ - cddl/lib/tests \ - cddl/sbin/tests \ - cddl/tests \ - cddl/usr.bin/tests \ - cddl/usr.sbin/dtrace/tests \ - cddl/usr.sbin/dtrace/tests/common \ - cddl/usr.sbin/dtrace/tests/common/aggs \ - cddl/usr.sbin/dtrace/tests/common/arithmetic \ - cddl/usr.sbin/dtrace/tests/common/arrays \ - cddl/usr.sbin/dtrace/tests/common/assocs \ - cddl/usr.sbin/dtrace/tests/common/begin \ - cddl/usr.sbin/dtrace/tests/common/bitfields \ - cddl/usr.sbin/dtrace/tests/common/buffering \ - cddl/usr.sbin/dtrace/tests/common/builtinvar \ - cddl/usr.sbin/dtrace/tests/common/cg \ - cddl/usr.sbin/dtrace/tests/common/clauses \ - cddl/usr.sbin/dtrace/tests/common/cpc \ - cddl/usr.sbin/dtrace/tests/common/decls \ - cddl/usr.sbin/dtrace/tests/common/docsExamples \ - cddl/usr.sbin/dtrace/tests/common/drops \ - cddl/usr.sbin/dtrace/tests/common/dtraceUtil \ - cddl/usr.sbin/dtrace/tests/common/end \ - cddl/usr.sbin/dtrace/tests/common/enum \ - cddl/usr.sbin/dtrace/tests/common/error \ - cddl/usr.sbin/dtrace/tests/common/exit \ - cddl/usr.sbin/dtrace/tests/common/fbtprovider \ - cddl/usr.sbin/dtrace/tests/common/funcs \ - cddl/usr.sbin/dtrace/tests/common/grammar \ - cddl/usr.sbin/dtrace/tests/common/include \ - cddl/usr.sbin/dtrace/tests/common/inline \ - cddl/usr.sbin/dtrace/tests/common/io \ - cddl/usr.sbin/dtrace/tests/common/ip \ - cddl/usr.sbin/dtrace/tests/common/java_api \ - cddl/usr.sbin/dtrace/tests/common/json \ - cddl/usr.sbin/dtrace/tests/common/lexer \ - cddl/usr.sbin/dtrace/tests/common/llquantize \ - cddl/usr.sbin/dtrace/tests/common/mdb \ - cddl/usr.sbin/dtrace/tests/common/mib \ - cddl/usr.sbin/dtrace/tests/common/misc \ - cddl/usr.sbin/dtrace/tests/common/multiaggs \ - cddl/usr.sbin/dtrace/tests/common/nfs \ - cddl/usr.sbin/dtrace/tests/common/offsetof \ - cddl/usr.sbin/dtrace/tests/common/operators \ - cddl/usr.sbin/dtrace/tests/common/pid \ - cddl/usr.sbin/dtrace/tests/common/plockstat \ - cddl/usr.sbin/dtrace/tests/common/pointers \ - cddl/usr.sbin/dtrace/tests/common/pragma \ - cddl/usr.sbin/dtrace/tests/common/predicates \ - cddl/usr.sbin/dtrace/tests/common/preprocessor \ - cddl/usr.sbin/dtrace/tests/common/print \ - cddl/usr.sbin/dtrace/tests/common/printa \ - cddl/usr.sbin/dtrace/tests/common/printf \ - cddl/usr.sbin/dtrace/tests/common/privs \ - cddl/usr.sbin/dtrace/tests/common/probes \ - cddl/usr.sbin/dtrace/tests/common/proc \ - cddl/usr.sbin/dtrace/tests/common/profile-n \ - cddl/usr.sbin/dtrace/tests/common/providers \ - cddl/usr.sbin/dtrace/tests/common/raise \ - cddl/usr.sbin/dtrace/tests/common/rates \ - cddl/usr.sbin/dtrace/tests/common/safety \ - cddl/usr.sbin/dtrace/tests/common/scalars \ - cddl/usr.sbin/dtrace/tests/common/sched \ - cddl/usr.sbin/dtrace/tests/common/scripting \ - cddl/usr.sbin/dtrace/tests/common/sdt \ - cddl/usr.sbin/dtrace/tests/common/sizeof \ - cddl/usr.sbin/dtrace/tests/common/speculation \ - cddl/usr.sbin/dtrace/tests/common/stability \ - cddl/usr.sbin/dtrace/tests/common/stack \ - cddl/usr.sbin/dtrace/tests/common/stackdepth \ - cddl/usr.sbin/dtrace/tests/common/stop \ - cddl/usr.sbin/dtrace/tests/common/strlen \ - cddl/usr.sbin/dtrace/tests/common/strtoll \ - cddl/usr.sbin/dtrace/tests/common/struct \ - cddl/usr.sbin/dtrace/tests/common/syscall \ - cddl/usr.sbin/dtrace/tests/common/sysevent \ - cddl/usr.sbin/dtrace/tests/common/tick-n \ - cddl/usr.sbin/dtrace/tests/common/trace \ - cddl/usr.sbin/dtrace/tests/common/tracemem \ - cddl/usr.sbin/dtrace/tests/common/translators \ - cddl/usr.sbin/dtrace/tests/common/typedef \ - cddl/usr.sbin/dtrace/tests/common/types \ - cddl/usr.sbin/dtrace/tests/common/uctf \ - cddl/usr.sbin/dtrace/tests/common/union \ - cddl/usr.sbin/dtrace/tests/common/usdt \ - cddl/usr.sbin/dtrace/tests/common/ustack \ - cddl/usr.sbin/dtrace/tests/common/vars \ - cddl/usr.sbin/dtrace/tests/common/version \ - cddl/usr.sbin/tests \ - gnu/lib/tests \ - gnu/tests \ - gnu/usr.bin/diff/tests \ - gnu/usr.bin/tests \ - lib/atf/libatf-c++/tests \ - lib/atf/libatf-c++/tests/detail \ - lib/atf/libatf-c/tests \ - lib/atf/libatf-c/tests/detail \ - lib/atf/tests \ - lib/atf/tests/test-programs \ - lib/libarchive/tests \ - lib/libc/tests \ - lib/libc/tests/c063 \ - lib/libc/tests/db \ - lib/libc/tests/gen \ - lib/libc/tests/gen/execve \ - lib/libc/tests/gen/posix_spawn \ - lib/libc/tests/hash \ - lib/libc/tests/inet \ - lib/libc/tests/locale \ - lib/libc/tests/net \ - lib/libc/tests/net/getaddrinfo \ - lib/libc/tests/nss \ - lib/libc/tests/regex \ - lib/libc/tests/resolv \ - lib/libc/tests/rpc \ - lib/libc/tests/setjmp \ - lib/libc/tests/ssp \ - lib/libc/tests/stdio \ - lib/libc/tests/stdlib \ - lib/libc/tests/string \ - lib/libc/tests/sys \ - lib/libc/tests/termios \ - lib/libc/tests/time \ - lib/libc/tests/tls \ - lib/libc/tests/ttyio \ - lib/libcrypt/tests \ - lib/libmp/tests \ - lib/libnv/tests \ - lib/libpam/libpam/tests \ - lib/libproc/tests \ - lib/librt/tests \ - lib/libthr/tests \ - lib/libthr/tests/dlopen \ - lib/libthr/tests/dlopen/dso \ - lib/libutil/tests \ - lib/libxo/tests \ - lib/msun/tests \ - lib/tests \ - libexec/atf/atf-check/tests \ - libexec/atf/atf-sh/tests \ - libexec/atf/tests \ - libexec/rtld-elf/tests \ - libexec/rtld-elf/tests/libpythagoras \ - libexec/rtld-elf/tests/target \ - libexec/tests \ - sbin/devd/tests \ - sbin/dhclient/tests \ - sbin/growfs/tests \ - sbin/ifconfig/tests \ - sbin/mdconfig/tests \ - sbin/tests \ - secure/lib/tests \ - secure/libexec/tests \ - secure/tests \ - secure/usr.bin/tests \ - secure/usr.sbin/tests \ - share/examples/tests \ - share/examples/tests/tests \ - share/examples/tests/tests/atf \ - share/examples/tests/tests/plain \ - share/tests \ - tests \ - tests/etc \ - tests/etc/rc.d \ - tests/sys \ - tests/sys/acl \ - tests/sys/aio \ - tests/sys/fifo \ - tests/sys/file \ - tests/sys/geom \ - tests/sys/geom/class \ - tests/sys/geom/class/concat \ - tests/sys/geom/class/eli \ - tests/sys/geom/class/gate \ - tests/sys/geom/class/mirror \ - tests/sys/geom/class/nop \ - tests/sys/geom/class/raid3 \ - tests/sys/geom/class/shsec \ - tests/sys/geom/class/stripe \ - tests/sys/geom/class/uzip \ - tests/sys/kern \ - tests/sys/kern/acct \ - tests/sys/kern/execve \ - tests/sys/kern/pipe \ - tests/sys/kqueue \ - tests/sys/mac \ - tests/sys/mac/bsdextended \ - tests/sys/mac/portacl \ - tests/sys/mqueue \ - tests/sys/netinet \ - tests/sys/opencrypto \ - tests/sys/pjdfstest/pjdfstest \ - tests/sys/pjdfstest/tests \ - tests/sys/pjdfstest/tests/chflags \ - tests/sys/pjdfstest/tests/chmod \ - tests/sys/pjdfstest/tests/chown \ - tests/sys/pjdfstest/tests/ftruncate \ - tests/sys/pjdfstest/tests/granular \ - tests/sys/pjdfstest/tests/link \ - tests/sys/pjdfstest/tests/mkdir \ - tests/sys/pjdfstest/tests/mkfifo \ - tests/sys/pjdfstest/tests/mknod \ - tests/sys/pjdfstest/tests/open \ - tests/sys/pjdfstest/tests/rename \ - tests/sys/pjdfstest/tests/rmdir \ - tests/sys/pjdfstest/tests/symlink \ - tests/sys/pjdfstest/tests/truncate \ - tests/sys/pjdfstest/tests/unlink \ - tests/sys/posixshm \ - tests/sys/sys \ - tests/sys/vfs \ - tests/sys/vm \ - usr.bin/apply/tests \ - usr.bin/basename/tests \ - usr.bin/bmake/tests \ - usr.bin/bmake/tests/archives \ - usr.bin/bmake/tests/archives/fmt_44bsd \ - usr.bin/bmake/tests/archives/fmt_44bsd_mod \ - usr.bin/bmake/tests/archives/fmt_oldbsd \ - usr.bin/bmake/tests/basic \ - usr.bin/bmake/tests/basic/t0 \ - usr.bin/bmake/tests/basic/t1 \ - usr.bin/bmake/tests/basic/t2 \ - usr.bin/bmake/tests/basic/t3 \ - usr.bin/bmake/tests/execution \ - usr.bin/bmake/tests/execution/ellipsis \ - usr.bin/bmake/tests/execution/empty \ - usr.bin/bmake/tests/execution/joberr \ - usr.bin/bmake/tests/execution/plus \ - usr.bin/bmake/tests/shell \ - usr.bin/bmake/tests/shell/builtin \ - usr.bin/bmake/tests/shell/meta \ - usr.bin/bmake/tests/shell/path \ - usr.bin/bmake/tests/shell/path_select \ - usr.bin/bmake/tests/shell/replace \ - usr.bin/bmake/tests/shell/select \ - usr.bin/bmake/tests/suffixes \ - usr.bin/bmake/tests/suffixes/basic \ - usr.bin/bmake/tests/suffixes/src_wild1 \ - usr.bin/bmake/tests/suffixes/src_wild2 \ - usr.bin/bmake/tests/syntax \ - usr.bin/bmake/tests/syntax/directive-t0 \ - usr.bin/bmake/tests/syntax/enl \ - usr.bin/bmake/tests/syntax/funny-targets \ - usr.bin/bmake/tests/syntax/semi \ - usr.bin/bmake/tests/sysmk \ - usr.bin/bmake/tests/sysmk/t0 \ - usr.bin/bmake/tests/sysmk/t0/2 \ - usr.bin/bmake/tests/sysmk/t0/2/1 \ - usr.bin/bmake/tests/sysmk/t0/mk \ - usr.bin/bmake/tests/sysmk/t1 \ - usr.bin/bmake/tests/sysmk/t1/2 \ - usr.bin/bmake/tests/sysmk/t1/2/1 \ - usr.bin/bmake/tests/sysmk/t1/mk \ - usr.bin/bmake/tests/sysmk/t2 \ - usr.bin/bmake/tests/sysmk/t2/2 \ - usr.bin/bmake/tests/sysmk/t2/2/1 \ - usr.bin/bmake/tests/sysmk/t2/mk \ - usr.bin/bmake/tests/variables \ - usr.bin/bmake/tests/variables/modifier_M \ - usr.bin/bmake/tests/variables/modifier_t \ - usr.bin/bmake/tests/variables/opt_V \ - usr.bin/bmake/tests/variables/t0 \ - usr.bin/bsdcat/tests \ - usr.bin/calendar/tests \ - usr.bin/cmp/tests \ - usr.bin/col/tests \ - usr.bin/comm/tests \ - usr.bin/cpio/tests \ - usr.bin/cut/tests \ - usr.bin/dirname/tests \ - usr.bin/file2c/tests \ - usr.bin/grep/tests \ - usr.bin/gzip/tests \ - usr.bin/ident/tests \ - usr.bin/join/tests \ - usr.bin/jot/tests \ - usr.bin/lastcomm/tests \ - usr.bin/limits/tests \ - usr.bin/m4/tests \ - usr.bin/mkimg/tests \ - usr.bin/ncal/tests \ - usr.bin/printf/tests \ - usr.bin/pwait/tests \ - usr.bin/sdiff/tests \ - usr.bin/sed/tests \ - usr.bin/sed/tests/regress.multitest.out \ - usr.bin/soelim/tests \ - usr.bin/tar/tests \ - usr.bin/tests \ - usr.bin/timeout/tests \ - usr.bin/tr/tests \ - usr.bin/truncate/tests \ - usr.bin/units/tests \ - usr.bin/uudecode/tests \ - usr.bin/uuencode/tests \ - usr.bin/xargs/tests \ - usr.bin/xinstall/tests \ - usr.bin/xo/tests \ - usr.bin/yacc/tests \ - usr.sbin/chown/tests \ - usr.sbin/etcupdate/tests \ - usr.sbin/extattr/tests \ - usr.sbin/fstyp/tests \ - usr.sbin/makefs/tests \ - usr.sbin/newsyslog/tests \ - usr.sbin/nmtree/tests \ - usr.sbin/pw/tests \ - usr.sbin/rpcbind/tests \ - usr.sbin/sa/tests \ - usr.sbin/tests \ + bin/cat/tests \ + bin/date/tests \ + bin/dd/tests \ + bin/expr/tests \ + bin/ls/tests \ + bin/mv/tests \ + bin/pax/tests \ + bin/pkill/tests \ + bin/pwait/tests \ + bin/sh/tests \ + bin/sh/tests/builtins \ + bin/sh/tests/errors \ + bin/sh/tests/execution \ + bin/sh/tests/expansion \ + bin/sh/tests/parameters \ + bin/sh/tests/parser \ + bin/sh/tests/set-e \ + bin/sleep/tests \ + bin/test/tests \ + bin/tests \ + cddl/lib/tests \ + cddl/sbin/tests \ + cddl/tests \ + cddl/usr.bin/tests \ + cddl/usr.sbin/dtrace/tests \ + cddl/usr.sbin/dtrace/tests/common \ + cddl/usr.sbin/dtrace/tests/common/aggs \ + cddl/usr.sbin/dtrace/tests/common/arithmetic \ + cddl/usr.sbin/dtrace/tests/common/arrays \ + cddl/usr.sbin/dtrace/tests/common/assocs \ + cddl/usr.sbin/dtrace/tests/common/begin \ + cddl/usr.sbin/dtrace/tests/common/bitfields \ + cddl/usr.sbin/dtrace/tests/common/buffering \ + cddl/usr.sbin/dtrace/tests/common/builtinvar \ + cddl/usr.sbin/dtrace/tests/common/cg \ + cddl/usr.sbin/dtrace/tests/common/clauses \ + cddl/usr.sbin/dtrace/tests/common/cpc \ + cddl/usr.sbin/dtrace/tests/common/decls \ + cddl/usr.sbin/dtrace/tests/common/docsExamples \ + cddl/usr.sbin/dtrace/tests/common/drops \ + cddl/usr.sbin/dtrace/tests/common/dtraceUtil \ + cddl/usr.sbin/dtrace/tests/common/end \ + cddl/usr.sbin/dtrace/tests/common/enum \ + cddl/usr.sbin/dtrace/tests/common/error \ + cddl/usr.sbin/dtrace/tests/common/exit \ + cddl/usr.sbin/dtrace/tests/common/fbtprovider \ + cddl/usr.sbin/dtrace/tests/common/funcs \ + cddl/usr.sbin/dtrace/tests/common/grammar \ + cddl/usr.sbin/dtrace/tests/common/include \ + cddl/usr.sbin/dtrace/tests/common/inline \ + cddl/usr.sbin/dtrace/tests/common/io \ + cddl/usr.sbin/dtrace/tests/common/ip \ + cddl/usr.sbin/dtrace/tests/common/java_api \ + cddl/usr.sbin/dtrace/tests/common/json \ + cddl/usr.sbin/dtrace/tests/common/lexer \ + cddl/usr.sbin/dtrace/tests/common/llquantize \ + cddl/usr.sbin/dtrace/tests/common/mdb \ + cddl/usr.sbin/dtrace/tests/common/mib \ + cddl/usr.sbin/dtrace/tests/common/misc \ + cddl/usr.sbin/dtrace/tests/common/multiaggs \ + cddl/usr.sbin/dtrace/tests/common/nfs \ + cddl/usr.sbin/dtrace/tests/common/offsetof \ + cddl/usr.sbin/dtrace/tests/common/operators \ + cddl/usr.sbin/dtrace/tests/common/pid \ + cddl/usr.sbin/dtrace/tests/common/plockstat \ + cddl/usr.sbin/dtrace/tests/common/pointers \ + cddl/usr.sbin/dtrace/tests/common/pragma \ + cddl/usr.sbin/dtrace/tests/common/predicates \ + cddl/usr.sbin/dtrace/tests/common/preprocessor \ + cddl/usr.sbin/dtrace/tests/common/print \ + cddl/usr.sbin/dtrace/tests/common/printa \ + cddl/usr.sbin/dtrace/tests/common/printf \ + cddl/usr.sbin/dtrace/tests/common/privs \ + cddl/usr.sbin/dtrace/tests/common/probes \ + cddl/usr.sbin/dtrace/tests/common/proc \ + cddl/usr.sbin/dtrace/tests/common/profile-n \ + cddl/usr.sbin/dtrace/tests/common/providers \ + cddl/usr.sbin/dtrace/tests/common/raise \ + cddl/usr.sbin/dtrace/tests/common/rates \ + cddl/usr.sbin/dtrace/tests/common/safety \ + cddl/usr.sbin/dtrace/tests/common/scalars \ + cddl/usr.sbin/dtrace/tests/common/sched \ + cddl/usr.sbin/dtrace/tests/common/scripting \ + cddl/usr.sbin/dtrace/tests/common/sdt \ + cddl/usr.sbin/dtrace/tests/common/sizeof \ + cddl/usr.sbin/dtrace/tests/common/speculation \ + cddl/usr.sbin/dtrace/tests/common/stability \ + cddl/usr.sbin/dtrace/tests/common/stack \ + cddl/usr.sbin/dtrace/tests/common/stackdepth \ + cddl/usr.sbin/dtrace/tests/common/stop \ + cddl/usr.sbin/dtrace/tests/common/strlen \ + cddl/usr.sbin/dtrace/tests/common/strtoll \ + cddl/usr.sbin/dtrace/tests/common/struct \ + cddl/usr.sbin/dtrace/tests/common/sugar \ + cddl/usr.sbin/dtrace/tests/common/syscall \ + cddl/usr.sbin/dtrace/tests/common/sysevent \ + cddl/usr.sbin/dtrace/tests/common/tick-n \ + cddl/usr.sbin/dtrace/tests/common/trace \ + cddl/usr.sbin/dtrace/tests/common/tracemem \ + cddl/usr.sbin/dtrace/tests/common/translators \ + cddl/usr.sbin/dtrace/tests/common/typedef \ + cddl/usr.sbin/dtrace/tests/common/types \ + cddl/usr.sbin/dtrace/tests/common/uctf \ + cddl/usr.sbin/dtrace/tests/common/union \ + cddl/usr.sbin/dtrace/tests/common/usdt \ + cddl/usr.sbin/dtrace/tests/common/ustack \ + cddl/usr.sbin/dtrace/tests/common/vars \ + cddl/usr.sbin/dtrace/tests/common/version \ + cddl/usr.sbin/tests \ + cddl/usr.sbin/zfsd/tests \ + gnu/lib/tests \ + gnu/tests \ + gnu/usr.bin/diff/tests \ + gnu/usr.bin/tests \ + lib/atf/libatf-c++/tests \ + lib/atf/libatf-c++/tests/detail \ + lib/atf/libatf-c/tests \ + lib/atf/libatf-c/tests/detail \ + lib/atf/tests \ + lib/atf/tests/test-programs \ + lib/libarchive/tests \ + lib/libc/tests \ + lib/libc/tests/c063 \ + lib/libc/tests/db \ + lib/libc/tests/gen \ + lib/libc/tests/gen/execve \ + lib/libc/tests/gen/posix_spawn \ + lib/libc/tests/hash \ + lib/libc/tests/iconv \ + lib/libc/tests/inet \ + lib/libc/tests/locale \ + lib/libc/tests/net \ + lib/libc/tests/net/getaddrinfo \ + lib/libc/tests/nss \ + lib/libc/tests/regex \ + lib/libc/tests/resolv \ + lib/libc/tests/rpc \ + lib/libc/tests/setjmp \ + lib/libc/tests/ssp \ + lib/libc/tests/stdio \ + lib/libc/tests/stdlib \ + lib/libc/tests/string \ + lib/libc/tests/sys \ + lib/libc/tests/termios \ + lib/libc/tests/time \ + lib/libc/tests/tls \ + lib/libc/tests/ttyio \ + lib/libcam/tests \ + lib/libcasper/services/cap_dns/tests \ + lib/libcasper/services/cap_grp/tests \ + lib/libcasper/services/cap_pwd/tests \ + lib/libcasper/services/cap_sysctl/tests \ + lib/libcrypt/tests \ + lib/libdevdctl/tests \ + lib/libkvm/tests \ + lib/libmp/tests \ + lib/libnv/tests \ + lib/libpathconv/tests \ + lib/libproc/tests \ + lib/librt/tests \ + lib/libsbuf/tests \ + lib/libthr/tests \ + lib/libthr/tests/dlopen \ + lib/libthr/tests/dlopen/dso \ + lib/libthread_db/tests \ + lib/libutil/tests \ + lib/libxo/tests \ + lib/msun/tests \ + lib/tests \ + libexec/atf/atf-check/tests \ + libexec/atf/atf-sh/tests \ + libexec/atf/tests \ + libexec/rtld-elf/tests \ + libexec/tests \ + sbin/devd/tests \ + sbin/dhclient/tests \ + sbin/growfs/tests \ + sbin/ifconfig/tests \ + sbin/mdconfig/tests \ + sbin/tests \ + secure/lib/tests \ + secure/libexec/tests \ + secure/tests \ + secure/usr.bin/tests \ + secure/usr.sbin/tests \ + share/examples/tests \ + share/examples/tests/tests \ + share/examples/tests/tests/atf \ + share/examples/tests/tests/plain \ + share/tests \ + tests \ + tests/etc \ + tests/etc/rc.d \ + tests/sys \ + tests/sys/acl \ + tests/sys/aio \ + tests/sys/fifo \ + tests/sys/file \ + tests/sys/fs \ + tests/sys/fs/tmpfs \ + tests/sys/geom \ + tests/sys/geom/class \ + tests/sys/geom/class/concat \ + tests/sys/geom/class/eli \ + tests/sys/geom/class/gate \ + tests/sys/geom/class/mirror \ + tests/sys/geom/class/nop \ + tests/sys/geom/class/raid3 \ + tests/sys/geom/class/shsec \ + tests/sys/geom/class/stripe \ + tests/sys/geom/class/uzip \ + tests/sys/kern \ + tests/sys/kern/acct \ + tests/sys/kern/execve \ + tests/sys/kern/pipe \ + tests/sys/kqueue \ + tests/sys/kqueue/libkqueue \ + tests/sys/mac \ + tests/sys/mac/bsdextended \ + tests/sys/mac/portacl \ + tests/sys/mqueue \ + tests/sys/netinet \ + tests/sys/opencrypto \ + tests/sys/pjdfstest/tests \ + tests/sys/pjdfstest/tests/chflags \ + tests/sys/pjdfstest/tests/chmod \ + tests/sys/pjdfstest/tests/chown \ + tests/sys/pjdfstest/tests/ftruncate \ + tests/sys/pjdfstest/tests/granular \ + tests/sys/pjdfstest/tests/link \ + tests/sys/pjdfstest/tests/mkdir \ + tests/sys/pjdfstest/tests/mkfifo \ + tests/sys/pjdfstest/tests/mknod \ + tests/sys/pjdfstest/tests/open \ + tests/sys/pjdfstest/tests/rename \ + tests/sys/pjdfstest/tests/rmdir \ + tests/sys/pjdfstest/tests/symlink \ + tests/sys/pjdfstest/tests/truncate \ + tests/sys/pjdfstest/tests/unlink \ + tests/sys/posixshm \ + tests/sys/sys \ + tests/sys/vfs \ + tests/sys/vm \ + usr.bin/apply/tests \ + usr.bin/basename/tests \ + usr.bin/bmake/tests \ + usr.bin/bmake/tests/archives \ + usr.bin/bmake/tests/archives/fmt_44bsd \ + usr.bin/bmake/tests/archives/fmt_44bsd_mod \ + usr.bin/bmake/tests/archives/fmt_oldbsd \ + usr.bin/bmake/tests/basic \ + usr.bin/bmake/tests/basic/t0 \ + usr.bin/bmake/tests/basic/t1 \ + usr.bin/bmake/tests/basic/t2 \ + usr.bin/bmake/tests/basic/t3 \ + usr.bin/bmake/tests/execution \ + usr.bin/bmake/tests/execution/ellipsis \ + usr.bin/bmake/tests/execution/empty \ + usr.bin/bmake/tests/execution/joberr \ + usr.bin/bmake/tests/execution/plus \ + usr.bin/bmake/tests/shell \ + usr.bin/bmake/tests/shell/builtin \ + usr.bin/bmake/tests/shell/meta \ + usr.bin/bmake/tests/shell/path \ + usr.bin/bmake/tests/shell/path_select \ + usr.bin/bmake/tests/shell/replace \ + usr.bin/bmake/tests/shell/select \ + usr.bin/bmake/tests/suffixes \ + usr.bin/bmake/tests/suffixes/basic \ + usr.bin/bmake/tests/suffixes/src_wild1 \ + usr.bin/bmake/tests/suffixes/src_wild2 \ + usr.bin/bmake/tests/syntax \ + usr.bin/bmake/tests/syntax/directive-t0 \ + usr.bin/bmake/tests/syntax/enl \ + usr.bin/bmake/tests/syntax/funny-targets \ + usr.bin/bmake/tests/syntax/semi \ + usr.bin/bmake/tests/sysmk \ + usr.bin/bmake/tests/sysmk/t0 \ + usr.bin/bmake/tests/sysmk/t0/2 \ + usr.bin/bmake/tests/sysmk/t0/2/1 \ + usr.bin/bmake/tests/sysmk/t0/mk \ + usr.bin/bmake/tests/sysmk/t1 \ + usr.bin/bmake/tests/sysmk/t1/2 \ + usr.bin/bmake/tests/sysmk/t1/2/1 \ + usr.bin/bmake/tests/sysmk/t1/mk \ + usr.bin/bmake/tests/sysmk/t2 \ + usr.bin/bmake/tests/sysmk/t2/2 \ + usr.bin/bmake/tests/sysmk/t2/2/1 \ + usr.bin/bmake/tests/sysmk/t2/mk \ + usr.bin/bmake/tests/variables \ + usr.bin/bmake/tests/variables/modifier_M \ + usr.bin/bmake/tests/variables/modifier_t \ + usr.bin/bmake/tests/variables/opt_V \ + usr.bin/bmake/tests/variables/t0 \ + usr.bin/bsdcat/tests \ + usr.bin/calendar/tests \ + usr.bin/cmp/tests \ + usr.bin/col/tests \ + usr.bin/comm/tests \ + usr.bin/cpio/tests \ + usr.bin/cut/tests \ + usr.bin/diff/tests \ + usr.bin/dirname/tests \ + usr.bin/file2c/tests \ + usr.bin/grep/tests \ + usr.bin/gzip/tests \ + usr.bin/ident/tests \ + usr.bin/indent/tests \ + usr.bin/join/tests \ + usr.bin/jot/tests \ + usr.bin/lastcomm/tests \ + usr.bin/limits/tests \ + usr.bin/m4/tests \ + usr.bin/mkimg/tests \ + usr.bin/ncal/tests \ + usr.bin/pr/tests \ + usr.bin/printf/tests \ + usr.bin/sdiff/tests \ + usr.bin/sed/tests \ + usr.bin/sed/tests/regress.multitest.out \ + usr.bin/soelim/tests \ + usr.bin/tail/tests \ + usr.bin/tar/tests \ + usr.bin/tests \ + usr.bin/timeout/tests \ + usr.bin/tr/tests \ + usr.bin/truncate/tests \ + usr.bin/uniq/tests \ + usr.bin/units/tests \ + usr.bin/uudecode/tests \ + usr.bin/uuencode/tests \ + usr.bin/xargs/tests \ + usr.bin/xinstall/tests \ + usr.bin/xo/tests \ + usr.bin/yacc/tests \ + usr.sbin/chown/tests \ + usr.sbin/etcupdate/tests \ + usr.sbin/extattr/tests \ + usr.sbin/fstyp/tests \ + usr.sbin/makefs/tests \ + usr.sbin/newsyslog/tests \ + usr.sbin/nmtree/tests \ + usr.sbin/pw/tests \ + usr.sbin/rpcbind/tests \ + usr.sbin/sa/tests \ + usr.sbin/tests \ # Remove some known to be broken DIRDEPS:= ${DIRDEPS:Ncddl/usr.sbin/dtrace/tests/common/nfs} DIRDEPS:= ${DIRDEPS:Ncddl/usr.sbin/dtrace/tests/common/sysevent} DIRDEPS:= ${DIRDEPS:Ncddl/usr.sbin/dtrace/tests/common/docsExamples} +DIRDEPS:= ${DIRDEPS:Ncddl/usr.sbin/zfsd/tests} DIRDEPS:= ${DIRDEPS:Nlib/libc/tests/net/getaddrinfo} .include From owner-svn-src-all@freebsd.org Fri Apr 7 08:03:52 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B279CD32779; Fri, 7 Apr 2017 08:03:52 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x242.google.com (mail-pg0-x242.google.com [IPv6:2607:f8b0:400e:c05::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7EAC8F90; Fri, 7 Apr 2017 08:03:52 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x242.google.com with SMTP id g2so13821431pge.2; Fri, 07 Apr 2017 01:03:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=yP28LWp72ur7h9nsvpCQeAf6dA0rG+B7xKiNdGLxQfo=; b=TobbnH/XxMM3DDWb+bCnBrRTIAmwH7xxqAuZD7RjQakpqQLHj76YZKzDHbrjD+4HAV 69gJhK1h+qJXmDIIeQhHZG72LpamthuCJ+5E+ZgreWDcwr7ZIsWmbGKsoWQV7d33+Ttq Rs0iGjPnas0pkCxKw9Ti/fZFi1pD2C2/+T/uqN/4I7LNTD+PNFO1QNlUOYoixKAX+Zma YXQ7ab3fNAMAK/er2eisIFmihwH4ign00ZNDwtnG5Ulny/7RN3FHeeVrUsD4YNIcryjm XJYfuIzVXdK41xpMqsU5K7PYcitGUmI3l8UogeWzXm1MSFDQb6uN0eSGFUszt9NPTh0H B9VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=yP28LWp72ur7h9nsvpCQeAf6dA0rG+B7xKiNdGLxQfo=; b=NSU9LNwN3XqEGaVCGQn5GrUTcOlk+9TITItmD4ndMuqaVztcQ/tfe+KTcwZJYry8Sh WBW0BZWHS35oTeKX3F8IpVJPLUOA5E6QNQug+aSQpDJ6ynEIdWtaQvkUdqq3sQb4ofMZ GXl1zA9/SHcaTblZZJceggflzwIowktvnCtSDbAyRaBAdeg9N3z+NfnTbgc3P0l0hJN+ pGKclcDUjh6Tk+Sv1O+33dFx8j/b8eKYRIY2dcyojiyKtAsbY76bdaWoBhLecCDcVaGl Mxb9o52Uq39NLI+4/6J1AuHOoxS+jmyH5FM8r5JU4j+ob1oFivhv64TYQcsLqa/CyzH7 683A== X-Gm-Message-State: AFeK/H1V0chElB8wVgQHZNbdWeLnFZN2OSw/BtNN5lceved585AcuN+fE5Z06NOE6gsirg== X-Received: by 10.98.80.208 with SMTP id g77mr38497440pfj.249.1491552231903; Fri, 07 Apr 2017 01:03:51 -0700 (PDT) Received: from pinklady.local (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id u29sm7803875pfa.123.2017.04.07.01.03.50 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 07 Apr 2017 01:03:51 -0700 (PDT) Subject: Re: svn commit: r315949 - in stable: 10/sys/kern 10/sys/sys 10/tests/sys/kern 11/sys/kern 11/sys/sys 11/tests/sys/kern Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_5DB7A95E-5C58-480A-85D4-EDFA19EC69AD"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201703251333.v2PDXOmS004369@repo.freebsd.org> Date: Fri, 7 Apr 2017 01:03:49 -0700 Cc: src-committers , svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Message-Id: <41CB382E-997A-4A2D-9E85-2BDE7450BB29@gmail.com> References: <201703251333.v2PDXOmS004369@repo.freebsd.org> To: Eric Badger X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 08:03:52 -0000 --Apple-Mail=_5DB7A95E-5C58-480A-85D4-EDFA19EC69AD Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Mar 25, 2017, at 06:33, Eric Badger wrote: >=20 > Author: badger > Date: Sat Mar 25 13:33:23 2017 > New Revision: 315949 > URL: https://svnweb.freebsd.org/changeset/base/315949 >=20 > Log: > MFC r313992, r314075, r314118, r315484: >=20 > r315484: > ptrace_test: eliminate assumption about thread scheduling >=20 > A couple of the ptrace tests make assumptions about which thread = in a > multithreaded process will run after a halt. This makes the tests = less > portable across branches, and susceptible to future breakage. = Instead, > twiddle thread scheduling and priorities to match the tests' > expectation. >=20 > r314118: > Actually fix buildworlds other than i386/amd64/sparc64 after = r313992 >=20 > Disable offending test for platforms without a userspace visible > breakpoint(). >=20 > r314075: > Fix world build for archs where __builtin_debugtrap() does not = work. >=20 > The offending code was introduced in r313992. >=20 > r313992: > Defer ptracestop() signals that cannot be delivered immediately >=20 > When a thread is stopped in ptracestop(), the ptrace(2) user may = request > a signal be delivered upon resumption of the thread. Heretofore, = those signals > were discarded unless ptracestop()'s caller was issignal(). Fix = this by > modifying ptracestop() to queue up signals requested by the = ptrace user that > will be delivered when possible. Take special care when the = signal is SIGKILL > (usually generated from a PT_KILL request); no new stop events = should be > triggered after a PT_KILL. >=20 > Add a number of tests for the new functionality. Several tests = were authored > by jhb. I think this change broke ptrace_test: = https://ci.freebsd.org/job/FreeBSD-stable-11-amd64-test/968/testReport/jun= it/sys.kern/ptrace_test/ptrace__PT_KILL_competing_stop/ . Cheers, -Ngie --Apple-Mail=_5DB7A95E-5C58-480A-85D4-EDFA19EC69AD Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJY50fmAAoJEPWDqSZpMIYVEP4P/R+Z5hEpYPL7o0yZFoHmtPBL tYC0psv9s/dkTE74aHrwZRqfv0aZRlve4Aq1eNnmQViP5eEDg+YF5gjiRQUyM48o hn9xH2d+eWZyYOzpmw/jEgn2rFxdKhFXD3eUPUtx0AQEdX86AVm7zsjsPqzRJmti WhPXSgXdolRCNV+F3xbhIEBvO6IBx0q9NHTnri7GAQx4JxWnSP7P1Z1SMgBCTccI HT+gvHLal/cILjgY8PgZK23/AgggDj9VRbAeckehRyFA0WvQlF08eJbVOtbdDNTX +rSxZgYFWTx+0e/kiBHKjUBFf7QevdI3cFCvOcwsqsUYH75+gEf6FsFfWQyLDUaz 98gY7H5/rl8Xjkp8TZNNiedw///23ERSJ/7Le/DOzK799LGdpGRPsY7LNd4mBINI eOKJVgS0AjBphhidCbRMSeh6r0F3NG4M4+yGnfNljn8VRMByMYaaqSaXdMq3ByxI 8MYMHfeaAs5elfisktA5yS/Gvk6DzY2H22+1+oKb7pOHdZTR5KJlQ/rBaz4yyRMU KhxSnx7FnFDL5gWpiE+HNv5rSdsfCUmvIZetVBhvWijuJ5ZiU6ZrUa5sVfR3fMlo hZ7ylwMgef1AHzjPVCvdn1XFwk1KPG4O6h3iscij4dPsVdqSAzrEXrk17LulvbFt UUfyQ4afYqSJeFkMcPPz =YSRK -----END PGP SIGNATURE----- --Apple-Mail=_5DB7A95E-5C58-480A-85D4-EDFA19EC69AD-- From owner-svn-src-all@freebsd.org Fri Apr 7 09:13:27 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A32D2D33C9C; Fri, 7 Apr 2017 09:13:27 +0000 (UTC) (envelope-from n_hibma@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 804E0934; Fri, 7 Apr 2017 09:13:27 +0000 (UTC) (envelope-from n_hibma@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v379DQbR059736; Fri, 7 Apr 2017 09:13:26 GMT (envelope-from n_hibma@FreeBSD.org) Received: (from n_hibma@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v379DQ0r059735; Fri, 7 Apr 2017 09:13:26 GMT (envelope-from n_hibma@FreeBSD.org) Message-Id: <201704070913.v379DQ0r059735@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: n_hibma set sender to n_hibma@FreeBSD.org using -f From: Nick Hibma Date: Fri, 7 Apr 2017 09:13:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316604 - stable/11/sbin/dhclient X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 09:13:27 -0000 Author: n_hibma Date: Fri Apr 7 09:13:26 2017 New Revision: 316604 URL: https://svnweb.freebsd.org/changeset/base/316604 Log: MFC 316283: Allow superseding the lease renewal and rebind times. Also make sure that the renewal is never more than 1/2 * expiry and rebind never more than 7/4 * renewal (the default values in the spec). This should allow adjusting high values from the server as well as making sure the values from the server make sense. Renewal and rebind times will be adjusted down if the expiry time is set very high in a server, not the other way around. This change just makes sure the values keep making sense. and 316285: Make dhcp-lease-time option supersedable as well. Note: It is not recommended to set this value to above the value that the server provided, unless that value is bogus. Modified: stable/11/sbin/dhclient/dhclient.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sbin/dhclient/dhclient.c ============================================================================== --- stable/11/sbin/dhclient/dhclient.c Fri Apr 7 07:46:21 2017 (r316603) +++ stable/11/sbin/dhclient/dhclient.c Fri Apr 7 09:13:26 2017 (r316604) @@ -752,7 +752,11 @@ dhcpack(struct packet *packet) cancel_timeout(send_request, ip); /* Figure out the lease time. */ - if (ip->client->new->options[DHO_DHCP_LEASE_TIME].data) + if (ip->client->config->default_actions[DHO_DHCP_LEASE_TIME] == + ACTION_SUPERSEDE) + ip->client->new->expiry = getULong( + ip->client->config->defaults[DHO_DHCP_LEASE_TIME].data); + else if (ip->client->new->options[DHO_DHCP_LEASE_TIME].data) ip->client->new->expiry = getULong( ip->client->new->options[DHO_DHCP_LEASE_TIME].data); else @@ -765,21 +769,34 @@ dhcpack(struct packet *packet) if (ip->client->new->expiry < 60) ip->client->new->expiry = 60; - /* Take the server-provided renewal time if there is one; - otherwise figure it out according to the spec. */ - if (ip->client->new->options[DHO_DHCP_RENEWAL_TIME].len) + /* Unless overridden in the config, take the server-provided renewal + * time if there is one; otherwise figure it out according to the spec. + * Also make sure the renewal time does not exceed the expiry time. + */ + if (ip->client->config->default_actions[DHO_DHCP_RENEWAL_TIME] == + ACTION_SUPERSEDE) + ip->client->new->renewal = getULong( + ip->client->config->defaults[DHO_DHCP_RENEWAL_TIME].data); + else if (ip->client->new->options[DHO_DHCP_RENEWAL_TIME].len) ip->client->new->renewal = getULong( ip->client->new->options[DHO_DHCP_RENEWAL_TIME].data); else ip->client->new->renewal = ip->client->new->expiry / 2; + if (ip->client->new->renewal > ip->client->new->expiry / 2) + ip->client->new->renewal = ip->client->new->expiry / 2; /* Same deal with the rebind time. */ - if (ip->client->new->options[DHO_DHCP_REBINDING_TIME].len) + if (ip->client->config->default_actions[DHO_DHCP_REBINDING_TIME] == + ACTION_SUPERSEDE) + ip->client->new->rebind = getULong( + ip->client->config->defaults[DHO_DHCP_REBINDING_TIME].data); + else if (ip->client->new->options[DHO_DHCP_REBINDING_TIME].len) ip->client->new->rebind = getULong( ip->client->new->options[DHO_DHCP_REBINDING_TIME].data); else - ip->client->new->rebind = ip->client->new->renewal + - ip->client->new->renewal / 2 + ip->client->new->renewal / 4; + ip->client->new->rebind = ip->client->new->renewal * 7 / 4; + if (ip->client->new->rebind > ip->client->new->renewal * 7 / 4) + ip->client->new->rebind = ip->client->new->renewal * 7 / 4; ip->client->new->expiry += cur_time; /* Lease lengths can never be negative. */ From owner-svn-src-all@freebsd.org Fri Apr 7 10:45:29 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 740ADD32983; Fri, 7 Apr 2017 10:45:29 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 45AC6AD5; Fri, 7 Apr 2017 10:45:29 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37AjShT095988; Fri, 7 Apr 2017 10:45:28 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37AjSur095987; Fri, 7 Apr 2017 10:45:28 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201704071045.v37AjSur095987@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Fri, 7 Apr 2017 10:45:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316605 - stable/11/sys/netpfil/ipfw X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 10:45:29 -0000 Author: ae Date: Fri Apr 7 10:45:28 2017 New Revision: 316605 URL: https://svnweb.freebsd.org/changeset/base/316605 Log: MFC r316329: Reset the cached state of last lookup in the dynamic states when an external action is completed, but the rule search is continued. External action handler can change the content of @args argument, that is used for dynamic state lookup. Enforce the new lookup to be able install new state, when the search is continued. Obtained from: Yandex LLC Sponsored by: Yandex LLC Modified: stable/11/sys/netpfil/ipfw/ip_fw2.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- stable/11/sys/netpfil/ipfw/ip_fw2.c Fri Apr 7 09:13:26 2017 (r316604) +++ stable/11/sys/netpfil/ipfw/ip_fw2.c Fri Apr 7 10:45:28 2017 (r316605) @@ -2616,8 +2616,17 @@ do { \ * consider this as rule matching and * update counters. */ - if (retval == 0 && done == 0) + if (retval == 0 && done == 0) { IPFW_INC_RULE_COUNTER(f, pktlen); + /* + * Reset the result of the last + * dynamic state lookup. + * External action can change + * @args content, and it may be + * used for new state lookup later. + */ + dyn_dir = MATCH_UNKNOWN; + } break; default: From owner-svn-src-all@freebsd.org Fri Apr 7 12:27:51 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0F9F0D2FBFC; Fri, 7 Apr 2017 12:27:51 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C82CA5F8; Fri, 7 Apr 2017 12:27:50 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37CRnnF037334; Fri, 7 Apr 2017 12:27:49 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37CRnfl037333; Fri, 7 Apr 2017 12:27:49 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201704071227.v37CRnfl037333@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Fri, 7 Apr 2017 12:27:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316606 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 12:27:51 -0000 Author: hselasky Date: Fri Apr 7 12:27:49 2017 New Revision: 316606 URL: https://svnweb.freebsd.org/changeset/base/316606 Log: The __stringify() macro in the LinuxKPI should expand any macros before stringifying. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/include/linux/compiler.h Modified: head/sys/compat/linuxkpi/common/include/linux/compiler.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/compiler.h Fri Apr 7 10:45:28 2017 (r316605) +++ head/sys/compat/linuxkpi/common/include/linux/compiler.h Fri Apr 7 12:27:49 2017 (r316606) @@ -56,7 +56,8 @@ #define __devexit #define __exit #define __rcu -#define __stringify(x) #x +#define ___stringify(...) #__VA_ARGS__ +#define __stringify(...) ___stringify(__VA_ARGS__) #define __attribute_const__ __attribute__((__const__)) #undef __always_inline #define __always_inline inline From owner-svn-src-all@freebsd.org Fri Apr 7 12:41:59 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 276F3D2FED3; Fri, 7 Apr 2017 12:41:59 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E3E7EC93; Fri, 7 Apr 2017 12:41:58 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37CfwZ5043975; Fri, 7 Apr 2017 12:41:58 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37Cfw4J043974; Fri, 7 Apr 2017 12:41:58 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201704071241.v37Cfw4J043974@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 7 Apr 2017 12:41:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316607 - head/crypto/openssl/crypto X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 12:41:59 -0000 Author: andrew Date: Fri Apr 7 12:41:57 2017 New Revision: 316607 URL: https://svnweb.freebsd.org/changeset/base/316607 Log: Fix linking with lld by marking OPENSSL_armcap_P as hidden. Linking with lld fails as it contains a relative address, however the data this address is for may be relocated from the shared object to the main executable. Fix this by adding the hidden attribute. This stops moving this value to the main executable. It seems this is implicit upstream as it uses a version script. Approved by: jkim Sponsored by: DARPA, AFRL Modified: head/crypto/openssl/crypto/armcap.c Modified: head/crypto/openssl/crypto/armcap.c ============================================================================== --- head/crypto/openssl/crypto/armcap.c Fri Apr 7 12:27:49 2017 (r316606) +++ head/crypto/openssl/crypto/armcap.c Fri Apr 7 12:41:57 2017 (r316607) @@ -7,6 +7,7 @@ #include "arm_arch.h" +__attribute__ ((visibility("hidden"))) unsigned int OPENSSL_armcap_P = 0; #if __ARM_MAX_ARCH__<7 From owner-svn-src-all@freebsd.org Fri Apr 7 14:30:53 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4E26FD323AE; Fri, 7 Apr 2017 14:30:53 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15BE82D3; Fri, 7 Apr 2017 14:30:53 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37EUq72089003; Fri, 7 Apr 2017 14:30:52 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37EUqtn089002; Fri, 7 Apr 2017 14:30:52 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201704071430.v37EUqtn089002@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 7 Apr 2017 14:30:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316608 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 14:30:53 -0000 Author: andrew Date: Fri Apr 7 14:30:51 2017 New Revision: 316608 URL: https://svnweb.freebsd.org/changeset/base/316608 Log: Add -fPIC to the standalone build flags on arm64. This is needed as loader.efi is position independend, however we were not building it as such causing a build failure when building with lld. Sponsored by: DARPA, AFRL Modified: head/share/mk/bsd.stand.mk Modified: head/share/mk/bsd.stand.mk ============================================================================== --- head/share/mk/bsd.stand.mk Fri Apr 7 12:41:57 2017 (r316607) +++ head/share/mk/bsd.stand.mk Fri Apr 7 14:30:51 2017 (r316608) @@ -19,7 +19,7 @@ CFLAGS.gcc+= -mpreferred-stack-boundary= CFLAGS+= -fPIC -mno-red-zone .endif .if ${MACHINE_CPUARCH} == "aarch64" -CFLAGS+= -mgeneral-regs-only +CFLAGS+= -fPIC -mgeneral-regs-only .endif .if ${MACHINE_CPUARCH} == "mips" CFLAGS+= -G0 -fno-pic -mno-abicalls From owner-svn-src-all@freebsd.org Fri Apr 7 14:43:30 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 30502D32F0B; Fri, 7 Apr 2017 14:43:30 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0030361F; Fri, 7 Apr 2017 14:43:29 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37EhTcg097016; Fri, 7 Apr 2017 14:43:29 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37EhTQT097015; Fri, 7 Apr 2017 14:43:29 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201704071443.v37EhTQT097015@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Fri, 7 Apr 2017 14:43:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316609 - head/sys/compat/linuxkpi/common/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 14:43:30 -0000 Author: hselasky Date: Fri Apr 7 14:43:28 2017 New Revision: 316609 URL: https://svnweb.freebsd.org/changeset/base/316609 Log: Create the LinuxKPI current task structure on the fly if it doesn't exist when the current macro is used. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/compat/linuxkpi/common/include/linux/sched.h Modified: head/sys/compat/linuxkpi/common/include/linux/sched.h ============================================================================== --- head/sys/compat/linuxkpi/common/include/linux/sched.h Fri Apr 7 14:30:51 2017 (r316608) +++ head/sys/compat/linuxkpi/common/include/linux/sched.h Fri Apr 7 14:43:28 2017 (r316609) @@ -74,7 +74,11 @@ struct task_struct { struct completion exited; }; -#define current ((struct task_struct *)curthread->td_lkpi_task) +#define current ({ \ + struct thread *__td = curthread; \ + linux_set_current(__td); \ + ((struct task_struct *)__td->td_lkpi_task); \ +}) #define task_pid_group_leader(task) (task)->task_thread->td_proc->p_pid #define task_pid(task) ((task)->pid) From owner-svn-src-all@freebsd.org Fri Apr 7 15:15:11 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC24ED32B56; Fri, 7 Apr 2017 15:15:11 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BB919ABA; Fri, 7 Apr 2017 15:15:11 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37FFAF6009324; Fri, 7 Apr 2017 15:15:10 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37FFAFO009323; Fri, 7 Apr 2017 15:15:10 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704071515.v37FFAFO009323@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Fri, 7 Apr 2017 15:15:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316610 - head/usr.bin/netstat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 15:15:12 -0000 Author: asomers Date: Fri Apr 7 15:15:10 2017 New Revision: 316610 URL: https://svnweb.freebsd.org/changeset/base/316610 Log: usr.bin/netstat: strcpy -> strlcpy Reported by: Coverity CID: 1006741, 1006744 MFC after: 3 weeks Sponsored by: Spectra Logic Corp Modified: head/usr.bin/netstat/inet6.c Modified: head/usr.bin/netstat/inet6.c ============================================================================== --- head/usr.bin/netstat/inet6.c Fri Apr 7 14:43:28 2017 (r316609) +++ head/usr.bin/netstat/inet6.c Fri Apr 7 15:15:10 2017 (r316610) @@ -618,7 +618,7 @@ ip6_ifstats(char *ifname) return; } - strcpy(ifr.ifr_name, ifname); + strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); if (ioctl(s, SIOCGIFSTAT_IN6, (char *)&ifr) < 0) { if (errno != EPFNOSUPPORT) xo_warn("Warning: ioctl(SIOCGIFSTAT_IN6)"); @@ -1079,7 +1079,7 @@ icmp6_ifstats(char *ifname) return; } - strcpy(ifr.ifr_name, ifname); + strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); if (ioctl(s, SIOCGIFSTAT_ICMP6, (char *)&ifr) < 0) { if (errno != EPFNOSUPPORT) xo_warn("Warning: ioctl(SIOCGIFSTAT_ICMP6)"); From owner-svn-src-all@freebsd.org Fri Apr 7 15:39:43 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 13AE8D324A2; Fri, 7 Apr 2017 15:39:43 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D7F8FE19; Fri, 7 Apr 2017 15:39:42 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37Fdf8t017738; Fri, 7 Apr 2017 15:39:41 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37Fdf63017737; Fri, 7 Apr 2017 15:39:41 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201704071539.v37Fdf63017737@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Fri, 7 Apr 2017 15:39:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316611 - head/sbin/mount X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 15:39:43 -0000 Author: asomers Date: Fri Apr 7 15:39:41 2017 New Revision: 316611 URL: https://svnweb.freebsd.org/changeset/base/316611 Log: sbin/mount: strcpy -> strlcpy Reported by: Coverity CID: 1011173, 1011174 MFC after: 3 weeks Sponsored by: Spectra Logic Corp Modified: head/sbin/mount/mount.c Modified: head/sbin/mount/mount.c ============================================================================== --- head/sbin/mount/mount.c Fri Apr 7 15:15:10 2017 (r316610) +++ head/sbin/mount/mount.c Fri Apr 7 15:39:41 2017 (r316611) @@ -597,7 +597,7 @@ mountfs(const char *vfstype, const char append_arg(&mnt_argv, execname); mangle(optbuf, &mnt_argv); if (mountprog != NULL) - strcpy(execname, mountprog); + strlcpy(execname, mountprog, sizeof(execname)); append_arg(&mnt_argv, strdup(spec)); append_arg(&mnt_argv, strdup(name)); @@ -902,8 +902,9 @@ putfsent(struct statfs *ent) if (strncmp(ent->f_mntfromname, "", 7) == 0 || strncmp(ent->f_mntfromname, "", 7) == 0) { - strcpy(ent->f_mntfromname, (strnstr(ent->f_mntfromname, ":", 8) - +1)); + strlcpy(ent->f_mntfromname, + (strnstr(ent->f_mntfromname, ":", 8) +1), + sizeof(ent->f_mntfromname)); } l = strlen(ent->f_mntfromname); From owner-svn-src-all@freebsd.org Fri Apr 7 15:41:50 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 797EDD32627; Fri, 7 Apr 2017 15:41:50 +0000 (UTC) (envelope-from benno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 49D6F2BF; Fri, 7 Apr 2017 15:41:50 +0000 (UTC) (envelope-from benno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37Ffn9D019261; Fri, 7 Apr 2017 15:41:49 GMT (envelope-from benno@FreeBSD.org) Received: (from benno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37FfnSp019260; Fri, 7 Apr 2017 15:41:49 GMT (envelope-from benno@FreeBSD.org) Message-Id: <201704071541.v37FfnSp019260@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: benno set sender to benno@FreeBSD.org using -f From: Benno Rice Date: Fri, 7 Apr 2017 15:41:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316612 - head/sys/boot/i386/libi386 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 15:41:50 -0000 Author: benno Date: Fri Apr 7 15:41:49 2017 New Revision: 316612 URL: https://svnweb.freebsd.org/changeset/base/316612 Log: In r298230 the value of HEAP_MIN was changed from 3MB to 64MB. Correct a comment that was still referencing the 3MB value. Sponsored by: Dell EMC Isilon Discussed with: jhb Modified: head/sys/boot/i386/libi386/biosmem.c Modified: head/sys/boot/i386/libi386/biosmem.c ============================================================================== --- head/sys/boot/i386/libi386/biosmem.c Fri Apr 7 15:39:41 2017 (r316611) +++ head/sys/boot/i386/libi386/biosmem.c Fri Apr 7 15:41:49 2017 (r316612) @@ -200,7 +200,7 @@ bios_getmem(void) /* * If we have extended memory and did not find a suitable heap - * region in the SMAP, use the last 3MB of 'extended' memory as a + * region in the SMAP, use the last HEAP_MIN of 'extended' memory as a * high heap candidate. */ if (bios_extmem >= HEAP_MIN && high_heap_size < HEAP_MIN) { From owner-svn-src-all@freebsd.org Fri Apr 7 16:08:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C823CD325DE; Fri, 7 Apr 2017 16:08:06 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8A83C1F2; Fri, 7 Apr 2017 16:08:06 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37G85pQ031369; Fri, 7 Apr 2017 16:08:05 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37G84Ep031357; Fri, 7 Apr 2017 16:08:04 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201704071608.v37G84Ep031357@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Fri, 7 Apr 2017 16:08:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316613 - in stable/11/lib/libc: gen iconv net regex rpc stdio stdlib X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 16:08:06 -0000 Author: pfg Date: Fri Apr 7 16:08:04 2017 New Revision: 316613 URL: https://svnweb.freebsd.org/changeset/base/316613 Log: MFC r315162: libc: provide some bounds-checking through reallocarray(3). reallocarray(3) is a non portable extension that originated in OpenBSD. Given that it is already in FreeBSD's libc it is useful for the cases where reallocation involves a multiplication. Modified: stable/11/lib/libc/gen/glob.c stable/11/lib/libc/gen/scandir.c stable/11/lib/libc/gen/setmode.c stable/11/lib/libc/gen/wordexp.c stable/11/lib/libc/iconv/citrus_esdb.c stable/11/lib/libc/net/nsdispatch.c stable/11/lib/libc/regex/regcomp.c stable/11/lib/libc/rpc/getnetconfig.c stable/11/lib/libc/stdio/open_wmemstream.c stable/11/lib/libc/stdio/printf-pos.c stable/11/lib/libc/stdio/ungetc.c stable/11/lib/libc/stdlib/getenv.c Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libc/gen/glob.c ============================================================================== --- stable/11/lib/libc/gen/glob.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/gen/glob.c Fri Apr 7 16:08:04 2017 (r316613) @@ -850,7 +850,7 @@ globextend(const Char *path, glob_t *pgl const char *origpat) { char **pathv; - size_t i, newsize, len; + size_t i, newn, len; char *copy; const Char *p; @@ -860,9 +860,9 @@ globextend(const Char *path, glob_t *pgl return (GLOB_NOSPACE); } - newsize = sizeof(*pathv) * (2 + pglob->gl_pathc + pglob->gl_offs); - /* realloc(NULL, newsize) is equivalent to malloc(newsize). */ - pathv = realloc((void *)pglob->gl_pathv, newsize); + newn = 2 + pglob->gl_pathc + pglob->gl_offs; + /* reallocarray(NULL, newn, size) is equivalent to malloc(newn*size). */ + pathv = reallocarray(pglob->gl_pathv, newn, sizeof(*pathv)); if (pathv == NULL) return (GLOB_NOSPACE); Modified: stable/11/lib/libc/gen/scandir.c ============================================================================== --- stable/11/lib/libc/gen/scandir.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/gen/scandir.c Fri Apr 7 16:08:04 2017 (r316613) @@ -116,8 +116,8 @@ scandir(const char *dirname, struct dire if (numitems >= arraysz) { struct dirent **names2; - names2 = (struct dirent **)realloc((char *)names, - (arraysz * 2) * sizeof(struct dirent *)); + names2 = reallocarray(names, arraysz, + 2 * sizeof(struct dirent *)); if (names2 == NULL) { free(p); goto fail; Modified: stable/11/lib/libc/gen/setmode.c ============================================================================== --- stable/11/lib/libc/gen/setmode.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/gen/setmode.c Fri Apr 7 16:08:04 2017 (r316613) @@ -155,7 +155,7 @@ common: if (set->cmd2 & CMD2_CLR) { if (set >= endset) { \ BITCMD *newset; \ setlen += SET_LEN_INCR; \ - newset = realloc(saveset, sizeof(BITCMD) * setlen); \ + newset = reallocarray(saveset, setlen, sizeof(BITCMD)); \ if (newset == NULL) \ goto out; \ set = newset + (set - saveset); \ Modified: stable/11/lib/libc/gen/wordexp.c ============================================================================== --- stable/11/lib/libc/gen/wordexp.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/gen/wordexp.c Fri Apr 7 16:08:04 2017 (r316613) @@ -234,8 +234,8 @@ we_askshell(const char *words, wordexp_t vofs += we->we_offs; we->we_wordc += nwords; we->we_nbytes += nbytes; - if ((nwv = realloc(we->we_wordv, (we->we_wordc + 1 + - (flags & WRDE_DOOFFS ? we->we_offs : 0)) * + if ((nwv = reallocarray(we->we_wordv, (we->we_wordc + 1 + + (flags & WRDE_DOOFFS ? we->we_offs : 0)), sizeof(char *))) == NULL) { error = WRDE_NOSPACE; goto cleanup; Modified: stable/11/lib/libc/iconv/citrus_esdb.c ============================================================================== --- stable/11/lib/libc/iconv/citrus_esdb.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/iconv/citrus_esdb.c Fri Apr 7 16:08:04 2017 (r316613) @@ -347,7 +347,7 @@ _citrus_esdb_get_list(char ***rlist, siz ret = 0; /* XXX: why reallocing the list space posteriorly? shouldn't be done earlier? */ - q = realloc(list, num * sizeof(char *)); + q = reallocarray(list, num, sizeof(char *)); if (!q) { ret = ENOMEM; goto quit3; Modified: stable/11/lib/libc/net/nsdispatch.c ============================================================================== --- stable/11/lib/libc/net/nsdispatch.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/net/nsdispatch.c Fri Apr 7 16:08:04 2017 (r316613) @@ -213,7 +213,7 @@ vector_append(const void *elem, void *ve void *p; if ((*count % ELEMSPERCHUNK) == 0) { - p = realloc(vec, (*count + ELEMSPERCHUNK) * esize); + p = reallocarray(vec, *count + ELEMSPERCHUNK, esize); if (p == NULL) { nss_log_simple(LOG_ERR, "memory allocation failure"); return (vec); Modified: stable/11/lib/libc/regex/regcomp.c ============================================================================== --- stable/11/lib/libc/regex/regcomp.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/regex/regcomp.c Fri Apr 7 16:08:04 2017 (r316613) @@ -1143,7 +1143,7 @@ allocset(struct parse *p) { cset *cs, *ncs; - ncs = realloc(p->g->sets, (p->g->ncsets + 1) * sizeof(*ncs)); + ncs = reallocarray(p->g->sets, p->g->ncsets + 1, sizeof(*ncs)); if (ncs == NULL) { SETERROR(REG_ESPACE); return (NULL); @@ -1206,7 +1206,7 @@ CHadd(struct parse *p, cset *cs, wint_t if (ch < NC) cs->bmp[ch >> 3] |= 1 << (ch & 7); else { - newwides = realloc(cs->wides, (cs->nwides + 1) * + newwides = reallocarray(cs->wides, cs->nwides + 1, sizeof(*cs->wides)); if (newwides == NULL) { SETERROR(REG_ESPACE); @@ -1235,7 +1235,7 @@ CHaddrange(struct parse *p, cset *cs, wi CHadd(p, cs, min); if (min >= max) return; - newranges = realloc(cs->ranges, (cs->nranges + 1) * + newranges = reallocarray(cs->ranges, cs->nranges + 1, sizeof(*cs->ranges)); if (newranges == NULL) { SETERROR(REG_ESPACE); @@ -1259,7 +1259,7 @@ CHaddtype(struct parse *p, cset *cs, wct for (i = 0; i < NC; i++) if (iswctype(i, wct)) CHadd(p, cs, i); - newtypes = realloc(cs->types, (cs->ntypes + 1) * + newtypes = reallocarray(cs->types, cs->ntypes + 1, sizeof(*cs->types)); if (newtypes == NULL) { SETERROR(REG_ESPACE); @@ -1382,7 +1382,7 @@ enlarge(struct parse *p, sopno size) if (p->ssize >= size) return 1; - sp = (sop *)realloc(p->strip, size*sizeof(sop)); + sp = reallocarray(p->strip, size, sizeof(sop)); if (sp == NULL) { SETERROR(REG_ESPACE); return 0; @@ -1400,7 +1400,7 @@ static void stripsnug(struct parse *p, struct re_guts *g) { g->nstates = p->slen; - g->strip = (sop *)realloc((char *)p->strip, p->slen * sizeof(sop)); + g->strip = reallocarray((char *)p->strip, p->slen, sizeof(sop)); if (g->strip == NULL) { SETERROR(REG_ESPACE); g->strip = p->strip; Modified: stable/11/lib/libc/rpc/getnetconfig.c ============================================================================== --- stable/11/lib/libc/rpc/getnetconfig.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/rpc/getnetconfig.c Fri Apr 7 16:08:04 2017 (r316613) @@ -630,8 +630,8 @@ parse_ncp(char *stringp, struct netconfi ncp->nc_lookups = NULL; ncp->nc_nlookups = 0; while ((cp = tokenp) != NULL) { - if ((nc_lookups = realloc(ncp->nc_lookups, - (ncp->nc_nlookups + 1) * sizeof *ncp->nc_lookups)) == NULL) { + if ((nc_lookups = reallocarray(ncp->nc_lookups, + ncp->nc_nlookups + 1, sizeof(*ncp->nc_lookups))) == NULL) { free(ncp->nc_lookups); ncp->nc_lookups = NULL; return (-1); Modified: stable/11/lib/libc/stdio/open_wmemstream.c ============================================================================== --- stable/11/lib/libc/stdio/open_wmemstream.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/stdio/open_wmemstream.c Fri Apr 7 16:08:04 2017 (r316613) @@ -63,7 +63,7 @@ wmemstream_grow(struct wmemstream *ms, f else newsize = newoff; if (newsize > ms->len) { - buf = realloc(*ms->bufp, (newsize + 1) * sizeof(wchar_t)); + buf = reallocarray(*ms->bufp, newsize + 1, sizeof(wchar_t)); if (buf != NULL) { #ifdef DEBUG fprintf(stderr, "WMS: %p growing from %zd to %zd\n", Modified: stable/11/lib/libc/stdio/printf-pos.c ============================================================================== --- stable/11/lib/libc/stdio/printf-pos.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/stdio/printf-pos.c Fri Apr 7 16:08:04 2017 (r316613) @@ -633,7 +633,7 @@ __grow_type_table(struct typetable *type return (-1); bcopy(oldtable, newtable, oldsize * sizeof(enum typeid)); } else { - newtable = realloc(oldtable, newsize * sizeof(enum typeid)); + newtable = reallocarray(oldtable, newsize, sizeof(enum typeid)); if (newtable == NULL) return (-1); } Modified: stable/11/lib/libc/stdio/ungetc.c ============================================================================== --- stable/11/lib/libc/stdio/ungetc.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/stdio/ungetc.c Fri Apr 7 16:08:04 2017 (r316613) @@ -73,14 +73,14 @@ __submore(FILE *fp) return (0); } i = fp->_ub._size; - p = realloc(fp->_ub._base, (size_t)(i << 1)); + p = reallocarray(fp->_ub._base, i, 2); if (p == NULL) return (EOF); /* no overlap (hence can use memcpy) because we doubled the size */ (void)memcpy((void *)(p + i), (void *)p, (size_t)i); fp->_p = p + i; fp->_ub._base = p; - fp->_ub._size = i << 1; + fp->_ub._size = i * 2; return (0); } Modified: stable/11/lib/libc/stdlib/getenv.c ============================================================================== --- stable/11/lib/libc/stdlib/getenv.c Fri Apr 7 15:41:49 2017 (r316612) +++ stable/11/lib/libc/stdlib/getenv.c Fri Apr 7 16:08:04 2017 (r316613) @@ -272,8 +272,8 @@ __rebuild_environ(int newEnvironSize) /* Resize environ. */ if (newEnvironSize > environSize) { tmpEnvironSize = newEnvironSize * 2; - tmpEnviron = realloc(intEnviron, sizeof (*intEnviron) * - (tmpEnvironSize + 1)); + tmpEnviron = reallocarray(intEnviron, tmpEnvironSize + 1, + sizeof(*intEnviron)); if (tmpEnviron == NULL) return (-1); environSize = tmpEnvironSize; @@ -306,8 +306,8 @@ __enlarge_env(void) envVarsTotal++; if (envVarsTotal > envVarsSize) { newEnvVarsSize = envVarsTotal * 2; - tmpEnvVars = realloc(envVars, sizeof (*envVars) * - newEnvVarsSize); + tmpEnvVars = reallocarray(envVars, newEnvVarsSize, + sizeof(*envVars)); if (tmpEnvVars == NULL) { envVarsTotal--; return (false); From owner-svn-src-all@freebsd.org Fri Apr 7 16:08:56 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 42B8BD32654; Fri, 7 Apr 2017 16:08:56 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0F5AD362; Fri, 7 Apr 2017 16:08:55 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37G8twg031451; Fri, 7 Apr 2017 16:08:55 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37G8txd031450; Fri, 7 Apr 2017 16:08:55 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201704071608.v37G8txd031450@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Fri, 7 Apr 2017 16:08:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316614 - stable/11/release/tools X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 16:08:56 -0000 Author: gjb Date: Fri Apr 7 16:08:54 2017 New Revision: 316614 URL: https://svnweb.freebsd.org/changeset/base/316614 Log: MFC r314561: Increase the EC2 image size. The recent snapshot builds of EC2 images for 12-CURRENT (and now 11-STABLE) failed due to a full filesystem on the md(4) device during creation. Sponsored by: The FreeBSD Foundation Modified: stable/11/release/tools/ec2.conf Directory Properties: stable/11/ (props changed) Modified: stable/11/release/tools/ec2.conf ============================================================================== --- stable/11/release/tools/ec2.conf Fri Apr 7 16:08:04 2017 (r316613) +++ stable/11/release/tools/ec2.conf Fri Apr 7 16:08:54 2017 (r316614) @@ -11,12 +11,12 @@ export VM_EXTRA_PACKAGES="ec2-scripts fi # Set to a list of third-party software to enable in rc.conf(5). export VM_RC_LIST="ec2_configinit ec2_fetchkey ec2_ephemeralswap ec2_loghostkey firstboot_freebsd_update firstboot_pkgs" -# Build with a 1.5 GB UFS partition; the growfs rc.d script will expand +# Build with a 2 GB UFS partition; the growfs rc.d script will expand # the partition to fill the root disk after the EC2 instance is launched. # Note that if this is set to G, we will end up with an GB disk # image since VMSIZE is the size of the UFS partition, not the disk which # it resides within. -export VMSIZE=1536M +export VMSIZE=2048M # No swap space; the ec2_ephemeralswap rc.d script will allocate swap # space on EC2 ephemeral disks. (If they exist -- the T2 low-cost instances From owner-svn-src-all@freebsd.org Fri Apr 7 16:14:27 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 234A2D3290F; Fri, 7 Apr 2017 16:14:27 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D58FDB89; Fri, 7 Apr 2017 16:14:26 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37GEPxL036051; Fri, 7 Apr 2017 16:14:25 GMT (envelope-from sevan@FreeBSD.org) Received: (from sevan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37GEPdU036044; Fri, 7 Apr 2017 16:14:25 GMT (envelope-from sevan@FreeBSD.org) Message-Id: <201704071614.v37GEPdU036044@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sevan set sender to sevan@FreeBSD.org using -f From: Sevan Janiyan Date: Fri, 7 Apr 2017 16:14:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316615 - in head: share/man/man4 sys/conf sys/modules/fdc sys/sparc64/conf usr.sbin/fdcontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 16:14:27 -0000 Author: sevan (doc committer) Date: Fri Apr 7 16:14:25 2017 New Revision: 316615 URL: https://svnweb.freebsd.org/changeset/base/316615 Log: Remove the last vestiges of FDC_DEBUG & FD_DEBUG FDC_DEBUG is not referenced in any c or header files but traces of it still remain in other files. PR: 105608 Reported by: Eugene Grosbein Reviewed by: imp Approved by: bcr (mentor) MFC after: 7 days Differential Revision: https://reviews.freebsd.org/D10303 Modified: head/share/man/man4/fdc.4 head/sys/conf/NOTES head/sys/conf/options head/sys/modules/fdc/Makefile head/sys/sparc64/conf/NOTES head/usr.sbin/fdcontrol/fdcontrol.8 Modified: head/share/man/man4/fdc.4 ============================================================================== --- head/share/man/man4/fdc.4 Fri Apr 7 16:08:54 2017 (r316614) +++ head/share/man/man4/fdc.4 Fri Apr 7 16:14:25 2017 (r316615) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 11, 2006 +.Dd April 7, 2017 .Dt FDC 4 .Os .Sh NAME @@ -281,14 +281,6 @@ Third argument is a pointer to .Vt int . Drive options will always be cleared when closing the descriptor. -.It Dv FD_DEBUG -Set the driver debug level. -Third argument is a pointer to -.Vt int , -level 0 turns off all debugging. -Only applicable if the driver has -been configured with -.Cd "options FDC_DEBUG" . .It Dv FD_CLRERR Clear the internal low-level error counter. Normally, controller-level Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Fri Apr 7 16:08:54 2017 (r316614) +++ head/sys/conf/NOTES Fri Apr 7 16:14:25 2017 (r316615) @@ -1812,11 +1812,6 @@ hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" hint.fdc.0.drq="2" # -# FDC_DEBUG enables floppy debugging. Since the debug output is huge, you -# gotta turn it actually on by setting the variable fd_debug with DDB, -# however. -options FDC_DEBUG -# # Activate this line if you happen to have an Insight floppy tape. # Probing them proved to be dangerous for people with floppy disks only, # so it's "hidden" behind a flag: Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Fri Apr 7 16:08:54 2017 (r316614) +++ head/sys/conf/options Fri Apr 7 16:14:25 2017 (r316615) @@ -691,7 +691,6 @@ INIT_PATH ROOTDEVNAME -FDC_DEBUG opt_fdc.h PCFCLOCK_VERBOSE opt_pcfclock.h PCFCLOCK_MAX_RETRIES opt_pcfclock.h Modified: head/sys/modules/fdc/Makefile ============================================================================== --- head/sys/modules/fdc/Makefile Fri Apr 7 16:08:54 2017 (r316614) +++ head/sys/modules/fdc/Makefile Fri Apr 7 16:14:25 2017 (r316615) @@ -11,10 +11,4 @@ SRCS+= opt_acpi.h acpi_if.h fdc_acpi.c SRCS+= opt_fdc.h bus_if.h card_if.h device_if.h \ isa_if.h pccarddevs.h -FDC_DEBUG?= 0 # 0/1 - -.if ${FDC_DEBUG} > 0 - echo "#define FDC_DEBUG 1" >> ${.TARGET} -.endif - .include Modified: head/sys/sparc64/conf/NOTES ============================================================================== --- head/sys/sparc64/conf/NOTES Fri Apr 7 16:08:54 2017 (r316614) +++ head/sys/sparc64/conf/NOTES Fri Apr 7 16:14:25 2017 (r316615) @@ -128,7 +128,6 @@ nodevice ex ##################################################################### # Options we don't want to deal with -nooption FDC_DEBUG nooption COMPAT_FREEBSD4 nooption SC_RENDER_DEBUG nooption SC_DEBUG_LEVEL Modified: head/usr.sbin/fdcontrol/fdcontrol.8 ============================================================================== --- head/usr.sbin/fdcontrol/fdcontrol.8 Fri Apr 7 16:08:54 2017 (r316614) +++ head/usr.sbin/fdcontrol/fdcontrol.8 Fri Apr 7 16:14:25 2017 (r316615) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 25, 2001 +.Dd April 7, 2017 .Dt FDCONTROL 8 .Os .Sh NAME @@ -94,30 +94,6 @@ Again, together with some more text will be returned, including the total capacity of the density settings in kilobytes. .Ss Debug Control -If the -.Xr fdc 4 -driver was configured with the -.Dv FDC_DEBUG -option, by default, device debugging information is still disabled -since it could produce huge amounts of kernel messages. -It needs to -be turned on using -.Nm -together with -.Dq Fl d Li 1 , -usually immediately before starting an operation on the respective -device the debug information is wanted for, and later turned off again -using -.Dq Fl d Li 0 . -Note that debugging levels are a driver's global option that will -affect any drives and controllers using the -.Xr fdc 4 -driver, regardless which -.Ar device -was specified on the -.Nm -command line. -.Ss Density Control The .Xr fdc 4 control utilities support two different options how to specify device From owner-svn-src-all@freebsd.org Fri Apr 7 16:15:51 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C0BCED32A4C; Fri, 7 Apr 2017 16:15:51 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 83FF0DE8; Fri, 7 Apr 2017 16:15:51 +0000 (UTC) (envelope-from sbruno@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37GFoGA036348; Fri, 7 Apr 2017 16:15:50 GMT (envelope-from sbruno@FreeBSD.org) Received: (from sbruno@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37GFoQ0036343; Fri, 7 Apr 2017 16:15:50 GMT (envelope-from sbruno@FreeBSD.org) Message-Id: <201704071615.v37GFoQ0036343@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sbruno set sender to sbruno@FreeBSD.org using -f From: Sean Bruno Date: Fri, 7 Apr 2017 16:15:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316616 - head/sys/dev/bnxt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 16:15:51 -0000 Author: sbruno Date: Fri Apr 7 16:15:50 2017 New Revision: 316616 URL: https://svnweb.freebsd.org/changeset/base/316616 Log: bnxt(4): add support for WOL Magic. Submitted by: venkatkumar.duvvuru@broadcom.com Differential Revision: https://reviews.freebsd.org/D10124 Modified: head/sys/dev/bnxt/bnxt.h head/sys/dev/bnxt/bnxt_hwrm.c head/sys/dev/bnxt/bnxt_hwrm.h head/sys/dev/bnxt/if_bnxt.c Modified: head/sys/dev/bnxt/bnxt.h ============================================================================== --- head/sys/dev/bnxt/bnxt.h Fri Apr 7 16:14:25 2017 (r316615) +++ head/sys/dev/bnxt/bnxt.h Fri Apr 7 16:15:50 2017 (r316616) @@ -100,6 +100,9 @@ __FBSDID("$FreeBSD$"); #define BNXT_RSS_HASH_TYPE_IPV6 5 #define BNXT_GET_RSS_PROFILE_ID(rss_hash_type) ((rss_hash_type >> 1) & 0x1F) +#define BNXT_NO_MORE_WOL_FILTERS 0xFFFF +#define bnxt_wol_supported(softc) ((softc)->flags & BNXT_FLAG_WOL_CAP) + /* Completion related defines */ #define CMP_VALID(cmp, v_bit) \ ((!!(((struct cmpl_base *)(cmp))->info3_v & htole32(CMPL_BASE_V))) == !!(v_bit) ) @@ -512,7 +515,8 @@ struct bnxt_softc { struct bnxt_bar_info hwrm_bar; struct bnxt_bar_info doorbell_bar; struct bnxt_link_info link_info; -#define BNXT_FLAG_NPAR 1 +#define BNXT_FLAG_NPAR 0x1 +#define BNXT_FLAG_WOL_CAP 0x2 uint32_t flags; uint32_t total_msix; @@ -562,6 +566,8 @@ struct bnxt_softc { struct bnxt_full_tpa_start *tpa_start; struct bnxt_ver_info *ver_info; struct bnxt_nvram_info *nvm_info; + bool wol; + uint8_t wol_filter_id; }; struct bnxt_filter_info { Modified: head/sys/dev/bnxt/bnxt_hwrm.c ============================================================================== --- head/sys/dev/bnxt/bnxt_hwrm.c Fri Apr 7 16:14:25 2017 (r316615) +++ head/sys/dev/bnxt/bnxt_hwrm.c Fri Apr 7 16:15:50 2017 (r316616) @@ -398,6 +398,10 @@ bnxt_hwrm_func_qcaps(struct bnxt_softc * if (rc) goto fail; + if (resp->flags & + htole32(HWRM_FUNC_QCAPS_OUTPUT_FLAGS_WOL_MAGICPKT_SUPPORTED)) + softc->flags |= BNXT_FLAG_WOL_CAP; + func->fw_fid = le16toh(resp->fid); memcpy(func->mac_addr, resp->mac_address, ETHER_ADDR_LEN); func->max_rsscos_ctxs = le16toh(resp->max_rsscos_ctx); @@ -1483,3 +1487,63 @@ exit: BNXT_HWRM_UNLOCK(softc); return rc; } + +uint16_t +bnxt_hwrm_get_wol_fltrs(struct bnxt_softc *softc, uint16_t handle) +{ + struct hwrm_wol_filter_qcfg_input req = {0}; + struct hwrm_wol_filter_qcfg_output *resp = + (void *)softc->hwrm_cmd_resp.idi_vaddr; + uint16_t next_handle = 0; + int rc; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_WOL_FILTER_QCFG); + req.port_id = htole16(softc->pf.port_id); + req.handle = htole16(handle); + rc = hwrm_send_message(softc, &req, sizeof(req)); + if (!rc) { + next_handle = le16toh(resp->next_handle); + if (next_handle != 0) { + if (resp->wol_type == + HWRM_WOL_FILTER_ALLOC_INPUT_WOL_TYPE_MAGICPKT) { + softc->wol = 1; + softc->wol_filter_id = resp->wol_filter_id; + } + } + } + return next_handle; +} + +int +bnxt_hwrm_alloc_wol_fltr(struct bnxt_softc *softc) +{ + struct hwrm_wol_filter_alloc_input req = {0}; + struct hwrm_wol_filter_alloc_output *resp = + (void *)softc->hwrm_cmd_resp.idi_vaddr; + int rc; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_WOL_FILTER_ALLOC); + req.port_id = htole16(softc->pf.port_id); + req.wol_type = HWRM_WOL_FILTER_ALLOC_INPUT_WOL_TYPE_MAGICPKT; + req.enables = + htole32(HWRM_WOL_FILTER_ALLOC_INPUT_ENABLES_MAC_ADDRESS); + memcpy(req.mac_address, softc->func.mac_addr, ETHER_ADDR_LEN); + rc = hwrm_send_message(softc, &req, sizeof(req)); + if (!rc) + softc->wol_filter_id = resp->wol_filter_id; + + return rc; +} + +int +bnxt_hwrm_free_wol_fltr(struct bnxt_softc *softc) +{ + struct hwrm_wol_filter_free_input req = {0}; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_WOL_FILTER_FREE); + req.port_id = htole16(softc->pf.port_id); + req.enables = + htole32(HWRM_WOL_FILTER_FREE_INPUT_ENABLES_WOL_FILTER_ID); + req.wol_filter_id = softc->wol_filter_id; + return hwrm_send_message(softc, &req, sizeof(req)); +} Modified: head/sys/dev/bnxt/bnxt_hwrm.h ============================================================================== --- head/sys/dev/bnxt/bnxt_hwrm.h Fri Apr 7 16:14:25 2017 (r316615) +++ head/sys/dev/bnxt/bnxt_hwrm.h Fri Apr 7 16:15:50 2017 (r316616) @@ -98,5 +98,8 @@ int bnxt_hwrm_fw_set_time(struct bnxt_so uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, uint16_t millisecond, uint16_t zone); int bnxt_hwrm_port_phy_qcfg(struct bnxt_softc *softc); +uint16_t bnxt_hwrm_get_wol_fltrs(struct bnxt_softc *softc, uint16_t handle); +int bnxt_hwrm_alloc_wol_fltr(struct bnxt_softc *softc); +int bnxt_hwrm_free_wol_fltr(struct bnxt_softc *softc); #endif Modified: head/sys/dev/bnxt/if_bnxt.c ============================================================================== --- head/sys/dev/bnxt/if_bnxt.c Fri Apr 7 16:14:25 2017 (r316615) +++ head/sys/dev/bnxt/if_bnxt.c Fri Apr 7 16:15:50 2017 (r316616) @@ -189,6 +189,10 @@ static void bnxt_vlan_unregister(if_ctx_ /* ioctl */ static int bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data); +static int bnxt_shutdown(if_ctx_t ctx); +static int bnxt_suspend(if_ctx_t ctx); +static int bnxt_resume(if_ctx_t ctx); + /* Internal support functions */ static int bnxt_probe_phy(struct bnxt_softc *softc); static void bnxt_add_media_types(struct bnxt_softc *softc); @@ -206,6 +210,8 @@ static void bnxt_handle_async_event(stru struct cmpl_base *cmpl); static uint8_t get_phy_type(struct bnxt_softc *softc); static uint64_t bnxt_get_baudrate(struct bnxt_link_info *link); +static void bnxt_get_wol_settings(struct bnxt_softc *softc); +static int bnxt_wol_config(if_ctx_t ctx); /* * Device Interface Declaration @@ -264,6 +270,10 @@ static device_method_t bnxt_iflib_method DEVMETHOD(ifdi_priv_ioctl, bnxt_priv_ioctl), + DEVMETHOD(ifdi_suspend, bnxt_suspend), + DEVMETHOD(ifdi_shutdown, bnxt_shutdown), + DEVMETHOD(ifdi_resume, bnxt_resume), + DEVMETHOD_END }; @@ -678,6 +688,7 @@ bnxt_attach_pre(if_ctx_t ctx) rc = bnxt_hwrm_func_qcaps(softc); if (rc) goto failed; + iflib_set_mac(ctx, softc->func.mac_addr); scctx->isc_txrx = &bnxt_txrx; @@ -694,6 +705,9 @@ bnxt_attach_pre(if_ctx_t ctx) /* These likely get lost... */ IFCAP_VLAN_HWCSUM | IFCAP_JUMBO_MTU; + if (bnxt_wol_supported(softc)) + scctx->isc_capenable |= IFCAP_WOL_MAGIC; + /* Get the queue config */ rc = bnxt_hwrm_queue_qportcfg(softc); if (rc) { @@ -701,6 +715,8 @@ bnxt_attach_pre(if_ctx_t ctx) goto failed; } + bnxt_get_wol_settings(softc); + /* Now perform a function reset */ rc = bnxt_hwrm_func_reset(softc); bnxt_clear_ids(softc); @@ -839,6 +855,7 @@ bnxt_detach(if_ctx_t ctx) struct bnxt_vlan_tag *tmp; int i; + bnxt_wol_config(ctx); bnxt_do_disable_intr(&softc->def_cp_ring); bnxt_free_sysctl_ctx(softc); bnxt_hwrm_func_reset(softc); @@ -1550,6 +1567,58 @@ bnxt_vlan_unregister(if_ctx_t ctx, uint1 } static int +bnxt_wol_config(if_ctx_t ctx) +{ + struct bnxt_softc *softc = iflib_get_softc(ctx); + if_t ifp = iflib_get_ifp(ctx); + + if (!softc) + return -EBUSY; + + if (!bnxt_wol_supported(softc)) + return -ENOTSUP; + + if (if_getcapabilities(ifp) & IFCAP_WOL_MAGIC) { + if (!softc->wol) { + if (bnxt_hwrm_alloc_wol_fltr(softc)) + return -EBUSY; + softc->wol = 1; + } + } else { + if (softc->wol) { + if (bnxt_hwrm_free_wol_fltr(softc)) + return -EBUSY; + softc->wol = 0; + } + } + + return 0; +} + +static int +bnxt_shutdown(if_ctx_t ctx) +{ + bnxt_wol_config(ctx); + return 0; +} + +static int +bnxt_suspend(if_ctx_t ctx) +{ + bnxt_wol_config(ctx); + return 0; +} + +static int +bnxt_resume(if_ctx_t ctx) +{ + struct bnxt_softc *softc = iflib_get_softc(ctx); + + bnxt_get_wol_settings(softc); + return 0; +} + +static int bnxt_priv_ioctl(if_ctx_t ctx, u_long command, caddr_t data) { struct bnxt_softc *softc = iflib_get_softc(ctx); @@ -2422,3 +2491,16 @@ bnxt_get_baudrate(struct bnxt_link_info } return IF_Gbps(100); } + +static void +bnxt_get_wol_settings(struct bnxt_softc *softc) +{ + uint16_t wol_handle = 0; + + if (!bnxt_wol_supported(softc)) + return; + + do { + wol_handle = bnxt_hwrm_get_wol_fltrs(softc, wol_handle); + } while (wol_handle && wol_handle != BNXT_NO_MORE_WOL_FILTERS); +} From owner-svn-src-all@freebsd.org Fri Apr 7 16:55:14 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B3229D33400; Fri, 7 Apr 2017 16:55:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 74A50896; Fri, 7 Apr 2017 16:55:14 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37GtDc6053543; Fri, 7 Apr 2017 16:55:13 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37GtDhN053541; Fri, 7 Apr 2017 16:55:13 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201704071655.v37GtDhN053541@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Fri, 7 Apr 2017 16:55:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316617 - head/release/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 16:55:14 -0000 Author: gjb Date: Fri Apr 7 16:55:13 2017 New Revision: 316617 URL: https://svnweb.freebsd.org/changeset/base/316617 Log: - Increase the image size for RPI2 and IMX6-based boards from 1G to 1.5G. - Use the 'conv=sync' dd(1) option to fix writing the u-boot.imx file to the md(4) device for IMX6-based boards. MFC after: 3 days Sponsored by: The FreeBSD Foundation Modified: head/release/arm/CUBOX-HUMMINGBOARD.conf head/release/arm/RPI2.conf head/release/arm/WANDBOARD.conf Modified: head/release/arm/CUBOX-HUMMINGBOARD.conf ============================================================================== --- head/release/arm/CUBOX-HUMMINGBOARD.conf Fri Apr 7 16:15:50 2017 (r316616) +++ head/release/arm/CUBOX-HUMMINGBOARD.conf Fri Apr 7 16:55:13 2017 (r316617) @@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6" EMBEDDEDPORTS="sysutils/u-boot-cubox-hummingboard" KERNEL="IMX6" WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x12000000" -IMAGE_SIZE="1G" +IMAGE_SIZE="1536M" PART_SCHEME="MBR" FAT_SIZE="50m -b 16384" FAT_TYPE="16" @@ -23,7 +23,7 @@ arm_install_uboot() { FATMOUNT="${DESTDIR%${KERNEL}}/fat" UFSMOUNT="${DESTDIR%${KERNEL}}/ufs" chroot ${CHROOTDIR} dd if=${UBOOT_DIR}/${UBOOT_FILES} \ - of=/dev/${mddev} bs=512 seek=2 + of=/dev/${mddev} bs=512 seek=2 conv=sync chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} Modified: head/release/arm/RPI2.conf ============================================================================== --- head/release/arm/RPI2.conf Fri Apr 7 16:15:50 2017 (r316616) +++ head/release/arm/RPI2.conf Fri Apr 7 16:55:13 2017 (r316617) @@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6" EMBEDDEDPORTS="sysutils/u-boot-rpi2" KERNEL="GENERIC" WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x2000000" -IMAGE_SIZE="1G" +IMAGE_SIZE="1536M" PART_SCHEME="MBR" FAT_SIZE="50m" FAT_TYPE="16" Modified: head/release/arm/WANDBOARD.conf ============================================================================== --- head/release/arm/WANDBOARD.conf Fri Apr 7 16:15:50 2017 (r316616) +++ head/release/arm/WANDBOARD.conf Fri Apr 7 16:55:13 2017 (r316617) @@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6" EMBEDDEDPORTS="sysutils/u-boot-wandboard" KERNEL="IMX6" WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x12000000" -IMAGE_SIZE="1G" +IMAGE_SIZE="1536M" PART_SCHEME="MBR" FAT_SIZE="50m -b 16384" FAT_TYPE="16" @@ -23,7 +23,7 @@ arm_install_uboot() { FATMOUNT="${DESTDIR%${KERNEL}}/fat" UFSMOUNT="${DESTDIR%${KERNEL}}/ufs" chroot ${CHROOTDIR} dd if=${UBOOT_DIR}/${UBOOT_FILES} \ - of=/dev/${mddev} bs=512 seek=2 + of=/dev/${mddev} bs=512 seek=2 conv=sync chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} From owner-svn-src-all@freebsd.org Fri Apr 7 17:17:38 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D6E12D339AD; Fri, 7 Apr 2017 17:17:38 +0000 (UTC) (envelope-from delphij@gmail.com) Received: from mail-oi0-x234.google.com (mail-oi0-x234.google.com [IPv6:2607:f8b0:4003:c06::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 991AC351; Fri, 7 Apr 2017 17:17:38 +0000 (UTC) (envelope-from delphij@gmail.com) Received: by mail-oi0-x234.google.com with SMTP id g204so19871011oib.1; Fri, 07 Apr 2017 10:17:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=CzbYk+q/gliRu1url5BCffOv4WCYgNgXM8PiUjiiGQc=; b=SYmmv54CeJnySZ+a7puDmuStsGVf41gsqFIvJrObUWzylU81+huNJ+x08RcbUcABeE Lm27uqREWEeGgbShmJjG51/NH6IgoDF5dtf2FPkvSfGSGHX1hZnPvlJ+g9yic3RvtVfv VXa62+oaC8hzndqgnKg/D8YrfVXo9nArteUytXSnRuD0nU8J+tsiYqx4bSQhdbXOo3uX +MfCIMlXe+CQGApLVwhdbLbRPxg7uPg1ZFKOZnd5lZ+bs63O1jEaWJyjO5jeke5PKeSq MfPO13oZA5K8r4/bxYu4DX9+W86E6wTDkOpl1mTWNMwjsCU3XNjivu+H/EjeWMN6WjDH piZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=CzbYk+q/gliRu1url5BCffOv4WCYgNgXM8PiUjiiGQc=; b=lzMHtqv0CsQt1raNn2d/iqhPy/taj2XIiJjVkeqr2mDFp1cOuqp9F8idyB2nr8LagU SCGuT9pCc0JlKd6nW9+coH0Hd709krlGXHv96fKmRLeInVGeKj5ROixdUu5a7rI9arBQ uy+24q6AONbbAWfqbM437EPUR2YA2UYBs0UvZxsN3UQVWUTvEZSvw5A4pbzzMKhwCNde aDDyuBMBXhyh0IUEjSiXdy+SF7wqTBFJU/nXIgVmt4LSkgEopnuYoHf0JKIr+p+Di4SE yA7022ouwmVgRadoD59sVbXkQ9G0V1JmCr0ora+WVXpg3cv8u2dby5VSQLd6xvRSX5qE MtdA== X-Gm-Message-State: AFeK/H1yUseuVBU8pxf5L8ZgqAuam/oL9WBVhjUI0nfz5mmacL7DWRbtIqhcrv4ugUP3HUZYbmn2Ly9Chg2cHQ== X-Received: by 10.157.1.134 with SMTP id e6mr20524347ote.168.1491585457585; Fri, 07 Apr 2017 10:17:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.63.179 with HTTP; Fri, 7 Apr 2017 10:17:37 -0700 (PDT) In-Reply-To: References: <201704062221.v36MLnr7092648@repo.freebsd.org> From: Xin LI Date: Fri, 7 Apr 2017 10:17:37 -0700 Message-ID: Subject: Re: svn commit: r316591 - head/sys/dev/tpm To: "Ngie Cooper (yaneurabeya)" Cc: "David E. O'Brien" , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 17:17:38 -0000 No, David's change was correct. The code context is something like: #ifdef __FreeBSD__ [...] #else /* OpenBSD */ ... #ifdef __FreeBSD__ /* -- this portion got removed -- */ ... #else ... #endif [...] #endif On Thu, Apr 6, 2017 at 10:19 PM, Ngie Cooper (yaneurabeya) wrote: > >> On Apr 6, 2017, at 15:21, David E. O'Brien wrote: >> >> Author: obrien >> Date: Thu Apr 6 22:21:49 2017 >> New Revision: 316591 >> URL: https://svnweb.freebsd.org/changeset/base/316591 >> >> Log: >> Remove dead code. >> The #ifdef __FreeBSD__ section within the OpenBSD tpm_attach() implementation >> can never be active. >> >> Modified: >> head/sys/dev/tpm/tpm.c >> >> Modified: head/sys/dev/tpm/tpm.c >> ============================================================================== >> --- head/sys/dev/tpm/tpm.c Thu Apr 6 20:12:39 2017 (r316590) >> +++ head/sys/dev/tpm/tpm.c Thu Apr 6 22:21:49 2017 (r316591) >> @@ -422,12 +422,8 @@ tpm_attach(device_t parent, device_t sel >> return; >> } >> >> -#ifdef __FreeBSD__ >> - sc->sc_suspend = 0; >> -#else >> sc->sc_suspend = PWR_RESUME; >> sc->sc_powerhook = powerhook_establish(tpm_powerhook, sc); >> -#endif >> } >> #endif > > Hi David, > I think you meant to delete the other piece of code (__FreeBSD__ is always defined). > Also, why delete lines that might make it harder to backport changes from OpenBSD? > Thanks, > -Ngie From owner-svn-src-all@freebsd.org Fri Apr 7 17:59:48 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5A898D325C1; Fri, 7 Apr 2017 17:59:48 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x229.google.com (mail-pg0-x229.google.com [IPv6:2607:f8b0:400e:c05::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 25F227EB; Fri, 7 Apr 2017 17:59:48 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x229.google.com with SMTP id x125so73261501pgb.0; Fri, 07 Apr 2017 10:59:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=sMnqkOMIhH/QsYn8n3PmQhFB8nSV+DDKJs7BsxontKM=; b=e9t0l0yWcThmGpyvpa/OEgg87Qez5KB6vS6lYK8r/qeZB3a70FbH82kHlY7s4KvV2F w8Wcpj6xz41kEeLpbqO4+9k7TZBJr7VVEzOGbT7xqunWJyo1Jg5Kw8EfkD88zSSQn4o7 Eg4LzPAc+FsiyoxDno+7ezeDWns8rUuwrZPbH3L31bpvpMjfF5dogpCqjblHo9TgAA2x ranynLQvo8X8TMLi35w3DWD4odDjHjFWnCzilzPjVbrVcfEXiEI3+GG0w8zCWGIumLCy f8dPwdngzLbDeSOD996Tuz8HDuiOtVzD5+geUy6a1GZ70X/m3njFn6Lm42jZamzWxoP7 QoGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=sMnqkOMIhH/QsYn8n3PmQhFB8nSV+DDKJs7BsxontKM=; b=lGAnz1nlHJl1gmqQsM358QGHSCWrtStgKgKAuZrQNYKVlOJKROAbAcjhB8JHTAYjKF keFcm6QSXiwZEo3ChE4kUhcFMo8HwSmZrruy44eAwkjFh1Qu+dW+Vnj/RMitUTMe6wTG y6LijLzc0y5zJnoK1hiPHSHk5arZrfEzlRJkKKnpfASdnsZq4mRnirlf/PQzS6KzGKKV ASLU8zK20hjps7jmvniRM1EJx7JGPF1AvMOMMDtrrJteoommEtije0jWWmQEztXsV7Ee fdVn2daovLXF1U7qg0tSi0W7mtcMW2FOIzDisJnCf9gl/8v3NhSTXyJmBfnNUeoyS6Bj sZqA== X-Gm-Message-State: AFeK/H1/exnZrVZ8JtH3BA3kSCKBqXwlUjdoTond/8jH7cmldXYHwWNqnQVMezsaA16Piw== X-Received: by 10.84.174.197 with SMTP id r63mr16417943plb.67.1491587987143; Fri, 07 Apr 2017 10:59:47 -0700 (PDT) Received: from [192.168.20.13] (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id y7sm10843711pfk.93.2017.04.07.10.59.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 07 Apr 2017 10:59:45 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r316591 - head/sys/dev/tpm From: Ngie Cooper X-Mailer: iPhone Mail (14E277) In-Reply-To: Date: Fri, 7 Apr 2017 10:59:45 -0700 Cc: "David E. O'Brien" , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <39DE48A2-9526-497E-B178-CE78B2EF4020@gmail.com> References: <201704062221.v36MLnr7092648@repo.freebsd.org> To: Xin LI X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 17:59:48 -0000 > On Apr 7, 2017, at 10:17, Xin LI wrote: >=20 > No, David's change was correct. >=20 > The code context is something like: >=20 > #ifdef __FreeBSD__ > [...] > #else /* OpenBSD */ > ... > #ifdef __FreeBSD__ /* -- this portion got removed -- */ > ... > #else > ... > #endif > [...] > #endif So, in short David enabled suspend/resume support in tpm(4)... (it looks lik= e it was disabled before, just based on the variable names/calls)? Why wasn'= t that clearly stated in the commit? Thanks, -Ngie= From owner-svn-src-all@freebsd.org Fri Apr 7 18:02:08 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 84E67D3285E; Fri, 7 Apr 2017 18:02:08 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg0-x235.google.com (mail-pg0-x235.google.com [IPv6:2607:f8b0:400e:c05::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 535C3C93; Fri, 7 Apr 2017 18:02:08 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg0-x235.google.com with SMTP id g2so72164204pge.3; Fri, 07 Apr 2017 11:02:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=g+JbnfKvDTATy35054sGbKY/3gAhfdflGffLceBO+1o=; b=Ig0PFawfePZbhjzeirj85ZIJgd1YqNbOnPEPVQOunGiTuam5nj5bnLsXb8ggevureF LPShWdoivL1C0BKvjLVNxEUT3dwqZbcsjrxx47flmMUit8VdqqQe3fN6gsSuVLtUCLde 4apjXVr5Vs/sGkt+Si4emzdBe5E+49IuK9fiZ7NErqjme8YnPOY6AlBZdtXxn171sWQU gYtDi5YCQVCBhYbqymH3rSJ5Y5ALqYw8FPRyB+n8SfGZPV1p1m1RECXqv95skqonLg7S 2990B2rpirFYGrrtuBHQAI3491mcaCf/r3oBXEUb1b7cGC6seSsjChgJctImuQqxHV7Z KSAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=g+JbnfKvDTATy35054sGbKY/3gAhfdflGffLceBO+1o=; b=gZqofwgCFwxLAyCkUv8wlgFdez8pOub2FMae8SfTeTcLm/ihQOTjxjz2MFUoIMUG7o cGRaecFtey2z5aT803PsfiaWJQdzw7F/qHGQkJeTkoOtYGsp9M5VNQ01yBNzMmKye2Q1 UlJmXrCrPRf22yub8HyRmKhCLqsBMyzNOdWxtZUN8iXj6glfWCt0KUGor14i0i57Yssi Ao6DUNF4Su0tZj9v9NSeKgTdpfBDyGGrIEosAGZ32qkGsX1kkOS+PeVwxlUX8QobIq05 oNGZOnfIpnjv6liYD+1n6Y8bVi6A/NhaOBMUtg75C5geQHSlzJEM9N42wVjDHUQgHCM2 yFIw== X-Gm-Message-State: AFeK/H0xDQHmypA5JcBVRQqrKZWJEuQUkEbj8s1Zdhf+guRaprlyW7OZ7WRtG0bjer4ozA== X-Received: by 10.84.239.8 with SMTP id w8mr51115790plk.73.1491588127959; Fri, 07 Apr 2017 11:02:07 -0700 (PDT) Received: from [192.168.20.13] (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id w129sm10815525pfb.130.2017.04.07.11.02.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 07 Apr 2017 11:02:07 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r316591 - head/sys/dev/tpm From: Ngie Cooper X-Mailer: iPhone Mail (14E277) In-Reply-To: <39DE48A2-9526-497E-B178-CE78B2EF4020@gmail.com> Date: Fri, 7 Apr 2017 11:02:06 -0700 Cc: "David E. O'Brien" , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <96F125AA-29BF-4CB5-9713-A398F650CBF2@gmail.com> References: <201704062221.v36MLnr7092648@repo.freebsd.org> <39DE48A2-9526-497E-B178-CE78B2EF4020@gmail.com> To: Xin LI X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 18:02:08 -0000 > On Apr 7, 2017, at 10:59, Ngie Cooper wrote: >=20 >=20 >> On Apr 7, 2017, at 10:17, Xin LI wrote: >>=20 >> No, David's change was correct. >>=20 >> The code context is something like: >>=20 >> #ifdef __FreeBSD__ >> [...] >> #else /* OpenBSD */ >> ... >> #ifdef __FreeBSD__ /* -- this portion got removed -- */ >> ... >> #else >> ... >> #endif >> [...] >> #endif >=20 > So, in short David enabled suspend/resume support in tpm(4)... (it looks l= ike it was disabled before, just based on the variable names/calls)? Why was= n't that clearly stated in the commit? Bah. I missed the nested FreeBSD in OpenBSD comment.. nevermind the part abo= ut enabling power support. It's too early for me to be thinking critically I= guess..= From owner-svn-src-all@freebsd.org Fri Apr 7 18:31:33 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5B822D32E72; Fri, 7 Apr 2017 18:31:33 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1B52FA8E; Fri, 7 Apr 2017 18:31:33 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37IVW7q090503; Fri, 7 Apr 2017 18:31:32 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37IVWGP090486; Fri, 7 Apr 2017 18:31:32 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201704071831.v37IVWGP090486@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Fri, 7 Apr 2017 18:31:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316619 - head/sbin/mount_nfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 18:31:33 -0000 Author: brooks Date: Fri Apr 7 18:31:31 2017 New Revision: 316619 URL: https://svnweb.freebsd.org/changeset/base/316619 Log: Remove support for long gone oldnfs. The code was calling nmount with an fstype of everything in the program name after the last '_'. This was there to support mount_nfs being linked to mount_oldnfs. Support for the link was removed in 2015 with r281691. Reviewed by: rmacklem Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D10301 Modified: head/sbin/mount_nfs/mount_nfs.c Modified: head/sbin/mount_nfs/mount_nfs.c ============================================================================== --- head/sbin/mount_nfs/mount_nfs.c Fri Apr 7 17:00:36 2017 (r316618) +++ head/sbin/mount_nfs/mount_nfs.c Fri Apr 7 18:31:31 2017 (r316619) @@ -153,19 +153,13 @@ main(int argc, char *argv[]) char *mntname, *p, *spec, *tmp; char mntpath[MAXPATHLEN], errmsg[255]; char hostname[MAXHOSTNAMELEN + 1], gssn[MAXHOSTNAMELEN + 50]; - const char *fstype, *gssname; + const char *gssname; iov = NULL; iovlen = 0; memset(errmsg, 0, sizeof(errmsg)); gssname = NULL; - fstype = strrchr(argv[0], '_'); - if (fstype == NULL) - errx(EX_USAGE, "argv[0] must end in _fstype"); - - ++fstype; - while ((c = getopt(argc, argv, "23a:bcdD:g:I:iLlNo:PR:r:sTt:w:x:U")) != -1) switch (c) { @@ -272,7 +266,6 @@ main(int argc, char *argv[]) } else if (strcmp(opt, "nfsv4") == 0) { pass_flag_to_nmount=0; mountmode = V4; - fstype = "nfs"; nfsproto = IPPROTO_TCP; if (portspec == NULL) portspec = "2049"; @@ -355,7 +348,6 @@ main(int argc, char *argv[]) break; case 4: mountmode = V4; - fstype = "nfs"; nfsproto = IPPROTO_TCP; if (portspec == NULL) portspec = "2049"; @@ -436,17 +428,11 @@ main(int argc, char *argv[]) /* The default is to keep retrying forever. */ retrycnt = 0; - /* - * If the fstye is "oldnfs", run the old NFS client unless the - * "nfsv4" option was specified. - */ - if (strcmp(fstype, "nfs") == 0) { - if (modfind("nfscl") < 0) { - /* Not present in kernel, try loading it */ - if (kldload("nfscl") < 0 || - modfind("nfscl") < 0) - errx(1, "nfscl is not available"); - } + if (modfind("nfscl") < 0) { + /* Not present in kernel, try loading it */ + if (kldload("nfscl") < 0 || + modfind("nfscl") < 0) + errx(1, "nfscl is not available"); } /* @@ -470,8 +456,7 @@ main(int argc, char *argv[]) if (checkpath(mntname, mntpath) != 0) err(1, "%s", mntpath); - build_iovec(&iov, &iovlen, "fstype", - __DECONST(void *, fstype), (size_t)-1); + build_iovec_argf(&iov, &iovlen, "fstype", "nfs"); build_iovec(&iov, &iovlen, "fspath", mntpath, (size_t)-1); build_iovec(&iov, &iovlen, "errmsg", errmsg, sizeof(errmsg)); From owner-svn-src-all@freebsd.org Fri Apr 7 19:53:16 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC6A1D330B7; Fri, 7 Apr 2017 19:53:16 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C4268A98; Fri, 7 Apr 2017 19:53:16 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37JrFv9029934; Fri, 7 Apr 2017 19:53:15 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37JrF4H029926; Fri, 7 Apr 2017 19:53:15 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201704071953.v37JrF4H029926@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 7 Apr 2017 19:53:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316620 - in head/lib/csu: aarch64 amd64 arm i386 mips powerpc powerpc64 riscv X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 19:53:17 -0000 Author: jhb Date: Fri Apr 7 19:53:14 2017 New Revision: 316620 URL: https://svnweb.freebsd.org/changeset/base/316620 Log: Rework r234502 to include a modified CFLAGS along with ACFLAGS. On most architectures crt objects are compiled in a multiple-step process so that sed can be run on the generated assembly. As the final step, the C compiler generates an object file from the modified assembly output. Currently this last step uses $CC with only $ACFLAGS. However, for other uses in the tree, $ACFLAGS is meant to include assembly-specific compiler flags that are in addition to $CFLAGS (see default .S.o rules bsd.suffixes.mk). In particular, external toolchains may require additional flags to select a non-default target which will be present in CFLAGS but not ACFLAGS. To support this while still mitigating the issue with CFLAGS described in r234502, include a modified CFLAGS that excludes "-g" when assembling the modified assembly files. Note that normally an assembler ($AS) is used to assemble .s flags to object files (see bsd.suffixes.mk). However, llvm-based toolchains do not currently have a stand-alone assembler. Reviewed by: imp Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D10085 Modified: head/lib/csu/aarch64/Makefile head/lib/csu/amd64/Makefile head/lib/csu/arm/Makefile head/lib/csu/i386/Makefile head/lib/csu/mips/Makefile head/lib/csu/powerpc/Makefile head/lib/csu/powerpc64/Makefile head/lib/csu/riscv/Makefile Modified: head/lib/csu/aarch64/Makefile ============================================================================== --- head/lib/csu/aarch64/Makefile Fri Apr 7 18:31:31 2017 (r316619) +++ head/lib/csu/aarch64/Makefile Fri Apr 7 19:53:14 2017 (r316620) @@ -27,20 +27,20 @@ crt1.s: crt1.c sed ${SED_FIX_NOTE} ${.TARGET} crt1.o: crt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} crt1.s gcrt1.s: crt1.c ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} gcrt1.o: gcrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s Scrt1.s: crt1.c ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} Scrt1.o: Scrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s .include Modified: head/lib/csu/amd64/Makefile ============================================================================== --- head/lib/csu/amd64/Makefile Fri Apr 7 18:31:31 2017 (r316619) +++ head/lib/csu/amd64/Makefile Fri Apr 7 19:53:14 2017 (r316620) @@ -28,20 +28,20 @@ crt1.s: crt1.c sed ${SED_FIX_NOTE} ${.TARGET} crt1.o: crt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} crt1.s gcrt1.s: crt1.c ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} gcrt1.o: gcrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s Scrt1.s: crt1.c ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} Scrt1.o: Scrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s .include Modified: head/lib/csu/arm/Makefile ============================================================================== --- head/lib/csu/arm/Makefile Fri Apr 7 18:31:31 2017 (r316619) +++ head/lib/csu/arm/Makefile Fri Apr 7 19:53:14 2017 (r316620) @@ -28,20 +28,20 @@ crt1.s: crt1.c sed ${SED_FIX_NOTE} ${.TARGET} crt1.o: crt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} crt1.s gcrt1.s: crt1.c ${CC} ${CFLAGS} ${STATIC_CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} gcrt1.o: gcrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s Scrt1.s: crt1.c ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} Scrt1.o: Scrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s .include Modified: head/lib/csu/i386/Makefile ============================================================================== --- head/lib/csu/i386/Makefile Fri Apr 7 18:31:31 2017 (r316619) +++ head/lib/csu/i386/Makefile Fri Apr 7 19:53:14 2017 (r316620) @@ -27,7 +27,7 @@ gcrt1_c.s: crt1_c.c sed ${SED_FIX_NOTE} ${.TARGET} gcrt1_c.o: gcrt1_c.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1_c.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} gcrt1_c.s gcrt1.o: gcrt1_c.o crt1_s.o ${LD} ${_LDFLAGS} -o gcrt1.o -r crt1_s.o gcrt1_c.o @@ -37,7 +37,7 @@ crt1_c.s: crt1_c.c sed ${SED_FIX_NOTE} ${.TARGET} crt1_c.o: crt1_c.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1_c.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} crt1_c.s crt1.o: crt1_c.o crt1_s.o ${LD} ${_LDFLAGS} -o crt1.o -r crt1_s.o crt1_c.o @@ -48,7 +48,7 @@ Scrt1_c.s: crt1_c.c sed ${SED_FIX_NOTE} ${.TARGET} Scrt1_c.o: Scrt1_c.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1_c.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1_c.s Scrt1.o: Scrt1_c.o crt1_s.o ${LD} ${_LDFLAGS} -o Scrt1.o -r crt1_s.o Scrt1_c.o Modified: head/lib/csu/mips/Makefile ============================================================================== --- head/lib/csu/mips/Makefile Fri Apr 7 18:31:31 2017 (r316619) +++ head/lib/csu/mips/Makefile Fri Apr 7 19:53:14 2017 (r316620) @@ -27,20 +27,20 @@ crt1.s: crt1.c sed ${SED_FIX_NOTE} ${.TARGET} crt1.o: crt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} crt1.s gcrt1.s: crt1.c ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} gcrt1.o: gcrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s Scrt1.s: crt1.c ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} Scrt1.o: Scrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s .include Modified: head/lib/csu/powerpc/Makefile ============================================================================== --- head/lib/csu/powerpc/Makefile Fri Apr 7 18:31:31 2017 (r316619) +++ head/lib/csu/powerpc/Makefile Fri Apr 7 19:53:14 2017 (r316620) @@ -27,20 +27,20 @@ crt1.s: crt1.c sed ${SED_FIX_NOTE} ${.TARGET} crt1.o: crt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} crt1.s gcrt1.s: crt1.c ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} gcrt1.o: gcrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s Scrt1.s: crt1.c ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} Scrt1.o: Scrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s .include Modified: head/lib/csu/powerpc64/Makefile ============================================================================== --- head/lib/csu/powerpc64/Makefile Fri Apr 7 18:31:31 2017 (r316619) +++ head/lib/csu/powerpc64/Makefile Fri Apr 7 19:53:14 2017 (r316620) @@ -28,20 +28,20 @@ crt1.s: crt1.c sed ${SED_FIX_NOTE} ${.TARGET} crt1.o: crt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} crt1.s gcrt1.s: crt1.c ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} gcrt1.o: gcrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s Scrt1.s: crt1.c ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} Scrt1.o: Scrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s .include Modified: head/lib/csu/riscv/Makefile ============================================================================== --- head/lib/csu/riscv/Makefile Fri Apr 7 18:31:31 2017 (r316619) +++ head/lib/csu/riscv/Makefile Fri Apr 7 19:53:14 2017 (r316620) @@ -27,20 +27,20 @@ crt1.s: crt1.c sed ${SED_FIX_NOTE} ${.TARGET} crt1.o: crt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} crt1.s gcrt1.s: crt1.c ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} gcrt1.o: gcrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} gcrt1.s Scrt1.s: crt1.c ${CC} ${CFLAGS} -fPIC -DPIC -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} Scrt1.o: Scrt1.s - ${CC} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s + ${CC} ${CFLAGS:N-g} ${ACFLAGS} -c -o ${.TARGET} Scrt1.s .include From owner-svn-src-all@freebsd.org Fri Apr 7 19:56:13 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8B37AD3312D; Fri, 7 Apr 2017 19:56:13 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 55E16C27; Fri, 7 Apr 2017 19:56:13 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37JuCvM030104; Fri, 7 Apr 2017 19:56:12 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37JuCDX030103; Fri, 7 Apr 2017 19:56:12 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201704071956.v37JuCDX030103@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 7 Apr 2017 19:56:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316621 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 19:56:13 -0000 Author: jhb Date: Fri Apr 7 19:56:12 2017 New Revision: 316621 URL: https://svnweb.freebsd.org/changeset/base/316621 Log: Don't set the MIPS endianness flags in both ACFLAGS and CFLAGS. This should no longer be necessary after r316620 as all places that use ACFLAGS should already be using CFLAGS. Reviewed by: imp Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D10085 Modified: head/share/mk/bsd.cpu.mk Modified: head/share/mk/bsd.cpu.mk ============================================================================== --- head/share/mk/bsd.cpu.mk Fri Apr 7 19:53:14 2017 (r316620) +++ head/share/mk/bsd.cpu.mk Fri Apr 7 19:56:12 2017 (r316621) @@ -306,12 +306,10 @@ MACHINE_CPU = v9 ultrasparc ultrasparc3 .if ${MACHINE_CPUARCH} == "mips" CFLAGS += -G0 . if ${MACHINE_ARCH:Mmips*el*} != "" -ACFLAGS += -EL AFLAGS += -EL CFLAGS += -EL LDFLAGS += -EL . else -ACFLAGS += -EB AFLAGS += -EB CFLAGS += -EB LDFLAGS += -EB From owner-svn-src-all@freebsd.org Fri Apr 7 20:02:02 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8AA4BD33354; Fri, 7 Apr 2017 20:02:02 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 415A526C; Fri, 7 Apr 2017 20:02:02 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37K21CW032934; Fri, 7 Apr 2017 20:02:01 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37K21Ux032932; Fri, 7 Apr 2017 20:02:01 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201704072002.v37K21Ux032932@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 7 Apr 2017 20:02:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316622 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 20:02:02 -0000 Author: jhb Date: Fri Apr 7 20:02:01 2017 New Revision: 316622 URL: https://svnweb.freebsd.org/changeset/base/316622 Log: Explicitly set the desired MIPS ABI in toolchain flags. Specifically, set '-mabi=XX' in AFLAGS, CFLAGS, and LDFLAGS. This permits building MIPS worlds and binaries with a toolchain whose default output does not match the desired TARGET_ARCH. _LDFLAGS (which is used with LD instead of with CC) required an update as LD does not accept the -mabi flags (so they must be stripped from LDFLAGS when generating _LDFLAGS). For bare uses of LD (rather than linking via CC), the desired ABI must be set by setting an explicit linker emulation as done in r316514 for kernels and kernel modules. Reviewed by: imp Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D10085 Modified: head/share/mk/bsd.cpu.mk head/share/mk/sys.mk Modified: head/share/mk/bsd.cpu.mk ============================================================================== --- head/share/mk/bsd.cpu.mk Fri Apr 7 19:56:12 2017 (r316621) +++ head/share/mk/bsd.cpu.mk Fri Apr 7 20:02:01 2017 (r316622) @@ -314,6 +314,19 @@ AFLAGS += -EB CFLAGS += -EB LDFLAGS += -EB . endif +. if ${MACHINE_ARCH:Mmips64*} != "" +AFLAGS+= -mabi=64 +CFLAGS+= -mabi=64 +LDFLAGS+= -mabi=64 +. elif ${MACHINE_ARCH:Mmipsn32*} != "" +AFLAGS+= -mabi=n32 +CFLAGS+= -mabi=n32 +LDFLAGS+= -mabi=n32 +. else +AFLAGS+= -mabi=32 +CFLAGS+= -mabi=32 +LDFLAGS+= -mabi=32 +. endif . if ${MACHINE_ARCH:Mmips*hf} CFLAGS += -mhard-float . else Modified: head/share/mk/sys.mk ============================================================================== --- head/share/mk/sys.mk Fri Apr 7 19:56:12 2017 (r316621) +++ head/share/mk/sys.mk Fri Apr 7 20:02:01 2017 (r316622) @@ -217,9 +217,12 @@ INSTALL ?= install LEX ?= lex LFLAGS ?= +# LDFLAGS is for CC, _LDFLAGS is for LD. Generate _LDFLAGS from +# LDFLAGS by stripping -Wl, from pass-through arguments and dropping +# compiler driver flags (e.g. -mabi=*) that conflict with flags to LD. LD ?= ld -LDFLAGS ?= # LDFLAGS is for CC, -_LDFLAGS = ${LDFLAGS:S/-Wl,//g} # strip -Wl, for LD +LDFLAGS ?= +_LDFLAGS = ${LDFLAGS:S/-Wl,//g:N-mabi=*} LINT ?= lint LINTFLAGS ?= -cghapbx From owner-svn-src-all@freebsd.org Fri Apr 7 20:11:31 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 375E9D3352D; Fri, 7 Apr 2017 20:11:31 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0F77C866; Fri, 7 Apr 2017 20:11:31 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by mail.baldwin.cx (Postfix) with ESMTPSA id C2B1210A7DB; Fri, 7 Apr 2017 16:11:29 -0400 (EDT) From: John Baldwin To: src-committers@freebsd.org Cc: svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316622 - head/share/mk Date: Fri, 07 Apr 2017 13:10:13 -0700 Message-ID: <3876116.W5eNvcJ1Jh@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-STABLE; KDE/4.14.10; amd64; ; ) In-Reply-To: <201704072002.v37K21Ux032932@repo.freebsd.org> References: <201704072002.v37K21Ux032932@repo.freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Fri, 07 Apr 2017 16:11:29 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 20:11:31 -0000 On Friday, April 07, 2017 08:02:01 PM John Baldwin wrote: > Author: jhb > Date: Fri Apr 7 20:02:01 2017 > New Revision: 316622 > URL: https://svnweb.freebsd.org/changeset/base/316622 > > Log: > Explicitly set the desired MIPS ABI in toolchain flags. > > Specifically, set '-mabi=XX' in AFLAGS, CFLAGS, and LDFLAGS. This permits > building MIPS worlds and binaries with a toolchain whose default output > does not match the desired TARGET_ARCH. > > _LDFLAGS (which is used with LD instead of with CC) required an update as > LD does not accept the -mabi flags (so they must be stripped from LDFLAGS > when generating _LDFLAGS). For bare uses of LD (rather than linking via > CC), the desired ABI must be set by setting an explicit linker emulation > as done in r316514 for kernels and kernel modules. With this (and other recent commits), I can build (and run) mips and mips64 world + kernels under QEMU with external GCC from ports via the mips-xtoolchain-gcc package. (mipsn32 also builds, but it fails to boot in the same failure case for both old and new GCC) Building mips: make CROSS_TOOLCHAIN=mips-gcc TARGET_CPUTYPE=mips3 TARGET_ARCH=mips buildworld For mips64 and mipsn32 TARGET_CPUTYPE is not required and only TARGET_ARCH has to be changed. (Previously mips-gcc has worked for 32-bit mips as that was the default target for mips-gcc. There is a mips64-xtoolchain-gcc that targets mips64 by default that previously worked for mips64. However, you can now use either of these toolchains to build any mips variant. Previously mips64-gcc could only build mips64, and mips-gcc could only build o32 mips. Neither package was able to build n32. We could perhaps drop the mips64-gcc package at some point in the future.) -- John Baldwin From owner-svn-src-all@freebsd.org Fri Apr 7 20:38:17 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BEA57D33E48 for ; Fri, 7 Apr 2017 20:38:17 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-it0-x22e.google.com (mail-it0-x22e.google.com [IPv6:2607:f8b0:4001:c0b::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 906E9A92 for ; Fri, 7 Apr 2017 20:38:17 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-it0-x22e.google.com with SMTP id y18so633569itc.0 for ; Fri, 07 Apr 2017 13:38:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=1ylp5hhr5fGL89Tu8ksI7mSAIM86ruYUGjr7e+BtOrI=; b=FX6uRP6SaeVwr61tx9WXC1S6Ub7UBCmVddIoMS2RhVRtGyOE5WlS0SWjITrX86wRu6 3GVs9y7g3CllFySEFyRdE8NZklDRvICIygUWYHqu9GxDGnHj5wUfy67+EeSFb98hcpKd SJJZKzTnfI3yzsJ8GikrcnOlhhg2BUhPIYbWdr/XJgv7vO6p23rt/y/ZG6So+ncKI9an u9iZfP0U3QTU5LizBPYMidSiD6V1shru8QNNnDzOGy5Dwpovrw8VA8lSJl/8HcAFnWpW v62XakCITtCT5xa0c/TtBOAowoFpojAyy4ntTIa8JAkBGEv6Iun2Jg7heQJFiVI6ZJuF nmNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=1ylp5hhr5fGL89Tu8ksI7mSAIM86ruYUGjr7e+BtOrI=; b=hsrHmjkU0L+MNOPgr30kxY1M8rlN7E+KLmH/xmUMjlMGu/36ax3VIn+nbexjGo1mPo xO6u7Bb3MRUTsGec5CnudowpLStpXn1rX2ALfakCE4cEIELkH4YYzIBwRbjfizBrcDro 8EamLF2qP5II5uu38YzBCgJXaXeSHCl47sGfeHM26bOTPrXbFz0bm3zAYoOi/xk1rcFJ APt8NK1KVFC1lelCWQEaYCK0I0s3fsSNmk+MvCV2XsepPvHsEG4G07+HQ4+EXdJDb7lE gCgKifKeg/ynsj0E/voXrrTLFl9V0/mdrN1ieQ6DV+/764bPejbj0Q1WzKvTpq/ddW/u +gBA== X-Gm-Message-State: AN3rC/4KaLqCmpa46kGPsdLiYo3NUjXR5h5+4TsgCT3LatYj/IpUyOYIWGegsjZc50q3CRSspcHUfq9m/ALi5A== X-Received: by 10.36.43.77 with SMTP id h74mr1029348ita.60.1491597496761; Fri, 07 Apr 2017 13:38:16 -0700 (PDT) MIME-Version: 1.0 Sender: wlosh@bsdimp.com Received: by 10.79.146.24 with HTTP; Fri, 7 Apr 2017 13:38:16 -0700 (PDT) X-Originating-IP: [2603:300b:6:5100:1840:6d1b:29a2:136f] In-Reply-To: <3876116.W5eNvcJ1Jh@ralph.baldwin.cx> References: <201704072002.v37K21Ux032932@repo.freebsd.org> <3876116.W5eNvcJ1Jh@ralph.baldwin.cx> From: Warner Losh Date: Fri, 7 Apr 2017 14:38:16 -0600 X-Google-Sender-Auth: u-TzyNQHXuyh1k0J7DBpf9TZqq0 Message-ID: Subject: Re: svn commit: r316622 - head/share/mk To: John Baldwin Cc: src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 20:38:17 -0000 On Fri, Apr 7, 2017 at 2:10 PM, John Baldwin wrote: > On Friday, April 07, 2017 08:02:01 PM John Baldwin wrote: >> Author: jhb >> Date: Fri Apr 7 20:02:01 2017 >> New Revision: 316622 >> URL: https://svnweb.freebsd.org/changeset/base/316622 >> >> Log: >> Explicitly set the desired MIPS ABI in toolchain flags. >> >> Specifically, set '-mabi=XX' in AFLAGS, CFLAGS, and LDFLAGS. This permits >> building MIPS worlds and binaries with a toolchain whose default output >> does not match the desired TARGET_ARCH. >> >> _LDFLAGS (which is used with LD instead of with CC) required an update as >> LD does not accept the -mabi flags (so they must be stripped from LDFLAGS >> when generating _LDFLAGS). For bare uses of LD (rather than linking via >> CC), the desired ABI must be set by setting an explicit linker emulation >> as done in r316514 for kernels and kernel modules. > > With this (and other recent commits), I can build (and run) mips and mips64 > world + kernels under QEMU with external GCC from ports via the > mips-xtoolchain-gcc package. (mipsn32 also builds, but it fails to boot in > the same failure case for both old and new GCC) > > Building mips: > > make CROSS_TOOLCHAIN=mips-gcc TARGET_CPUTYPE=mips3 TARGET_ARCH=mips buildworld > > For mips64 and mipsn32 TARGET_CPUTYPE is not required and only TARGET_ARCH > has to be changed. > > (Previously mips-gcc has worked for 32-bit mips as that was the default > target for mips-gcc. There is a mips64-xtoolchain-gcc that targets mips64 > by default that previously worked for mips64. However, you can now use > either of these toolchains to build any mips variant. Previously mips64-gcc > could only build mips64, and mips-gcc could only build o32 mips. Neither > package was able to build n32. We could perhaps drop the mips64-gcc package > at some point in the future.) Frist, let me thank you for doing all this. It helps make the external tool-chain more viable, which is nothing but good imho. Yea, the mips64-gcc is a legacy of always requiring the compiler to produce the right binaries by default design goal we had from way back. It's useful for forcing native compilers to always do the right thing which is extremely helpful for ports and such working right out of the box. We had a number of nasty bugs related to this not being the case when we had this sort of thing in the past, but those got resolved quickly because of the requirement. It would be nice to have some way to force going backwards for testing (eg, the compiler must produce the right binary and we're not going to help it out at all), but it's not as important as it used to be and is easy enough to hack if you want to test it (so don't take this as a request for change unless you're really excited by the idea). But for cross compilers, it's less helpful because you wind up in situations like this where it's a hassle to have N different ones laying around. It's trivial to hack gcc to generate the right arch. It seemed reasonable when N was 4 maybe 5. However, now there's 10 different ones with the hard float variants, and even at 4 it was starting to be too much. We were only saved by the fact that we had mipsel and mips64 as the major two that people cared about, so N was effectively only 1 or 2 for most use cases. It also makes some sense if one wanted to try out the new "exoitic" ABIs that have been defined by MIPS that few people actually use (there's a matrix of 32 or 64 of them!). All in all, I'm glad to see that we've changed this requirement, and despite pushing very hard for it years ago think it's the right change today. The TARGET_CPUTYPE=mips3 likely should be the default in the build system. We require mips3 or better ISA for our O32 ABI. Since we require that, making the user set this always is a friction point that we should file off. It's not like any other architecture. I'll look at making that the overridable default if I can find a few minutes sometime. I guess that's a long way of saying that 'yes, we can drop mips64-gcc and friends for the ports/packages' Warner From owner-svn-src-all@freebsd.org Fri Apr 7 21:06:51 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C959BD335CC; Fri, 7 Apr 2017 21:06:51 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9B5ECE21; Fri, 7 Apr 2017 21:06:51 +0000 (UTC) (envelope-from sevan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37L6oDB058922; Fri, 7 Apr 2017 21:06:50 GMT (envelope-from sevan@FreeBSD.org) Received: (from sevan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37L6oMh058919; Fri, 7 Apr 2017 21:06:50 GMT (envelope-from sevan@FreeBSD.org) Message-Id: <201704072106.v37L6oMh058919@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sevan set sender to sevan@FreeBSD.org using -f From: Sevan Janiyan Date: Fri, 7 Apr 2017 21:06:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316623 - in head/sys: conf sparc64/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 21:06:51 -0000 Author: sevan (doc committer) Date: Fri Apr 7 21:06:50 2017 New Revision: 316623 URL: https://svnweb.freebsd.org/changeset/base/316623 Log: Revert previous change to sys/conf/options & associated notes so builds can resume while I investigate what I had missed. Modified: head/sys/conf/NOTES head/sys/conf/options head/sys/sparc64/conf/NOTES Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Fri Apr 7 20:02:01 2017 (r316622) +++ head/sys/conf/NOTES Fri Apr 7 21:06:50 2017 (r316623) @@ -1812,6 +1812,11 @@ hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" hint.fdc.0.drq="2" # +# FDC_DEBUG enables floppy debugging. Since the debug output is huge, you +# gotta turn it actually on by setting the variable fd_debug with DDB, +# however. +options FDC_DEBUG +# # Activate this line if you happen to have an Insight floppy tape. # Probing them proved to be dangerous for people with floppy disks only, # so it's "hidden" behind a flag: Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Fri Apr 7 20:02:01 2017 (r316622) +++ head/sys/conf/options Fri Apr 7 21:06:50 2017 (r316623) @@ -691,6 +691,7 @@ INIT_PATH ROOTDEVNAME +FDC_DEBUG opt_fdc.h PCFCLOCK_VERBOSE opt_pcfclock.h PCFCLOCK_MAX_RETRIES opt_pcfclock.h Modified: head/sys/sparc64/conf/NOTES ============================================================================== --- head/sys/sparc64/conf/NOTES Fri Apr 7 20:02:01 2017 (r316622) +++ head/sys/sparc64/conf/NOTES Fri Apr 7 21:06:50 2017 (r316623) @@ -128,6 +128,7 @@ nodevice ex ##################################################################### # Options we don't want to deal with +nooption FDC_DEBUG nooption COMPAT_FREEBSD4 nooption SC_RENDER_DEBUG nooption SC_DEBUG_LEVEL From owner-svn-src-all@freebsd.org Fri Apr 7 21:43:26 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CE3BDD33233; Fri, 7 Apr 2017 21:43:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from mail.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ACF58873; Fri, 7 Apr 2017 21:43:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from ralph.baldwin.cx (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by mail.baldwin.cx (Postfix) with ESMTPSA id 09CE610A7B9; Fri, 7 Apr 2017 17:43:19 -0400 (EDT) From: John Baldwin To: Warner Losh Cc: src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r316622 - head/share/mk Date: Fri, 07 Apr 2017 14:43:10 -0700 Message-ID: <2928110.Pl3rnvTUcV@ralph.baldwin.cx> User-Agent: KMail/4.14.10 (FreeBSD/11.0-STABLE; KDE/4.14.10; amd64; ; ) In-Reply-To: References: <201704072002.v37K21Ux032932@repo.freebsd.org> <3876116.W5eNvcJ1Jh@ralph.baldwin.cx> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.baldwin.cx); Fri, 07 Apr 2017 17:43:19 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.99.2 at mail.baldwin.cx X-Virus-Status: Clean X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 21:43:26 -0000 On Friday, April 07, 2017 02:38:16 PM Warner Losh wrote: > The TARGET_CPUTYPE=mips3 likely should be the default in the build > system. We require mips3 or better ISA for our O32 ABI. Since we > require that, making the user set this always is a friction point that > we should file off. It's not like any other architecture. I'll look at > making that the overridable default if I can find a few minutes > sometime. This one in particular is kind of tricky because clang refuses to compile O32 MIPS if you set -march=mips3 (it works if you use mips2 or if you leave off the '-march' entirely). I had played with trying to cater to this by setting default CPUCFLAGS if CPUTYPE was empty but then ran into the problem that clang would need a different setting from GCC and punted. Also, the way we set CFLAGS for alternate lib builds (lib32, etc.) is kind of hackish. Possibly they should be invoking bsd.cpu.mk with a different TARGET_ARCH to avoid duplicating logic. -- John Baldwin From owner-svn-src-all@freebsd.org Fri Apr 7 22:58:21 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D7CC9D322FE; Fri, 7 Apr 2017 22:58:21 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 995C9197; Fri, 7 Apr 2017 22:58:21 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37MwKtb004885; Fri, 7 Apr 2017 22:58:20 GMT (envelope-from kan@FreeBSD.org) Received: (from kan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37MwKN3004884; Fri, 7 Apr 2017 22:58:20 GMT (envelope-from kan@FreeBSD.org) Message-Id: <201704072258.v37MwKN3004884@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kan set sender to kan@FreeBSD.org using -f From: Alexander Kabaev Date: Fri, 7 Apr 2017 22:58:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316624 - head/lib/libc/aarch64 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 22:58:22 -0000 Author: kan Date: Fri Apr 7 22:58:20 2017 New Revision: 316624 URL: https://svnweb.freebsd.org/changeset/base/316624 Log: Do not use b.cs instruction to jump to cerror. The conditional jump can only be performed to targets up to 1MB in either direction and does not work too well when linker places cerror further that that from the caller. In that case linker will complain about relocation overflows. Reviewed by: emaste, andrew Differential Revision: https://reviews.freebsd.org/D10305 Modified: head/lib/libc/aarch64/SYS.h Modified: head/lib/libc/aarch64/SYS.h ============================================================================== --- head/lib/libc/aarch64/SYS.h Fri Apr 7 21:06:50 2017 (r316623) +++ head/lib/libc/aarch64/SYS.h Fri Apr 7 22:58:20 2017 (r316624) @@ -45,12 +45,19 @@ ENTRY(__sys_##name); \ ret; \ END(__sys_##name) +/* + * Conditional jumps can only go up to one megabyte in either + * direction, and cerror can be located anywhere, so we have + * to jump around to use more capable unconditional branch + * instruction. + */ #define PSEUDO(name) \ ENTRY(__sys_##name); \ WEAK_REFERENCE(__sys_##name, _##name); \ _SYSCALL(name); \ - b.cs cerror; \ + b.cs 1f; \ ret; \ +1: b cerror; \ END(__sys_##name) #define RSYSCALL(name) \ @@ -58,6 +65,7 @@ ENTRY(__sys_##name); \ WEAK_REFERENCE(__sys_##name, name); \ WEAK_REFERENCE(__sys_##name, _##name); \ _SYSCALL(name); \ - b.cs cerror; \ + b.cs 1f; \ ret; \ +1: b cerror; \ END(__sys_##name) From owner-svn-src-all@freebsd.org Fri Apr 7 22:58:26 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DC6C1D32336; Fri, 7 Apr 2017 22:58:26 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B7E6B1B7; Fri, 7 Apr 2017 22:58:26 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37MwPKf004934; Fri, 7 Apr 2017 22:58:25 GMT (envelope-from kan@FreeBSD.org) Received: (from kan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37MwP68004928; Fri, 7 Apr 2017 22:58:25 GMT (envelope-from kan@FreeBSD.org) Message-Id: <201704072258.v37MwP68004928@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kan set sender to kan@FreeBSD.org using -f From: Alexander Kabaev Date: Fri, 7 Apr 2017 22:58:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316625 - in head: share/mk sys/boot/efi sys/boot/efi/boot1 sys/boot/efi/fdt sys/boot/efi/libefi sys/boot/efi/loader/arch/arm64 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 22:58:27 -0000 Author: kan Date: Fri Apr 7 22:58:25 2017 New Revision: 316625 URL: https://svnweb.freebsd.org/changeset/base/316625 Log: Do not use -msoft-float with intention of disabling FP on aarch64 GNU GCC does does recognise it as a valid option and we already use -mgeneral-regs-only that has the desired effect. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D10306 Modified: head/share/mk/bsd.stand.mk head/sys/boot/efi/Makefile.inc head/sys/boot/efi/boot1/Makefile head/sys/boot/efi/fdt/Makefile head/sys/boot/efi/libefi/Makefile head/sys/boot/efi/loader/arch/arm64/Makefile.inc Modified: head/share/mk/bsd.stand.mk ============================================================================== --- head/share/mk/bsd.stand.mk Fri Apr 7 22:58:20 2017 (r316624) +++ head/share/mk/bsd.stand.mk Fri Apr 7 22:58:25 2017 (r316625) @@ -8,7 +8,7 @@ CFLAGS+= -ffreestanding -Wformat CFLAGS+= ${CFLAGS_NO_SIMD} -D_STANDALONE .if ${MACHINE_CPUARCH} == "riscv" CFLAGS+= -mno-float -.else +.elif ${MACHINE_CPUARCH} != "aarch64" CFLAGS+= -msoft-float .endif Modified: head/sys/boot/efi/Makefile.inc ============================================================================== --- head/sys/boot/efi/Makefile.inc Fri Apr 7 22:58:20 2017 (r316624) +++ head/sys/boot/efi/Makefile.inc Fri Apr 7 22:58:25 2017 (r316625) @@ -9,9 +9,13 @@ CFLAGS+= -mno-aes # Options used when building app-specific efi components # See conf/kern.mk for the correct set of these -CFLAGS+= -ffreestanding -Wformat -msoft-float ${CFLAGS_NO_SIMD} +CFLAGS+= -ffreestanding -Wformat ${CFLAGS_NO_SIMD} LDFLAGS+= -nostdlib +.if ${MACHINE_CPUARCH} != "aarch64" +CFLAGS+= -msoft-float +.endif + .if ${MACHINE_CPUARCH} == "amd64" CFLAGS+= -fshort-wchar CFLAGS+= -mno-red-zone Modified: head/sys/boot/efi/boot1/Makefile ============================================================================== --- head/sys/boot/efi/boot1/Makefile Fri Apr 7 22:58:20 2017 (r316624) +++ head/sys/boot/efi/boot1/Makefile Fri Apr 7 22:58:25 2017 (r316625) @@ -71,7 +71,7 @@ LDSCRIPT= ${.CURDIR}/../loader/arch/${MA LDFLAGS+= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared .if ${MACHINE_CPUARCH} == "aarch64" -CFLAGS+= -msoft-float -mgeneral-regs-only +CFLAGS+= -mgeneral-regs-only .endif .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" CFLAGS+= -fPIC Modified: head/sys/boot/efi/fdt/Makefile ============================================================================== --- head/sys/boot/efi/fdt/Makefile Fri Apr 7 22:58:20 2017 (r316624) +++ head/sys/boot/efi/fdt/Makefile Fri Apr 7 22:58:25 2017 (r316625) @@ -10,9 +10,11 @@ WARNS?= 6 SRCS= efi_fdt.c -CFLAGS+= -ffreestanding -msoft-float +CFLAGS+= -ffreestanding .if ${MACHINE_CPUARCH} == "aarch64" CFLAGS+= -mgeneral-regs-only +.else +CFLAGS+= -msoft-float .endif CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ Modified: head/sys/boot/efi/libefi/Makefile ============================================================================== --- head/sys/boot/efi/libefi/Makefile Fri Apr 7 22:58:20 2017 (r316624) +++ head/sys/boot/efi/libefi/Makefile Fri Apr 7 22:58:25 2017 (r316625) @@ -30,7 +30,7 @@ CWARNFLAGS.efipart.c+= -Wno-format CWARNFLAGS.env.c+= -Wno-format .if ${MACHINE_CPUARCH} == "aarch64" -CFLAGS+= -msoft-float -mgeneral-regs-only +CFLAGS+= -mgeneral-regs-only .endif .if ${MACHINE_ARCH} == "amd64" CFLAGS+= -fPIC -mno-red-zone Modified: head/sys/boot/efi/loader/arch/arm64/Makefile.inc ============================================================================== --- head/sys/boot/efi/loader/arch/arm64/Makefile.inc Fri Apr 7 22:58:20 2017 (r316624) +++ head/sys/boot/efi/loader/arch/arm64/Makefile.inc Fri Apr 7 22:58:25 2017 (r316625) @@ -8,7 +8,7 @@ SRCS+= exec.c \ CFLAGS+=-I${.CURDIR}/../../arm64/libarm64 SRCS+= cache.c -CFLAGS+= -msoft-float -mgeneral-regs-only +CFLAGS+= -mgeneral-regs-only CLEANFILES+= loader.help From owner-svn-src-all@freebsd.org Fri Apr 7 22:58:30 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 11BA5D32353; Fri, 7 Apr 2017 22:58:30 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D4EBF210; Fri, 7 Apr 2017 22:58:29 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37MwTsH004978; Fri, 7 Apr 2017 22:58:29 GMT (envelope-from kan@FreeBSD.org) Received: (from kan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37MwTkN004977; Fri, 7 Apr 2017 22:58:29 GMT (envelope-from kan@FreeBSD.org) Message-Id: <201704072258.v37MwTkN004977@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kan set sender to kan@FreeBSD.org using -f From: Alexander Kabaev Date: Fri, 7 Apr 2017 22:58:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316626 - head/sys/arm64/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 22:58:30 -0000 Author: kan Date: Fri Apr 7 22:58:28 2017 New Revision: 316626 URL: https://svnweb.freebsd.org/changeset/base/316626 Log: Define 'lr' as x30 on aarch64 GNU toolchain does not recognize LR as standard register alias, but clang does. Use of #define will work on both. Place the definition into central machine/asm.h instead of patching every affected file, as requested by plaftorm maintainers. Reviews by: andrew, emaste, imp Differential Revision: https://reviews.freebsd.org/D10307 Modified: head/sys/arm64/include/asm.h Modified: head/sys/arm64/include/asm.h ============================================================================== --- head/sys/arm64/include/asm.h Fri Apr 7 22:58:25 2017 (r316625) +++ head/sys/arm64/include/asm.h Fri Apr 7 22:58:28 2017 (r316626) @@ -57,6 +57,9 @@ #define PIC_SYM(x,y) x #endif +/* Alias for link register x30 */ +#define lr x30 + /* * Sets the trap fault handler. The exception handler will return to the * address in the handler register on a data abort or the xzr register to From owner-svn-src-all@freebsd.org Fri Apr 7 22:58:33 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 155DED32377; Fri, 7 Apr 2017 22:58:33 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D4652271; Fri, 7 Apr 2017 22:58:32 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37MwV89005022; Fri, 7 Apr 2017 22:58:31 GMT (envelope-from kan@FreeBSD.org) Received: (from kan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37MwVnP005021; Fri, 7 Apr 2017 22:58:31 GMT (envelope-from kan@FreeBSD.org) Message-Id: <201704072258.v37MwVnP005021@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kan set sender to kan@FreeBSD.org using -f From: Alexander Kabaev Date: Fri, 7 Apr 2017 22:58:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316627 - head/usr.sbin/acpi/acpiconf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 22:58:33 -0000 Author: kan Date: Fri Apr 7 22:58:31 2017 New Revision: 316627 URL: https://svnweb.freebsd.org/changeset/base/316627 Log: Use int to receive the return value of getopt function. getopt returns int and not char, so assigning the value to char is not ideal, especially on platforms with unsigned chars. Modified: head/usr.sbin/acpi/acpiconf/acpiconf.c Modified: head/usr.sbin/acpi/acpiconf/acpiconf.c ============================================================================== --- head/usr.sbin/acpi/acpiconf/acpiconf.c Fri Apr 7 22:58:28 2017 (r316626) +++ head/usr.sbin/acpi/acpiconf/acpiconf.c Fri Apr 7 22:58:31 2017 (r316627) @@ -203,8 +203,8 @@ usage(const char* prog) int main(int argc, char *argv[]) { - char c, *prog; - int sleep_type; + char *prog; + int c, sleep_type; prog = argv[0]; if (argc < 2) From owner-svn-src-all@freebsd.org Fri Apr 7 22:58:36 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3830CD323B4; Fri, 7 Apr 2017 22:58:36 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 06A74305; Fri, 7 Apr 2017 22:58:35 +0000 (UTC) (envelope-from kan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37MwZKI005065; Fri, 7 Apr 2017 22:58:35 GMT (envelope-from kan@FreeBSD.org) Received: (from kan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37MwZwS005064; Fri, 7 Apr 2017 22:58:35 GMT (envelope-from kan@FreeBSD.org) Message-Id: <201704072258.v37MwZwS005064@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kan set sender to kan@FreeBSD.org using -f From: Alexander Kabaev Date: Fri, 7 Apr 2017 22:58:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316628 - head/sys/boot/efi/boot1 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 22:58:36 -0000 Author: kan Date: Fri Apr 7 22:58:34 2017 New Revision: 316628 URL: https://svnweb.freebsd.org/changeset/base/316628 Log: Silence GCC warning by initializing the local variable. GCC 6.3 is unable to trace all code paths that lead to this variable being left uninitialized and correlate that to function return values. Modified: head/sys/boot/efi/boot1/boot1.c Modified: head/sys/boot/efi/boot1/boot1.c ============================================================================== --- head/sys/boot/efi/boot1/boot1.c Fri Apr 7 22:58:31 2017 (r316627) +++ head/sys/boot/efi/boot1/boot1.c Fri Apr 7 22:58:34 2017 (r316628) @@ -529,6 +529,7 @@ probe_handle_status(EFI_HANDLE h, EFI_DE EFI_STATUS status; BOOLEAN preferred; + preferred = FALSE; status = probe_handle(h, imgpath, &preferred); DPRINTF("probe: "); From owner-svn-src-all@freebsd.org Fri Apr 7 23:37:23 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A8D86D32F09; Fri, 7 Apr 2017 23:37:23 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 52F37A39; Fri, 7 Apr 2017 23:37:23 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v37NbMIo022600; Fri, 7 Apr 2017 23:37:22 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v37NbMOZ022598; Fri, 7 Apr 2017 23:37:22 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704072337.v37NbMOZ022598@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 7 Apr 2017 23:37:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316629 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Apr 2017 23:37:23 -0000 Author: emaste Date: Fri Apr 7 23:37:22 2017 New Revision: 316629 URL: https://svnweb.freebsd.org/changeset/base/316629 Log: do not require binutils port when using lld as ld r279908 added logic to Makefile.inc1 to automatically set CROSS_BINUTILS_PREFIX for architectures not supported by the in-tree binutils: arm64 when first introduced, and later riscv64 as well. LLVM's LLD linker is now included in the base system, and is enabled by default for arm64 and capable of linking world and kernel. Thus, avoid automatically setting CROSS_BINUTILS_PREFIX and requiring the binutils port if WITH_LLD_IS_LD is true. Reviewed by: kan Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D10310 Modified: head/Makefile.inc1 head/UPDATING Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Fri Apr 7 22:58:34 2017 (r316628) +++ head/Makefile.inc1 Fri Apr 7 23:37:22 2017 (r316629) @@ -167,10 +167,11 @@ CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN .endif # If we do not have a bootstrap binutils (because the in-tree one does not # support the target architecture), provide a default cross-binutils prefix. -# This allows aarch64 builds, for example, to automatically use the -# aarch64-binutils port or package. +# This allows riscv64 builds, for example, to automatically use the +# riscv64-binutils port or package. .if !make(showconfig) .if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ + ${MK_LLD_IS_LD} == "no" && \ !defined(CROSS_BINUTILS_PREFIX) CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ .if !exists(${CROSS_BINUTILS_PREFIX}) Modified: head/UPDATING ============================================================================== --- head/UPDATING Fri Apr 7 22:58:34 2017 (r316628) +++ head/UPDATING Fri Apr 7 23:37:22 2017 (r316629) @@ -51,6 +51,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12 ****************************** SPECIAL WARNING: ****************************** +20170407: + arm64 builds now use the base system LLD 4.0.0 linker by default, + instead of requiring that the aarch64-binutils port or package be + installed. To continue using aarch64-binutils, set + CROSS_BINUTILS_PREFIX=/usr/local/aarch64-freebsd/bin . + 20170331: Binds and sends to the loopback addresses, IPv6 and IPv4, will now use any explicitly assigned loopback address available in the jail From owner-svn-src-all@freebsd.org Sat Apr 8 00:19:21 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 66A00D3370A; Sat, 8 Apr 2017 00:19:21 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 103BCBDB; Sat, 8 Apr 2017 00:19:20 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id v380JEnv057397; Fri, 7 Apr 2017 17:19:14 -0700 (PDT) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id v380JEI1057396; Fri, 7 Apr 2017 17:19:14 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201704080019.v380JEI1057396@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r316613 - in stable/11/lib/libc: gen iconv net regex rpc stdio stdlib In-Reply-To: <201704071608.v37G84Ep031357@repo.freebsd.org> To: "Pedro F. Giffuni" Date: Fri, 7 Apr 2017 17:19:14 -0700 (PDT) CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 00:19:21 -0000 [ Charset UTF-8 unsupported, converting... ] > Author: pfg > Date: Fri Apr 7 16:08:04 2017 > New Revision: 316613 > URL: https://svnweb.freebsd.org/changeset/base/316613 > > Log: > MFC r315162: > libc: provide some bounds-checking through reallocarray(3). > > reallocarray(3) is a non portable extension that originated in OpenBSD. > Given that it is already in FreeBSD's libc it is useful for the cases > where reallocation involves a multiplication. > > Modified: > stable/11/lib/libc/gen/glob.c > stable/11/lib/libc/gen/scandir.c > stable/11/lib/libc/gen/setmode.c > stable/11/lib/libc/gen/wordexp.c > stable/11/lib/libc/iconv/citrus_esdb.c > stable/11/lib/libc/net/nsdispatch.c > stable/11/lib/libc/regex/regcomp.c > stable/11/lib/libc/rpc/getnetconfig.c > stable/11/lib/libc/stdio/open_wmemstream.c > stable/11/lib/libc/stdio/printf-pos.c > stable/11/lib/libc/stdio/ungetc.c > stable/11/lib/libc/stdlib/getenv.c > Directory Properties: > stable/11/ (props changed) > > Modified: stable/11/lib/libc/gen/glob.c > ============================================================================== > --- stable/11/lib/libc/gen/glob.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/gen/glob.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -850,7 +850,7 @@ globextend(const Char *path, glob_t *pgl > const char *origpat) > { > char **pathv; > - size_t i, newsize, len; > + size_t i, newn, len; > char *copy; > const Char *p; > > @@ -860,9 +860,9 @@ globextend(const Char *path, glob_t *pgl > return (GLOB_NOSPACE); > } > > - newsize = sizeof(*pathv) * (2 + pglob->gl_pathc + pglob->gl_offs); > - /* realloc(NULL, newsize) is equivalent to malloc(newsize). */ > - pathv = realloc((void *)pglob->gl_pathv, newsize); > + newn = 2 + pglob->gl_pathc + pglob->gl_offs; > + /* reallocarray(NULL, newn, size) is equivalent to malloc(newn*size). */ > + pathv = reallocarray(pglob->gl_pathv, newn, sizeof(*pathv)); > if (pathv == NULL) > return (GLOB_NOSPACE); > > > Modified: stable/11/lib/libc/gen/scandir.c > ============================================================================== > --- stable/11/lib/libc/gen/scandir.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/gen/scandir.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -116,8 +116,8 @@ scandir(const char *dirname, struct dire > if (numitems >= arraysz) { > struct dirent **names2; > > - names2 = (struct dirent **)realloc((char *)names, > - (arraysz * 2) * sizeof(struct dirent *)); > + names2 = reallocarray(names, arraysz, > + 2 * sizeof(struct dirent *)); > if (names2 == NULL) { > free(p); > goto fail; > > Modified: stable/11/lib/libc/gen/setmode.c > ============================================================================== > --- stable/11/lib/libc/gen/setmode.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/gen/setmode.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -155,7 +155,7 @@ common: if (set->cmd2 & CMD2_CLR) { > if (set >= endset) { \ > BITCMD *newset; \ > setlen += SET_LEN_INCR; \ > - newset = realloc(saveset, sizeof(BITCMD) * setlen); \ > + newset = reallocarray(saveset, setlen, sizeof(BITCMD)); \ > if (newset == NULL) \ > goto out; \ > set = newset + (set - saveset); \ > > Modified: stable/11/lib/libc/gen/wordexp.c > ============================================================================== > --- stable/11/lib/libc/gen/wordexp.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/gen/wordexp.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -234,8 +234,8 @@ we_askshell(const char *words, wordexp_t > vofs += we->we_offs; > we->we_wordc += nwords; > we->we_nbytes += nbytes; > - if ((nwv = realloc(we->we_wordv, (we->we_wordc + 1 + > - (flags & WRDE_DOOFFS ? we->we_offs : 0)) * > + if ((nwv = reallocarray(we->we_wordv, (we->we_wordc + 1 + > + (flags & WRDE_DOOFFS ? we->we_offs : 0)), > sizeof(char *))) == NULL) { > error = WRDE_NOSPACE; > goto cleanup; > > Modified: stable/11/lib/libc/iconv/citrus_esdb.c > ============================================================================== > --- stable/11/lib/libc/iconv/citrus_esdb.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/iconv/citrus_esdb.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -347,7 +347,7 @@ _citrus_esdb_get_list(char ***rlist, siz > ret = 0; > /* XXX: why reallocing the list space posteriorly? > shouldn't be done earlier? */ > - q = realloc(list, num * sizeof(char *)); > + q = reallocarray(list, num, sizeof(char *)); > if (!q) { > ret = ENOMEM; > goto quit3; > > Modified: stable/11/lib/libc/net/nsdispatch.c > ============================================================================== > --- stable/11/lib/libc/net/nsdispatch.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/net/nsdispatch.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -213,7 +213,7 @@ vector_append(const void *elem, void *ve > void *p; > > if ((*count % ELEMSPERCHUNK) == 0) { > - p = realloc(vec, (*count + ELEMSPERCHUNK) * esize); > + p = reallocarray(vec, *count + ELEMSPERCHUNK, esize); > if (p == NULL) { > nss_log_simple(LOG_ERR, "memory allocation failure"); > return (vec); > > Modified: stable/11/lib/libc/regex/regcomp.c > ============================================================================== > --- stable/11/lib/libc/regex/regcomp.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/regex/regcomp.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -1143,7 +1143,7 @@ allocset(struct parse *p) > { > cset *cs, *ncs; > > - ncs = realloc(p->g->sets, (p->g->ncsets + 1) * sizeof(*ncs)); > + ncs = reallocarray(p->g->sets, p->g->ncsets + 1, sizeof(*ncs)); > if (ncs == NULL) { > SETERROR(REG_ESPACE); > return (NULL); > @@ -1206,7 +1206,7 @@ CHadd(struct parse *p, cset *cs, wint_t > if (ch < NC) > cs->bmp[ch >> 3] |= 1 << (ch & 7); > else { > - newwides = realloc(cs->wides, (cs->nwides + 1) * > + newwides = reallocarray(cs->wides, cs->nwides + 1, > sizeof(*cs->wides)); > if (newwides == NULL) { > SETERROR(REG_ESPACE); > @@ -1235,7 +1235,7 @@ CHaddrange(struct parse *p, cset *cs, wi > CHadd(p, cs, min); > if (min >= max) > return; > - newranges = realloc(cs->ranges, (cs->nranges + 1) * > + newranges = reallocarray(cs->ranges, cs->nranges + 1, > sizeof(*cs->ranges)); > if (newranges == NULL) { > SETERROR(REG_ESPACE); > @@ -1259,7 +1259,7 @@ CHaddtype(struct parse *p, cset *cs, wct > for (i = 0; i < NC; i++) > if (iswctype(i, wct)) > CHadd(p, cs, i); > - newtypes = realloc(cs->types, (cs->ntypes + 1) * > + newtypes = reallocarray(cs->types, cs->ntypes + 1, > sizeof(*cs->types)); > if (newtypes == NULL) { > SETERROR(REG_ESPACE); > @@ -1382,7 +1382,7 @@ enlarge(struct parse *p, sopno size) > if (p->ssize >= size) > return 1; > > - sp = (sop *)realloc(p->strip, size*sizeof(sop)); > + sp = reallocarray(p->strip, size, sizeof(sop)); > if (sp == NULL) { > SETERROR(REG_ESPACE); > return 0; > @@ -1400,7 +1400,7 @@ static void > stripsnug(struct parse *p, struct re_guts *g) > { > g->nstates = p->slen; > - g->strip = (sop *)realloc((char *)p->strip, p->slen * sizeof(sop)); > + g->strip = reallocarray((char *)p->strip, p->slen, sizeof(sop)); > if (g->strip == NULL) { > SETERROR(REG_ESPACE); > g->strip = p->strip; > > Modified: stable/11/lib/libc/rpc/getnetconfig.c > ============================================================================== > --- stable/11/lib/libc/rpc/getnetconfig.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/rpc/getnetconfig.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -630,8 +630,8 @@ parse_ncp(char *stringp, struct netconfi > ncp->nc_lookups = NULL; > ncp->nc_nlookups = 0; > while ((cp = tokenp) != NULL) { > - if ((nc_lookups = realloc(ncp->nc_lookups, > - (ncp->nc_nlookups + 1) * sizeof *ncp->nc_lookups)) == NULL) { > + if ((nc_lookups = reallocarray(ncp->nc_lookups, > + ncp->nc_nlookups + 1, sizeof(*ncp->nc_lookups))) == NULL) { > free(ncp->nc_lookups); > ncp->nc_lookups = NULL; > return (-1); > > Modified: stable/11/lib/libc/stdio/open_wmemstream.c > ============================================================================== > --- stable/11/lib/libc/stdio/open_wmemstream.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/stdio/open_wmemstream.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -63,7 +63,7 @@ wmemstream_grow(struct wmemstream *ms, f > else > newsize = newoff; > if (newsize > ms->len) { > - buf = realloc(*ms->bufp, (newsize + 1) * sizeof(wchar_t)); > + buf = reallocarray(*ms->bufp, newsize + 1, sizeof(wchar_t)); > if (buf != NULL) { > #ifdef DEBUG > fprintf(stderr, "WMS: %p growing from %zd to %zd\n", > > Modified: stable/11/lib/libc/stdio/printf-pos.c > ============================================================================== > --- stable/11/lib/libc/stdio/printf-pos.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/stdio/printf-pos.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -633,7 +633,7 @@ __grow_type_table(struct typetable *type > return (-1); > bcopy(oldtable, newtable, oldsize * sizeof(enum typeid)); > } else { > - newtable = realloc(oldtable, newsize * sizeof(enum typeid)); > + newtable = reallocarray(oldtable, newsize, sizeof(enum typeid)); > if (newtable == NULL) > return (-1); > } > > Modified: stable/11/lib/libc/stdio/ungetc.c > ============================================================================== > --- stable/11/lib/libc/stdio/ungetc.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/stdio/ungetc.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -73,14 +73,14 @@ __submore(FILE *fp) > return (0); > } > i = fp->_ub._size; > - p = realloc(fp->_ub._base, (size_t)(i << 1)); > + p = reallocarray(fp->_ub._base, i, 2); > if (p == NULL) > return (EOF); > /* no overlap (hence can use memcpy) because we doubled the size */ > (void)memcpy((void *)(p + i), (void *)p, (size_t)i); > fp->_p = p + i; > fp->_ub._base = p; > - fp->_ub._size = i << 1; > + fp->_ub._size = i * 2; > return (0); > } > > > Modified: stable/11/lib/libc/stdlib/getenv.c > ============================================================================== > --- stable/11/lib/libc/stdlib/getenv.c Fri Apr 7 15:41:49 2017 (r316612) > +++ stable/11/lib/libc/stdlib/getenv.c Fri Apr 7 16:08:04 2017 (r316613) > @@ -272,8 +272,8 @@ __rebuild_environ(int newEnvironSize) > /* Resize environ. */ > if (newEnvironSize > environSize) { > tmpEnvironSize = newEnvironSize * 2; > - tmpEnviron = realloc(intEnviron, sizeof (*intEnviron) * > - (tmpEnvironSize + 1)); > + tmpEnviron = reallocarray(intEnviron, tmpEnvironSize + 1, > + sizeof(*intEnviron)); > if (tmpEnviron == NULL) > return (-1); > environSize = tmpEnvironSize; > @@ -306,8 +306,8 @@ __enlarge_env(void) > envVarsTotal++; > if (envVarsTotal > envVarsSize) { > newEnvVarsSize = envVarsTotal * 2; > - tmpEnvVars = realloc(envVars, sizeof (*envVars) * > - newEnvVarsSize); > + tmpEnvVars = reallocarray(envVars, newEnvVarsSize, > + sizeof(*envVars)); > if (tmpEnvVars == NULL) { > envVarsTotal--; > return (false); > > I am not sure, but isnt this a code pessimization as you now push an extra arg on the stack, and also remove the possiblity of compile time const calculation of foo * bar? -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-all@freebsd.org Sat Apr 8 00:28:56 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 25A53D33950; Sat, 8 Apr 2017 00:28:56 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ED94C8D; Sat, 8 Apr 2017 00:28:55 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id B98BA5A9F14; Sat, 8 Apr 2017 00:28:54 +0000 (UTC) Date: Sat, 8 Apr 2017 00:28:54 +0000 From: Brooks Davis To: rgrimes@freebsd.org Cc: "Pedro F. Giffuni" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r316613 - in stable/11/lib/libc: gen iconv net regex rpc stdio stdlib Message-ID: <20170408002854.GB43485@spindle.one-eyed-alien.net> References: <201704071608.v37G84Ep031357@repo.freebsd.org> <201704080019.v380JEI1057396@pdx.rh.CN85.dnsmgr.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="vGgW1X5XWziG23Ko" Content-Disposition: inline In-Reply-To: <201704080019.v380JEI1057396@pdx.rh.CN85.dnsmgr.net> User-Agent: Mutt/1.7.2 (2016-11-26) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 00:28:56 -0000 --vGgW1X5XWziG23Ko Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Apr 07, 2017 at 05:19:14PM -0700, Rodney W. Grimes wrote: > [ Charset UTF-8 unsupported, converting... ] > > Author: pfg > > Date: Fri Apr 7 16:08:04 2017 > > New Revision: 316613 > > URL: https://svnweb.freebsd.org/changeset/base/316613 > >=20 > > Log: > > MFC r315162: > > libc: provide some bounds-checking through reallocarray(3). > > =20 > > reallocarray(3) is a non portable extension that originated in OpenBS= D. > > Given that it is already in FreeBSD's libc it is useful for the cases > > where reallocation involves a multiplication. =2E.. > I am not sure, but isnt this a code pessimization as you now push > an extra arg on the stack, and also remove the possiblity of compile > time const calculation of foo * bar? I'd be pretty surprised if that was even possible to measure the several cycles your talking about. Even ignoring TLB misses, the realloc/reallocarray call is going to burn thousands of cycles and blow much of your low level I-CACHE and probably D-CACHE. -- Brooks --vGgW1X5XWziG23Ko Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJY6C7GAAoJEKzQXbSebgfAu3wH/2rT6tkKXhSqmWyotEeyNtrz fg9uurKKfwKH6nMbSThvHlBij5nClcSQvjEubksLfZm9lPpSHN9NDhYl4m+oa2GL Jz2OypWlPqTGiyzS1x2HsXSG1mym9IdMc5XokVHb7p7lA4/Mi+RgEKXT6Yy5c9Gu /KXW7ng3QPgblykjFMbEO9fmwEcj2cbR2abTuGT4UlrfuHPDp4YQgWSdBW1gK/FB 5A/Yte6Cb4I+aWXPCF3xvbJCCZDCh5PhB52zZiT5S065i/Q7mBdhxrXihW0mdDkY Jb1Bj2aBTTNG9EQt+BWVIwM8yYLzMIhKrcifnzBbs1TlD/rMTWNic6dnhYYBVew= =RY07 -----END PGP SIGNATURE----- --vGgW1X5XWziG23Ko-- From owner-svn-src-all@freebsd.org Sat Apr 8 01:39:57 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 697D8D33DB3 for ; Sat, 8 Apr 2017 01:39:57 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from nm26-vm5.bullet.mail.ne1.yahoo.com (nm26-vm5.bullet.mail.ne1.yahoo.com [98.138.91.248]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 351F6D53 for ; Sat, 8 Apr 2017 01:39:57 +0000 (UTC) (envelope-from pfg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1491615590; bh=YDbYYNoIO5XrIdKzbv5sSzj7nW2xKePQ4Sy6uPD1YEk=; h=Subject:To:References:Cc:From:Date:In-Reply-To:From:Subject; b=PPst9MwaoBn08/jVhXo3t1vr8lfHIddZUghNP3ui2iyJCSNz9BgIbe4z1SAgg1BoHgZciu+20kqaYw5L/pmNWm8BfxMJp6mTbT/cE9TwtCeQ/ERvhhNv2IH/ClAE3ZYyBNMbG1fMVLHdtpxTXhU6goBwXLApzo1nbWwuUAEPMDS/5cupPJoLAhqHHpgWN5VfBIsTDzSLqKZBbh2C+WCj1jTAr4Tb2oU2soG8l+n+KewoUkpTQFGlqpkD1qt50CV0O3W1yDtG7QHAZoqNH9e84ISn16lpUb5zgqKmBqchV6czjkRKc9mQw0xM9N6rnMJ2Fa/W/xw5InQl6Xnk0YSJPQ== Received: from [98.138.226.179] by nm26.bullet.mail.ne1.yahoo.com with NNFMP; 08 Apr 2017 01:39:50 -0000 Received: from [98.138.226.126] by tm14.bullet.mail.ne1.yahoo.com with NNFMP; 08 Apr 2017 01:39:50 -0000 Received: from [127.0.0.1] by smtp205.mail.ne1.yahoo.com with NNFMP; 08 Apr 2017 01:39:50 -0000 X-Yahoo-Newman-Id: 527108.16543.bm@smtp205.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: 7kX66F8VM1k2yeUQgms7gRE.1lnIEVPoUdkCe4UD_FN.8Iw MszEnI41dhOR6nQQV5NCVp8VsagTrAIMFg27j3RYnpFewe5V.WcKK347pybj t6TavMeOk5BJrGe6ebSrXZ2nIyZAGnWTFQlA9Cwoo.HCjW0PJS69vLl7UBiM k2vYxHVVV0WwcQOf3XtFMQsk4otEzA9ssV0XtlrutgbD6EQICYnC6sSbukk4 KvIVZfseoMmARhKxkgegJuwEfF0H_ArNRE947MpEcmxzXw9yCxx1wDBsSyF4 SbeJW29Q8Zm7lnV5dDtdxGs4JXxkQEtcsfmJgKoJ.Fz_lO88NCMYErhs.9Z9 GZzpGd1HU0AjcTtqglGLxsoUM2bPqVU5qMNVqAe1OD5RSygivRTSsoZvWJ0D 3GBnQH2B6axd.nPPayyPCHjkyeVOQ.5NzX9.2zdjA1Tiiib1.wvseS0NGgvg cdfx4CG1xaKcvD6TjKj9K3s.jSaDZYZri.CX3ab.OIt3yv25hljGSPU1H_3d wzZQkYOObq5qSyK1jLwaJYuW05odPayqLaHGEkgELU39Z X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf Subject: Re: svn commit: r316613 - in stable/11/lib/libc: gen iconv net regex rpc stdio stdlib To: rgrimes@freebsd.org References: <201704080019.v380JEI1057396@pdx.rh.CN85.dnsmgr.net> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org From: Pedro Giffuni Organization: FreeBSD Project Message-ID: Date: Fri, 7 Apr 2017 20:39:43 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <201704080019.v380JEI1057396@pdx.rh.CN85.dnsmgr.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 01:39:57 -0000 Hello; On 7/4/2017 19:19, Rodney W. Grimes wrote: > [ Charset UTF-8 unsupported, converting... ] >> ... >> @@ -306,8 +306,8 @@ __enlarge_env(void) >> envVarsTotal++; >> if (envVarsTotal > envVarsSize) { >> newEnvVarsSize = envVarsTotal * 2; >> - tmpEnvVars = realloc(envVars, sizeof (*envVars) * >> - newEnvVarsSize); >> + tmpEnvVars = reallocarray(envVars, newEnvVarsSize, >> + sizeof(*envVars)); >> if (tmpEnvVars == NULL) { >> envVarsTotal--; >> return (false); >> >> > I am not sure, but isnt this a code pessimization as you now push > an extra arg on the stack, and also remove the possiblity of compile > time const calculation of foo * bar? > The implementation is simply a bounds-check around realloc(). I guess you could compare it with the result and effects of using calloc (a, b) instead of malloc (a*b) and a memset. Oh, it *is* a pessimization, but it is insignificant, and it happens at the precise but rare time when something rather important (memory allocation) is about to happen. In a world full of malicious users that are actually looking for new ways to cause such overflows I think it's a pretty cheap price to pay. I have stopped extending it through the tree for now due to 2 issues: - Portability, it has been adopted by all the BSDs, newlib, and even illumos so it's less of an issue but perhaps it's better to wait some more. - Compiler bugs: clang generated broken code when I tried to use it in libpam so I ended up reverting it (r315164). I can't really investigate it or hunt down other places where it may happen but it appears to happen only when one of the parameters is signed! Pedro. From owner-svn-src-all@freebsd.org Sat Apr 8 04:34:20 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3355FD34A85; Sat, 8 Apr 2017 04:34:20 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 03A61BE4; Sat, 8 Apr 2017 04:34:19 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v384YJA2045539; Sat, 8 Apr 2017 04:34:19 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v384YJUB045538; Sat, 8 Apr 2017 04:34:19 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <201704080434.v384YJUB045538@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 8 Apr 2017 04:34:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316630 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 04:34:20 -0000 Author: pkelsey Date: Sat Apr 8 04:34:18 2017 New Revision: 316630 URL: https://svnweb.freebsd.org/changeset/base/316630 Log: Fix typo. hist -> hint MFC after: 3 days Modified: head/sys/sys/event.h Modified: head/sys/sys/event.h ============================================================================== --- head/sys/sys/event.h Fri Apr 7 23:37:22 2017 (r316629) +++ head/sys/sys/event.h Sat Apr 8 04:34:18 2017 (r316630) @@ -173,7 +173,7 @@ struct knlist { #define KNF_LISTLOCKED 0x0001 /* knlist is locked */ #define KNF_NOKQLOCK 0x0002 /* do not keep KQ_LOCK */ -#define KNOTE(list, hist, flags) knote(list, hist, flags) +#define KNOTE(list, hint, flags) knote(list, hint, flags) #define KNOTE_LOCKED(list, hint) knote(list, hint, KNF_LISTLOCKED) #define KNOTE_UNLOCKED(list, hint) knote(list, hint, 0) From owner-svn-src-all@freebsd.org Sat Apr 8 04:37:02 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 42ADED34C7D; Sat, 8 Apr 2017 04:37:02 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 14D76E00; Sat, 8 Apr 2017 04:37:02 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v384b1TN045696; Sat, 8 Apr 2017 04:37:01 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v384b1aB045695; Sat, 8 Apr 2017 04:37:01 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <201704080437.v384b1aB045695@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 8 Apr 2017 04:37:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316631 - head/sys/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 04:37:02 -0000 Author: pkelsey Date: Sat Apr 8 04:37:01 2017 New Revision: 316631 URL: https://svnweb.freebsd.org/changeset/base/316631 Log: Fix typo in comment. logest -> longest MFC after: 3 days Modified: head/sys/net/rtsock.c Modified: head/sys/net/rtsock.c ============================================================================== --- head/sys/net/rtsock.c Sat Apr 8 04:34:18 2017 (r316630) +++ head/sys/net/rtsock.c Sat Apr 8 04:37:01 2017 (r316631) @@ -728,7 +728,7 @@ route_output(struct mbuf *m, struct sock if (info.rti_info[RTAX_NETMASK] == NULL && rtm->rtm_type == RTM_GET) { /* - * Provide logest prefix match for + * Provide longest prefix match for * address lookup (no mask). * 'route -n get addr' */ From owner-svn-src-all@freebsd.org Sat Apr 8 04:41:48 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5665CD34048; Sat, 8 Apr 2017 04:41:48 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2359E2D7; Sat, 8 Apr 2017 04:41:48 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v384fl0W048036; Sat, 8 Apr 2017 04:41:47 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v384flGA048035; Sat, 8 Apr 2017 04:41:47 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <201704080441.v384flGA048035@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 8 Apr 2017 04:41:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316632 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 04:41:48 -0000 Author: pkelsey Date: Sat Apr 8 04:41:46 2017 New Revision: 316632 URL: https://svnweb.freebsd.org/changeset/base/316632 Log: Fixed typo. CSUM_COALESED -> CSUM_COALESCED MFC after: 3 days Modified: head/sys/sys/mbuf.h Modified: head/sys/sys/mbuf.h ============================================================================== --- head/sys/sys/mbuf.h Sat Apr 8 04:37:01 2017 (r316631) +++ head/sys/sys/mbuf.h Sat Apr 8 04:41:46 2017 (r316632) @@ -484,7 +484,7 @@ void sf_ext_free_nocache(void *, void *) #define CSUM_L4_VALID 0x08000000 /* checksum is correct */ #define CSUM_L5_CALC 0x10000000 /* calculated layer 5 csum */ #define CSUM_L5_VALID 0x20000000 /* checksum is correct */ -#define CSUM_COALESED 0x40000000 /* contains merged segments */ +#define CSUM_COALESCED 0x40000000 /* contains merged segments */ /* * CSUM flag description for use with printf(9) %b identifier. @@ -495,7 +495,7 @@ void sf_ext_free_nocache(void *, void *) "\12CSUM_IP6_UDP\13CSUM_IP6_TCP\14CSUM_IP6_SCTP\15CSUM_IP6_TSO" \ "\16CSUM_IP6_ISCSI" \ "\31CSUM_L3_CALC\32CSUM_L3_VALID\33CSUM_L4_CALC\34CSUM_L4_VALID" \ - "\35CSUM_L5_CALC\36CSUM_L5_VALID\37CSUM_COALESED" + "\35CSUM_L5_CALC\36CSUM_L5_VALID\37CSUM_COALESCED" /* CSUM flags compatibility mappings. */ #define CSUM_IP_CHECKED CSUM_L3_CALC From owner-svn-src-all@freebsd.org Sat Apr 8 04:45:53 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 68EF6D34219; Sat, 8 Apr 2017 04:45:53 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3AD987CB; Sat, 8 Apr 2017 04:45:53 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v384jqaf049852; Sat, 8 Apr 2017 04:45:52 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v384jqGU049851; Sat, 8 Apr 2017 04:45:52 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <201704080445.v384jqGU049851@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 8 Apr 2017 04:45:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316633 - head/sys/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 04:45:53 -0000 Author: pkelsey Date: Sat Apr 8 04:45:52 2017 New Revision: 316633 URL: https://svnweb.freebsd.org/changeset/base/316633 Log: Fixed typo in comment. patckets -> packets MFC after: 3 days Modified: head/sys/net/if_epair.c Modified: head/sys/net/if_epair.c ============================================================================== --- head/sys/net/if_epair.c Sat Apr 8 04:41:46 2017 (r316632) +++ head/sys/net/if_epair.c Sat Apr 8 04:45:52 2017 (r316633) @@ -402,7 +402,7 @@ epair_start_locked(struct ifnet *ifp) return; /* - * We get patckets here from ether_output via if_handoff() + * We get packets here from ether_output via if_handoff() * and ned to put them into the input queue of the oifp * and call oifp->if_input() via netisr/epair_sintr(). */ From owner-svn-src-all@freebsd.org Sat Apr 8 04:50:51 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0266D34402; Sat, 8 Apr 2017 04:50:51 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9FC54A0C; Sat, 8 Apr 2017 04:50:51 +0000 (UTC) (envelope-from pkelsey@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v384oohf050103; Sat, 8 Apr 2017 04:50:50 GMT (envelope-from pkelsey@FreeBSD.org) Received: (from pkelsey@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v384oos1050102; Sat, 8 Apr 2017 04:50:50 GMT (envelope-from pkelsey@FreeBSD.org) Message-Id: <201704080450.v384oos1050102@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pkelsey set sender to pkelsey@FreeBSD.org using -f From: Patrick Kelsey Date: Sat, 8 Apr 2017 04:50:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316634 - head/sys/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 04:50:51 -0000 Author: pkelsey Date: Sat Apr 8 04:50:50 2017 New Revision: 316634 URL: https://svnweb.freebsd.org/changeset/base/316634 Log: Fixed typo in comment found while reading commit email for fix of other typo in same comment. ned -> need MFC after: 3 days Modified: head/sys/net/if_epair.c Modified: head/sys/net/if_epair.c ============================================================================== --- head/sys/net/if_epair.c Sat Apr 8 04:45:52 2017 (r316633) +++ head/sys/net/if_epair.c Sat Apr 8 04:50:50 2017 (r316634) @@ -403,7 +403,7 @@ epair_start_locked(struct ifnet *ifp) /* * We get packets here from ether_output via if_handoff() - * and ned to put them into the input queue of the oifp + * and need to put them into the input queue of the oifp * and call oifp->if_input() via netisr/epair_sintr(). */ oifp = sc->oifp; From owner-svn-src-all@freebsd.org Sat Apr 8 06:39:15 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 259DFD33B05; Sat, 8 Apr 2017 06:39:15 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EA097312; Sat, 8 Apr 2017 06:39:14 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v386dEf0095139; Sat, 8 Apr 2017 06:39:14 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v386dETt095138; Sat, 8 Apr 2017 06:39:14 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201704080639.v386dETt095138@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sat, 8 Apr 2017 06:39:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316635 - head/lib/libz X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 06:39:15 -0000 Author: delphij Date: Sat Apr 8 06:39:13 2017 New Revision: 316635 URL: https://svnweb.freebsd.org/changeset/base/316635 Log: Enable 16-bit longest_match for x86. This gives a ~2% improvement in compression tests. MFC after: 2 weeks Modified: head/lib/libz/Makefile Modified: head/lib/libz/Makefile ============================================================================== --- head/lib/libz/Makefile Sat Apr 8 04:50:50 2017 (r316634) +++ head/lib/libz/Makefile Sat Apr 8 06:39:13 2017 (r316635) @@ -40,19 +40,9 @@ SRCS+= uncompr.c SRCS+= zopen.c SRCS+= zutil.c -#.if ${MACHINE_ARCH} == "i386" && ${MACHINE_CPU:M*i686*} -#.PATH: ${ZLIBSRC}/contrib/asm686 -#SRCS+= match.S -#CFLAGS+= -DASMV -DNO_UNDERLINE -#ACFLAGS+= -Wa,--noexecstack -#.endif - -#.if ${MACHINE_ARCH} == "amd64" -#.PATH: ${ZLIBSRC}/contrib/gcc_gvmat64 -#SRCS+= gvmat64.S -#CFLAGS+= -DASMV -DNO_UNDERLINE -#ACFLAGS+= -Wa,--noexecstack -#.endif +.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64 +CFLAGS+= -DUNALIGNED_OK +.endif VERSION_DEF= ${.CURDIR}/Versions.def SYMBOL_MAPS= ${.CURDIR}/Symbol.map From owner-svn-src-all@freebsd.org Sat Apr 8 08:24:26 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DA3A2D34963; Sat, 8 Apr 2017 08:24:26 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 90B1FA12; Sat, 8 Apr 2017 08:24:26 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v388OPQE040855; Sat, 8 Apr 2017 08:24:25 GMT (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v388OP39040852; Sat, 8 Apr 2017 08:24:25 GMT (envelope-from bde@FreeBSD.org) Message-Id: <201704080824.v388OP39040852@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bde set sender to bde@FreeBSD.org using -f From: Bruce Evans Date: Sat, 8 Apr 2017 08:24:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316636 - head/sys/dev/syscons X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 08:24:27 -0000 Author: bde Date: Sat Apr 8 08:24:25 2017 New Revision: 316636 URL: https://svnweb.freebsd.org/changeset/base/316636 Log: Fix removal of the keyboard cursor image in text mode, especially in the vga renderer. Removal used stale attributes and didn't try to merge with the current attribute for cut marking, so special rendering of cut marking was lost in many cases. The gfb renderer is too broken to support special rendering of cut marking at all, so this change is supposed to be just a style fix for it. Remove all traces of the saveunder method which was used to implement this bug. Fix drawing of the cursor image in text mode, only in the vga renderer. This used a stale attribute from the frame buffer instead of from the saveunder, but did merge with the current attribute for cut marking so it caused less obvious bugs (subtle misrendering for the character under the cursor). The saveunder method may be good in simpler drivers, but in syscons the 'under' is already saved in a better way in the vtb. Just redraw it from there, with visible complications for cut marking and invisible complications for mouse cursors. Almost all drawing requests are passed a flag 'flip' which currently means to flip to reverse video for characters in the cut marking region, but should mean that the the characters are in the cut marking regions so should be rendered specially, preferably using something better than reverse video. The gfb renderer always ignores this flag. The vga renderer ignored it for removal of the text cursor -- the saveunder gave the stale rendering at the time the cursor was drawn. Mouse cursors need even more complicated methods. They are handled by drawing them last and removing them first. Removing them usually redraws many other characters with the correct cut marking (but transiently loses the keyboard cursor, which is redrawn soon). This tended to hide the saveunder bug for forward motions of the keyboard cursor. But slow backward motions of the keyboard cursor always lost the cut marking, and fast backwards motions lost in for about 4 in every 5 characters, depending on races with the scrn_update() timeout handler. This is because the forward motions are usually into the region redrawn for the mouse cursor, while backwards motions rarely are. Text cursor drawing in the vga renderer used also used a possibly-stale copy of the character and its attribute. The vga render has the "optimization" of sometimes reading characters from the screen instead of from the vtb (this was not so good even in 1990 when main memory was only a few times faster than video RAM). Due to care in update orders, the character is never stale, but its attribute might be (just the cut marking part, again due to care in order). gfb doesn't have the scp->scr pointer used for the "optimization", and vga only uses this pointer for text mode. So most cases have to refresh from the vtb, and we can be sure that the ordering of vtb updates and drawing is as required for this to work. Modified: head/sys/dev/syscons/scgfbrndr.c head/sys/dev/syscons/scvgarndr.c head/sys/dev/syscons/syscons.h Modified: head/sys/dev/syscons/scgfbrndr.c ============================================================================== --- head/sys/dev/syscons/scgfbrndr.c Sat Apr 8 06:39:13 2017 (r316635) +++ head/sys/dev/syscons/scgfbrndr.c Sat Apr 8 08:24:25 2017 (r316636) @@ -271,13 +271,11 @@ gfb_cursor(scr_stat *scp, int at, int bl c = sc_vtb_getc(&scp->vtb, at); vidd_putc(scp->sc->adp, at, c, (a >> 4) | ((a & 0xf) << 4)); - scp->cursor_saveunder_attr = a; - scp->cursor_saveunder_char = c; } else { if (scp->status & VR_CURSOR_ON) vidd_putc(scp->sc->adp, at, - scp->cursor_saveunder_char, - scp->cursor_saveunder_attr); + sc_vtb_getc(&scp->vtb, at), + sc_vtb_geta(&scp->vtb, at) >> 8); scp->status &= ~VR_CURSOR_ON; } } Modified: head/sys/dev/syscons/scvgarndr.c ============================================================================== --- head/sys/dev/syscons/scvgarndr.c Sat Apr 8 06:39:13 2017 (r316635) +++ head/sys/dev/syscons/scvgarndr.c Sat Apr 8 08:24:25 2017 (r316636) @@ -294,8 +294,6 @@ draw_txtcharcursor(scr_stat *scp, int at sc_softc_t *sc; sc = scp->sc; - scp->cursor_saveunder_char = c; - scp->cursor_saveunder_attr = a; #ifndef SC_NO_FONT_LOADING if (scp->curs_attr.flags & CONS_CHAR_CURSOR) { @@ -372,18 +370,18 @@ vga_txtcursor(scr_stat *scp, int at, int if (on) { scp->status |= VR_CURSOR_ON; draw_txtcharcursor(scp, at, - sc_vtb_getc(&scp->scr, at), - sc_vtb_geta(&scp->scr, at), + sc_vtb_getc(&scp->vtb, at), + sc_vtb_geta(&scp->vtb, at), flip); } else { - cursor_attr = scp->cursor_saveunder_attr; + cursor_attr = sc_vtb_geta(&scp->vtb, at); if (flip) cursor_attr = (cursor_attr & 0x8800) | ((cursor_attr & 0x7000) >> 4) | ((cursor_attr & 0x0700) << 4); if (scp->status & VR_CURSOR_ON) sc_vtb_putc(&scp->scr, at, - scp->cursor_saveunder_char, + sc_vtb_getc(&scp->vtb, at), cursor_attr); scp->status &= ~VR_CURSOR_ON; } Modified: head/sys/dev/syscons/syscons.h ============================================================================== --- head/sys/dev/syscons/syscons.h Sat Apr 8 06:39:13 2017 (r316635) +++ head/sys/dev/syscons/syscons.h Sat Apr 8 08:24:25 2017 (r316636) @@ -312,8 +312,6 @@ typedef struct scr_stat { int cursor_pos; /* cursor buffer position */ int cursor_oldpos; /* cursor old buffer position */ - u_short cursor_saveunder_char; /* saved char under cursor */ - u_short cursor_saveunder_attr; /* saved attr under cursor */ struct cursor_attr dflt_curs_attr; struct cursor_attr curr_curs_attr; struct cursor_attr curs_attr; From owner-svn-src-all@freebsd.org Sat Apr 8 08:41:06 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 94D4CD34C41; Sat, 8 Apr 2017 08:41:06 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4D1B4F50; Sat, 8 Apr 2017 08:41:06 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v388f5f4045220; Sat, 8 Apr 2017 08:41:05 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v388f5lD045218; Sat, 8 Apr 2017 08:41:05 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201704080841.v388f5lD045218@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sat, 8 Apr 2017 08:41:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316637 - head/usr.bin/sdiff X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 08:41:06 -0000 Author: bapt Date: Sat Apr 8 08:41:05 2017 New Revision: 316637 URL: https://svnweb.freebsd.org/changeset/base/316637 Log: When passingthrough from sdiff to diff the -H/--speed-large-files options rename it to the long version as GNU diff only support the long version of the option not the short version Modified: head/usr.bin/sdiff/sdiff.1 head/usr.bin/sdiff/sdiff.c Modified: head/usr.bin/sdiff/sdiff.1 ============================================================================== --- head/usr.bin/sdiff/sdiff.1 Sat Apr 8 08:24:25 2017 (r316636) +++ head/usr.bin/sdiff/sdiff.1 Sat Apr 8 08:41:05 2017 (r316637) @@ -4,7 +4,7 @@ .\" Written by Raymond Lai . .\" Public domain. .\" -.Dd $Mdocdate: July 5 2012 $ +.Dd April 8, 2017 .Dt SDIFF 1 .Os .Sh NAME @@ -12,7 +12,7 @@ .Nd side-by-side diff .Sh SYNOPSIS .Nm -.Op Fl abdilstW +.Op Fl abdilstHW .Op Fl I Ar regexp .Op Fl o Ar outfile .Op Fl w Ar width Modified: head/usr.bin/sdiff/sdiff.c ============================================================================== --- head/usr.bin/sdiff/sdiff.c Sat Apr 8 08:24:25 2017 (r316636) +++ head/usr.bin/sdiff/sdiff.c Sat Apr 8 08:41:05 2017 (r316637) @@ -259,7 +259,6 @@ main(int argc, char **argv) case 'E': case 'i': case 't': - case 'H': case 'W': for(popt = longopts; ch != popt->val && popt->name != NULL; popt++); diffargv[1] = realloc(diffargv[1], sizeof(char) * strlen(diffargv[1]) + 2); @@ -271,6 +270,9 @@ main(int argc, char **argv) else sprintf(diffargv[1], "%s%c", diffargv[1], ch); break; + case 'H': + diffargv[diffargc++] = "--speed-large-files"; + break; case DIFFPROG_OPT: diffargv[0] = diffprog = optarg; break; @@ -1151,7 +1153,7 @@ usage(void) { fprintf(stderr, - "usage: sdiff [-abdilstW] [-I regexp] [-o outfile] [-w width] file1" + "usage: sdiff [-abdilstHW] [-I regexp] [-o outfile] [-w width] file1" " file2\n"); exit(2); } From owner-svn-src-all@freebsd.org Sat Apr 8 08:42:26 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 818EBD34DF7; Sat, 8 Apr 2017 08:42:26 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 520EF31B; Sat, 8 Apr 2017 08:42:26 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v388gPBP048267; Sat, 8 Apr 2017 08:42:25 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v388gPBk048266; Sat, 8 Apr 2017 08:42:25 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201704080842.v388gPBk048266@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sat, 8 Apr 2017 08:42:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316638 - head/usr.bin/sdiff X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 08:42:26 -0000 Author: bapt Date: Sat Apr 8 08:42:25 2017 New Revision: 316638 URL: https://svnweb.freebsd.org/changeset/base/316638 Log: Remove a useless loop over the long options before passing through some options to diff(1) Modified: head/usr.bin/sdiff/sdiff.c Modified: head/usr.bin/sdiff/sdiff.c ============================================================================== --- head/usr.bin/sdiff/sdiff.c Sat Apr 8 08:41:05 2017 (r316637) +++ head/usr.bin/sdiff/sdiff.c Sat Apr 8 08:42:25 2017 (r316638) @@ -213,7 +213,6 @@ main(int argc, char **argv) int ch, fd[2] = {-1}, status; pid_t pid=0; const char *outfile = NULL; - struct option *popt; char **diffargv, *diffprog = DIFF_PATH, *filename1, *filename2, *tmp1, *tmp2, *s1, *s2; int i; @@ -260,7 +259,6 @@ main(int argc, char **argv) case 'i': case 't': case 'W': - for(popt = longopts; ch != popt->val && popt->name != NULL; popt++); diffargv[1] = realloc(diffargv[1], sizeof(char) * strlen(diffargv[1]) + 2); /* * In diff, the 'W' option is 'w' and the 'w' is 'W'. From owner-svn-src-all@freebsd.org Sat Apr 8 08:46:04 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 04A0AD34E82; Sat, 8 Apr 2017 08:46:04 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B11136C7; Sat, 8 Apr 2017 08:46:03 +0000 (UTC) (envelope-from bapt@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v388k2jp049196; Sat, 8 Apr 2017 08:46:02 GMT (envelope-from bapt@FreeBSD.org) Received: (from bapt@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v388k2ke049194; Sat, 8 Apr 2017 08:46:02 GMT (envelope-from bapt@FreeBSD.org) Message-Id: <201704080846.v388k2ke049194@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bapt set sender to bapt@FreeBSD.org using -f From: Baptiste Daroussin Date: Sat, 8 Apr 2017 08:46:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316639 - head/usr.bin/diff X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 08:46:04 -0000 Author: bapt Date: Sat Apr 8 08:46:02 2017 New Revision: 316639 URL: https://svnweb.freebsd.org/changeset/base/316639 Log: add a stub --speed-large-files for compatibility with GNU diff There is no intention to implement it, but lots of scripts/tools using diff(1) passes GNU diff option Modified: head/usr.bin/diff/diff.1 head/usr.bin/diff/diff.c Modified: head/usr.bin/diff/diff.1 ============================================================================== --- head/usr.bin/diff/diff.1 Sat Apr 8 08:42:25 2017 (r316638) +++ head/usr.bin/diff/diff.1 Sat Apr 8 08:46:02 2017 (r316639) @@ -30,7 +30,7 @@ .\" @(#)diff.1 8.1 (Berkeley) 6/30/93 .\" $FreeBSD$ .\" -.Dd March 22, 2017 +.Dd April 8, 2017 .Dt DIFF 1 .Os .Sh NAME @@ -57,6 +57,7 @@ .Op Fl -rcs .Op Fl -show-c-function .Op Fl -starting-file +.Op Fl -speed-large-files .Op Fl -strip-trailing-cr .Op Fl -tabsize .Op Fl -text @@ -82,6 +83,7 @@ .Op Fl -paginate .Op Fl -rcs .Op Fl -show-c-function +.Op Fl -speed-large-files .Op Fl -starting-file .Op Fl -strip-trailing-cr .Op Fl -tabsize @@ -105,6 +107,7 @@ .Op Fl -paginate .Op Fl -rcs .Op Fl -show-c-function +.Op Fl -speed-large-files .Op Fl -starting-file .Op Fl -strip-trailing-cr .Op Fl -tabsize @@ -129,6 +132,7 @@ .Op Fl -paginate .Op Fl -rcs .Op Fl -show-c-function +.Op Fl -speed-large-files .Op Fl -starting-file .Op Fl -strip-trailing-cr .Op Fl -tabsize @@ -159,6 +163,7 @@ .Op Fl -recursive .Op Fl -report-identical-files .Op Fl -show-c-function +.Op Fl -speed-large-files .Op Fl -strip-trailing-cr .Op Fl -tabsize .Op Fl -text Modified: head/usr.bin/diff/diff.c ============================================================================== --- head/usr.bin/diff/diff.c Sat Apr 8 08:42:25 2017 (r316638) +++ head/usr.bin/diff/diff.c Sat Apr 8 08:46:02 2017 (r316639) @@ -55,6 +55,7 @@ enum { OPT_NO_IGN_FN_CASE, OPT_NORMAL, OPT_HORIZON_LINES, + OPT_SPEED_LARGE_FILES, }; static struct option longopts[] = { @@ -87,6 +88,7 @@ static struct option longopts[] = { { "horizon-lines", required_argument, NULL, OPT_HORIZON_LINES }, { "no-ignore-file-name-case", no_argument, NULL, OPT_NO_IGN_FN_CASE }, { "normal", no_argument, NULL, OPT_NORMAL }, + { "speed-large-files", no_argument, NULL, OPT_SPEED_LARGE_FILES}, { "strip-trailing-cr", no_argument, NULL, OPT_STRIPCR }, { "tabsize", optional_argument, NULL, OPT_TSIZE }, { NULL, 0, 0, '\0'} @@ -245,6 +247,8 @@ main(int argc, char **argv) usage(); } break; + case OPT_SPEED_LARGE_FILES: + break; /* ignore but needed for compatibility with GNU diff */ case OPT_STRIPCR: dflags |= D_STRIPCR; break; From owner-svn-src-all@freebsd.org Sat Apr 8 09:48:22 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 62F49D33A17; Sat, 8 Apr 2017 09:48:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 323DBBFF; Sat, 8 Apr 2017 09:48:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v389mLWu074553; Sat, 8 Apr 2017 09:48:21 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v389mLvH074552; Sat, 8 Apr 2017 09:48:21 GMT (envelope-from kp@FreeBSD.org) Message-Id: <201704080948.v389mLvH074552@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Sat, 8 Apr 2017 09:48:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r316640 - stable/11/sys/netpfil/pf X-SVN-Group: stable-11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 09:48:22 -0000 Author: kp Date: Sat Apr 8 09:48:21 2017 New Revision: 316640 URL: https://svnweb.freebsd.org/changeset/base/316640 Log: MFC r316355 pf: Fix leak of pf_state_keys If we hit the state limit we returned from pf_create_state() without cleaning up. PR: 217997 Submitted by: Max Modified: stable/11/sys/netpfil/pf/pf.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/netpfil/pf/pf.c ============================================================================== --- stable/11/sys/netpfil/pf/pf.c Sat Apr 8 08:46:02 2017 (r316639) +++ stable/11/sys/netpfil/pf/pf.c Sat Apr 8 09:48:21 2017 (r316640) @@ -3547,7 +3547,7 @@ pf_create_state(struct pf_rule *r, struc (counter_u64_fetch(r->states_cur) >= r->max_states)) { counter_u64_add(V_pf_status.lcounters[LCNT_STATES], 1); REASON_SET(&reason, PFRES_MAXSTATES); - return (PF_DROP); + goto csfailed; } /* src node for filter rule */ if ((r->rule_flag & PFRULE_SRCTRACK || From owner-svn-src-all@freebsd.org Sat Apr 8 09:49:22 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 98A26D33B8E; Sat, 8 Apr 2017 09:49:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6A6EBE95; Sat, 8 Apr 2017 09:49:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v389nLl5074781; Sat, 8 Apr 2017 09:49:21 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v389nL0r074780; Sat, 8 Apr 2017 09:49:21 GMT (envelope-from kp@FreeBSD.org) Message-Id: <201704080949.v389nL0r074780@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Sat, 8 Apr 2017 09:49:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r316641 - stable/10/sys/netpfil/pf X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 09:49:22 -0000 Author: kp Date: Sat Apr 8 09:49:21 2017 New Revision: 316641 URL: https://svnweb.freebsd.org/changeset/base/316641 Log: MFC r316355 pf: Fix leak of pf_state_keys If we hit the state limit we returned from pf_create_state() without cleaning up. PR: 217997 Submitted by: Max Modified: stable/10/sys/netpfil/pf/pf.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/netpfil/pf/pf.c ============================================================================== --- stable/10/sys/netpfil/pf/pf.c Sat Apr 8 09:48:21 2017 (r316640) +++ stable/10/sys/netpfil/pf/pf.c Sat Apr 8 09:49:21 2017 (r316641) @@ -3522,7 +3522,7 @@ pf_create_state(struct pf_rule *r, struc (counter_u64_fetch(r->states_cur) >= r->max_states)) { counter_u64_add(V_pf_status.lcounters[LCNT_STATES], 1); REASON_SET(&reason, PFRES_MAXSTATES); - return (PF_DROP); + goto csfailed; } /* src node for filter rule */ if ((r->rule_flag & PFRULE_SRCTRACK || From owner-svn-src-all@freebsd.org Sat Apr 8 10:00:40 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B3B38D30252; Sat, 8 Apr 2017 10:00:40 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7685195D; Sat, 8 Apr 2017 10:00:40 +0000 (UTC) (envelope-from bde@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v38A0dpM078785; Sat, 8 Apr 2017 10:00:39 GMT (envelope-from bde@FreeBSD.org) Received: (from bde@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v38A0dBU078784; Sat, 8 Apr 2017 10:00:39 GMT (envelope-from bde@FreeBSD.org) Message-Id: <201704081000.v38A0dBU078784@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bde set sender to bde@FreeBSD.org using -f From: Bruce Evans Date: Sat, 8 Apr 2017 10:00:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316642 - head/sys/dev/syscons X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 10:00:40 -0000 Author: bde Date: Sat Apr 8 10:00:39 2017 New Revision: 316642 URL: https://svnweb.freebsd.org/changeset/base/316642 Log: Quick fix for removal of the mouse cursor in vga direct graphics modes (that is, in all supported 8, 15, 16 and 24-color modes). Moving the mouse cursor while holding down a button (giving cut marking) left a trail of garbage from misremoved mouse cursors (usually colored rectangles and not cursor shapes). Cases with a button not held down worked better and may even have worked. No renderer support for removing (software) mouse cursors is needed (and many renderers don't have any), since sc_remove_mouse_image() marks for update the region containing the image and usually much more. The mouse cursor can be (partially) over as many as 4 character cells, and removing it in only the 1-4 cells occupied by it would be best for efficiency and for avoiding flicker. However, sc_remove_mouse_image() can only mark a single linear region and usually marks a full row of cells and 1 more to be sure to cover the 4 cells. It always does this, so using the special rendering method just wastes even more time and gives even more flicker. The special methods will be removed soon. The general method always works. vga_pxlmouse_direct() appeared to defer to it by returning immediately if !on. However, vga_pxlmouse_direct() actually did foot-shooting using a disguised saveunder method. Normal order near a mouse move is: (1) remove the mouse cursor in the renderer (optional) (2) remove the mouse cursor again and refresh the screen over the mouse cursor and much more from the vtb. When the mouse has actually moved and a button is down, many attributes in this region are changed to be up to date with the new cut marking (3) draw the keyboard cursor again if it was clobbered by the update (4) draw the mouse cursor image in its new position. The bug was to remove the mouse cursor again in step (4), before the drawing it again in (4), using a saveunder that was valid in step (1) at best. The quick fix is to use the saveunder in step (1) and not in step (4). Using it in step (4) also used it before it was initialized, initially and after mode and screen switches. Modified: head/sys/dev/syscons/scvgarndr.c Modified: head/sys/dev/syscons/scvgarndr.c ============================================================================== --- head/sys/dev/syscons/scvgarndr.c Sat Apr 8 09:49:21 2017 (r316641) +++ head/sys/dev/syscons/scvgarndr.c Sat Apr 8 10:00:39 2017 (r316642) @@ -1167,9 +1167,6 @@ vga_pxlmouse_direct(scr_stat *scp, int x uint8_t *u8; int bpp; - if (!on) - return; - bpp = scp->sc->adp->va_info.vi_depth; if ((bpp == 16) && (scp->sc->adp->va_info.vi_pixel_fsizes[1] == 5)) @@ -1181,6 +1178,9 @@ vga_pxlmouse_direct(scr_stat *scp, int x xend = imin(x + 16, scp->xpixel); yend = imin(y + 16, scp->ypixel); + if (on) + goto do_on; + p = scp->sc->adp->va_window + y_old * line_width + x_old * pixel_size; for (i = 0; i < (yend_old - y_old); i++) { @@ -1205,7 +1205,9 @@ vga_pxlmouse_direct(scr_stat *scp, int x p += line_width; } + return; +do_on: p = scp->sc->adp->va_window + y * line_width + x * pixel_size; for (i = 0; i < (yend - y); i++) { From owner-svn-src-all@freebsd.org Sat Apr 8 14:16:43 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6BECBD334AE; Sat, 8 Apr 2017 14:16:43 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3E31E85; Sat, 8 Apr 2017 14:16:43 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v38EGgl3088252; Sat, 8 Apr 2017 14:16:42 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v38EGglS088251; Sat, 8 Apr 2017 14:16:42 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201704081416.v38EGglS088251@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Sat, 8 Apr 2017 14:16:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316643 - head/sys/x86/x86 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 14:16:43 -0000 Author: avg Date: Sat Apr 8 14:16:42 2017 New Revision: 316643 URL: https://svnweb.freebsd.org/changeset/base/316643 Log: use msr 0xc001100c to discover multi-node AMD processors This is applicable only to the older processors that do not have the AMD Topology extension. Opteron 6100-series "Magny-Cours" processors had multiple nodes within a package and didn't have the Topology extension. Without this change FreeBSD would assume that those processors have a single L3 cache shared by all cores while, in fact, each node has its own L3 cache. Many thanks to Freddie Cash for providing valuable hardware information. MFC after: 2 weeks Modified: head/sys/x86/x86/mp_x86.c Modified: head/sys/x86/x86/mp_x86.c ============================================================================== --- head/sys/x86/x86/mp_x86.c Sat Apr 8 10:00:39 2017 (r316642) +++ head/sys/x86/x86/mp_x86.c Sat Apr 8 14:16:42 2017 (r316643) @@ -236,7 +236,9 @@ static void topo_probe_amd(void) { u_int p[4]; + uint64_t v; int level; + int nodes_per_socket; int share_count; int type; int i; @@ -295,13 +297,18 @@ topo_probe_amd(void) caches[1].present = 1; } if (((p[3] >> 18) & 0x3fff) != 0) { - - /* - * TODO: Account for dual-node processors - * where each node within a package has its own - * L3 cache. - */ - caches[2].id_shift = pkg_id_shift; + nodes_per_socket = 1; + if ((amd_feature2 & AMDID2_NODE_ID) != 0) { + /* + * Handle multi-node processors that + * have multiple chips, each with its + * own L3 cache, on the same die. + */ + v = rdmsr(0xc001100c); + nodes_per_socket = 1 + ((v >> 3) & 0x7); + } + caches[2].id_shift = + pkg_id_shift - mask_width(nodes_per_socket); caches[2].present = 1; } } From owner-svn-src-all@freebsd.org Sat Apr 8 14:41:40 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AEBCBD33F2F; Sat, 8 Apr 2017 14:41:40 +0000 (UTC) (envelope-from avatar@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 722CCF74; Sat, 8 Apr 2017 14:41:40 +0000 (UTC) (envelope-from avatar@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v38Efdch099245; Sat, 8 Apr 2017 14:41:39 GMT (envelope-from avatar@FreeBSD.org) Received: (from avatar@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v38Efdb1099242; Sat, 8 Apr 2017 14:41:39 GMT (envelope-from avatar@FreeBSD.org) Message-Id: <201704081441.v38Efdb1099242@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avatar set sender to avatar@FreeBSD.org using -f From: Tai-hwa Liang Date: Sat, 8 Apr 2017 14:41:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316644 - in head/sys: amd64/linux amd64/linux32 i386/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 14:41:40 -0000 Author: avatar Date: Sat Apr 8 14:41:39 2017 New Revision: 316644 URL: https://svnweb.freebsd.org/changeset/base/316644 Log: Trying to be more compatible with Linux if.h definitions: - renaming l_ifreq::ifru_metric to l_ifreq::ifru_ivalue; - adding a definition for ifr_ifindex which points to l_ifreq::ifru_ivalue. A quick search indicates that Linux already got the above changes since 2.1.14. Reviewed by: kib, marcel, dchagin MFC after: 1 week Modified: head/sys/amd64/linux/linux.h head/sys/amd64/linux32/linux.h head/sys/i386/linux/linux.h Modified: head/sys/amd64/linux/linux.h ============================================================================== --- head/sys/amd64/linux/linux.h Sat Apr 8 14:16:42 2017 (r316643) +++ head/sys/amd64/linux/linux.h Sat Apr 8 14:41:39 2017 (r316644) @@ -412,7 +412,7 @@ struct l_ifreq { struct l_sockaddr ifru_netmask; struct l_sockaddr ifru_hwaddr; l_short ifru_flags[1]; - l_int ifru_metric; + l_int ifru_ivalue; l_int ifru_mtu; struct l_ifmap ifru_map; char ifru_slave[LINUX_IFNAMSIZ]; @@ -422,6 +422,7 @@ struct l_ifreq { #define ifr_name ifr_ifrn.ifrn_name /* Interface name */ #define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ +#define ifr_ifindex ifr_ifru.ifru_ivalue /* Interface index */ struct l_ifconf { int ifc_len; Modified: head/sys/amd64/linux32/linux.h ============================================================================== --- head/sys/amd64/linux32/linux.h Sat Apr 8 14:16:42 2017 (r316643) +++ head/sys/amd64/linux32/linux.h Sat Apr 8 14:41:39 2017 (r316644) @@ -503,7 +503,7 @@ struct l_ifreq { struct l_sockaddr ifru_netmask; struct l_sockaddr ifru_hwaddr; l_short ifru_flags[1]; - l_int ifru_metric; + l_int ifru_ivalue; l_int ifru_mtu; struct l_ifmap ifru_map; char ifru_slave[LINUX_IFNAMSIZ]; @@ -513,6 +513,7 @@ struct l_ifreq { #define ifr_name ifr_ifrn.ifrn_name /* Interface name */ #define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ +#define ifr_ifindex ifr_ifru.ifru_ivalue /* Interface index */ struct l_ifconf { int ifc_len; Modified: head/sys/i386/linux/linux.h ============================================================================== --- head/sys/i386/linux/linux.h Sat Apr 8 14:16:42 2017 (r316643) +++ head/sys/i386/linux/linux.h Sat Apr 8 14:41:39 2017 (r316644) @@ -482,7 +482,7 @@ struct l_ifreq { struct l_sockaddr ifru_netmask; struct l_sockaddr ifru_hwaddr; l_short ifru_flags[1]; - l_int ifru_metric; + l_int ifru_ivalue; l_int ifru_mtu; struct l_ifmap ifru_map; char ifru_slave[LINUX_IFNAMSIZ]; @@ -492,6 +492,7 @@ struct l_ifreq { #define ifr_name ifr_ifrn.ifrn_name /* Interface name */ #define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ +#define ifr_ifindex ifr_ifru.ifru_ivalue /* Interface index */ /* * poll() From owner-svn-src-all@freebsd.org Sat Apr 8 16:14:31 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7BCB4D35C42; Sat, 8 Apr 2017 16:14:31 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4C18F24B; Sat, 8 Apr 2017 16:14:31 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v38GEU89037394; Sat, 8 Apr 2017 16:14:30 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v38GEUEI037393; Sat, 8 Apr 2017 16:14:30 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201704081614.v38GEUEI037393@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 8 Apr 2017 16:14:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316645 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 16:14:31 -0000 Author: emaste Date: Sat Apr 8 16:14:30 2017 New Revision: 316645 URL: https://svnweb.freebsd.org/changeset/base/316645 Log: Unconditionally include arm64 in make universe / tinderbox As of r316629 FreeBSD/arm64 uses the in-tree LLD linker by default, and does not require an external an aarch64-binutils port or package. Sponsored by: The FreeBSD Foundation Modified: head/Makefile Modified: head/Makefile ============================================================================== --- head/Makefile Sat Apr 8 14:41:39 2017 (r316644) +++ head/Makefile Sat Apr 8 16:14:30 2017 (r316645) @@ -427,16 +427,6 @@ TARGET_ARCHES_powerpc?= powerpc powerpc6 TARGET_ARCHES_${target}?= ${target} .endfor -# XXX Remove arm64 from universe if the required binutils package is missing. -# It does not build with the in-tree linker. -.if !exists(/usr/local/aarch64-freebsd/bin/ld) && ${TARGETS:Marm64} -_UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:Narm64} -universe: universe_arm64_skip .PHONY -universe_epilogue: universe_arm64_skip .PHONY -universe_arm64_skip: universe_prologue .PHONY - @echo ">> arm64 skipped - install aarch64-binutils port or package to build" -.endif - .if defined(UNIVERSE_TARGET) MAKE_JUST_WORLDS= YES .else From owner-svn-src-all@freebsd.org Sat Apr 8 16:59:31 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 61851D3575A; Sat, 8 Apr 2017 16:59:31 +0000 (UTC) (envelope-from obrien@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3EB5AB81; Sat, 8 Apr 2017 16:59:31 +0000 (UTC) (envelope-from obrien@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 664) id 67ED541A6; Sat, 8 Apr 2017 16:59:30 +0000 (UTC) Date: Sat, 8 Apr 2017 16:59:30 +0000 From: David O'Brien To: "Ngie Cooper (yaneurabeya)" Cc: "David E. O'Brien" , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316591 - head/sys/dev/tpm Message-ID: <20170408165930.GA22358@freefall.freebsd.org> Reply-To: obrien@freebsd.org References: <201704062221.v36MLnr7092648@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: FreeBSD 12.0-CURRENT Organization: The NUXI BSD group X-Pgp-Rsa-Fingerprint: B7 4D 3E E9 11 39 5F A3 90 76 5D 69 58 D9 98 7A X-Pgp-Rsa-Keyid: 1024/34F9F9D5 User-Agent: Mutt/1.7.1 (2016-10-04) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 16:59:31 -0000 On Thu, Apr 06, 2017 at 10:19:48PM -0700, Ngie Cooper (yaneurabeya) wrote: > > On Apr 6, 2017, at 15:21, David E. O'Brien wrote: > Hi David, > I think you meant to delete the other piece of code (__FreeBSD__ is > always defined). Hi Ngie, I removed 100% dead code. This was a block of code that could never be active. The code supported two cases: 1. __FreeBSD__ being defined 2. __FreeBSD__ not being defined. No attention was paid to any other (such as __OpenBSD__). The code I deleted could never be activated. So it was an obvious thing to remove even if the OpenBSD support is kept. I have a patch to unifdef(1) the code at: https://reviews.freebsd.org/D10321 > Also, why delete lines that might make it harder to backport changes > from OpenBSD? It is hard to read this code and follow its flow with the multiple versions of the same functions. I ported this driver to Junos on MIPS and it was much simpler to read, enhance, and debug without the OpenBSD bits. Also, there is no evidence this still works on OpenBSD. OpenBSD never accepted this driver, and instead wrote their own minimal driver (sys/dev/acpi/tpm.c for suspending the device). OpenBSD has no interest in this driver. So we're carrying around needless baggage. -- -- David (obrien@FreeBSD.org) From owner-svn-src-all@freebsd.org Sat Apr 8 17:00:36 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CA728D35857; Sat, 8 Apr 2017 17:00:36 +0000 (UTC) (envelope-from obrien@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A4CA3D9C; Sat, 8 Apr 2017 17:00:36 +0000 (UTC) (envelope-from obrien@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 664) id C11DF42DA; Sat, 8 Apr 2017 17:00:35 +0000 (UTC) Date: Sat, 8 Apr 2017 17:00:35 +0000 From: David O'Brien To: Ngie Cooper Cc: Xin LI , "David E. O'Brien" , src-committers , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Subject: Re: svn commit: r316591 - head/sys/dev/tpm Message-ID: <20170408170035.GB22358@freefall.freebsd.org> Reply-To: obrien@freebsd.org References: <201704062221.v36MLnr7092648@repo.freebsd.org> <39DE48A2-9526-497E-B178-CE78B2EF4020@gmail.com> <96F125AA-29BF-4CB5-9713-A398F650CBF2@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <96F125AA-29BF-4CB5-9713-A398F650CBF2@gmail.com> X-Operating-System: FreeBSD 12.0-CURRENT Organization: The NUXI BSD group X-Pgp-Rsa-Fingerprint: B7 4D 3E E9 11 39 5F A3 90 76 5D 69 58 D9 98 7A X-Pgp-Rsa-Keyid: 1024/34F9F9D5 User-Agent: Mutt/1.7.1 (2016-10-04) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 17:00:36 -0000 On Fri, Apr 07, 2017 at 11:02:06AM -0700, Ngie Cooper wrote: > Bah. I missed the nested FreeBSD in OpenBSD comment.. nevermind the part > about enabling power support. It's too early for me to be thinking critically > I guess.. But you are helping support my case for https://reviews.freebsd.org/D10321 :-) -- -- David (obrien@FreeBSD.org) From owner-svn-src-all@freebsd.org Sat Apr 8 18:09:19 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 19C1AD33C20; Sat, 8 Apr 2017 18:09:19 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-it0-x234.google.com (mail-it0-x234.google.com [IPv6:2607:f8b0:4001:c0b::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D70A32A5; Sat, 8 Apr 2017 18:09:18 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-it0-x234.google.com with SMTP id a140so8333706ita.0; Sat, 08 Apr 2017 11:09:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=5AiUANkBKdyeqr2DuJsqa6PXziSJsw89fUGqZVHcZQk=; b=kLOX22AFywf50U91t29CmSFshGzD9kGHdrEdVQwL4TrhmxQ/BTubtRLQZa9CqKW20P KVfNpL03YN6370bARpgJxg01847wYMcXjn4EgdtOlk7cMj6KJ545m0NbpgUIpWlUjwPR giFl3FgDvGUyiGdio8xDkRsjPtaD+s/QUjWYWuz+aBppUOO1UWu2ZaXlYMzPVFsbgMlY YbL5EU5WV2OszWoeY4utbn1DgKKW9a9d7/xR3gXwfXoPFmJI60akkVgqTSb+t/5hhGms lziQYfAqekCjJ3WyhIE09/wfjuINvmNGy+NcftMKpi0ZfAFzoxGA85so+/kMoaxF15TW slAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=5AiUANkBKdyeqr2DuJsqa6PXziSJsw89fUGqZVHcZQk=; b=PexCwADlNksykpG82uw2mOU8ECyk5jTEPZuMU45DUoe4rY+cMQ59aYfnujjbmg0Ybt pwJrrIZ83cLPd8IYFzKWU28YVGpOS0umon/nr/Hvu+yhxkAUuKuKvE1eps/LxeLZ5gLy uI6hmsD3XRtrYYh7lgMV8wKfT2kPGCPUYUI8CPOVGBfddsAZcm0tCuyqltcWv79eA6cr ec1H/fnswyQZpnxFLpAph++Ktunc8hQUILes2gJLBzL3B326p0BNG6Oc9m3VehRN4BtH 9vOfe4xPLClb+GjffmDxC0Y3gNZqfo69EZGWshxIfMqBO7n80L+iNgvHATv04SyWJ4Ld LgFA== X-Gm-Message-State: AN3rC/7uxJjEeZF6uOpDpGo19942XoL09tzA9fffzufupyqqVw+RE4aqYTVK65+JcCc8ZR/kG/i4K8QDRKhX9A== X-Received: by 10.36.178.84 with SMTP id h20mr4791104iti.82.1491674958095; Sat, 08 Apr 2017 11:09:18 -0700 (PDT) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.30.209 with HTTP; Sat, 8 Apr 2017 11:08:57 -0700 (PDT) In-Reply-To: <201703271704.v2RH4BBl084239@repo.freebsd.org> References: <201703271704.v2RH4BBl084239@repo.freebsd.org> From: Ed Maste Date: Sat, 8 Apr 2017 14:08:57 -0400 X-Google-Sender-Auth: g7b7od9YzucXezgyVur_Zi4C0-g Message-ID: Subject: Re: svn commit: r316033 - in head/sys/compat/linuxkpi/common: include/asm include/linux src To: Hans Petter Selasky Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 18:09:19 -0000 On 27 March 2017 at 13:04, Hans Petter Selasky wrote: > Author: hselasky > Date: Mon Mar 27 17:04:11 2017 > New Revision: 316033 > URL: https://svnweb.freebsd.org/changeset/base/316033 powerpc.GENERIC is now failing with: In file included from /scratch/tmp/emaste/freebsd/sys/compat/linuxkpi/common/include/linux/gfp.h:39, from /scratch/tmp/emaste/freebsd/sys/compat/linuxkpi/common/include/linux/slab.h:41, from /scratch/tmp/emaste/freebsd/sys/compat/linuxkpi/common/include/linux/sched.h:44, from /scratch/tmp/emaste/freebsd/sys/compat/linuxkpi/common/include/linux/kernel.h:49, from /scratch/tmp/emaste/freebsd/sys/compat/linuxkpi/common/include/linux/kobject.h:36, from /scratch/tmp/emaste/freebsd/sys/modules/linuxkpi/../../compat/linuxkpi/common/src/linux_compat.c:58: /scratch/tmp/emaste/freebsd/sys/compat/linuxkpi/common/include/linux/page.h:43: error: conflicting types for 'pte_t' ./machine/pte.h:127: error: previous declaration of 'pte_t' was here cc1: warnings being treated as errors /scratch/tmp/emaste/freebsd/sys/modules/linuxkpi/../../compat/linuxkpi/common/src/linux_compat.c: In function 'linux_cdev_pager_populate': /scratch/tmp/emaste/freebsd/sys/modules/linuxkpi/../../compat/linuxkpi/common/src/linux_compat.c:414: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] *** [linux_compat.o] Error code 1 From owner-svn-src-all@freebsd.org Sat Apr 8 21:58:00 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E9F7AD352D3; Sat, 8 Apr 2017 21:58:00 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B3BA2C67; Sat, 8 Apr 2017 21:58:00 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v38LvxdY075426; Sat, 8 Apr 2017 21:57:59 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v38LvxSh075424; Sat, 8 Apr 2017 21:57:59 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201704082157.v38LvxSh075424@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sat, 8 Apr 2017 21:57:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r316646 - head/bin/sh/tests/parser X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 21:58:01 -0000 Author: jilles Date: Sat Apr 8 21:57:59 2017 New Revision: 316646 URL: https://svnweb.freebsd.org/changeset/base/316646 Log: sh: Add test for unaliasing an alias that is currently in use. This already works correctly. Added: head/bin/sh/tests/parser/alias16.0 (contents, props changed) Modified: head/bin/sh/tests/parser/Makefile Modified: head/bin/sh/tests/parser/Makefile ============================================================================== --- head/bin/sh/tests/parser/Makefile Sat Apr 8 16:14:30 2017 (r316645) +++ head/bin/sh/tests/parser/Makefile Sat Apr 8 21:57:59 2017 (r316646) @@ -22,6 +22,7 @@ ${PACKAGE}FILES+= alias12.0 ${PACKAGE}FILES+= alias13.0 ${PACKAGE}FILES+= alias14.0 ${PACKAGE}FILES+= alias15.0 alias15.0.stdout +${PACKAGE}FILES+= alias16.0 ${PACKAGE}FILES+= and-pipe-not.0 ${PACKAGE}FILES+= case1.0 ${PACKAGE}FILES+= case2.0 Added: head/bin/sh/tests/parser/alias16.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/bin/sh/tests/parser/alias16.0 Sat Apr 8 21:57:59 2017 (r316646) @@ -0,0 +1,7 @@ +# $FreeBSD$ + +v=1 +alias a='unalias a +v=2' +eval a +[ "$v" = 2 ] From owner-svn-src-all@freebsd.org Sat Apr 8 22:16:56 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49E09D35840 for ; Sat, 8 Apr 2017 22:16:56 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qk0-x22b.google.com (mail-qk0-x22b.google.com [IPv6:2607:f8b0:400d:c09::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F3784A43 for ; Sat, 8 Apr 2017 22:16:55 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qk0-x22b.google.com with SMTP id f133so68831955qke.2 for ; Sat, 08 Apr 2017 15:16:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Q8WCjixt1g0EiukXVAmcgrfgchmdq9VeFEzScL6YrXc=; b=U0Kjgd1CPkIgqth4yCJpiih3xH3QhgdCvhEZM/hjJ1M7oHbQr18EtkJGWIFH+IG49x SnzIIGQMgrVIh+OBUXQ9/9mRBT0gF18QeaSpCUnAp8bGMRZpMSeBXKSJJBZgqr+Jt3L2 EcJM8Cw5kdmBFIf06gv1X7ufr4nri7iIe41qxxup+F9OXlztbenpirFmssDm4vJZi6m8 ybPYHDgHIlQG1MV9mj7fTIZHeHZ7PwtFw7n1ose8wjPmBFbOhMfQaqE2DbAdG2QghPsX ZrxQ6NzO5MI1VYg8o7z0j7nIAIDRh4Bazo7yLZISY2inUjrtYDNpQIHCVQxiNPeXMmBB LbpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=Q8WCjixt1g0EiukXVAmcgrfgchmdq9VeFEzScL6YrXc=; b=FO1AJAMFKiaZ4gz9Zkk8bzxIyCvJshWv1E2QgnOkH3OIsVNniFric10azf5izc6f37 z3CLAGihW/VtI9Zlvsekpoqn9zVlCg7MTFSCTia3fsXc/6ECo9yq1AejyFfx6Jynr5li lCCqPSc/vrhLmo/eWxvppLZhpqAa4/N0CeWSyp3X57TxMcOYzF9sU0m3IDFPFxW9mePI RPrG3o2dqnoRSX/GcAgj9oFuSUdy258FryeY5ECCKCfUu1pOuUUYHRhnFTlD8t4XL0s+ Gub1addnZdRjTXgsxkjcr2R+WToI8RFo/wfCaqBVTvDoCWnbaa3mP2NYg64Kc4cwHfwQ uatQ== X-Gm-Message-State: AFeK/H0+BFpHAYTqZHers6+8jKdux02JaANt4q8fOGX81Z/YYKXTdl+Yxxaj8NdUCD6w1nCr X-Received: by 10.55.160.209 with SMTP id j200mr43006223qke.57.1491689815043; Sat, 08 Apr 2017 15:16:55 -0700 (PDT) Received: from mutt-hbsd (pool-100-16-218-40.bltmmd.fios.verizon.net. [100.16.218.40]) by smtp.gmail.com with ESMTPSA id a26sm5825469qtb.28.2017.04.08.15.16.54 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 08 Apr 2017 15:16:54 -0700 (PDT) Date: Sat, 8 Apr 2017 18:16:53 -0400 From: Shawn Webb To: Toomas Soome Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r316585 - in head/sys/boot: efi/boot1 efi/loader i386/common i386/loader i386/zfsboot zfs Message-ID: <20170408221653.qtqdvgcosguvugtt@mutt-hbsd> References: <201704061817.v36IHT8i088712@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="alzeaugu3mdk6utq" Content-Disposition: inline In-Reply-To: <201704061817.v36IHT8i088712@repo.freebsd.org> X-Operating-System: FreeBSD mutt-hbsd 12.0-CURRENT FreeBSD 12.0-CURRENT X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0x6A84658F52456EEE User-Agent: NeoMutt/20170206 (1.7.2) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Apr 2017 22:16:56 -0000 --alzeaugu3mdk6utq Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Apr 06, 2017 at 06:17:29PM +0000, Toomas Soome wrote: > Author: tsoome > Date: Thu Apr 6 18:17:29 2017 > New Revision: 316585 > URL: https://svnweb.freebsd.org/changeset/base/316585 >=20 > Log: > loader: zfs reader should check all labels > =20 > The current zfs reader is only checking first label from each device, h= owever, > we do have 4 labels on device and we should check all 4 to be protected > against disk failures and incomplete label updates. > =20 > The difficulty is about the fact that 2 label copies are in front of the > pool data, and 2 are at the end, which means, we have to know the size = of > the pool data area. > =20 > Since we have now the mechanism from common/disk.c to use the partition > information, it does help us in this task; however, there are still some > corner cases. > =20 > Namely, if the pool is created without partition, directly on the disk, > and firmware will give us the wrong size for the disk, we only can check > the first two label copies. > =20 > Reviewed by: allanjude > Differential Revision: https://reviews.freebsd.org/D10203 This breaks bhyve userboot: # sh /usr/share/examples/bhyve/vmrun.sh -c 8 -m 16g -t tap4 -C /dev/nmdm-la= ptop-dev-03-A -d /dev/zvol/enctank/bhyve/laptop-dev-03/disk-01 laptop-dev-03 /boot/userboot.so: Undefined symbol "ldi_get_size" Thanks, --=20 Shawn Webb Cofounder and Security Engineer HardenedBSD GPG Key ID: 0x6A84658F52456EEE GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89 3D9E 6A84 658F 5245 6EEE --alzeaugu3mdk6utq Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEKrq2ve9q9Ia+iT2eaoRlj1JFbu4FAljpYVIACgkQaoRlj1JF bu5NqQ//eZMwx7fP1aU5I7LaJlxsqnh8bnKAxvEg9vDs2dHProTKRrdeDl8ozk1c /Ag661kWs+jGeIP84v8mSIGJedcQ2aphy3MwNg1o6BP2cWTcqW+Ij49ZJxKgMQHS AnZiB89wXmglwAlJlywVoK3weVhVjj4C9hq+FAJbPtYgsFWgjY2RQUs/M2fNzlEk 7Pnkg1bwvs0nhKuJseEGaXukOsbLxi66+qTep5wrS7iZnAIEkLUNKhj9T1UU4s4q lsesz9XCvmSY/frfxTJii70L5f2RCABfPj/MTbFBDX4veDCyW5OuNxeqCI8UtzNX efojtq/OIbYb5/AL8L6JffU/AYmOcoN+V3deErOU63saOkU1yxSqRnGzZuDoUflU z1f505Gb6l4nCsCdqQKo/S+QprsSsOK8C0ppSrKkrhbxHU3Bs3kcnOE2GrYceQwm n93ZRWcxNuqdOGDQH+DlVSMDzYvKOVikO96Ejj0XQrQNJK6stf1qPLuMm/F19E0r kT5a1UZCksx4O0uNX8jWIq7YL6LWd84pp4Twy0d20JmftT97Q7803LfeKf1z0fix eiLSne3oiltSS5qZI98u8N7/Cn9zTb2O0zpHjqPrebhOLPqcm6FjAceE3cSQ9MU4 xziofIgsC6EEARUxLG/8cxbGZZLGybTEpPuIQDzVCFlyhW2asAs= =f8/u -----END PGP SIGNATURE----- --alzeaugu3mdk6utq--