Tough bug to find. This is basically caused by AppArmor's VFS patches,
most notably the unambiguous-__d_path.diff patch. In sys_getcwd() it
changes the call to __d_path() and has two mistakes:
* First, it passes the actual struct path root, which ends up being changed
when we are looking up chroots (and most likely bind/union mounts too). When it
calls path_put(root) it's doing so on something other than what we started
with, hence improper ref counting.
* Second, it does not pass D_PATH_FAIL_DELETED like it should. So we end up not
properly catching failures.
FIxing both of these, will also send upstream.
** Changed in: linux (Ubuntu Intrepid)
Assignee: Ubuntu Kernel Team (ubuntu-kernel-team) => Ben Collins
(ben-collins)
Status: Triaged => In Progress
Target: None => intrepid-alpha-4
--
BUG: Dentry ffff81003ac17410{i=161b,n=cow} still in use (1) [unmount of rootfs
rootfs]
https://bugs.launchpad.net/bugs/251223
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs