From: Li Dongyang Date: Mon, 5 Sep 2022 00:27:34 +0000 (+1000) Subject: EX-5678 mmp: don't use O_RDWR in ext2fs_mmp_read X-Git-Tag: v1.46.2.wc6~1 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=864771127;p=tools%2Fe2fsprogs.git EX-5678 mmp: don't use O_RDWR in ext2fs_mmp_read 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 ] E2fsprogs-commit: 5cc83a2e5d2f3ec19462529c4144a2993b0c86e4 Change-Id: Iddecf0f18b584051ec064d39719254842552cc45 Signed-off-by: Li Dongyang Reviewed-on: https://review.whamcloud.com/48432 Tested-by: jenkins Reviewed-by: Andreas Dilger --- diff --git a/lib/ext2fs/mmp.c b/lib/ext2fs/mmp.c index 9ef4580..7970aac 100644 --- a/lib/ext2fs/mmp.c +++ b/lib/ext2fs/mmp.c @@ -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