I haven't found any obvious source in aufs for the extra fputs which I
suspect are causing this problem. If you could either give me more
information so I can run the same tests myself (I'm guessing the problem
isn't arch-specific) or else reproduce the problem with the kernel
patched with something like the following, perhaps we can catch it in
the act. However we also might just catch legitimate fputs since the
erroneous ones could occur while the refcount is still positive ...

diff --git a/fs/file_table.c b/fs/file_table.c
index df66450fb443..d4911a6e8331 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -264,7 +264,9 @@ static DECLARE_DELAYED_WORK(delayed_fput_work, 
delayed_fput);
 
 void fput(struct file *file)
 {
-       if (atomic_long_dec_and_test(&file->f_count)) {
+       long cnt = atomic_long_dec_return(&file->f_count);
+       WARN_ON(cnt < 0);
+       if (cnt == 0) {
                struct task_struct *task = current;
 
                if (likely(!in_interrupt() && !(task->flags & PF_KTHREAD))) {

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

Title:
  Ubuntu16.04.01VM:Docker-Powervm aufs bad file panic while running
  tests in a docker container

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to