Panic on 8-STABLE in mpt(4) on a DELL PowerEdge R300

Alexander Motin mav at FreeBSD.org
Fri Feb 26 12:25:37 UTC 2010


John J. Rushford wrote:
> I'm running into the same problem, mpt(4) panic on FreeBSD 8-STABLE.
> 
> I'm running FreeBSD 8.0-STABLE, the current kernel was cvsup'd and built
> @ January 14th, 2010.  I cvsup'd tonight, 2/25/2010, and built a new
> kernel.  Attached is the panic when I tried to boot into single user
> mode, I was able to boot up on the old kernel built on January 14th.
> 
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address    = 0x10
> fault code        = supervisor read data, page not present
> instruction pointer    = 0x20:0xffffffff8019c4bd
> stack pointer            = 0x28:0xffffff80e81d5ba0
> frame pointer            = 0x28:0xffffff80e81d5bd0
> code segment        = base 0x0, limit 0xfffff, type 0x1b
>            = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags    = interrupt enabled, resume, IOPL = 0
> current process        = 6 (mpt_raid0)
> trap number        = 12
> panic: page fault

Attached patch should fix the problem.

-- 
Alexander Motin
-------------- next part --------------
--- mpt_raid.c.prev	2010-02-05 21:52:04.000000000 +0200
+++ mpt_raid.c	2010-02-26 14:14:30.000000000 +0200
@@ -690,7 +690,6 @@ mpt_raid_thread(void *arg)
 
 		if (mpt->raid_rescan != 0) {
 			union ccb *ccb;
-			struct cam_path *path;
 			int error;
 
 			mpt->raid_rescan = 0;
@@ -699,7 +698,7 @@ mpt_raid_thread(void *arg)
 			ccb = xpt_alloc_ccb();
 
 			MPT_LOCK(mpt);
-			error = xpt_create_path(&path, xpt_periph,
+			error = xpt_create_path(&ccb->ccb_h.path, xpt_periph,
 			    cam_sim_path(mpt->phydisk_sim),
 			    CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD);
 			if (error != CAM_REQ_CMP) {


More information about the freebsd-stable mailing list