From: Adrian Head <ahead@bigpond.net.au>
To: Keith Owens <kaos@sgi.com>
Cc: Linux XFS Mailing List <linux-xfs@oss.sgi.com>, linux-lvm@sistina.com
Subject: [linux-lvm] Re: Unable to get XFS, ext3, reiserfs & LVM to coexist happily
Date: Mon Jan 7 10:48:02 2002 [thread overview]
Message-ID: <E16Ncvc-0004ru-00@hermes.sistina.com> (raw)
In-Reply-To: <30503.1010414515@ocs3.intra.ocs.com.au>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Keith - just a couple of questions...
On Tue, 8 Jan 2002 00:41, Keith Owens wrote:
> On Tue, 8 Jan 2002 00:08:11 +1000,
>
> Adrian Head <ahead@bigpond.net.au> wrote:
> >
> >Entering kdb (current=0xd600e000, pid 940) Oops: Oops
> >due to oops @ 0xb800
> >eax = 0xffffffff ebx = 0xd600e000 ecx = 0x0000b800 edx = 0xc018fd25
> >esi = 0x00000008 edi = 0xd600e000 esp = 0xd600ff0c eip = 0x0000b800
> >ebp = 0xd600ff30 xss = 0x00000018 xcs = 0x00000010 eflags = 0x00010086
> >xds = 0x00000018 xes = 0x00000018 origeax = 0xffffffff ®s = 0xd600fed8
> >kdb> bt
> > EBP EIP Function(args)
> >0xd600ff30 0x0000b800 <unknown>+0xb800 (0x1)
> > kernel <unknown> 0x0 0x0 0x0
> > 0xc011ce83 dequeue_signal+0x43 (0xd600e560, 0xd600ff30,
> >0xd600e560, 0xd600ffc4, 0xc01392ff)
> > kernel .text 0xc0100000 0xc011ce40
> > 0xc011cef0 0xc01069b9 do_signal+0x59 (0x11, 0xbfffec40, 0xbfffebb0, 0x8,
> > 0x11) kernel .text 0xc0100000 0xc0106960 0xc0106c00 0xc0106d54
> > signal_return+0x14
> > kernel .text 0xc0100000 0xc0106d40
> > 0xc0106d58
>
> kdb is correctly reporting the current eip, but the kernel has taken a
> swan dive into nowhere. It looks like the chunk of code below. To
> confirm, run
>
> objdump --start-addr=0xc011ce40 --stop-address=0xc011ce90 vmlinux
How did you get 0xc011ce40 and 0xc011ce90? Do they come from above? How are
they derived? Just interested.
vmlinux - where does that come from? I assume it is not the compressed
kernel found in /boot.
>
> I expect to see a call instruction just before 0xc011ce83, probably an
> indirect call via ecx.
As soon as I can get a sucessful objdump I'll send it on.
>
> dequeue_signal(sigset_t *mask, siginfo_t *info)
> {
> int sig = 0;
>
> #if DEBUG_SIG
> printk("SIG dequeue (%s:%d): %d ", current->comm, current->pid,
> signal_pending(current));
> #endif
>
> sig = next_signal(current, mask);
> if (sig) {
> if (current->notifier) {
> if (sigismember(current->notifier_mask, sig)) {
> if
> (!(current->notifier)(current->notifier_data)) { <=== probably failing
> here current->sigpending = 0;
> return 0;
> }
>
> Without seeing the objdump output, I am assuming that it is failing on
> the call to current->notifier which means that notifier is corrupt.
> The only place that notifier is set is in block_all_signals() so we
> need to find who is calling that routine with bad data. With any luck,
> this (untested) debug patch will catch the offender. Then we start
> finding out why it is passing a bad pointer.
While I wait for more info about objdump I'll do this and see what happens.
> --- kernel/signal.c.orig Wed Dec 5 13:15:50 2001
> +++ kernel/signal.c Tue Jan 8 01:28:12 2002
> @@ -155,6 +155,8 @@ block_all_signals(int (*notifier)(void *
> {
> unsigned long flags;
>
> + if (notifier && (unsigned long)notifier < 0xc0000000)
> + BUG();
> spin_lock_irqsave(¤t->sigmask_lock, flags);
> current->notifier_mask = mask;
> current->notifier_data = priv;
>
> A quick scan through the kernel found only DRM code using
> block_all_signals. If the bug is a bad notifier then the oops will be
> timing dependent, the notifier routine is only called if a signal trips
> between block_all_signals() and unblock_all_signals() and that does not
> always occur.
- --
Adrian Head
(Public Key available on request.)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE8OdHW8ZJI8OvSkAcRAmpQAKCaoO4JuZO+teCW8cUEnDzrNvkjeACeOk9B
eZT4hJWVk3xh1BOZnC0o14A=
=YOrk
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2002-01-07 10:48 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200201071508.g07F8Pg14938@oss.sgi.com>
2002-01-07 8:39 ` [linux-lvm] Re: Unable to get XFS, ext3, reiserfs & LVM to coexist happily Keith Owens
2002-01-07 10:48 ` Adrian Head [this message]
[not found] <200201020451.g024pPg00867@oss.sgi.com>
2002-01-04 13:49 ` Eric Sandeen
2002-01-04 16:47 ` Adrian Head
2002-01-04 17:37 ` Andreas Dilger
2002-01-04 20:10 ` Adrian Head
2002-01-04 21:35 ` Adrian Head
[not found] ` <200201050212.TAA16774@cthulhu.turbolabs.com>
2002-01-05 15:29 ` Andreas Dilger
2002-01-10 9:22 ` Adrian Head
2002-01-10 9:28 ` Patrick Caulfield
2002-01-10 15:21 ` Adrian Head
2002-01-11 2:40 ` Luca Berra
[not found] ` <200201101521.IAA17651@cthulhu.turbolabs.com>
2002-01-10 14:14 ` Andreas Dilger
2002-01-10 15:02 ` Adrian Head
[not found] ` <200201042349.g04Nnag26320@oss.sgi.com>
2002-01-04 17:12 ` Eric Sandeen
2002-01-04 20:44 ` Adrian Head
2002-01-05 17:06 ` Andreas Dilger
[not found] ` <200201050346.g053kmg29738@oss.sgi.com>
2002-01-04 21:08 ` Eric Sandeen
2002-01-07 8:05 ` Adrian Head
2002-01-07 12:58 ` Eric Sandeen
2002-01-06 0:20 ` Adrian Head
2002-01-09 16:25 ` Eric Sandeen
2002-01-09 16:40 ` Eric Sandeen
[not found] <200201071648.IAA08511@sgi.com>
2002-01-07 14:34 ` Keith Owens
[not found] <200201040015.RAA00441@cthulhu.turbolabs.com>
2002-01-03 18:36 ` Andreas Dilger
[not found] <6u4rm4r53e.fsf@zork.zork.net>
[not found] ` <200201031638.g03GcJg20734@oss.sgi.com>
[not found] ` <1010072497.12080.42.camel@jen.americas.sgi.com>
2002-01-03 18:13 ` Adrian Head
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=E16Ncvc-0004ru-00@hermes.sistina.com \
--to=ahead@bigpond.net.au \
--cc=kaos@sgi.com \
--cc=linux-lvm@sistina.com \
--cc=linux-xfs@oss.sgi.com \
/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