Re: [linus:master] [selftests/proc] ca5480fb53: kselftests.proc.proc-maps-race.fail

From: Suren Baghdasaryan

Date: Tue Oct 27 2026 - 12:57:48 EST


On Tue, Oct 27, 2026 at 5:31 AM kernel test robot <yi1.lai@xxxxxxxxx> wrote:
>
>
>
> Hello,
>
> kernel test robot noticed "kselftests.proc.proc-maps-race.fail" on:
>
> commit: ca5480fb53fa73cb5816b696b103826daedab1ca ("selftests/proc: add /proc/pid/smaps_rollup tearing tests") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
>
> [test failed on linux-next/master f1ac44c32cba88ad65dcecd4a279661d14e93651]
>
> in testcase: kselftests
> version: kselftests-x86_64-d6d3455d8751-1_20261013
> with following parameters:
>
> group: proc
>
>
> config: x86_64-rhel-9.4-kselftests
> compiler: gcc-14
> test machine: 36 threads 1 sockets Intel(R) Core(TM) i9-9980XE CPU @ 3.00GHz (Skylake) with 32G memory
>
> (please refer to attached dmesg/kmsg for entire log/backtrace)
>
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <yi1.lai@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-lkp/202610271934.fd287c3f-lkp@xxxxxxxxx
>
>
> KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-9.4-kselftests-ca5480fb53fa73cb5816b696b103826daedab1ca
> 2026-10-26 14:37:46 sed -i s/default_timeout=45/default_timeout=300/ kselftest/runner.sh
> 2026-10-26 14:37:46 make -j36 TARGETS=proc run_tests
> CC fd-001-lookup
> CC fd-002-posix-eq
> CC fd-003-kthread
> CC proc-2-is-kthread
> CC proc-loadavg-001
> CC proc-maps-race
> CC proc-net-dev-lseek
> CC proc-empty-vm
> CC proc-self-map-files-001
> CC proc-pid-vm
> CC proc-self-map-files-002
> CC proc-self-isnt-kthread
> CC proc-self-syscall
> CC proc-self-wchan
> CC proc-subset-pid
> CC proc-uptime-001
> CC proc-uptime-002
> CC read
> CC proc-tid0
> CC self
> CC setns-dcache
> CC setns-sysvipc
> CC thread-self
> CC proc-multiple-procfs
> CC proc-fsconfig-hidepid
> CC proc-pidns
> # timeout set to 300
> # selftests: proc: fd-001-lookup
> ok 1 selftests: proc: fd-001-lookup
> # timeout set to 300
> # selftests: proc: fd-002-posix-eq
> ok 2 selftests: proc: fd-002-posix-eq
> # timeout set to 300
> # selftests: proc: fd-003-kthread
> ok 3 selftests: proc: fd-003-kthread
> # timeout set to 300
> # selftests: proc: proc-2-is-kthread
> ok 4 selftests: proc: proc-2-is-kthread
> # timeout set to 300
> # selftests: proc: proc-loadavg-001
> ok 5 selftests: proc: proc-loadavg-001
> # timeout set to 300
> # selftests: proc: proc-maps-race
> # TAP version 13
> # 1..6
> # # Starting 6 tests from 2 test cases.
> # # RUN proc_maps_race.maps.test_maps_tearing_from_split ...
> # # OK proc_maps_race.maps.test_maps_tearing_from_split
> # ok 1 proc_maps_race.maps.test_maps_tearing_from_split
> # # RUN proc_maps_race.maps.test_maps_tearing_from_resize ...
> # # OK proc_maps_race.maps.test_maps_tearing_from_resize
> # ok 2 proc_maps_race.maps.test_maps_tearing_from_resize
> # # RUN proc_maps_race.maps.test_maps_tearing_from_remap ...
> # # OK proc_maps_race.maps.test_maps_tearing_from_remap
> # ok 3 proc_maps_race.maps.test_maps_tearing_from_remap
> # # RUN proc_maps_race.smaps.test_maps_tearing_from_split ...
> # Expected stats: Rss 892 kB
> # Pss 82 kB
> # Pss_Dirty 82 kB
> # Pss_Anon 54 kB
> # Pss_File 24 kB
> # Pss_Shmem 3 kB
> # Shared_Clean 0 kB
> # Shared_Dirty 860 kB
> # Private_Clean 0 kB
> # Private_Dirty 32 kB
> # Referenced 892 kB
> # Anonymous 120 kB
> # KSM 0 kB
> # LazyFree 0 kB
> # AnonHugePages 0 kB
> # ShmemPmdMapped 0 kB
> # FilePmdMapped 0 kB
> # Shared_Hugetlb 0 kB
> # Private_Hugetlb 0 kB
> # Swap 0 kB
> # SwapPss 0 kB
> # Locked 0 kB
> # Actual stats: Rss 892 kB
> # Pss 81 kB

Hmm. RSS is staying the same but PSS is changing. I think I must
filter out PSS stats in this comparison because they depend on page
mapcount and might change even if VMA tree is stable. I will update
the test to exclude that metric and will post the fixup later today.

> # Pss_Dirty 81 kB
> # Pss_Anon 54 kB
> # Pss_File 24 kB
> # Pss_Shmem 3 kB
> # Shared_Clean 0 kB
> # Shared_Dirty 860 kB
> # Private_Clean 0 kB
> # Private_Dirty 32 kB
> # Referenced 892 kB
> # Anonymous 120 kB
> # KSM 0 kB
> # LazyFree 0 kB
> # AnonHugePages 0 kB
> # ShmemPmdMapped 0 kB
> # FilePmdMapped 0 kB
> # Shared_Hugetlb 0 kB
> # Private_Hugetlb 0 kB
> # Swap 0 kB
> # SwapPss 0 kB
> # Locked 0 kB
> # # proc-maps-race.c:961:test_maps_tearing_from_split:Expected 0 (0) != compare_smaps_rollup(self, &orig_stats, &stats) (0) # # test_maps_tearing_from_split: Test terminated by timeout
> # # FAIL proc_maps_race.smaps.test_maps_tearing_from_split
> # not ok 4 proc_maps_race.smaps.test_maps_tearing_from_split
> # # RUN proc_maps_race.smaps.test_maps_tearing_from_resize ...
> # Expected stats: Rss 956 kB
> # Pss 83 kB
> # Pss_Dirty 83 kB
> # Pss_Anon 54 kB
> # Pss_File 26 kB
> # Pss_Shmem 3 kB
> # Shared_Clean 0 kB
> # Shared_Dirty 924 kB
> # Private_Clean 0 kB
> # Private_Dirty 32 kB
> # Referenced 956 kB
> # Anonymous 120 kB
> # KSM 0 kB
> # LazyFree 0 kB
> # AnonHugePages 0 kB
> # ShmemPmdMapped 0 kB
> # FilePmdMapped 0 kB
> # Shared_Hugetlb 0 kB
> # Private_Hugetlb 0 kB
> # Swap 0 kB
> # SwapPss 0 kB
> # Locked 0 kB
> # Actual stats: Rss 956 kB
> # Pss 83 kB
> # Pss_Dirty 83 kB
> # Pss_Anon 54 kB
> # Pss_File 25 kB
> # Pss_Shmem 3 kB
> # Shared_Clean 0 kB
> # Shared_Dirty 924 kB
> # Private_Clean 0 kB
> # Private_Dirty 32 kB
> # Referenced 956 kB
> # Anonymous 120 kB
> # KSM 0 kB
> # LazyFree 0 kB
> # AnonHugePages 0 kB
> # ShmemPmdMapped 0 kB
> # FilePmdMapped 0 kB
> # Shared_Hugetlb 0 kB
> # Private_Hugetlb 0 kB
> # Swap 0 kB
> # SwapPss 0 kB
> # Locked 0 kB
> # # proc-maps-race.c:1050:test_maps_tearing_from_resize:Expected 0 (0) != compare_smaps_rollup(self, &orig_stats, &stats) (0) # # test_maps_tearing_from_resize: Test terminated by timeout
> # # FAIL proc_maps_race.smaps.test_maps_tearing_from_resize
> # not ok 5 proc_maps_race.smaps.test_maps_tearing_from_resize
> # # RUN proc_maps_race.smaps.test_maps_tearing_from_remap ...
> # Expected stats: Rss 956 kB
> # Pss 84 kB
> # Pss_Dirty 84 kB
> # Pss_Anon 54 kB
> # Pss_File 26 kB
> # Pss_Shmem 3 kB
> # Shared_Clean 0 kB
> # Shared_Dirty 924 kB
> # Private_Clean 0 kB
> # Private_Dirty 32 kB
> # Referenced 956 kB
> # Anonymous 120 kB
> # KSM 0 kB
> # LazyFree 0 kB
> # AnonHugePages 0 kB
> # ShmemPmdMapped 0 kB
> # FilePmdMapped 0 kB
> # Shared_Hugetlb 0 kB
> # Private_Hugetlb 0 kB
> # Swap 0 kB
> # SwapPss 0 kB
> # Locked 0 kB
> # Actual stats: Rss 956 kB
> # Pss 83 kB
> # Pss_Dirty 83 kB
> # Pss_Anon 54 kB
> # Pss_File 26 kB
> # Pss_Shmem 3 kB
> # Shared_Clean 0 kB
> # Shared_Dirty 924 kB
> # Private_Clean 0 kB
> # Private_Dirty 32 kB
> # Referenced 956 kB
> # Anonymous 120 kB
> # KSM 0 kB
> # LazyFree 0 kB
> # AnonHugePages 0 kB
> # ShmemPmdMapped 0 kB
> # FilePmdMapped 0 kB
> # Shared_Hugetlb 0 kB
> # Private_Hugetlb 0 kB
> # Swap 0 kB
> # SwapPss 0 kB
> # Locked 0 kB
> # # proc-maps-race.c:1141:test_maps_tearing_from_remap:Expected 0 (0) != compare_smaps_rollup(self, &orig_stats, &stats) (0) # # test_maps_tearing_from_remap: Test terminated by timeout
> # # FAIL proc_maps_race.smaps.test_maps_tearing_from_remap
> # not ok 6 proc_maps_race.smaps.test_maps_tearing_from_remap
> # # FAILED: 3 / 6 tests passed.
> # # Totals: pass:3 fail:3 xfail:0 xpass:0 skip:0 error:0 not ok 6 selftests: proc: proc-maps-race # exit=1 # timeout set to 300 # selftests: proc: proc-net-dev-lseek ok 7 selftests: proc: proc-net-dev-lseek # timeout set to 300 # selftests: proc: proc-empty-vm # protection_key_support: error: rv -1, errno 28 not ok 8 selftests: proc: proc-empty-vm # exit=1 # timeout set to 300 # selftests: proc: proc-pid-vm ok 9 selftests: proc: proc-pid-vm # timeout set to 300 # selftests: proc: proc-self-map-files-001 ok 10 selftests: proc: proc-self-map-files-001 # timeout set to 300 # selftests: proc: proc-self-map-files-002 ok 11 selftests: proc: proc-self-map-files-002 # timeout set to 300 # selftests: proc: proc-self-isnt-kthread ok 12 selftests: proc: proc-self-isnt-kthread # timeout set to 300 # selftests: proc: proc-self-syscall ok 13 selftests: proc: proc-self-syscall # timeout set to 300 # selftests: proc: proc-self-wchan ok 14 selftests: proc: proc-self-wchan # timeout set to 300 # selftests: proc: proc-subset-pid ok 15 selftests: proc: proc-subset-pid # timeout set to 300 # selftests: proc: proc-tid0 ok 16 selftests: proc: proc-tid0 # timeout set to 300 # selftests: proc: proc-uptime-001 ok 17 selftests: proc: proc-uptime-001 # timeout set to 300 # selftests: proc: proc-uptime-002 ok 18 selftests: proc: proc-uptime-002 # timeout set to 300 # selftests: proc: read ok 19 selftests: proc: read # timeout set to 300 # selftests: proc: self ok 20 selftests: proc: self # timeout set to 300 # selftests: proc: setns-dcache ok 21 selftests: proc: setns-dcache # timeout set to 300 # selftests: proc: setns-sysvipc ok 22 selftests: proc: setns-sysvipc # timeout set to 300 # selftests: proc: thread-self ok 23 selftests: proc: thread-self # timeout set to 300 # selftests: proc: proc-multiple-procfs ok 24 selftests: proc: proc-multiple-procfs # timeout set to 300 # selftests: proc: proc-fsconfig-hidepid ok 25 selftests: proc: proc-fsconfig-hidepid # timeout set to 300 # selftests: proc: proc-pidns # TAP version 13 # 1..6 # # Starting 6 tests from 1 test cases.
> # # RUN ns.pidns_mount_string_path ...
> # # OK ns.pidns_mount_string_path
> # ok 1 ns.pidns_mount_string_path
> # # RUN ns.pidns_fsconfig_string_path ...
> # # OK ns.pidns_fsconfig_string_path
> # ok 2 ns.pidns_fsconfig_string_path
> # # RUN ns.pidns_fsconfig_fd ...
> # # OK ns.pidns_fsconfig_fd
> # ok 3 ns.pidns_fsconfig_fd
> # # RUN ns.pidns_reconfigure_remount ...
> # # OK ns.pidns_reconfigure_remount
> # ok 4 ns.pidns_reconfigure_remount
> # # RUN ns.pidns_reconfigure_fsconfig_string_path ...
> # # OK ns.pidns_reconfigure_fsconfig_string_path
> # ok 5 ns.pidns_reconfigure_fsconfig_string_path
> # # RUN ns.pidns_reconfigure_fsconfig_fd ...
> # # OK ns.pidns_reconfigure_fsconfig_fd
> # ok 6 ns.pidns_reconfigure_fsconfig_fd
> # # PASSED: 6 / 6 tests passed.
> # # Totals: pass:6 fail:0 xfail:0 xpass:0 skip:0 error:0 ok 26 selftests: proc: proc-pidns
>
>
> The kernel config and materials to reproduce are available at:
> https://download.01.org/0day-ci/archive/20261027/202610271934.fd287c3f-lkp@xxxxxxxxx
>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>