diff options
Diffstat (limited to 'sys/vm/vm_page.c')
| -rw-r--r-- | sys/vm/vm_page.c | 21 | 
1 files changed, 15 insertions, 6 deletions
| diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index abad5efb8a79..16878604fa11 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2015,8 +2015,9 @@ vm_page_alloc_iter(vm_object_t object, vm_pindex_t pindex, int req,  	vm_page_t m;  	int domain; -	vm_domainset_iter_page_init(&di, object, pindex, &domain, &req, -	    pages); +	if (vm_domainset_iter_page_init(&di, object, pindex, &domain, &req) != 0) +		return (NULL); +  	do {  		m = vm_page_alloc_domain_iter(object, pindex, domain, req,  		    pages); @@ -2268,7 +2269,9 @@ vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req,  	start_segind = -1; -	vm_domainset_iter_page_init(&di, object, pindex, &domain, &req, NULL); +	if (vm_domainset_iter_page_init(&di, object, pindex, &domain, &req) != 0) +		return (NULL); +  	do {  		m = vm_page_alloc_contig_domain(object, pindex, domain, req,  		    npages, low, high, alignment, boundary, memattr); @@ -2596,7 +2599,9 @@ vm_page_alloc_noobj(int req)  	vm_page_t m;  	int domain; -	vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req, NULL); +	if (vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req) != 0) +		return (NULL); +  	do {  		m = vm_page_alloc_noobj_domain(domain, req);  		if (m != NULL) @@ -2615,7 +2620,9 @@ vm_page_alloc_noobj_contig(int req, u_long npages, vm_paddr_t low,  	vm_page_t m;  	int domain; -	vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req, NULL); +	if (vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req) != 0) +		return (NULL); +  	do {  		m = vm_page_alloc_noobj_contig_domain(domain, req, npages, low,  		    high, alignment, boundary, memattr); @@ -3334,7 +3341,9 @@ vm_page_reclaim_contig(int req, u_long npages, vm_paddr_t low, vm_paddr_t high,  	ret = ERANGE; -	vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req, NULL); +	if (vm_domainset_iter_page_init(&di, NULL, 0, &domain, &req) != 0) +		return (ret); +  	do {  		status = vm_page_reclaim_contig_domain(domain, req, npages, low,  		    high, alignment, boundary); | 
