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)
Wed, Jul 3, 3:40 AM
Unknown Object (File)
May 23 2024, 6:18 PM
Unknown Object (File)
May 6 2024, 9:37 PM
Unknown Object (File)
May 2 2024, 3:14 PM
Unknown Object (File)
Apr 26 2024, 6:24 AM
Unknown Object (File)
Apr 26 2024, 3:25 AM
Unknown Object (File)
Apr 26 2024, 3:25 AM
Unknown Object (File)
Apr 25 2024, 10:25 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 Not Applicable
Unit
Tests Not Applicable