This bug is missing log files that will aid in diagnosing the problem.
While running an Ubuntu kernel (not a mainline or third-party kernel)
please enter the following command in a terminal window:

apport-collect 1776277

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable
to run this command, please add a comment stating that fact and change
the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the
Ubuntu Kernel Team.

** Changed in: linux (Ubuntu)
       Status: New => Incomplete

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1776277

Title:
  fscache cookie refcount updated incorrectly during fscache object
  allocation

Status in linux package in Ubuntu:
  Incomplete

Bug description:
  == SRU Justification ==

  [Impact]
  Oops during heavy NFS + FSCache + Cachefiles use:

   kernel BUG at /build/linux-Y09MKI/linux-4.4.0/fs/fscache/internal.h:321!
   kernel BUG at /build/linux-Y09MKI/linux-4.4.0/fs/fscache/cookie.c:639!

  [Cause]
   1)Two threads are trying to do operate on a cookie and two objects.
   2a)One thread tries to unmount the filesystem and in process goes over
     a huge list of objects marking them dead and deleting the objects.
     cookie->usage is also decremented in following path
        nfs_fscache_release_super_cookie
         -> __fscache_relinquish_cookie
          ->__fscache_cookie_put
          ->BUG_ON(atomic_read(&cookie->usage) <= 0);

   2b)second thread tries to lookup an object for reading data in
      following path
   
       fscache_alloc_object
        1) cachefiles_alloc_object
            -> fscache_object_init 
              -> assign cookie, but usage not bumped.
       2) fscache_attach_object -> fails in cant_attach_object because the 
          cookie's backing object or cookie's->parent object are going away
       3)fscache_put_object
             -> cachefiles_put_object
              ->fscache_object_destroy
                ->fscache_cookie_put
                 ->BUG_ON(atomic_read(&cookie->usage) <= 0);
  [Fix]
   Bump up the cookie usage in fscache_object_init,
   when it is first being assigned a cookie atomically such that the cookie
   is added and bumped up if its refcount is not zero.
   remove the assignment in the attach_object.

  [Testcase]
  A user has run ~100 hours of NFS stress tests and not seen this bug recur.

  [Regression Potential]
   - Limited to fscache/cachefiles.

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

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to