Badness in softirq.c 109, possible fix

Petur Thors (peturth@hi.is)
Thu, 19 Jun 2003 16:04:12 +0000


Hello.

Got badness in local_bh_enable because Im still in irq_disabled.
This is caused by local_irq_save() in do_tty_hangup (drivers/char/tty_io.c)
He calls local_irq_save(flags) and then goes to flush_buffer and down
to local_bh_enable.
Do we really need local_irq_save/restore in do_tty_hangup() line 447 ?
Its not safe.
Thanks

Badness in local_bh_enable at kernel/softirq.c:109
Jun 19 13:21:01 spiderman kernel: Call Trace:
Jun 19 13:21:01 spiderman kernel: [<c0128e63>] local_bh_enable+0x93/0xa0
Jun 19 13:21:01 spiderman kernel: [<e08ebed1>]
ppp_async_push+0xe1/0x250 [ppp_async]
Jun 19 13:21:01 spiderman kernel: [<c0173023>] cached_lookup+0x23/0x90
Jun 19 13:21:01 spiderman kernel: [<e08eb712>]
ppp_asynctty_wakeup+0x32/0x70 [ppp_async]
Jun 19 13:21:01 spiderman kernel: [<c022297a>] pty_unthrottle+0x5a/0x60
Jun 19 13:21:01 spiderman kernel: [<c021e2bb>] check_unthrottle+0x3b/0x40
Jun 19 13:21:01 spiderman kernel: [<c021e370>]
reset_buffer_flags+0xb0/0x100
Jun 19 13:21:01 spiderman kernel: [<c021e3d3>] n_tty_flush_buffer+0x13/0x60
Jun 19 13:21:01 spiderman kernel: [<c0222d46>] pty_flush_buffer+0x66/0x70
Jun 19 13:21:01 spiderman pppd[1366]: Modem hangup
Jun 19 13:21:01 spiderman kernel: [<c021a105>] do_tty_hangup+0x4f5/0x5d0

Jun 19 13:21:01 spiderman pppd[1366]: Connection terminated.
Jun 19 13:21:01 spiderman kernel: [<c021bbaf>] release_dev+0x6df/0x730
Jun 19 13:21:01 spiderman pppd[1366]: Connect time 9.8 minutes.
Jun 19 13:21:01 spiderman kernel: [<c014bd8c>] release_pages+0x1dc/0x280
Jun 19 13:21:01 spiderman pppd[1366]: Sent 84 bytes, received 50 bytes.
Jun 19 13:21:01 spiderman kernel: [<c0150dbb>] zap_pmd_range+0x4b/0x70
Jun 19 13:21:01 spiderman kernel: [<c017dce2>] dput+0x22/0x380
Jun 19 13:21:01 spiderman kernel: [<c021bffb>] tty_release+0x3b/0xc0
Jun 19 13:21:01 spiderman kernel: [<c01640f8>] __fput+0x118/0x120
Jun 19 13:21:01 spiderman kernel: [<c01624d0>] filp_close+0xd0/0x130
Jun 19 13:21:01 spiderman kernel: [<c0125f68>] put_files_struct+0x58/0xc0
Jun 19 13:21:01 spiderman kernel: [<c0126dfe>] do_exit+0x1fe/0x690
Jun 19 13:21:02 spiderman kernel: [<c01624d0>] filp_close+0xd0/0x130
Jun 19 13:21:02 spiderman kernel: [<c0127419>] do_group_exit+0xf9/0x180
Jun 19 13:21:02 spiderman kernel: [<c01625bb>] sys_close+0x8b/0x110
Jun 19 13:21:02 spiderman kernel: [<c010b1fb>] syscall_call+0x7/0xb

Petur Thors

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