Re: [linus:master] [selftests/proc] ca5480fb53: kselftests.proc.proc-maps-race.fail
From: Suren Baghdasaryan
Date: Wed Oct 28 2026 - 01:20:04 EST
On Tue, Oct 27, 2026 at 9:52 AM Suren Baghdasaryan <surenb@xxxxxxxxxx> wrote:
>
> 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.
Andrew, David,
I posted a fix at
https://lore.kernel.org/all/20261028051312.1505295-1-surenb@xxxxxxxxxx/.
Could you please take it as a hotfix?
Thanks,
Suren.
>
> > # 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
> >