Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Aug 1999 21:32:38 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        "Daniel O'Connor" <doconnor@gsoft.com.au>
Cc:        freebsd-hackers@FreeBSD.ORG, bvandepe@gsoft.com.au
Subject:   Re: Kernel malloc problem?
Message-ID:  <199908110432.VAA72189@apollo.backplane.com>
References:   <XFMail.990811133838.doconnor@gsoft.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
:size - to be malloc'ed. The tail queue holding the newly-
:allocated buffers is a local copy, and not subject to change
:in the event of an interrupt meant for the driver. Given

    If the interrupt scans or in any way accesses the buffer list,
    you have to disable interrupts temporarily using the appropriate
    spl*() calls whenever your non-interrupt code (i.e. the ioctl code)
    makes modifications to the list.  Otherwise the interrupt might
    occur while the list and/or buffers are in an invalid state.

    If that isn't the problem, look for situations where you might 
    be corrupting memory within the driver.  The two most common
    situations are where you accidently leave references to a buffer
    you just freed, or where you overrun a buffer.

:---
:Daniel O'Connor software and network engineer

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199908110432.VAA72189>