public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Paul Fulghum" <paulkf@microgate.com>
To: "Remi Colinet" <remi.colinet@wanadoo.fr>, linux-kernel@vger.kernel.org
Subject: Re: 2.5.74 / oops with ppp_synctty and local_bh_enable
Date: Mon, 7 Jul 2003 10:47:48 -0500	[thread overview]
Message-ID: <001601c3449f$1e49d5b0$0c00a8c0@diemos> (raw)
In-Reply-To: 3F082BBB.6000705@wanadoo.fr

> I'm using the Alcatel SpeedTouch modem. It is working fine. :-)
> Meanwhile, when the pppd process is killed, the following oops appears.
> ...
> Jul  6 15:30:04 tigre01 kernel: Badness in local_bh_enable at
kernel/softirq.c:109
> Jul  6 15:30:04 tigre01 kernel: Call Trace:
> Jul  6 15:30:04 tigre01 kernel:  [<c0129265>] local_bh_enable+0x85/0xa0
> Jul  6 15:30:04 tigre01 kernel:  [<e982fe73>] ppp_sync_push+0xd3/0x280
[ppp_synctty]
> Jul  6 15:30:04 tigre01 kernel:  [<e982f768>] ppp_sync_wakeup+0x28/0x60
[ppp_synctty]
> Jul  6 15:30:04 tigre01 kernel:  [<c0226e32>] do_tty_hangup+0x492/0x560


The problem is that do_tty_hangup() in tty_io.h calls the
write wakeup callback with disabled interrupts. The
notes in this function question the validity of disabling
interrupts at that point. I'm not familiar enough with the
locking issues for this function to comment.

At some point ppp_synctty.c was changed to use
spin_lock_bh and spin_unlock_bh in the write wakeup callback.
These macros complain when called with interrupts disabled.

Perhaps changing ppp_synctty.c to use spin_lock_irqsave
and spin_lock_irqrestore is the best fix.

Paul Fulghum, paulkf@microgate.com
Microgate Corporation, www.microgate.com


  reply	other threads:[~2003-07-07 15:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-06 14:01 2.5.74 / oops with ppp_synctty and local_bh_enable Rémi Colinet
2003-07-07 15:47 ` Paul Fulghum [this message]
2003-07-08  9:27   ` Ravikiran G Thirumalai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='001601c3449f$1e49d5b0$0c00a8c0@diemos' \
    --to=paulkf@microgate.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=remi.colinet@wanadoo.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox