From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linus Torvalds Subject: Re: Fw: crash on x86_64 - mm related? Date: Sun, 8 Jan 2006 20:07:08 -0800 (PST) Message-ID: References: <1134411882.9994.18.camel@mulgrave> <20051215190930.GA20156@tau.solarneutrino.net> <1134705703.3906.1.camel@mulgrave> <20051226234238.GA28037@tau.solarneutrino.net> <20060104172727.GA320@tau.solarneutrino.net> <20060105201249.GB1795@tau.solarneutrino.net> <20060109033149.GC283@tau.solarneutrino.net> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Return-path: Received: from smtp.osdl.org ([65.172.181.4]:30342 "EHLO smtp.osdl.org") by vger.kernel.org with ESMTP id S1751227AbWAIEHQ (ORCPT ); Sun, 8 Jan 2006 23:07:16 -0500 In-Reply-To: <20060109033149.GC283@tau.solarneutrino.net> Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: Ryan Richter Cc: Kai Makisara , James Bottomley , Hugh Dickins , Nick Piggin , Andrew Morton , Linux Kernel Mailing List , linux-scsi@vger.kernel.org On Sun, 8 Jan 2006, Ryan Richter wrote: > > Kernel BUG at mm/swap.c:49 Well, it sure triggered. > Process taper (pid: 4501, threadinfo ffff8101453d8000, task ffff81017d0143c0) > Call Trace:{sgl_unmap_user_pages+124} > {release_buffering+27} and it's that same sgl_unmap_user_pages() that keeps on triggering it. Which was not what I was hoping for. I was hoping we'd see somebody _else_ decrementing the page count below the map count, and get a new clue. However, the page flags you show later on (0x1c) ended up making me take notice of something. That's "dirty", and maybe it's from if (dirtied) SetPageDirty(page); in that same sgl_unmap_user_pages() routine.. And it strikes me that that is bogus. Code like that should use "set_page_dirty()", which does the appropriate callbacks to the filesystem for that page. I wonder if the bug is simply because the ST code just sets the dirty bit without telling anybody else about it... Gaah. Hugh, Nick? Linus