Page MenuHomeFreeBSD

powerpc: slb_alloc_user_cache fix missing uma_zalloc wait flag
ClosedPublic

Authored by alfredo on Oct 3 2022, 8:26 PM.
Referenced Files
F110184099: D36865.diff
Fri, Feb 14, 6:47 PM
Unknown Object (File)
Thu, Jan 23, 5:10 PM
Unknown Object (File)
Jan 11 2025, 9:22 AM
Unknown Object (File)
Dec 30 2024, 3:28 AM
Unknown Object (File)
Dec 25 2024, 8:11 PM
Unknown Object (File)
Dec 11 2024, 7:33 PM
Unknown Object (File)
Dec 7 2024, 10:27 PM
Unknown Object (File)
Nov 21 2024, 4:48 PM

Details

Summary

In function slb_alloc_user_cache(), the uma_zalloc is called with flag M_ZERO. It should be M_WAITOK | M_ZERO instead.

The following message is seen in a pseries VM with "radix_mmu=0":

uma_zalloc* called with bad WAIT flags:                                                     
#0 0xc000000000c0eae8 at uma_zalloc_debug+0x10c                                             
#1 0xc000000000c0e31c at uma_zalloc_arg+0x54                                                
#2 0xc000000000cc0778 at slb_alloc_user_cache+0x2c                                          
#3 0xc000000000ca97c4 at moea64_pinit+0x3c                                                  
#4 0xc000000000c2c1b8 at vmspace_fork+0xa8                                                  
#5 0xc0000000007e2768 at fork1+0x53c                                                        
#6 0xc0000000007e21e4 at sys_fork+0x5c                                                      
#7 0xc000000000d02f40 at syscall+0x194                                                      
#8 0xc000000000d02784 at trap+0x5e8                                                         
#9 0xc000000000cf685c at powerpc_interrupt+0x1cc

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 47681
Build 44568: arc lint + arc unit