Bug 11805
Summary: | mounting XFS produces a segfault | ||
---|---|---|---|
Product: | File System | Reporter: | Tiago Maluta (maluta_tiago) |
Component: | XFS | Assignee: | XFS Guru (xfs-masters) |
Status: | CLOSED CODE_FIX | ||
Severity: | blocking | CC: | rjw |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.27-05577-g0cfd810-dirty | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Bug Depends on: | |||
Bug Blocks: | 11167 | ||
Attachments: |
Output from dmesg
check for memory allocation failure in xlog_alloc_log |
Description
Tiago Maluta
2008-10-21 18:00:36 UTC
Created attachment 18395 [details]
Output from dmesg
Looks like allocating a buffer in xlog_alloc_log() via xfs_buf_get_noaddr() is failing and we are not checking the return value before trying to lock the buffer. That implies you have not enough memory available to mount the filesystem. The only thing I can see that would have caused this was the call to alloc_pages(GFP_KERNEL) failed. As it is, this is not a regression in XFS - we've never checked the return value to xfs_buf_get_noaddr(). That is easily fixed - I'll have a patch in a few minutes. That being said - your kernel reports itself as: 2.6.27maluta-05577-g0cfd810-dirty #10 which, IIRC, indicates that you've built it from a git tree that contains local modifications (the -dirty bit). Have you modified the kernel you are running and if so, could those modifications be responsible for lack of memory in the machine? Yes. I modified the kernel, as long as I no the patch didn't affect memory. In fact the patch affects DMI (used to fix a bug on Lguest) http://marc.info/?l=linux-kernel&m=122445958110927&w=2 Created attachment 18397 [details]
check for memory allocation failure in xlog_alloc_log
This patch should fix the mount ENOMEM problem. Can you try it?
Fixed. Thanks! On Sunday, 26 of October 2008, Dave Chinner wrote:
> On Sat, Oct 25, 2008 at 10:06:44PM +0200, Rafael J. Wysocki wrote:
> > This message has been generated automatically as a part of a report
> > of recent regressions.
> >
> > The following bug entry is on the current list of known regressions
> > from 2.6.27. Please verify if it still should be listed and let me know
> > (either way).
> >
> >
> > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=11805
> > Subject : mounting XFS produces a segfault
> > Submitter : Tiago Maluta <maluta_tiago@yahoo.com.br>
> > Date : 2008-10-21 18:00 (5 days old)
>
> Ah - this was reported as a 2.6.26 -> 2.6.27 regression, not a
> .27->.28-rcX regression.
>
> Even so, it's not obviously an XFS regression as the problem is
> that alloc_pages(GFP_KERNEL) is the new failure on .27. The fact
> that XFS never handled the allocation failure is not a new bug
> or regression - it has never caught failures during log
> allocation...
>
> So really, if you want to look for a regression here, it is the
> change of behaviour in the VM leading to a memory allocation failure
> where it has never, ever previously failed...
Handled-By : Dave Chinner <dgc@sgi.com> Patch : http://bugzilla.kernel.org/attachment.cgi?id=18397&action=view Fixed by commit 8f330f5149ef41ff943b04d914406cc417f62784 . |