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)
Mon, May 6, 9:37 PM
Unknown Object (File)
Thu, May 2, 3:14 PM
Unknown Object (File)
Fri, Apr 26, 6:24 AM
Unknown Object (File)
Fri, Apr 26, 3:25 AM
Unknown Object (File)
Fri, Apr 26, 3:25 AM
Unknown Object (File)
Thu, Apr 25, 10:25 PM
Unknown Object (File)
Jan 15 2024, 6:08 AM
Unknown Object (File)
Jan 12 2024, 2:26 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