"Impossible" failure in fn_hash_lookup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello..

I am trying to chase down a problem that occurs in a 2.4.20 kernel when I
use an ndiswrapper (version 0.8) driver for a VT6655 wireless lan mini-PCI
card.

I know that this is an ancient kernel, and that the ndiswrapper driver isn't
the preferred way to go, but for the moment I have to live with both..

When I load the driver, initially it seems that things are working correctly,
but subsequently things go bad.  These symptoms sound like a kernel stack
overflow, which I understand is all too common with ndiswrapper.  So, I
modified the kernel to use 16K kernel stacks, but the problem still occurs
with about the same frequency and symptoms.

The device this is running on has no serial ports or other connectivity
apart from the wlan card, so I have to resort to hand copying the OOPS info
from the LCD display.

One point that I have seen multiple failures at is within fn_hash_lookup()
called from ip_route_output_slow().  It seems that I get to the inner
for() loop and fault at the end of fz_chain() because %edi (holding fz)
is 0.  But, the outer loop explicitly exits when fz==0, and there is no
manipulation of %edi between the test and the point of the fault.  Also,
it seems that it should have faulted earlier (in the expansion of fz_key())
if %edi had been 0 then.  So, it seems that %edi is magically getting
zeroed.  The only thing I can imagine causing this is an interrupt handler,
though it seems highly unlikely.  The stack appears to have sane contents,
the %ebp frame pointers and return addresses appear reasonable, and the
saved registers and arguments all seem to be in the right places..

Is this a known failure mode of ndiswrapper?  (This driver is alleged to
be known to work with ndiswrapper 0.11, but that version won't readily
compile for the 2.4.20 kernel.)  If there is a known issue with ndiswrapper
that exhibits similar behavior, I'll embark on the back-porting journey,
or at least back-porting the fix..

Is there any technique I should try to find more info about what is *really*
going wrong?

Thanks for any help you can offer!

-- 
Marcus Hall
CorAccess Systems / Convergent Living
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux