forked from Mirrors/opensbi
		
	lib: Check region base for merging in sbi_domain_root_add_memregion()
We can merge region B onto region A only if base of region A is aligned to region A order + 1. Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com> Reviewed-by: Xiang W <wxjstz@126.com>
This commit is contained in:
		@@ -511,7 +511,8 @@ int sbi_domain_root_add_memregion(const struct sbi_domain_memregion *reg)
 | 
			
		||||
			if (!nreg1->order)
 | 
			
		||||
				continue;
 | 
			
		||||
 | 
			
		||||
			if ((nreg->base + BIT(nreg->order)) == nreg1->base &&
 | 
			
		||||
			if (!(nreg->base & (BIT(nreg->order + 1) - 1)) &&
 | 
			
		||||
			    (nreg->base + BIT(nreg->order)) == nreg1->base &&
 | 
			
		||||
			    nreg->order == nreg1->order &&
 | 
			
		||||
			    nreg->flags == nreg1->flags) {
 | 
			
		||||
				nreg->order++;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user