Hi J. R. Okajima,

Here's a fix for what is _actually_ a ~10-year-old bug in aufs.

I've verified this with the aufs3.2 branch in aufs3-linux.git
(the issue is related to a commit introduced in v3.2) with an
Ubuntu 12.04 VM. (For the analysis details/steps, see patch 2.)

There's a public report [1] about it that's 4 years, 10 months.

For v2 your suggestion to replace `struct dentry` with `struct
path` (rather than adding `struct vfsmount`) was implemented.

The number of modified callers is still large (~30 functions).
I could verify that the issue with the provided reproducer is
fixed, but it's far from testing every path that changed...

So, could you please run it through your internal test suite?

Thanks!
Mauricio

[1] 
https://unix.stackexchange.com/questions/324571/docker-run-causing-kernel-panic

Mauricio Faria de Oliveira (2):
  aufs: deduplicate vfsub_lookup_one_len[_unlocked]()
  aufs: set struct path.mnt in vfsub_lookup_one_len[_unlocked]()

 fs/aufs/cpup.c     |  5 ++++-
 fs/aufs/dentry.c   | 36 +++++++++++++++++++++++++-----------
 fs/aufs/dentry.h   |  2 +-
 fs/aufs/dirren.c   |  6 +++---
 fs/aufs/export.c   |  2 +-
 fs/aufs/i_op_del.c |  6 +++++-
 fs/aufs/i_op_ren.c | 12 ++++++++++--
 fs/aufs/plink.c    | 12 ++++++++++--
 fs/aufs/vfsub.c    | 43 +++++++++++++++++++++----------------------
 fs/aufs/vfsub.h    | 10 +++++-----
 fs/aufs/whout.c    | 36 ++++++++++++++++++++++++++----------
 fs/aufs/whout.h    |  4 ++--
 fs/aufs/xino.c     |  6 +++++-
 13 files changed, 118 insertions(+), 62 deletions(-)

-- 
2.30.2


Reply via email to