Re: cipe-win32-pre9 fix|
Erik Wallin <erikw,AT,sec,DOT,se>|
Sun, 27 May 2001 21:29:04 +0200|
Trying to catch up on our conversation a bit.
"Damion K. Wilson" wrote:
I know exactly how you feel. In fact, It took me
a long time to remove the spinlock stuff because I wasn't convinced that
they could even be the cause. Then, after removing them, the stability
increased. I still don't know why, which is why I'm being so careful. Right
now, the driver is the most stable it's ever been, but it's still less
stable than the (really) old version.
I'm sure spin-locks in the wrong place can have really bad effects too.
I'll try to see if we can remove some of them.
I'd prefer if you could tell me why the spinlocks
are working for you. I know what spinlocks are for, but I would like to
have proof that there is a pointer math overrun or something occurring
to cause the crash. An easy way of doing this is to add a reference counter
to the list routines.
Good idea. I'll try that. How would I report the counts? After all we are
in the kernel here. Something like
? // Spin lock protected code here
would do it. Does an assert dump core if it fails? Or is it easy to
write a message to the syslog every time I see more than one thread in
the same piece of code?
I'll try this stuff out when I get a chance, but
right now I'm getting my consulting company off the ground. Wish me luck
Getting your company set up should be top priority compared to this. I
hope it all goes well!
BTW: Use the NT4.0 DDK for building so that the driver
will run unmodified on both platforms.
I will, when I can find the time to look for it. I don't think I'm using
anything W2K specific yet.