# git gc Expanding reachable commits in commit graph: 30935 Expanding reachable commits in commit graph: 60664 Expanding reachable commits in commit graph: 90195 Expanding reachable commits in commit graph: 119947 Expanding reachable commits in commit graph: 146410 Expanding reachable commits in commit graph: 174755 Expanding reachable commits in commit graph: 198350 Expanding reachable commits in commit graph: 237571 Expanding reachable commits in commit graph: 296265 Expanding reachable commits in commit graph: 357843 Expanding reachable commits in commit graph: 419944 Expanding reachable commits in commit graph: 479918 Expanding reachable commits in commit graph: 509019 Expanding reachable commits in commit graph: 527608 Expanding reachable commits in commit graph: 549760 Expanding reachable commits in commit graph: 590044 Expanding reachable commits in commit graph: 652957 Expanding reachable commits in commit graph: 714103 Expanding reachable commits in commit graph: 773694 Expanding reachable commits in commit graph: 833476 Expanding reachable commits in commit graph: 893080 Expanding reachable commits in commit graph: 952818 Expanding reachable commits in commit graph: 1011976 Expanding reachable commits in commit graph: 1063763 Expanding reachable commits in commit graph: 1126405 Expanding reachable commits in commit graph: 1170452 Expanding reachable commits in commit graph: 1214489 Expanding reachable commits in commit graph: 1235193, done. Finding extra edges in commit graph: 4% (59376/1235193) Finding extra edges in commit graph: 5% (61760/1235193) Finding extra edges in commit graph: 6% (74112/1235193) Finding extra edges in commit graph: 7% (86464/1235193) Finding extra edges in commit graph: 8% (98816/1235193) Finding extra edges in commit graph: 9% (111168/1235193) Finding extra edges in commit graph: 10% (123520/1235193) Finding extra edges in commit graph: 11% (135872/1235193) Finding extra edges in commit graph: 12% (148224/1235193) Finding extra edges in commit graph: 13% (160576/1235193) Finding extra edges in commit graph: 14% (172928/1235193) Finding extra edges in commit graph: 15% (185279/1235193) Finding extra edges in commit graph: 16% (197631/1235193) Finding extra edges in commit graph: 17% (209983/1235193) Finding extra edges in commit graph: 18% (222335/1235193) Finding extra edges in commit graph: 19% (234687/1235193) Finding extra edges in commit graph: 20% (247039/1235193) Finding extra edges in commit graph: 21% (259391/1235193) Finding extra edges in commit graph: 22% (271743/1235193) Finding extra edges in commit graph: 23% (284095/1235193) Finding extra edges in commit graph: 24% (296447/1235193) Finding extra edges in commit graph: 25% (308799/1235193) Finding extra edges in commit graph: 26% (321151/1235193) Finding extra edges in commit graph: 27% (333503/1235193) Finding extra edges in commit graph: 28% (345855/1235193) Finding extra edges in commit graph: 29% (358206/1235193) Finding extra edges in commit graph: 30% (370558/1235193) Finding extra edges in commit graph: 31% (382910/1235193) Finding extra edges in commit graph: 32% (395262/1235193) Finding extra edges in commit graph: 33% (407614/1235193) Finding extra edges in commit graph: 34% (419966/1235193) Finding extra edges in commit graph: 35% (432318/1235193) Finding extra edges in commit graph: 36% (444670/1235193) Finding extra edges in commit graph: 37% (457022/1235193) Finding extra edges in commit graph: 38% (469374/1235193) Finding extra edges in commit graph: 39% (481726/1235193) Finding extra edges in commit graph: 40% (494078/1235193) Finding extra edges in commit graph: 41% (506430/1235193) Finding extra edges in commit graph: 42% (518782/1235193) Finding extra edges in commit graph: 43% (531133/1235193) Finding extra edges in commit graph: 44% (543485/1235193) Finding extra edges in commit graph: 45% (555837/1235193) Finding extra edges in commit graph: 46% (568189/1235193) Finding extra edges in commit graph: 47% (580541/1235193) Finding extra edges in commit graph: 48% (592893/1235193) Finding extra edges in commit graph: 49% (605245/1235193) Finding extra edges in commit graph: 50% (617597/1235193) Finding extra edges in commit graph: 51% (629949/1235193) Finding extra edges in commit graph: 52% (642301/1235193) Finding extra edges in commit graph: 53% (654653/1235193) Finding extra edges in commit graph: 54% (667005/1235193) Finding extra edges in commit graph: 55% (679357/1235193) Finding extra edges in commit graph: 56% (691709/1235193) Finding extra edges in commit graph: 57% (704061/1235193) Finding extra edges in commit graph: 58% (716412/1235193) Finding extra edges in commit graph: 59% (728764/1235193) Finding extra edges in commit graph: 60% (741116/1235193) Finding extra edges in commit graph: 61% (753468/1235193) Finding extra edges in commit graph: 62% (765820/1235193) Finding extra edges in commit graph: 63% (778172/1235193) Finding extra edges in commit graph: 64% (790524/1235193) Finding extra edges in commit graph: 65% (802876/1235193) Finding extra edges in commit graph: 66% (815228/1235193) Finding extra edges in commit graph: 67% (827580/1235193) Finding extra edges in commit graph: 68% (839932/1235193) Finding extra edges in commit graph: 69% (852284/1235193) Finding extra edges in commit graph: 70% (864636/1235193) Finding extra edges in commit graph: 71% (876988/1235193) Finding extra edges in commit graph: 72% (889339/1235193) Finding extra edges in commit graph: 73% (901691/1235193) Finding extra edges in commit graph: 74% (914043/1235193) Finding extra edges in commit graph: 75% (926395/1235193) Finding extra edges in commit graph: 76% (938747/1235193) Finding extra edges in commit graph: 77% (951099/1235193) Finding extra edges in commit graph: 78% (963451/1235193) Finding extra edges in commit graph: 79% (975803/1235193) Finding extra edges in commit graph: 80% (988155/1235193) Finding extra edges in commit graph: 81% (1000507/1235193) Finding extra edges in commit graph: 82% (1012859/1235193) Finding extra edges in commit graph: 82% (1018285/1235193) Finding extra edges in commit graph: 83% (1025211/1235193) Finding extra edges in commit graph: 84% (1037563/1235193) Finding extra edges in commit graph: 85% (1049915/1235193) Finding extra edges in commit graph: 86% (1062266/1235193) Finding extra edges in commit graph: 87% (1074618/1235193) Finding extra edges in commit graph: 88% (1086970/1235193) Finding extra edges in commit graph: 89% (1099322/1235193) Finding extra edges in commit graph: 90% (1111674/1235193) Finding extra edges in commit graph: 91% (1124026/1235193) Finding extra edges in commit graph: 92% (1136378/1235193) Finding extra edges in commit graph: 93% (1148730/1235193) Finding extra edges in commit graph: 94% (1161082/1235193) Finding extra edges in commit graph: 95% (1173434/1235193) Finding extra edges in commit graph: 96% (1185786/1235193) Finding extra edges in commit graph: 97% (1198138/1235193) Finding extra edges in commit graph: 98% (1210490/1235193) Finding extra edges in commit graph: 99% (1222842/1235193) Finding extra edges in commit graph: 100% (1235193/1235193) Finding extra edges in commit graph: 100% (1235193/1235193), done. Computing commit graph generation numbers: 55% (682422/1235193) Computing commit graph generation numbers: 56% (691709/1235193) Computing commit graph generation numbers: 57% (704061/1235193) Computing commit graph generation numbers: 58% (716412/1235193) Computing commit graph generation numbers: 59% (728764/1235193) Computing commit graph generation numbers: 60% (741116/1235193) Computing commit graph generation numbers: 61% (753468/1235193) Computing commit graph generation numbers: 62% (765820/1235193) Computing commit graph generation numbers: 63% (778172/1235193) Computing commit graph generation numbers: 64% (790524/1235193) Computing commit graph generation numbers: 65% (802876/1235193) Computing commit graph generation numbers: 66% (815228/1235193) Computing commit graph generation numbers: 67% (827580/1235193) Computing commit graph generation numbers: 68% (839932/1235193) Computing commit graph generation numbers: 69% (852284/1235193) Computing commit graph generation numbers: 70% (864636/1235193) Computing commit graph generation numbers: 71% (876988/1235193) Computing commit graph generation numbers: 72% (889339/1235193) Computing commit graph generation numbers: 73% (901691/1235193) Computing commit graph generation numbers: 74% (914043/1235193) Computing commit graph generation numbers: 75% (926395/1235193) Computing commit graph generation numbers: 76% (938747/1235193) Computing commit graph generation numbers: 77% (951099/1235193) Computing commit graph generation numbers: 78% (963451/1235193) Computing commit graph generation numbers: 79% (975803/1235193) Computing commit graph generation numbers: 80% (988155/1235193) Computing commit graph generation numbers: 81% (1000507/1235193) Computing commit graph generation numbers: 82% (1012859/1235193) Computing commit graph generation numbers: 83% (1025211/1235193) Computing commit graph generation numbers: 84% (1037563/1235193) Computing commit graph generation numbers: 85% (1049915/1235193) Computing commit graph generation numbers: 86% (1062266/1235193) Computing commit graph generation numbers: 87% (1074618/1235193) Computing commit graph generation numbers: 88% (1086970/1235193) Computing commit graph generation numbers: 89% (1099322/1235193) Computing commit graph generation numbers: 90% (1111674/1235193) Computing commit graph generation numbers: 91% (1124026/1235193) Computing commit graph generation numbers: 92% (1136378/1235193) Computing commit graph generation numbers: 93% (1148730/1235193) Computing commit graph generation numbers: 94% (1161082/1235193) Computing commit graph generation numbers: 95% (1173434/1235193) Computing commit graph generation numbers: 96% (1185786/1235193) Computing commit graph generation numbers: 97% (1198138/1235193) Computing commit graph generation numbers: 98% (1210490/1235193) Computing commit graph generation numbers: 99% (1222842/1235193) Computing commit graph generation numbers: 100% (1235193/1235193) Computing commit graph generation numbers: 100% (1235193/1235193), done. Writing out commit graph in 4 passes: 45% (2252057/4940772) Writing out commit graph in 4 passes: 46% (2272756/4940772) Writing out commit graph in 4 passes: 47% (2322163/4940772) Writing out commit graph in 4 passes: 48% (2371571/4940772) Writing out commit graph in 4 passes: 49% (2420979/4940772) Writing out commit graph in 4 passes: 50% (2470386/4940772) Writing out commit graph in 4 passes: 51% (2519794/4940772) Writing out commit graph in 4 passes: 52% (2569202/4940772) Writing out commit graph in 4 passes: 52% (2570242/4940772) Writing out commit graph in 4 passes: 53% (2618610/4940772) Writing out commit graph in 4 passes: 54% (2668017/4940772) Writing out commit graph in 4 passes: 54% (2681867/4940772) Writing out commit graph in 4 passes: 55% (2717425/4940772) Writing out commit graph in 4 passes: 56% (2766833/4940772) Writing out commit graph in 4 passes: 56% (2786835/4940772) Writing out commit graph in 4 passes: 57% (2816241/4940772) Writing out commit graph in 4 passes: 58% (2865648/4940772) Writing out commit graph in 4 passes: 58% (2890935/4940772) Writing out commit graph in 4 passes: 59% (2915056/4940772) Writing out commit graph in 4 passes: 60% (2964464/4940772) Writing out commit graph in 4 passes: 60% (2994052/4940772) Writing out commit graph in 4 passes: 61% (3013871/4940772) Writing out commit graph in 4 passes: 62% (3063279/4940772) Writing out commit graph in 4 passes: 62% (3098393/4940772) Writing out commit graph in 4 passes: 63% (3112687/4940772) Writing out commit graph in 4 passes: 64% (3162095/4940772) Writing out commit graph in 4 passes: 64% (3195690/4940772) Writing out commit graph in 4 passes: 65% (3211502/4940772) Writing out commit graph in 4 passes: 66% (3260910/4940772) Writing out commit graph in 4 passes: 66% (3290285/4940772) Writing out commit graph in 4 passes: 67% (3310318/4940772) Writing out commit graph in 4 passes: 68% (3359725/4940772) Writing out commit graph in 4 passes: 68% (3396412/4940772) Writing out commit graph in 4 passes: 69% (3409133/4940772) Writing out commit graph in 4 passes: 70% (3458541/4940772) Writing out commit graph in 4 passes: 71% (3507949/4940772) Writing out commit graph in 4 passes: 71% (3509050/4940772) Writing out commit graph in 4 passes: 72% (3557356/4940772) Writing out commit graph in 4 passes: 73% (3606764/4940772) Writing out commit graph in 4 passes: 73% (3627854/4940772) Writing out commit graph in 4 passes: 74% (3656172/4940772) Writing out commit graph in 4 passes: 75% (3705579/4940772) Writing out commit graph in 4 passes: 76% (3754987/4940772) Writing out commit graph in 4 passes: 77% (3804395/4940772) Writing out commit graph in 4 passes: 78% (3853803/4940772) Writing out commit graph in 4 passes: 79% (3903210/4940772) Writing out commit graph in 4 passes: 80% (3952618/4940772) Writing out commit graph in 4 passes: 81% (4002026/4940772) Writing out commit graph in 4 passes: 82% (4051434/4940772) Writing out commit graph in 4 passes: 83% (4100841/4940772) Writing out commit graph in 4 passes: 84% (4150249/4940772) Writing out commit graph in 4 passes: 85% (4199657/4940772) Writing out commit graph in 4 passes: 86% (4249064/4940772) Writing out commit graph in 4 passes: 87% (4298472/4940772) Writing out commit graph in 4 passes: 88% (4347880/4940772) Writing out commit graph in 4 passes: 88% (4350373/4940772) Writing out commit graph in 4 passes: 89% (4397288/4940772) Writing out commit graph in 4 passes: 90% (4446695/4940772) Writing out commit graph in 4 passes: 91% (4496103/4940772) Writing out commit graph in 4 passes: 92% (4545511/4940772) Writing out commit graph in 4 passes: 93% (4594918/4940772) Writing out commit graph in 4 passes: 94% (4644326/4940772) Writing out commit graph in 4 passes: 95% (4693734/4940772) Writing out commit graph in 4 passes: 96% (4743142/4940772) Writing out commit graph in 4 passes: 97% (4792549/4940772) Writing out commit graph in 4 passes: 98% (4841957/4940772) Writing out commit graph in 4 passes: 99% (4891365/4940772) Writing out commit graph in 4 passes: 100% (4940772/4940772) Writing out commit graph in 4 passes: 100% (4940772/4940772), done. # git rev-parse -q --verify 9a6b294ab496650e9f270123730df37030911b55^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master # git rev-parse -q --verify 9a6b294ab496650e9f270123730df37030911b55^{commit} 9a6b294ab496650e9f270123730df37030911b55 # git checkout -q -f -B kisskb 9a6b294ab496650e9f270123730df37030911b55 # git clean -qxdf # < git log -1 # commit 9a6b294ab496650e9f270123730df37030911b55 # Author: David Howells # Date: Thu Dec 21 13:57:31 2023 +0000 # # afs: Fix use-after-free due to get/remove race in volume tree # # When an afs_volume struct is put, its refcount is reduced to 0 before # the cell->volume_lock is taken and the volume removed from the # cell->volumes tree. # # Unfortunately, this means that the lookup code can race and see a volume # with a zero ref in the tree, resulting in a use-after-free: # # refcount_t: addition on 0; use-after-free. # WARNING: CPU: 3 PID: 130782 at lib/refcount.c:25 refcount_warn_saturate+0x7a/0xda # ... # RIP: 0010:refcount_warn_saturate+0x7a/0xda # ... # Call Trace: # afs_get_volume+0x3d/0x55 # afs_create_volume+0x126/0x1de # afs_validate_fc+0xfe/0x130 # afs_get_tree+0x20/0x2e5 # vfs_get_tree+0x1d/0xc9 # do_new_mount+0x13b/0x22e # do_mount+0x5d/0x8a # __do_sys_mount+0x100/0x12a # do_syscall_64+0x3a/0x94 # entry_SYSCALL_64_after_hwframe+0x62/0x6a # # Fix this by: # # (1) When putting, use a flag to indicate if the volume has been removed # from the tree and skip the rb_erase if it has. # # (2) When looking up, use a conditional ref increment and if it fails # because the refcount is 0, replace the node in the tree and set the # removal flag. # # Fixes: 20325960f875 ("afs: Reorganise volume and server trees to be rooted on the cell") # Signed-off-by: David Howells # Reviewed-by: Jeffrey Altman # cc: Marc Dionne # cc: linux-afs@lists.infradead.org # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-12.2.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-12.2.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 9a6b294ab496650e9f270123730df37030911b55 # make -s -j 160 ARCH=sparc O=/kisskb/build/linus_defconfig_sparc64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/sparc64-linux/bin/sparc64-linux- defconfig # < make -s -j 160 ARCH=sparc O=/kisskb/build/linus_defconfig_sparc64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 160 ARCH=sparc O=/kisskb/build/linus_defconfig_sparc64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 160 ARCH=sparc O=/kisskb/build/linus_defconfig_sparc64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/sparc64-linux/bin/sparc64-linux- :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] kernel: arch/sparc/boot/image is ready kernel: arch/sparc/boot/zImage is ready Completed OK # rm -rf /kisskb/build/linus_defconfig_sparc64-gcc12 # Build took: 0:07:45.074009