Launchpad has imported 7 comments from the remote bug at
https://bugzilla.kernel.org/show_bug.cgi?id=101951.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2015-07-25T23:17:23+00:00 fraph24 wrote:

Created attachment 183641
kernel oops log

How to reproduce:
$ mkdir {lower,upper,work,overlay}
$ uname > lower/uname
# mount overlay -t overlay -o lowerdir=lower,upperdir=upper,workdir=work overlay
$ # edit overlay/uname

Results:
Kernel oops, screen freezes.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1532145/comments/0

------------------------------------------------------------------------
On 2015-09-17T15:22:21+00:00 rauter.gabriel wrote:

I have the same problem although i am using overlay while being in a docker 
container. Host fs is btrfs on arch linux kernel 4.2.0, guest docker image 
ubuntu:wily.
kernel oops log can be found here
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1496438/comments/2

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1532145/comments/1

------------------------------------------------------------------------
On 2016-02-10T16:51:25+00:00 colin.king wrote:

I've debugged this a bit, the failure occurs on an atomic_inc on root,
when root is NULL, cf:

atomic_inc(&root->log_batch);

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1532145/comments/11

------------------------------------------------------------------------
On 2016-02-16T11:01:18+00:00 colin.king wrote:

bisected: 4bacc9c9234c7c8eec44f5ed4e960d9f96fa0f01 is the first bad
commit

commit 4bacc9c9234c7c8eec44f5ed4e960d9f96fa0f01
Author: David Howells <[email protected]>
Date: Thu Jun 18 14:32:31 2015 +0100

    overlayfs: Make f_path always point to the overlay and f_inode to
the underlay

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1532145/comments/15

------------------------------------------------------------------------
On 2016-02-16T15:24:24+00:00 colin.king wrote:

The following stops the issue. I'm not sure if it is the correct fix
though.

diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 098bb8f..5e5df8b 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1884,7 +1884,7 @@ static int start_ordered_ops(struct inode *inode, loff_t 
start, loff_t end)
 int btrfs_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
 {
        struct dentry *dentry = file->f_path.dentry;
-       struct inode *inode = d_inode(dentry);
+       struct inode *inode = file_inode(file);
        struct btrfs_root *root = BTRFS_I(inode)->root;
        struct btrfs_trans_handle *trans;
        struct btrfs_log_ctx ctx;

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1532145/comments/17

------------------------------------------------------------------------
On 2016-02-16T15:41:10+00:00 colin.king wrote:


Commit 4bacc9c9234c7c8eec44f5ed4e960d9f96fa0f01 ("overlayfs: Make f_path
always point to the overlay and f_inode to the underlay") resulted in an
issue when using a combination of btrfs and overlayfs.  This is
noticeable when doing a fsync() on a file in a chroot with overlayfs on
top of btrfs; we hit a kernel oops in btrfs_sync_file() on
atomic_inc(&root->log_batch) because root is NULL.

I've debugged this further and found that in btrfs_sync_file():

        struct inode *inode = d_inode(dentry);

does not return the inode I expected when using the stacked overlay fs,
where as:

        struct inode *inode = file_inode(file);

does.

However, I'm not well at all well versed in btrfs, so I am not confident
this is a actually correct.  Any comments?

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1532145/comments/18

------------------------------------------------------------------------
On 2019-05-21T12:33:42+00:00 dsterba wrote:

Fixed by de17e793b104d690e1d "btrfs: fix crash/invalid memory access on
fsync when using overlayfs", in 4.6.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1532145/comments/23


** Changed in: linux
       Status: Unknown => Fix Released

** Changed in: linux
   Importance: Unknown => Medium

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1532145

Title:
  Kernel Panic wrt btrfs while sbuild/schroot

To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/1532145/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to