Hi,

Le Tue, 31 Jul 2007 13:58:33 +0200,
Bernd Schubert <[EMAIL PROTECTED]> a écrit :

> [ 4754.961940]  <IRQ>
> [<ffffffff880f08f9>] :bonding:bond_check_dev_link+0xcd/00

This function does:

static int (* ioctl)(struct net_device *, struct ifreq *, int);
[...]
ioctl = slave_dev->do_ioctl;
[...]
IOCTL(slave_dev, &ifr, SIOCGMIIREG) == 0

and IOCTL() in fact uses the ioctl function pointer. So if
slave_dev->do_ioctl gets corrupted, then you'll call a function outside
of the kernel code, and end up with a strange stack.

Of course, I'm not sure it's that at all, it's just what comes to my
mind by looking at the C code.

Thomas
-- 
Thomas Petazzoni - [EMAIL PROTECTED]
http://{thomas,sos,kos}.enix.org - http://www.toulibre.org
http://www.{livret,agenda}dulibre.org

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to