Loading
selftests/mount_setattr: fix idmap_mount_tree_invalid failed to run
mainline inclusion from mainline-v6.12-rc6 commit fa0122eaca4f14272fbf76a70d51db78c69091f6 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IB4DM2 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=fa0122eaca4f14272fbf76a70d51db78c69091f6 ---------------------------------------------------------------------- [ Upstream commit fa0122eaca4f14272fbf76a70d51db78c69091f6 ] Test case idmap_mount_tree_invalid failed to run on the newer kernel with the following output: # RUN mount_setattr_idmapped.idmap_mount_tree_invalid ... # mount_setattr_test.c:1428:idmap_mount_tree_invalid:Expected sys_mount_setattr(open_tree_fd, "", AT_EMPTY_PATH, &attr, sizeof(attr)) (0) ! = 0 (0) # idmap_mount_tree_invalid: Test terminated by assertion This is because tmpfs is mounted at "/mnt/A", and tmpfs already contains the flag FS_ALLOW_IDMAP after the commit 7a80e5b8 ("shmem: support idmapped mounts for tmpfs"). So calling sys_mount_setattr here returns 0 instead of -EINVAL as expected. Ramfs does not support idmap mounts, so we can use it here to test invalid mounts, which allows the test case to pass with the following output: # Starting 1 tests from 1 test cases. # RUN mount_setattr_idmapped.idmap_mount_tree_invalid ... # OK mount_setattr_idmapped.idmap_mount_tree_invalid ok 1 mount_setattr_idmapped.idmap_mount_tree_invalid # PASSED: 1 / 1 tests passed. Link: https://lore.kernel.org/all/20241028084132.3212598-1-zhouyuhang1010@163.com/ Signed-off-by:zhouyuhang <zhouyuhang@kylinos.cn> Reviewed-by:
Christian Brauner <brauner@kernel.org> Signed-off-by:
Shuah Khan <skhan@linuxfoundation.org> Signed-off-by:
Jiangshan Yi <yijiangshan@kylinos.cn>