Date: Thu, 3 Nov 2005 04:09:02 +0200 From: Giorgos Keramidas <keramida@linux.gr> To: Nate Lawson <nate@root.org> Cc: Munehiro Matsuda <haro@h4.dion.ne.jp>, freebsd-acpi@freebsd.org, freebsd-current@freebsd.org, robert.moore@intel.com, jkim@freebsd.org Subject: Re: Panic on boot with new ACPI-CA Message-ID: <20051103020902.GA29536@flame.pc> In-Reply-To: <20051103014740.GA1586@flame.pc> References: <971FCB6690CD0E4898387DBF7552B90E0346CAFB@orsmsx403.amr.corp.intel.com> <20051103.094643.74756456.haro@h4.dion.ne.jp> <436961FD.3040605@root.org> <20051103014740.GA1586@flame.pc>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2005-11-03 03:47, Giorgos Keramidas <keramida@ceid.upatras.gr> wrote: > On 2005-11-02 17:03, Nate Lawson <nate@root.org> wrote: > > As I mentioned to Jung-uk, the problem is likely an error in > > acpi-ca modifying memory after it has freed it. The way to > > track this down is to enable memguard(9). See the man page for > > info. You need to add options DEBUG_MEMGUARD to your kernel, > > set the malloc type to watch to M_ACPICA, and rebuild your > > kernel and modules. Memguard sets page permissions so we can > > catch the culprit who is modifying the memory. > > This is exactly the messgae printed on my console at panic time > -- of memory modified after free. I'm building a kernel with > MEMGUARD now, but it's probably going to be a bit hard to get a > kernel dump, because the panic happens before disks are available > and I don't have a serial console here. Does the following look ok for using memguard(9) with M_ACPICA? %%% begin acpica-memguard.patch Index: kern/kern_malloc.c =================================================================== RCS file: /home/ncvs/src/sys/kern/kern_malloc.c,v retrieving revision 1.148 diff -u -r1.148 kern_malloc.c --- kern/kern_malloc.c 20 Oct 2005 21:28:31 -0000 1.148 +++ kern/kern_malloc.c 3 Nov 2005 02:04:02 -0000 @@ -62,6 +62,8 @@ #include <vm/uma_int.h> #include <vm/uma_dbg.h> +MALLOC_DECLARE(M_ACPICA); + #ifdef DEBUG_MEMGUARD #include <vm/memguard.h> #endif @@ -305,7 +307,7 @@ #ifdef DEBUG_MEMGUARD /* XXX CHANGEME! */ - if (mtp == M_SUBPROC) + if (mtp == M_ACPICA) return memguard_alloc(size, flags); #endif %%% end acpica-memguard.patch
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051103020902.GA29536>