From owner-svn-src-stable-8@FreeBSD.ORG Wed Jul 24 08:57:00 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2F647FC1; Wed, 24 Jul 2013 08:57:00 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 203D32335; Wed, 24 Jul 2013 08:57:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r6O8ux5k086070; Wed, 24 Jul 2013 08:56:59 GMT (envelope-from avg@svn.freebsd.org) Received: (from avg@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r6O8uxpq086069; Wed, 24 Jul 2013 08:56:59 GMT (envelope-from avg@svn.freebsd.org) Message-Id: <201307240856.r6O8uxpq086069@svn.freebsd.org> From: Andriy Gapon Date: Wed, 24 Jul 2013 08:56:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r253600 - stable/8/lib/libc/stdlib X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Jul 2013 08:57:00 -0000 Author: avg Date: Wed Jul 24 08:56:59 2013 New Revision: 253600 URL: http://svnweb.freebsd.org/changeset/base/253600 Log: MFC r253380,253413: name passed into __setenv is not necessarily NUL-terminated Modified: stable/8/lib/libc/stdlib/getenv.c Directory Properties: stable/8/lib/libc/ (props changed) Modified: stable/8/lib/libc/stdlib/getenv.c ============================================================================== --- stable/8/lib/libc/stdlib/getenv.c Wed Jul 24 08:39:09 2013 (r253599) +++ stable/8/lib/libc/stdlib/getenv.c Wed Jul 24 08:56:59 2013 (r253600) @@ -504,9 +504,8 @@ __setenv(const char *name, size_t nameLe envVars[envNdx].valueSize = valueLen; /* Save name of name/value pair. */ - env = stpcpy(envVars[envNdx].name, name); - if ((envVars[envNdx].name)[nameLen] != '=') - env = stpcpy(env, "="); + env = stpncpy(envVars[envNdx].name, name, nameLen); + *env++ = '='; } else env = envVars[envNdx].value; From owner-svn-src-stable-8@FreeBSD.ORG Wed Jul 24 10:29:54 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 55C891D2 for ; Wed, 24 Jul 2013 10:29:54 +0000 (UTC) (envelope-from mailer-daemon@vniz.net) Received: from mail-lb0-f171.google.com (mail-lb0-f171.google.com [209.85.217.171]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D061C284E for ; Wed, 24 Jul 2013 10:29:53 +0000 (UTC) Received: by mail-lb0-f171.google.com with SMTP id 13so339444lba.16 for ; Wed, 24 Jul 2013 03:29:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:openpgp:content-type :content-transfer-encoding:x-gm-message-state; bh=H1t1q+M92MInEIToJqe/6NVfZ5kR4OPzAo4LeBbZ7fU=; b=TuHMVTcTPyWS67qvjIaliq48FH3wLGCybs1D2TvUO/NpeAARK2ldCTO3cgImLsSbRB abTb324FmYpkHOi+SMSok59qaf7aVPmQZmtO+5nUt5xRLmqam9rncmbCMb1IZ0yTCXMP HBK6TjkllDjhS9xtfp2sEwt+rDjIpk/gDZXoPLw0rRXdpguZYyRNJINN2PmnrXHL06+L 5jmd6vsfJdWwhCFZnx3/tsEErmEmeGL1SyLJsyPtbHao2+1NQxo8TTqKNbXI9aYP2mI2 Jsc8DZ5RWY10+D0DLT3sZuX17RehnxDelqCHYb96P9g8KwupMf1FRvCrCAQY8vuW3qPB 08MQ== X-Received: by 10.112.11.50 with SMTP id n18mr15931184lbb.57.1374661786305; Wed, 24 Jul 2013 03:29:46 -0700 (PDT) Received: from [192.168.1.2] ([89.169.173.68]) by mx.google.com with ESMTPSA id k10sm14323524lbl.10.2013.07.24.03.29.45 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 24 Jul 2013 03:29:45 -0700 (PDT) Message-ID: <51EFAC99.8040501@freebsd.org> Date: Wed, 24 Jul 2013 14:29:45 +0400 From: Andrey Chernov User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: Andriy Gapon Subject: Re: svn commit: r253600 - stable/8/lib/libc/stdlib References: <201307240856.r6O8uxpq086069@svn.freebsd.org> In-Reply-To: <201307240856.r6O8uxpq086069@svn.freebsd.org> OpenPGP: id=964474DD Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQmVAOuZk7bWx7+kramTfo2wf0WqCoTkMcQ6VDA0Hxeh11KG6uAMtwR7sPtZzd8sxmexk5/6 Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-8@freebsd.org X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Jul 2013 10:29:54 -0000 On 24.07.2013 12:56, Andriy Gapon wrote: > Author: avg > Date: Wed Jul 24 08:56:59 2013 > New Revision: 253600 > URL: http://svnweb.freebsd.org/changeset/base/253600 > > Log: > MFC r253380,253413: name passed into __setenv is not necessarily NUL-terminated > Why MFC to stable/9 is pending? I consider this fix as essential. -- http://ache.vniz.net/ bitcoin:1G6ugdNY6e5jx1GVnAU2ntj2NEfmjKG85r From owner-svn-src-stable-8@FreeBSD.ORG Wed Jul 24 10:34:32 2013 Return-Path: Delivered-To: svn-src-stable-8@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id F15253ED; Wed, 24 Jul 2013 10:34:31 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 71D64288E; Wed, 24 Jul 2013 10:34:30 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id NAA18863; Wed, 24 Jul 2013 13:34:28 +0300 (EEST) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1V1wOq-00086n-Jg; Wed, 24 Jul 2013 13:34:28 +0300 Message-ID: <51EFAD7C.8070308@FreeBSD.org> Date: Wed, 24 Jul 2013 13:33:32 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130708 Thunderbird/17.0.7 MIME-Version: 1.0 To: Andrey Chernov Subject: Re: svn commit: r253600 - stable/8/lib/libc/stdlib References: <201307240856.r6O8uxpq086069@svn.freebsd.org> <51EFAC99.8040501@freebsd.org> In-Reply-To: <51EFAC99.8040501@freebsd.org> X-Enigmail-Version: 1.5.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-stable@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, svn-src-stable-8@FreeBSD.org X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Jul 2013 10:34:32 -0000 on 24/07/2013 13:29 Andrey Chernov said the following: > On 24.07.2013 12:56, Andriy Gapon wrote: >> Author: avg >> Date: Wed Jul 24 08:56:59 2013 >> New Revision: 253600 >> URL: http://svnweb.freebsd.org/changeset/base/253600 >> >> Log: >> MFC r253380,253413: name passed into __setenv is not necessarily NUL-terminated >> > > Why MFC to stable/9 is pending? I consider this fix as essential. > It's pending RE approval. -- Andriy Gapon From owner-svn-src-stable-8@FreeBSD.ORG Wed Jul 24 22:26:59 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 1849DF7B; Wed, 24 Jul 2013 22:26:59 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EA0392F66; Wed, 24 Jul 2013 22:26:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r6OMQwNI045455; Wed, 24 Jul 2013 22:26:58 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r6OMQwLY045454; Wed, 24 Jul 2013 22:26:58 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201307242226.r6OMQwLY045454@svn.freebsd.org> From: Jung-uk Kim Date: Wed, 24 Jul 2013 22:26:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r253623 - stable/8/usr.sbin/pciconf X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Jul 2013 22:26:59 -0000 Author: jkim Date: Wed Jul 24 22:26:58 2013 New Revision: 253623 URL: http://svnweb.freebsd.org/changeset/base/253623 Log: MFC: r253455 Decode PCIe ASPM capability and status. Modified: stable/8/usr.sbin/pciconf/cap.c Directory Properties: stable/8/usr.sbin/pciconf/ (props changed) Modified: stable/8/usr.sbin/pciconf/cap.c ============================================================================== --- stable/8/usr.sbin/pciconf/cap.c Wed Jul 24 22:26:11 2013 (r253622) +++ stable/8/usr.sbin/pciconf/cap.c Wed Jul 24 22:26:58 2013 (r253623) @@ -391,11 +391,27 @@ link_speed_string(uint8_t speed) } } +static const char * +aspm_string(uint8_t aspm) +{ + + switch (aspm) { + case 1: + return ("L0s"); + case 2: + return ("L1"); + case 3: + return ("L0s/L1"); + default: + return ("disabled"); + } +} + static void cap_express(int fd, struct pci_conf *p, uint8_t ptr) { - uint32_t val; - uint16_t flags; + uint32_t cap; + uint16_t ctl, flags, sta; flags = read_config(fd, &p->pc_sel, ptr + PCIER_FLAGS, 2); printf("PCI-Express %d ", flags & PCIEM_FLAGS_VERSION); @@ -435,26 +451,28 @@ cap_express(int fd, struct pci_conf *p, printf(" slot"); if (flags & PCIEM_FLAGS_IRQ) printf(" IRQ %d", (flags & PCIEM_FLAGS_IRQ) >> 9); - val = read_config(fd, &p->pc_sel, ptr + PCIER_DEVICE_CAP, 4); - flags = read_config(fd, &p->pc_sel, ptr + PCIER_DEVICE_CTL, 2); + cap = read_config(fd, &p->pc_sel, ptr + PCIER_DEVICE_CAP, 4); + ctl = read_config(fd, &p->pc_sel, ptr + PCIER_DEVICE_CTL, 2); printf(" max data %d(%d)", - MAX_PAYLOAD((flags & PCIEM_CTL_MAX_PAYLOAD) >> 5), - MAX_PAYLOAD(val & PCIEM_CAP_MAX_PAYLOAD)); - if (val & PCIEM_CAP_FLR) + MAX_PAYLOAD((ctl & PCIEM_CTL_MAX_PAYLOAD) >> 5), + MAX_PAYLOAD(cap & PCIEM_CAP_MAX_PAYLOAD)); + if ((cap & PCIEM_CAP_FLR) != 0) printf(" FLR"); - val = read_config(fd, &p->pc_sel, ptr + PCIER_LINK_CAP, 4); - flags = read_config(fd, &p->pc_sel, ptr+ PCIER_LINK_STA, 2); - printf(" link x%d(x%d)", (flags & PCIEM_LINK_STA_WIDTH) >> 4, - (val & PCIEM_LINK_CAP_MAX_WIDTH) >> 4); - /* - * Only print link speed info if the link's max width is - * greater than 0. - */ - if ((val & PCIEM_LINK_CAP_MAX_WIDTH) != 0) { - printf("\n speed"); - printf(" %s(%s)", (flags & PCIEM_LINK_STA_WIDTH) == 0 ? - "0.0" : link_speed_string(flags & PCIEM_LINK_STA_SPEED), - link_speed_string(val & PCIEM_LINK_CAP_MAX_SPEED)); + cap = read_config(fd, &p->pc_sel, ptr + PCIER_LINK_CAP, 4); + sta = read_config(fd, &p->pc_sel, ptr + PCIER_LINK_STA, 2); + printf(" link x%d(x%d)", (sta & PCIEM_LINK_STA_WIDTH) >> 4, + (cap & PCIEM_LINK_CAP_MAX_WIDTH) >> 4); + if ((cap & (PCIEM_LINK_CAP_MAX_WIDTH | PCIEM_LINK_CAP_ASPM)) != 0) + printf("\n "); + if ((cap & PCIEM_LINK_CAP_MAX_WIDTH) != 0) { + printf(" speed %s(%s)", (sta & PCIEM_LINK_STA_WIDTH) == 0 ? + "0.0" : link_speed_string(sta & PCIEM_LINK_STA_SPEED), + link_speed_string(cap & PCIEM_LINK_CAP_MAX_SPEED)); + } + if ((cap & PCIEM_LINK_CAP_ASPM) != 0) { + ctl = read_config(fd, &p->pc_sel, ptr + PCIER_LINK_CTL, 2); + printf(" ASPM %s(%s)", aspm_string(ctl & PCIEM_LINK_CTL_ASPMC), + aspm_string((cap & PCIEM_LINK_CAP_ASPM) >> 10)); } } From owner-svn-src-stable-8@FreeBSD.ORG Fri Jul 26 06:23:58 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 357F434C; Fri, 26 Jul 2013 06:23:58 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 217942710; Fri, 26 Jul 2013 06:23:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r6Q6NvgN009600; Fri, 26 Jul 2013 06:23:57 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r6Q6NvTU009599; Fri, 26 Jul 2013 06:23:57 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201307260623.r6Q6NvTU009599@svn.freebsd.org> From: Pyun YongHyeon Date: Fri, 26 Jul 2013 06:23:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r253664 - stable/8/sys/dev/ae X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jul 2013 06:23:58 -0000 Author: yongari Date: Fri Jul 26 06:23:57 2013 New Revision: 253664 URL: http://svnweb.freebsd.org/changeset/base/253664 Log: MFC r253404: o TxD ring requires 8 bytes alignment to work so change alignment constraint to 8. Previously it may have triggered watchdog timeouts. o Check whether interrupt is ours or not. o Enable interrupts before attemping to transmit queued packets. This will slightly improve TX performance. o No need to clear IFF_DRV_OACTIVE in a loop. AE_FLAG_TXAVAIL is used to know whether there are enough available TxD ring space. o Added missing bus_dmamap_sync(9) in ae_rx_intr() and rearranged code to avoid unncessary register access. o Make sure to clear TxD, TxS, RxD rings in driver initialization. Otherwise some data in these rings could be interpreted as 'updated' which in turn will advance internally maintained pointers and can trigger watchdog timeouts. PR: kern/180382 Modified: stable/8/sys/dev/ae/if_ae.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/ae/ (props changed) Modified: stable/8/sys/dev/ae/if_ae.c ============================================================================== --- stable/8/sys/dev/ae/if_ae.c Fri Jul 26 06:23:06 2013 (r253663) +++ stable/8/sys/dev/ae/if_ae.c Fri Jul 26 06:23:57 2013 (r253664) @@ -586,6 +586,9 @@ ae_init_locked(ae_softc_t *sc) val = eaddr[0] << 8 | eaddr[1]; AE_WRITE_4(sc, AE_EADDR1_REG, val); + bzero(sc->rxd_base_dma, AE_RXD_COUNT_DEFAULT * 1536 + 120); + bzero(sc->txd_base, AE_TXD_BUFSIZE_DEFAULT); + bzero(sc->txs_base, AE_TXS_COUNT_DEFAULT * 4); /* * Set ring buffers base addresses. */ @@ -1116,7 +1119,7 @@ ae_alloc_rings(ae_softc_t *sc) * Create DMA tag for TxD. */ error = bus_dma_tag_create(sc->dma_parent_tag, - 4, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, + 8, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, AE_TXD_BUFSIZE_DEFAULT, 1, AE_TXD_BUFSIZE_DEFAULT, 0, NULL, NULL, &sc->dma_txd_tag); @@ -1129,7 +1132,7 @@ ae_alloc_rings(ae_softc_t *sc) * Create DMA tag for TxS. */ error = bus_dma_tag_create(sc->dma_parent_tag, - 4, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, + 8, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, AE_TXS_COUNT_DEFAULT * 4, 1, AE_TXS_COUNT_DEFAULT * 4, 0, NULL, NULL, &sc->dma_txs_tag); @@ -1762,6 +1765,10 @@ ae_int_task(void *arg, int pending) ifp = sc->ifp; val = AE_READ_4(sc, AE_ISR_REG); /* Read interrupt status. */ + if (val == 0) { + AE_UNLOCK(sc); + return; + } /* * Clear interrupts and disable them. @@ -1784,12 +1791,16 @@ ae_int_task(void *arg, int pending) ae_tx_intr(sc); if ((val & AE_ISR_RX_EVENT) != 0) ae_rx_intr(sc); - } + /* + * Re-enable interrupts. + */ + AE_WRITE_4(sc, AE_ISR_REG, 0); - /* - * Re-enable interrupts. - */ - AE_WRITE_4(sc, AE_ISR_REG, 0); + if ((sc->flags & AE_FLAG_TXAVAIL) != 0) { + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + ae_start_locked(ifp); + } + } AE_UNLOCK(sc); } @@ -1850,10 +1861,10 @@ ae_tx_intr(ae_softc_t *sc) ifp->if_oerrors++; sc->tx_inproc--; - - ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; } + if ((sc->flags & AE_FLAG_TXAVAIL) != 0) + ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; if (sc->tx_inproc < 0) { if_printf(ifp, "Received stray Tx interrupt(s).\n"); sc->tx_inproc = 0; @@ -1861,11 +1872,6 @@ ae_tx_intr(ae_softc_t *sc) if (sc->tx_inproc == 0) sc->wd_timer = 0; /* Unarm watchdog. */ - - if ((sc->flags & AE_FLAG_TXAVAIL) != 0) { - if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) - ae_start_locked(ifp); - } /* * Syncronize DMA buffers. @@ -1924,7 +1930,7 @@ ae_rx_intr(ae_softc_t *sc) ae_rxd_t *rxd; struct ifnet *ifp; uint16_t flags; - int error; + int count, error; KASSERT(sc != NULL, ("[ae, %d]: sc is NULL!", __LINE__)); @@ -1938,7 +1944,7 @@ ae_rx_intr(ae_softc_t *sc) bus_dmamap_sync(sc->dma_rxd_tag, sc->dma_rxd_map, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); - for (;;) { + for (count = 0;; count++) { rxd = (ae_rxd_t *)(sc->rxd_base + sc->rxd_cur); flags = le16toh(rxd->flags); if ((flags & AE_RXD_UPDATE) == 0) @@ -1965,10 +1971,14 @@ ae_rx_intr(ae_softc_t *sc) } } - /* - * Update Rx index. - */ - AE_WRITE_2(sc, AE_MB_RXD_IDX_REG, sc->rxd_cur); + if (count > 0) { + bus_dmamap_sync(sc->dma_rxd_tag, sc->dma_rxd_map, + BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); + /* + * Update Rx index. + */ + AE_WRITE_2(sc, AE_MB_RXD_IDX_REG, sc->rxd_cur); + } } static void From owner-svn-src-stable-8@FreeBSD.ORG Fri Jul 26 06:28:42 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 947957B4; Fri, 26 Jul 2013 06:28:42 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 676702742; Fri, 26 Jul 2013 06:28:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r6Q6SgnD010421; Fri, 26 Jul 2013 06:28:42 GMT (envelope-from hselasky@svn.freebsd.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r6Q6SgkY010420; Fri, 26 Jul 2013 06:28:42 GMT (envelope-from hselasky@svn.freebsd.org) Message-Id: <201307260628.r6Q6SgkY010420@svn.freebsd.org> From: Hans Petter Selasky Date: Fri, 26 Jul 2013 06:28:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r253666 - stable/8/sys/dev/usb/controller X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jul 2013 06:28:42 -0000 Author: hselasky Date: Fri Jul 26 06:28:41 2013 New Revision: 253666 URL: http://svnweb.freebsd.org/changeset/base/253666 Log: MFC r253532: Fix an XHCI regression: The Block Event Interrupts, BEI, feature does not work like expected with the Renesas XHCI chipsets. Revert feature. While at it correct the TD SIZE computation in case of Zero Length Packet, ZLP, in the end of a multi frame USB transfer. PR: usb/180726 Modified: stable/8/sys/dev/usb/controller/xhci.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/usb/ (props changed) Modified: stable/8/sys/dev/usb/controller/xhci.c ============================================================================== --- stable/8/sys/dev/usb/controller/xhci.c Fri Jul 26 06:24:33 2013 (r253665) +++ stable/8/sys/dev/usb/controller/xhci.c Fri Jul 26 06:28:41 2013 (r253666) @@ -1654,7 +1654,6 @@ restart: /* fill out buffer pointers */ if (average == 0) { - npkt = 0; memset(&buf_res, 0, sizeof(buf_res)); } else { usbd_get_page(temp->pc, temp->offset + @@ -1669,15 +1668,17 @@ restart: buf_res.length = XHCI_TD_PAGE_SIZE; npkt_off += buf_res.length; - - /* setup npkt */ - npkt = (len_old - npkt_off + temp->max_packet_size - 1) / - temp->max_packet_size; - - if (npkt > 31) - npkt = 31; } + /* setup npkt */ + npkt = (len_old - npkt_off + temp->max_packet_size - 1) / + temp->max_packet_size; + + if (npkt == 0) + npkt = 1; + else if (npkt > 31) + npkt = 31; + /* fill out TRB's */ td->td_trb[x].qwTrb0 = htole64((uint64_t)buf_res.physaddr); @@ -1691,9 +1692,7 @@ restart: switch (temp->trb_type) { case XHCI_TRB_TYPE_ISOCH: - /* BEI: Interrupts are inhibited until EOT */ dword = XHCI_TRB_3_CHAIN_BIT | XHCI_TRB_3_CYCLE_BIT | - XHCI_TRB_3_BEI_BIT | XHCI_TRB_3_TBC_SET(temp->tbc) | XHCI_TRB_3_TLBPC_SET(temp->tlbpc); if (td != td_first) { @@ -1728,10 +1727,8 @@ restart: dword |= XHCI_TRB_3_DIR_IN; break; default: /* XHCI_TRB_TYPE_NORMAL */ - /* BEI: Interrupts are inhibited until EOT */ dword = XHCI_TRB_3_CHAIN_BIT | XHCI_TRB_3_CYCLE_BIT | XHCI_TRB_3_TYPE_SET(XHCI_TRB_TYPE_NORMAL) | - XHCI_TRB_3_BEI_BIT | XHCI_TRB_3_TBC_SET(temp->tbc) | XHCI_TRB_3_TLBPC_SET(temp->tlbpc); if (temp->direction == UE_DIR_IN) @@ -1810,6 +1807,7 @@ restart: usb_pc_cpu_flush(td_first->page_cache); } + /* clear TD SIZE to zero, hence this is the last TRB */ /* remove chain bit because this is the last TRB in the chain */ td->td_trb[td->ntrb - 1].dwTrb2 &= ~htole32(XHCI_TRB_2_TDSZ_SET(15)); td->td_trb[td->ntrb - 1].dwTrb3 &= ~htole32(XHCI_TRB_3_CHAIN_BIT); From owner-svn-src-stable-8@FreeBSD.ORG Fri Jul 26 22:53:18 2013 Return-Path: Delivered-To: svn-src-stable-8@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 82A4793B; Fri, 26 Jul 2013 22:53:18 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6EBE424CD; Fri, 26 Jul 2013 22:53:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r6QMrICV071297; Fri, 26 Jul 2013 22:53:18 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r6QMrIZw071296; Fri, 26 Jul 2013 22:53:18 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <201307262253.r6QMrIZw071296@svn.freebsd.org> From: Xin LI Date: Fri, 26 Jul 2013 22:53:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r253696 - stable/8/contrib/bind9/lib/dns/rdata/generic X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-8@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for only the 8-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jul 2013 22:53:18 -0000 Author: delphij Date: Fri Jul 26 22:53:17 2013 New Revision: 253696 URL: http://svnweb.freebsd.org/changeset/base/253696 Log: Fix Denial of Service vulnerability in named(8). [13:07] Security: CVE-2013-4854 Security: FreeBSD-SA-13:07.bind Approved by: so Modified: stable/8/contrib/bind9/lib/dns/rdata/generic/keydata_65533.c Modified: stable/8/contrib/bind9/lib/dns/rdata/generic/keydata_65533.c ============================================================================== --- stable/8/contrib/bind9/lib/dns/rdata/generic/keydata_65533.c Fri Jul 26 22:43:09 2013 (r253695) +++ stable/8/contrib/bind9/lib/dns/rdata/generic/keydata_65533.c Fri Jul 26 22:53:17 2013 (r253696) @@ -176,7 +176,7 @@ fromwire_keydata(ARGS_FROMWIRE) { UNUSED(options); isc_buffer_activeregion(source, &sr); - if (sr.length < 4) + if (sr.length < 16) return (ISC_R_UNEXPECTEDEND); isc_buffer_forward(source, sr.length);