All of lore.kernel.org
 help / color / mirror / Atom feed
From: Larry Finger <larry.finger@lwfinger.net>
To: Jiri Kosina <jikos@jikos.cz>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@suse.de>,
	linux-usb-devel@lists.sourceforge.net
Subject: Re: Locking problem in usbserial with 2.6.23-git 5a34417f
Date: Fri, 19 Oct 2007 16:36:30 -0500	[thread overview]
Message-ID: <4719235E.9030507@lwfinger.net> (raw)
In-Reply-To: <Pine.LNX.4.64.0710192304590.18815@twin.jikos.cz>

Jiri Kosina wrote:
> On Fri, 19 Oct 2007, Larry Finger wrote:
> 
>> While attempting to configure a new USB modem, the following locking 
>> problem occurred. In addition, shortly after this problem occurred, the 
>> computer froze. The log data starts at the point that usbserial was 
>> loaded and contains everything that was written to disk before the 
>> machine locked up. Some info may be missing from the end of the stack 
>> dump.
> 
> I guess this one is needed.
> 
> 
> From: Jiri Kosina <jkosina@suse.cz>
> 
> USB: usbserial - fix potential deadlock between write() and irq
> 
> usb_serial_generic_write() doesn't disable interrupts when taking port->lock,
> and could therefore deadlock with usb_serial_generic_read_bulk_callback()
> being called from interrupt, taking the same lock. Fix it.
> 
> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
> 

As I said earlier, the lock problem went away; however, I get the following two kernel warnings:

WARNING: at kernel/sched.c:3475 sub_preempt_count()

Call Trace:
 [<ffffffff8022df50>] sub_preempt_count+0x7e/0x91
 [<ffffffff80237eb9>] local_bh_enable_ip+0x91/0xf5
 [<ffffffff803eaaa8>] _spin_unlock_bh+0x39/0x3e
 [<ffffffff88405409>] :ppp_generic:ppp_channel_push+0x72/0xad
 [<ffffffff88406528>] :ppp_generic:ppp_write+0x10f/0x121
 [<ffffffff8028f75d>] vfs_write+0xae/0x137
 [<ffffffff8028fcc6>] sys_write+0x47/0x70
 [<ffffffff8020c2fa>] tracesys+0xdc/0xe1

PPP BSD Compression module registered
PPP Deflate Compression module registered
WARNING: at kernel/softirq.c:139 local_bh_enable()

Call Trace:
 [<ffffffff80237d82>] local_bh_enable+0x8f/0x135
 [<ffffffff8038f9ec>] dev_queue_xmit+0x2a6/0x2d2
 [<ffffffff803ab2be>] ip_finish_output+0x221/0x24f
 [<ffffffff803ab5d0>] ip_output+0x53/0x55
 [<ffffffff803a9df5>] ip_push_pending_frames+0x309/0x3ed
 [<ffffffff803c5f88>] udp_push_pending_frames+0x2d7/0x33f
 [<ffffffff803c70e9>] udp_sendmsg+0x4d5/0x61d
 [<ffffffff80248c99>] lock_hrtimer_base+0x25/0x4a
 [<ffffffff803cccce>] inet_sendmsg+0x46/0x53
 [<ffffffff80381ca3>] sock_sendmsg+0xdf/0xf8
 [<ffffffff80248e8f>] hrtimer_start+0x102/0x114
 [<ffffffff8024653c>] autoremove_wake_function+0x0/0x38
 [<ffffffff8020bb85>] do_notify_resume+0x68e/0x7ac
 [<ffffffff803ea5cb>] trace_hardirqs_on_thunk+0x35/0x3a
 [<ffffffff803826b4>] move_addr_to_kernel+0x40/0x49
 [<ffffffff803827db>] sys_sendto+0x11e/0x143
 [<ffffffff8020bf5d>] sys_rt_sigreturn+0x2a6/0x389
 [<ffffffff80265072>] audit_syscall_entry+0x148/0x17e
 [<ffffffff8020c2fa>] tracesys+0xdc/0xe1

The second is complaining that interrupts are disabled, and may be related.

Larry

  parent reply	other threads:[~2007-10-19 21:36 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-19 15:59 Locking problem in usbserial with 2.6.23-git 5a34417f Larry Finger
2007-10-19 21:06 ` Jiri Kosina
2007-10-19 21:29   ` Larry Finger
2007-10-19 21:36   ` Larry Finger [this message]
2007-10-19 22:05     ` Jiri Kosina
2007-10-19 22:19       ` Larry Finger
2007-10-20  5:59       ` [linux-usb-devel] " Greg KH
2007-10-24 21:37       ` patch usb-usbserial-fix-potential-deadlock-between-write-and-irq.patch added to gregkh-2.6 tree gregkh

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=4719235E.9030507@lwfinger.net \
    --to=larry.finger@lwfinger.net \
    --cc=gregkh@suse.de \
    --cc=jikos@jikos.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.