[PATCHES v2][CFT] rename deadlock fixes

From: Al Viro
Date: Sat Nov 25 2023 - 15:10:23 EST


Updated variant forced-pushed into #work.rename; changes since v1:
* rebased on top of #merged-selinux, to avoid a bisection hazard;
selinuxfs used to abuse lock_rename() badly enough to trigger the checks
in the last commit. Fixed in #merged-selinux (which consists of a commit
already in selinux git tree), and rebase on top of that does not require
any changes in the series.
* (hopefully) fixed the markup in directory-locking.rst. I would
really appreciate if somebody familiar with reST took a look at that.
* fixed another part of directory-locking.rst, not touched in v1 -
the proof that operations will not introduce loops if none had been present
should've been updated when RENAME_EXCHANGE got introduced; it hadn't been.
Rewritten.

Same branch, same overall description, individual patches in followups.