The upper dentry may become stale before we call ovl_lock_rename_workdir.
For example, someone could (mistakenly or maliciously) manually unlink(2)
it directly from upperdir.
To ensure it is not stale, let's lookup it after ovl_lock_rename_workdir
and and check if it matches the upper dentry.
Essentially, it is the same problem and similar solution as in
commit
|
||
|---|---|---|
| .. | ||
| copy_up.c | ||
| dir.c | ||
| inode.c | ||
| Kconfig | ||
| Makefile | ||
| overlayfs.h | ||
| readdir.c | ||
| super.c | ||