Re: [2.6.13.3] occasional oops mostly in iget_locked

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

 



Folkert van Heusden <[email protected]> :
[...]
> Well that problem seems to be solved in 2.6.15 so does this problem
> matter anymore? I'm a little hesitant to play a lot with that system as
> it'll make some people really upset.

If you experience random crashes and netconsole is not able to catch
anything, you want to disable netconsole and use a serial console
instead (whenever possible).

I'd say that you do not want netconsole on a non-devel or production
SMP machine.

Side note: even if it does not hit your system, you can probably report
the sequence below to the maintainer of the zaptel module (extracted from
the default branch of current cvs):

static void zt_free_pseudo(struct zt_chan *pseudo)
{
        unsigned long flags;
        if (pseudo) {
                spin_lock_irqsave(&bigzaplock, flags);
                zt_chan_unreg(pseudo);
[...]

static void zt_chan_unreg(struct zt_chan *chan)
{
[...]
                unregister_hdlc_device(chan->hdlcnetdev->netdev);

void unregister_hdlc_device(struct net_device *dev)
{
        rtnl_lock();

-> sleep with spinlock held.

static int zt_ctl_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long data)
{
[...]
                spin_lock_irqsave(&chans[ch.chan]->lock, flags);
#ifdef CONFIG_ZAPATA_NET
                if (chans[ch.chan]->flags & ZT_FLAG_NETDEV) {
                        if (ztchan_to_dev(chans[ch.chan])->flags & IFF_UP) {
                                spin_unlock_irqrestore(&chans[ch.chan]->lock, flags);
                                printk(KERN_WARNING "Can't switch HDLC net mode on channel %s, since current interface is up\n", chans[ch.chan]->name);
                                return -EBUSY;
                        }
#ifdef LINUX26
[...]
#else
                        unregister_hdlc_device(&chans[ch.chan]->hdlcnetdev->netdev);


-> same thing (btw #ifdef are not fun to review :o| )

--
Ueimor
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux