Whamcloud - gitweb
mmp: don't use O_RDWR in ext2fs_mmp_read
authorMarius Vollmer <mvollmer@redhat.com>
Wed, 24 Aug 2022 11:38:48 +0000 (14:38 +0300)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 24 Aug 2022 20:50:26 +0000 (16:50 -0400)
It doesn't seem to be necessary since ext2fs_mmp_write doesn't write
via mmp_fd, and opening the block device with O_RDWR will trigger
udev.

Triggering udev is bad because it leads to an infinite loop when
running dumpe2fs in response to a udev event.

[ Rebased onto the maint branch, and added O_RDONLY flag.  From the
  open(2) man page: "The argument flags must include one of the
  following access modes: O_RDONLY, O_WRONLY, or O_RDWR." -- TYT ]

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
lib/ext2fs/mmp.c

index 9ef4580..7970aac 100644 (file)
@@ -58,7 +58,7 @@ errcode_t ext2fs_mmp_read(ext2_filsys fs, blk64_t mmp_blk, void *buf)
         * the MMP block by the io_manager or the VM.  It needs to be fresh. */
        if (fs->mmp_fd <= 0) {
                struct stat st;
-               int flags = O_RDWR | O_DIRECT;
+               int flags = O_RDONLY | O_DIRECT;
 
                /*
                 * There is no reason for using O_DIRECT if we're working with