rename(2): do not allow to rename root vnode of the mounted filesystem Check for tdvp being vp_crossmp. This cannot happen for the normal rename cases, but could if the target path specified by the syscall points to the nullfs mount over the regular file. In this case namei() cannot step over crossmp, and keep it in ni_dvp. Since crossmp VOP_GETWRITEMOUNT() returns NULL mp, we retry the locking dance since the belief is that NULL return is transient. PR: 295826 renameat(2): when retrying, check for pending signals The vn_start_write() call there is already interruptible. Check for user signals before restarting due to ERELOOKUP, or after failed vn_start_write(). Note that vn_start_write(V_XSLEEP | V_PCATCH) does not check for signals if not sleeping. PR: 295826
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable