Date: Thu, 04 Mar 2021 07:36:22 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 254005] Attempting to mount a slice containing a r/o mounted partition may make the mounted filesystem inaccessible Message-ID: <bug-254005-227@https.bugs.freebsd.org/bugzilla/>
index | next in thread | raw e-mail
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254005 Bug ID: 254005 Summary: Attempting to mount a slice containing a r/o mounted partition may make the mounted filesystem inaccessible Product: Base System Version: 11.4-STABLE Hardware: amd64 OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: ardovm@yahoo.it When a BSD partition is mounted _read_only_ to / (suppose /dev/da0s2a), if I try to mount its containing slice (/dev/da0s2) I receive a ``strange'' error message, and from that moment the mounted filesystem becomes unreadable. This bug is observed on memstick images from both: - 11.4-STABLE r369279 (built from source), - 12.2-RELEASE as downloaded from official mirror. I tested the following scenarios, when attempting to mount /dev/da0s2: A- If the partition is mounted r/o from /dev/da0s2a, then mount(8) reports the ``strange'' message and the system becomes unstable (bug). B- If the partition is mounted from /dev/ufs/label, then mount(8) reports "Operation not permitted" and the system remains stable. This is the expected behavior IMHO. C- If the partition is mounted read_write, from any special device, then mount(8) reports: - ``Operation not permitted'' if I try to mount the slice rw and the system remains stable (expected behavior); - the ``strange'' error message, if I try to mount the slice ro, and the system remains stable (tolerable behavior). The "strange error message" is "invalid argument" on 11.4-STABLE. Steps to reproduce: 1- flash the memstick image into a USB pen drive 2- edit /boot/loader.conf on the memstick adding the following lines (needed to boot successfully on my test system, I am not sure they have any influence on this problem): kern.vty=sc kern.cam.boot_delay=10000 kern.cam.scsi_delay=10000 3- edit /etc/fstab on the memstick and change the root device from /dev/ufs/FreeBSD_Install to /dev/da0s2a [or whatever device the USB pen drive will be assigned to] 4- boot the memstick and open a shell 5- # mount /dev/da0s2 /mnt mount: /dev/da0s2: No such file or directory <--- strange message! Additional information: - the partition /dev/da0s2a is offset 16 blocks from the beginning of its containing slice /dev/da0s2, as per mkimg(1) default behavior. - the problem should also appear on i386 (I can check thoroughly if necessary). IMHO this is a form of foot-shooting and we can claim that root should be allowed to ruin their own system. But it's worth mentioning that there _is_ a safety check in place, that is only active when the partition is mounted from /dev/ufs/label instead of /dev/da0s2. This is counter-intuitive. I remain available to give further information and/or conducting further tests. -- You are receiving this mail because: You are the assignee for the bug.help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-254005-227>
