All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Drake <dsd@gentoo.org>
To: Anton Altaparmakov <aia21@cam.ac.uk>
Cc: "David Gómez" <david@pleyades.net>,
	"Robert Love" <rml@novell.com>,
	"John McCutchan" <ttb@tentacle.dhs.org>,
	Linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: Problem with inotify
Date: Sun, 03 Jul 2005 11:34:31 +0100	[thread overview]
Message-ID: <42C7BF37.9010005@gentoo.org> (raw)
In-Reply-To: <Pine.LNX.4.60.0507030053040.15398@hermes-1.csi.cam.ac.uk>

Anton Altaparmakov wrote:
> Eeek!  I just reread my patch.  I am a muppet!  Instead of the printk (or 
> in addition if you like), please try the corrected version below.  The 
> original version completely fails to do anything at all.  It's amazing 
> what the omission of a single parenthesis pair can do to your code logic.  
> )-:

I reverted the patch you sent earlier
(inotify_unmount_inodes-list-iteration-fix.diff) and applied the one you
attached here (inotify_unmount_inodes-list-iteration-fix2.diff).

The good news is that the hang is gone. The bad news is that you cured the
hang by introducing an oops :(

Unable to handle kernel NULL pointer dereference at virtual address 00000024
 printing eip:
c01751d9
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in: ntfs snd_pcm_oss snd_mixer_oss snd_seq_oss
snd_seq_midi_event snd_seq snd_seq_device snd_intel8x0 snd_ac97_codec snd_pcm
snd_timer snd snd_page_alloc
CPU:    0
EIP:    0060:[<c01751d9>]    Tainted: P      VLI
EFLAGS: 00010283   (2.6.12-gentoo-r3)
EIP is at iput+0x19/0x90
eax: 00000000   ebx: deb82e64   ecx: deb82e64   edx: deb82e64
esi: dd01ff00   edi: deb82e64   ebp: dd01ff00   esp: df7b9eb8
ds: 007b   es: 007b   ss: 0068
Process umount (pid: 9201, threadinfo=df7b8000 task=dd656a60)
Stack: dd01fe20 c03feb20 df7b8000 c0182337 deb82e64 00000000 00000000 00000000
       00000000 df7b8000 dd01ff08 deb82e64 dd01f0dc df7b8000 deb82e74 df7b9f08
       df7b8000 c0174050 deb82e74 dffe0040 df7b9f08 df7b9f08 dda12274 deb82e00
Call Trace:
 [<c0182337>] inotify_unmount_inodes+0x187/0x1e0
 [<c0174050>] invalidate_inodes+0x40/0x90
 [<c015f579>] generic_shutdown_super+0x59/0x140
 [<c01601dd>] kill_block_super+0x2d/0x50
 [<c015f40a>] deactivate_super+0x5a/0x90
 [<c01773cf>] sys_umount+0x3f/0x90
 [<c0157e42>] filp_close+0x52/0xa0
 [<c0177437>] sys_oldumount+0x17/0x20
 [<c010326b>] sysenter_past_esp+0x54/0x75
Code: ff ff 89 44 24 04 e9 47 fe ff ff 8d b4 26 00 00 00 00 53 83 ec 08 8b 5c
24 10 85 db 74 58 83 bb 24 01 00 00 20 8b 83 94 00 00 00 <8b> 40 24 74 5a 85
c0 74 07 8b 50 14 85 d2 75 47 8d 43 24 c7 44

(gdb) list *iput+0x19
0x1789 is in iput (inode.c:1131).
1126     *      Consequently, iput() can sleep.
1127     */
1128    void iput(struct inode *inode)
1129    {
1130            if (inode) {
1131                    struct super_operations *op = inode->i_sb->s_op;
1132
1133                    BUG_ON(inode->i_state == I_CLEAR);
1134
1135                    if (op && op->put_inode)


Note that this exact oops happens even when inotify has not been used, i.e. to
reproduce this oops, I can just do:

mount /mnt/ntfs ; umount /mnt/ntfs

What next? :)

Thanks,
Daniel

  reply	other threads:[~2005-07-03 10:34 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-30 18:18 Problem with inotify David Gómez
2005-06-30 18:29 ` Robert Love
2005-06-30 18:38   ` David Gómez
2005-06-30 19:33   ` David Gómez
2005-06-30 20:39     ` Anton Altaparmakov
2005-06-30 20:48       ` David Gómez
2005-06-30 22:35         ` Anton Altaparmakov
2005-07-01 20:25           ` Robert Love
2005-07-02 12:54             ` David Gómez
2005-07-02 16:25               ` Robert Love
2005-07-02  9:12           ` Daniel Drake
2005-07-02 22:09             ` Anton Altaparmakov
2005-07-02 23:38               ` Daniel Drake
2005-07-03  0:08                 ` Anton Altaparmakov
2005-07-03 10:34                   ` Daniel Drake [this message]
2005-07-04 14:27                     ` Anton Altaparmakov
2005-07-04 14:39                       ` Anton Altaparmakov
2005-07-04 15:12                         ` Anton Altaparmakov
2005-07-04 15:55                           ` Gautam Singaraju
2005-07-04 16:00                             ` Anton Altaparmakov
2005-07-04 17:57                       ` Daniel Drake
2005-07-04 19:09                         ` Anton Altaparmakov
2005-07-05  1:33                           ` John McCutchan
2005-07-05  7:56                             ` Anton Altaparmakov
2005-07-05 15:48                               ` John McCutchan
2005-07-05 17:06                                 ` Anton Altaparmakov
2005-07-05 18:07                                   ` John McCutchan
2005-07-05 20:53                                     ` Anton Altaparmakov

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=42C7BF37.9010005@gentoo.org \
    --to=dsd@gentoo.org \
    --cc=aia21@cam.ac.uk \
    --cc=david@pleyades.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rml@novell.com \
    --cc=ttb@tentacle.dhs.org \
    /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.