diff --git a/man2/pivot_root.2 b/man2/pivot_root.2 index 6853e9bd9..f4e29cc62 100644 --- a/man2/pivot_root.2 +++ b/man2/pivot_root.2 @@ -94,19 +94,8 @@ similarly, if .I put_old is an existing mount point, its propagation type must not be .BR MS_SHARED . -.\" FIXME -.\" mtk: I am very suspicious of the following paragraph. My testing suggests -.\" that pivot_root() fails with the error EINVAL in the case where -.\" the current root (after chroot()) is not a mount point. And tehre are -.\" these lines in pivot_root(): -.\" error = -EINVAL; -.\" if (root.mnt->mnt_root != root.dentry) -.\" goto out4; /* not a mountpoint */ -.PP -If the current root is not a mount point (e.g., after an earlier -.BR chroot (2)), -then the mount point of the filesystem containing the current root directory -(i.e., not the directory itself) is mounted on \fIput_old\fP. +.IP \- +The current root directory must be a mount point. .SH RETURN VALUE On success, zero is returned. On error, \-1 is returned, and @@ -149,6 +138,11 @@ is not a mount point. \fIput_old\fP is not underneath \fInew_root\fP. .TP .B EINVAL +The current root directory is not a mount point +(because of an earlier +.BR chroot (2)). +.TP +.B EINVAL The current root is on the rootfs (initial ramfs) filesystem; see NOTES. .TP .B EINVAL