public inbox for linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox