ext2fs: Remove panics for rename() race conditions.
Sync with r84642 from UFS: The panics are inappropriate because the IN_RENAME flag only fixes a few of the huge number of race conditions that can result in the source path becoming invalid even prior to the VOP_RENAME() call. Found accidentally while checking an issue from PVS Static Analysis. MFC after: 3 days
This commit is contained in:
parent
55186e1731
commit
1960ec586d
@ -985,10 +985,10 @@ abortit:
|
||||
dp = VTOI(fdvp);
|
||||
} else {
|
||||
/*
|
||||
* From name has disappeared.
|
||||
* From name has disappeared. IN_RENAME is not sufficient
|
||||
* to protect against directory races due to timing windows,
|
||||
* so we can't panic here.
|
||||
*/
|
||||
if (doingdirectory)
|
||||
panic("ext2_rename: lost dir entry");
|
||||
vrele(ap->a_fvp);
|
||||
return (0);
|
||||
}
|
||||
@ -1003,8 +1003,11 @@ abortit:
|
||||
* rename.
|
||||
*/
|
||||
if (xp != ip) {
|
||||
if (doingdirectory)
|
||||
panic("ext2_rename: lost dir entry");
|
||||
/*
|
||||
* From name resolves to a different inode. IN_RENAME is
|
||||
* not sufficient protection against timing window races
|
||||
* so we can't panic here.
|
||||
*/
|
||||
} else {
|
||||
/*
|
||||
* If the source is a directory with a
|
||||
|
Loading…
x
Reference in New Issue
Block a user