This message generated a parse failure. Raw output follows here. Please use 'back' to navigate. From devnull@lkml.org Fri Jun 14 10:20:30 2024 Delivery-date: Thu, 01 Jun 2006 02:16:42 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S965273AbWFAAPw (ORCPT ); Wed, 31 May 2006 20:15:52 -0400 Received: from ns1.suse.de ([195.135.220.2]:23737 "EHLO mx1.suse.de") by vger.kernel.org with ESMTP id S965272AbWFAAPv (ORCPT ); Wed, 31 May 2006 20:15:51 -0400 Received: from Relay2.suse.de (mail2.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 6D84BEF39; Thu, 1 Jun 2006 02:15:50 +0200 (CEST) From: Neil Brown To: Martin Hierling Date: Thu, 1 Jun 2006 10:15:40 +1000 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Message-Id: <17534.12716.972995.289153@cse.unsw.edu.au> Cc: linux-kernel@vger.kernel.org Subject: Re: Kernel 2.6.16.18 with general protection fault, perhaps nfsd In-Reply-To: message from Martin Hierling on Wednesday May 31 References: <20060531164707.GA19547@cc.fh-luh.de> X-Mailer: VM 7.19 under Emacs 21.4.1 X-Face: v[Gw_3E*Gng}4rRrKRYotwlE?.2|**#s9D Hi List, > > this is my first report, so don,AE$,1 s(Bt be to picky. thanks. Thank you for taking the trouble to make the report. I think your problem is bad memory. The code where the problem happens is: > Code: 83 fa ff 0f 84 2b 01 00 00 b8 00 e0 ff ff 21 e0 8b 00 89 90 74 01 > 00 00 8b 57 04 83 fa ff 0f 84 40 01 00 00 b8 00 e0 ff ff 21 c0 <8b> 00 > 89 90 84 01 00 00 8b 57 08 b8 f4 ff ff ff 85 d2 74 29 89 The relevant part disassembles as: Code; fffffff9 24: b8 00 e0 ff ff mov $0xffffe000,%eax Code; fffffffe 29: 21 c0 and %eax,%eax Code; 00000000 2b: 8b 00 mov (%eax),%eax Which fairly clearly looks wrong. The and %eax,%eax if pointless, and the result of the whole is to look at address 0xffffe000 which is what causes the GPF. This code should look like: 0x00007766 : mov $0xffffe000,%eax 0x0000776b : and %esp,%eax 0x0000776d : mov (%eax),%eax (based on what I see when I disassemble that code, allowing for the fact that I'm using a different version of gcc). This makes a lot more sense - %esp (the stack pointer) when anded with 0xffffe000 gives the 'current' task struct. The difference is one bit. 'and %eax %eax' is 0x21 0xc0 'and %esp %eax' is 0x21 0xe0 I recommend running memtest86 and replacing the bad memory. NeilBrown - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/