xfs
[Top] [All Lists]

Re: xfs_vm_releasepage() causing BUG at free_buffer_head()

To: "Dave Chinner" <david@xxxxxxxxxxxxx>
Subject: Re: xfs_vm_releasepage() causing BUG at free_buffer_head()
From: "Alex Lyakas" <alex@xxxxxxxxxxxxxxxxx>
Date: Wed, 20 Jul 2016 12:42:54 +0300
Cc: <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zadarastorage-com.20150623.gappssmtp.com; s=20150623; h=message-id:from:to:cc:references:in-reply-to:subject:date :mime-version:content-transfer-encoding:importance; bh=TwCidbO3naWJ3NXQWLjrBXzh9vp4M/6muT7G6YB3nmU=; b=2CfN+7DjQnkol0MgzNFRVnBaPiYC6z0irU+duDkd+Smj/o/pQV75Ix6l6BWMv8L6m3 xvxhbboT7AfJtHhIiZ0wbAxCBCNKOUB6OY+7+xYxmZrBZMr8PcuJWGxVc7gNzT//rfyH IffaQmoA7/tnIHMeQQ0W1pt6pu3V8+SmKsU45AAYmcdQf5YVX2VmW59pgJhNH8HbKtTD ceO9WTxRgl2qkujG37mzW6F1NT3KbpVX6GaL5Yrd6EM/2Md0UD9nuk7HE9X0OzKx/cG+ s65Vc0Aiz7LLml/jbdF7z6Mmsbbv3tcXSqjR8Gi4tlxOMnIdkPJ5J4HxV8xcCTBu4Y4l vIbQ==
Importance: Normal
In-reply-to: <20160719231108.GH16044@dastard>
References: <143E2E5E912B4C348E8C62AA987F0506@alyakaslap> <20160719231108.GH16044@dastard>
Hello Dave,

Grepping through my kernel source code, I see the following:
- direct users of b_assoc_buffers are nilfs2, reiserfs and jbd2. In my case, jbd2 is used by ext4. Looking at jbd2 usage, however, it looks like it handles this list correctly. - the only other place where somebody can use the "b_assoc_buffers" link is by calling mark_buffer_dirty_inode(), which puts the bufferhead on "mapping->private_list" using the "b_assoc_buffers" link. There are several users of this API, but for my case the only relevant being again jbd2.

Therefore, I will ask on the ext4 community.

Thanks,
Alex.

-----Original Message----- From: Dave Chinner
Sent: Wednesday, July 20, 2016 2:11 AM
To: Alex Lyakas
Cc: xfs@xxxxxxxxxxx
Subject: Re: xfs_vm_releasepage() causing BUG at free_buffer_head()

On Mon, Jul 18, 2016 at 09:00:41PM +0300, Alex Lyakas wrote:
Greetings XFS community,

We have hit the following BUG [1].

This is in free_buffer_head():
BUG_ON(!list_empty(&bh->b_assoc_buffers));

XFS doesn't use the bh->b_assoc_buffers field at all, so nothing in
XFS should ever corrupt it. Do you have any extN filesystems active,
or any other filesystems/block devices that use bufferheads than
might have a use after free bug? e.g. a long time ago (circa
~2.6.16, IIRC) we had a bufferhead corruption problem detected in
XFS that was actually caused by a reiserfs use after free.

Cheers,

Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx
<Prev in Thread] Current Thread [Next in Thread>