Fwd: KASSERT in vm_map.c
John Baldwin
jhb at freebsd.org
Thu Mar 6 21:27:40 UTC 2014
On Thursday, March 06, 2014 2:07:45 am Hans Petter Selasky wrote:
> FYI
>
> -------- Original Message --------
> Subject: KASSERT in vm_map.c
> Date: Thu, 27 Feb 2014 09:51:02 +0100
> From: Hans Petter Selasky <hps at bitfrost.no>
> To: Konstantin Belousov <kib at FreeBSD.org>
>
> Hi,
>
> Using 9-stable I hit a KASSERT when EHCI is loading:
>
> --- a/sys/vm/vm_map.c
> +++ b/sys/vm/vm_map.c
> @@ -2301,9 +2301,11 @@ vm_map_unwire(vm_map_t map, vm_offset_t start,
> vm_offset_t end,
> * Mark the entry in case the map lock is released. (See
> * above.)
> */
> +#if 0
> KASSERT((entry->eflags & MAP_ENTRY_IN_TRANSITION) == 0 &&
> entry->wiring_thread == NULL,
> ("owned map entry %p", entry));
> +#endif
> entry->eflags |= MAP_ENTRY_IN_TRANSITION;
> entry->wiring_thread = curthread;
> /*
>
>
> Is the KASSERT() wrong or is my USB code wrong.
The KASSERT is correct. Can you provide more details from your panic? (Do you have
a crash dump?) It sounds like two threads are mucking with the same vm_map_entry at
the same time.
--
John Baldwin
More information about the freebsd-stable
mailing list