From owner-freebsd-bugs@FreeBSD.ORG Mon Nov 28 23:50:13 2011 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 69F4D106566B for ; Mon, 28 Nov 2011 23:50:13 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 320B88FC18 for ; Mon, 28 Nov 2011 23:50:13 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id pASNoDV7026017 for ; Mon, 28 Nov 2011 23:50:13 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id pASNoD3w026016; Mon, 28 Nov 2011 23:50:13 GMT (envelope-from gnats) Resent-Date: Mon, 28 Nov 2011 23:50:13 GMT Resent-Message-Id: <201111282350.pASNoD3w026016@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Peter Much Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9C2C1065745 for ; Mon, 28 Nov 2011 23:43:57 +0000 (UTC) (envelope-from admin@citylink.dinoex.sub.org) Received: from uucp.dinoex.sub.de (uucp.dinoex.sub.de [194.45.71.2]) by mx1.freebsd.org (Postfix) with ESMTP id 427CA8FC19 for ; Mon, 28 Nov 2011 23:43:57 +0000 (UTC) Received: from uucp.dinoex.sub.de (uucp@uucp.dinoex.sub.de [194.45.71.2] (may be forged)) by uucp.dinoex.sub.de (8.14.4/8.14.4) with ESMTP id pASND4Sq069219 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 29 Nov 2011 00:13:05 +0100 (CET) (envelope-from admin@citylink.dinoex.sub.org) Received: from citylink.dinoex.sub.org (uucp@localhost) by uucp.dinoex.sub.de (8.14.4/8.14.4/Submit) with UUCP id pASND4nR069218 for FreeBSD-gnats-submit@freebsd.org; Tue, 29 Nov 2011 00:13:04 +0100 (CET) (envelope-from admin@citylink.dinoex.sub.org) Received: from gate.oper.dinoex.org (gate-e [192.168.98.2]) by citylink.dinoex.sub.de (8.14.5/8.14.5) with ESMTP id pASMLHvl008325 for ; Mon, 28 Nov 2011 23:21:17 +0100 (CET) (envelope-from admin@edge.oper.dinoex.org) Received: from edge.oper.dinoex.org (gate-e [192.168.98.2]) by gate.oper.dinoex.org (8.14.5/8.14.5) with ESMTP id pASMKJta008246 for ; Mon, 28 Nov 2011 23:20:19 +0100 (CET) (envelope-from admin@edge.oper.dinoex.org) Received: from edge.oper.dinoex.org (edge-e1.oper.dinoex.org [192.168.97.9]) by edge.oper.dinoex.org (8.14.5/8.14.5) with ESMTP id pASMJ0wo008093 for ; Mon, 28 Nov 2011 23:19:01 +0100 (CET) (envelope-from admin@edge.oper.dinoex.org) Received: (from admin@localhost) by edge.oper.dinoex.org (8.14.5/8.14.5/Submit) id pASMJ0G4008092; Mon, 28 Nov 2011 23:19:00 +0100 (CET) (envelope-from admin) Message-Id: <201111282219.pASMJ0G4008092@edge.oper.dinoex.org> Date: Mon, 28 Nov 2011 23:19:00 +0100 (CET) From: Peter Much To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: kern/162932: [ed][panic][patch] large traffic yields occasional panics X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Peter Much List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Nov 2011 23:50:13 -0000 >Number: 162932 >Category: kern >Synopsis: [ed][panic][patch] large traffic yields occasional panics >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Nov 28 23:50:12 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Peter Much >Release: FreeBSD 7.4-STABLE i386 >Organization: n/a >Environment: System: FreeBSD edge.oper.dinoex.org 7.4-STABLE FreeBSD 7.4-STABLE #1: Sun Nov 27 04:10:51 UTC 2011 root@disp.oper.dinoex.org:/usr/src/sys/i386/compile/E1R74V1 i386 Interface card is WD8013 (ISA 16bit). I found (and fixed) this with RELEASE-7.2, but it seems I forgot to publish it. The patch does still apply cleanly, so the bug may still linger around, or it may not. Also, it may be applicaple to higher releases too, or it may not. >Description: Panic happens when sending large amounts of data. >From my understanding, that seems to happen when an mbuf content has uneven bytesize and ends at a page boundary. >How-To-Repeat: 1. have such nice old hardware, and 2. just send data over it. >Fix: *** sys/dev/ed/if_ed.c.orig Sat Nov 12 02:31:09 2011 --- sys/dev/ed/if_ed.c Sat Nov 12 02:56:03 2011 *************** *** 1690,1700 **** } } for (len = 0; m != 0; m = m->m_next) { ! if (sc->isa16bit) ! bus_space_write_region_2(sc->mem_bst, ! sc->mem_bsh, dst, ! mtod(m, uint16_t *), (m->m_len + 1)/ 2); ! else bus_space_write_region_1(sc->mem_bst, sc->mem_bsh, dst, mtod(m, uint8_t *), m->m_len); --- 1690,1704 ---- } } for (len = 0; m != 0; m = m->m_next) { ! if (sc->isa16bit) { ! if(m->m_len > 1) ! bus_space_write_region_2(sc->mem_bst, ! sc->mem_bsh, dst, mtod(m, uint16_t *), ! m->m_len / 2); ! bus_space_write_1(sc->mem_bst, sc->mem_bsh, ! dst + m->m_len - 1, ! *(mtod(m, uint8_t *) + m->m_len - 1)); ! } else bus_space_write_region_1(sc->mem_bst, sc->mem_bsh, dst, mtod(m, uint8_t *), m->m_len); >Release-Note: >Audit-Trail: >Unformatted: