linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Alexey Dobriyan <adobriyan@gmail.com>
Cc: linux-fbdev-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org, adaplas@gmail.com
Subject: Re: [PATCH] Fix /proc/fb oops after module removal
Date: Sat, 12 Apr 2008 15:20:06 -0700	[thread overview]
Message-ID: <20080412152006.02134bf3.akpm@linux-foundation.org> (raw)
In-Reply-To: <20080412211029.GG9151@martell.zuzino.mipt.ru>

On Sun, 13 Apr 2008 01:10:29 +0400 Alexey Dobriyan <adobriyan@gmail.com> wrote:

> /proc/fb is not removed during rmmod.
> 
> Steps to reproduce:
> 
> 	modprobe fb
> 	rmmod fb
> 	ls /proc
> 
> BUG: unable to handle kernel paging request at ffffffffa0094370
> IP: [<ffffffff802b92a1>] proc_get_inode+0x101/0x130
> PGD 203067 PUD 207063 PMD 17e758067 PTE 0
> Oops: 0000 [1] SMP 
> last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/resource
> CPU 1 
> Modules linked in: nf_conntrack_irc xt_state iptable_filter ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables vfat fat usbhid ehci_hcd uhci_hcd usbcore sr_mod cdrom [last unloaded: fb]
> Pid: 21205, comm: ls Not tainted 2.6.25-rc8-mm2 #14
> RIP: 0010:[<ffffffff802b92a1>]  [<ffffffff802b92a1>] proc_get_inode+0x101/0x130
> RSP: 0018:ffff81017c4bfc78  EFLAGS: 00010246
> RAX: 0000000000008000 RBX: ffff8101787f5470 RCX: 0000000048011ccc
> RDX: ffffffffa0094320 RSI: ffff810006ad43b0 RDI: ffff81017fc2cc00
> RBP: ffff81017e450300 R08: 0000000000000002 R09: ffff81017c5d1000
> R10: 0000000000000000 R11: 0000000000000246 R12: ffff81016b903a28
> R13: ffff81017f822020 R14: ffff81017c4bfd58 R15: ffff81017f822020
> FS:  00007f08e71696f0(0000) GS:ffff81017fc06480(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: ffffffffa0094370 CR3: 000000017e54a000 CR4: 00000000000006e0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process ls (pid: 21205, threadinfo ffff81017c4be000, task ffff81017de48770)
> Stack:  ffff81017c5d1000 00000000ffffffea ffff81017e450300 ffffffff802bdd1e
>  ffff81017f802258 ffff81017c4bfe48 ffff81016b903a28 ffff81017f822020
>  ffff81017c4bfd48 ffffffff802b9ba0 ffff81016b903a28 ffff81017f802258
> Call Trace:
>  [<ffffffff802bdd1e>] ? proc_lookup_de+0x8e/0x100
>  [<ffffffff802b9ba0>] ? proc_root_lookup+0x20/0x60
>  [<ffffffff802882a7>] ? do_lookup+0x1b7/0x210
>  [<ffffffff8028883d>] ? __link_path_walk+0x53d/0x7f0
>  [<ffffffff80295eb8>] ? mntput_no_expire+0x28/0x130
>  [<ffffffff80288b4a>] ? path_walk+0x5a/0xc0
>  [<ffffffff80288dd3>] ? do_path_lookup+0x83/0x1c0
>  [<ffffffff80287785>] ? getname+0xe5/0x210
>  [<ffffffff80289adb>] ? __user_walk_fd+0x4b/0x80
>  [<ffffffff8028236c>] ? vfs_lstat_fd+0x2c/0x70
>  [<ffffffff8028bf1e>] ? filldir+0xae/0xf0
>  [<ffffffff802b92e9>] ? de_put+0x9/0x50
>  [<ffffffff8029633d>] ? mnt_want_write+0x2d/0x80
>  [<ffffffff8029339f>] ? touch_atime+0x1f/0x170
>  [<ffffffff802b9b1d>] ? proc_root_readdir+0x7d/0xa0
>  [<ffffffff802825e7>] ? sys_newlstat+0x27/0x50
>  [<ffffffff8028bffb>] ? vfs_readdir+0x9b/0xd0
>  [<ffffffff8028c0fe>] ? sys_getdents+0xce/0xe0
>  [<ffffffff8020b39b>] ? system_call_after_swapgs+0x7b/0x80
> 
> Code: b7 83 b2 00 00 00 25 00 f0 00 00 3d 00 80 00 00 74 19 48 89 93 f0 00 00 00 48 89 df e8 39 9a fd ff 48 89 d8 48 83 c4 08 5b 5d c3 <48> 83 7a 50 00 48 c7 c0 60 16 45 80 48 c7 c2 40 17 45 80 48 0f 
> RIP  [<ffffffff802b92a1>] proc_get_inode+0x101/0x130
>  RSP <ffff81017c4bfc78>
> CR2: ffffffffa0094370
> ---[ end trace c71hiarjan8ab739 ]---
> 
> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
> ---
> 
>  drivers/video/fbmem.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> --- a/drivers/video/fbmem.c
> +++ b/drivers/video/fbmem.c
> @@ -1551,6 +1576,7 @@ module_init(fbmem_init);
>  static void __exit
>  fbmem_exit(void)
>  {
> +	remove_proc_entry("fb", NULL);
>  	class_destroy(fb_class);
>  	unregister_chrdev(FB_MAJOR, "fb");
>  }

hm, that's the sort of thing which one would expect people to notice fairly
soon after we added the bug.  Yet it appears that the bug is present in
at least 2.6.20 and probably earlier.


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone

       reply	other threads:[~2008-04-12 22:20 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20080412211029.GG9151@martell.zuzino.mipt.ru>
2008-04-12 22:20 ` Andrew Morton [this message]
2008-04-13 15:42   ` [PATCH] Fix /proc/fb oops after module removal Arjan van de Ven

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=20080412152006.02134bf3.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=adaplas@gmail.com \
    --cc=adobriyan@gmail.com \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).