Kernel malloc problem?

1999-08-10 Thread Daniel O'Connor
We are experiencing what appears to be a memory corruption problem with a kernel device driver running under FreeBSD 2.2.8-STABLE with the CAM patches. The driver manages a series of memory buffers implemented using a singly-linked tail list. The number and size of buffers may be changed via an

Re: Kernel malloc problem?

1999-08-10 Thread Matthew Dillon
: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

Kernel malloc problem?

1999-08-10 Thread Daniel O'Connor
We are experiencing what appears to be a memory corruption problem with a kernel device driver running under FreeBSD 2.2.8-STABLE with the CAM patches. The driver manages a series of memory buffers implemented using a singly-linked tail list. The number and size of buffers may be changed via an

Re: Kernel malloc problem?

1999-08-10 Thread Matthew Dillon
: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

Re: Kernel malloc problem?

1999-08-10 Thread Daniel O'Connor
On 11-Aug-99 Matthew Dillon wrote: 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.