Panic in recent 7.2-Stable

A.J. "Fonz" van Werven a.j.werven at student.utwente.nl
Sun Sep 6 16:12:18 UTC 2009


Kostik Belousov wrote:

> I expect that the following patch, that is the partial merge of r194459,
> would fix it. It patches sys/vm/vm_phys.c.
> 
> Index: vm_phys.c
> ===================================================================
> --- vm_phys.c	(revision 194458)
> +++ vm_phys.c	(revision 194459)
> @@ -382,8 +382,7 @@
>  		if (pa >= seg->start && pa < seg->end)
>  			return (&seg->first_page[atop(pa - seg->start)]);
>  	}
> -	panic("vm_phys_paddr_to_vm_page: paddr %#jx is not in any segment",
> -	    (uintmax_t)pa);
> +	return (NULL);
>  }
>  
>  /*

Hi,

A quick grep on the file in question revealed that there are two
functions that may panic() with "page not in any segment": the
vm_phys_paddr_to_vm_page() being patched and also the next function
vm_phys_paddr_to_segind(). I'm not exactly current with the memory
management code so this may be a very stupid question, but I'll ask it
anyway: don't both functions need to be patched?

My apologies if I'm way off the mark here, but I'm just trying to help.

Regards,

Alphons

-- 
All right, that does it Bill [Donahue]. I'm pretty sure that killing
Jesus is not very Christian.
                 -- Pope Benedict XVI, Southpark season 11 episode 5


More information about the freebsd-stable mailing list