From owner-freebsd-current@FreeBSD.ORG Sun Mar 6 03:44:26 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E1D1216A4CE for ; Sun, 6 Mar 2005 03:44:26 +0000 (GMT) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id 91C0443D2F for ; Sun, 6 Mar 2005 03:44:26 +0000 (GMT) (envelope-from mux@freebsd.org) Received: by elvis.mu.org (Postfix, from userid 1920) id 881F65C97C; Sat, 5 Mar 2005 19:44:26 -0800 (PST) Date: Sun, 6 Mar 2005 04:44:26 +0100 From: Maxime Henrion To: Randy Bush Message-ID: <20050306034426.GY31320@elvis.mu.org> References: <20050305020343.GO31320@elvis.mu.org> <16937.62150.818165.837486@roam.psg.com> <20050305182751.GQ31320@elvis.mu.org> <16937.64632.277343.646373@roam.psg.com> <20050305183936.GR31320@elvis.mu.org> <16938.27.784339.206699@roam.psg.com> <20050305185822.GT31320@elvis.mu.org> <16938.1765.391376.38293@roam.psg.com> <20050305192732.GU31320@elvis.mu.org> <16938.8879.104268.738886@roam.psg.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <16938.8879.104268.738886@roam.psg.com> User-Agent: Mutt/1.4.2.1i cc: FreeBSD Current Subject: Re: fxp0 and vlan panic X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2005 03:44:27 -0000 Randy Bush wrote: > # addr2line -e kernel.debug -f 0xc047d2d0 > fxp_intr_body > /usr/src/sys/dev/fxp/if_fxp.c:1662 > > this was a feb 6 kernel Hmmm... With an if_fxp.c file from Feb 6 line 1662 is : if ((le16toh(rfa->rfa_status) & FXP_RFA_STATUS_C) == 0) So it would mean that rfa points to an invalid memory address and that the page fault occurs when we dereference it. However, rfa is taken from here (RFA_ALIGNMENT_FUDGE is 2): rfa = (struct fxp_rfa *)(m->m_ext.ext_buf + RFA_ALIGNMENT_FUDGE); Thus it means that m->m_ext.ext_buf points to a foobar'ed memory address too. I have no idea why such a thing would happen, given that every access to the descriptor ring looks properly locked down. A core dump would really be useful here... Cheers, Maxime