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
Unknown Object (File)
Tue, Nov 12, 11:42 AM
Unknown Object (File)
Mon, Nov 11, 3:35 PM
Unknown Object (File)
Sun, Nov 10, 9:47 AM
Unknown Object (File)
Sat, Nov 9, 7:00 PM
Unknown Object (File)
Sat, Nov 9, 5:54 PM
Unknown Object (File)
Sat, Nov 9, 5:39 PM
Unknown Object (File)
Sat, Nov 9, 5:32 PM
Unknown Object (File)
Sat, Nov 9, 3:57 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