From: James Hansen <linux-kernel-list@f0rmula.com>
To: Arjan van de Ven <arjan@infradead.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Trouble unloading a module..
Date: Wed, 02 Nov 2005 12:13:12 +0000 [thread overview]
Message-ID: <4368AD58.6050809@f0rmula.com> (raw)
In-Reply-To: <1130919119.2826.5.camel@laptopd505.fenrus.org>
Arjan van de Ven wrote:
>>Being relatively inexperienced at kernel programming, does this point to
>>anything that might be obvious to any of you, yet not to me? :) Or are
>>there any common stumbling blocks in terms of unloading modules on 64bit
>>linux.
>>
>>
>
>you
>1) didn't give the oops here
>
>
Sorry, it looks to be failing within chrdev_open. Could this be caused
by not correctly unloading the driver? Here's the oops:
Nov 1 11:39:06 localhost -- MARK --
Nov 1 11:59:06 localhost -- MARK --
Nov 1 12:09:01 localhost kernel: <1>Unable to handle kernel paging
request at ffffffffa0261b80 RIP:
Nov 1 12:09:01 localhost kernel: PML4 103027 PGD 105027 PMD 3e765067 PTE 0
Nov 1 12:09:01 localhost kernel: CPU 0
Nov 1 12:09:01 localhost kernel: Modules linked in: ipv6 hw_random
shpchp pciehp pci_hotplug c4 b1 kernelcapi psmouse ext3 jbd raid5 xor
raid1 raid0 md e1000 ds yenta_socket pcmcia_core sd_mod ide_cd cdrom
ide_disk ide_generic pdc202xx_new aec62xx alim15x3 amd74xx atiixp cmd64x
cs5520 cs5530 cy82c693 generic hpt34x ns87415 opti621 pdc202xx_old
rz1000 sc1200 serverworks siimage sis5513 slc90e66 triflex trm290
via82cxxx floppy usb_storage piix ide_core fbcon vga16fb vgastate
usbserial usbkbd ehci_hcd uhci_hcd thermal processor fan ata_piix libata
scsi_mod unix font vesafb cfbcopyarea cfbimgblt cfbfillrect
Nov 1 12:09:01 localhost kernel: Pid: 5612, comm: hardserver Not
tainted 2.6.8-11-amd64-generic
Nov 1 12:09:01 localhost kernel: RIP: 0010:[cdev_get+14/73]
<ffffffff80163453>{cdev_get+14}
Nov 1 12:09:01 localhost kernel: RSP: 0018:000001003628de48 EFLAGS:
00010246
Nov 1 12:09:01 localhost kernel: RAX: 0000000000000000 RBX:
ffffffffa0261b80 RCX: 0000000000000000
Nov 1 12:09:01 localhost kernel: RDX: 000001003b5b9080 RSI:
000001003b5b9080 RDI: 0000010002177680
Nov 1 12:09:01 localhost kernel: RBP: 000001003c45bd38 R08:
000001003ea831a8 R09: 000001003ea831a8
Nov 1 12:09:01 localhost kernel: R10: 000001003b5b9080 R11:
00000000000000f0 R12: 0000000000000000
Nov 1 12:09:01 localhost kernel: R13: 0000000000000000 R14:
000001003b5b9080 R15: 0000000000000000
Nov 1 12:09:01 localhost kernel: FS: 0000002a959c2090(0000)
GS:ffffffff80391580(0000) knlGS:0000000000000000
Nov 1 12:09:01 localhost kernel: CS: 0010 DS: 0000 ES: 0000 CR0:
000000008005003b
Nov 1 12:09:01 localhost kernel: CR2: ffffffffa0261b80 CR3:
0000000000101000 CR4: 00000000000006e0
Nov 1 12:09:01 localhost kernel: Process hardserver (pid: 5612,
threadinfo 000001003628c000, task 0000010038bdc230)
Nov 1 12:09:01 localhost kernel: Stack: 0000000000000000
0000010002177680 000001003c45bd38 ffffffff80163573
Nov 1 12:09:01 localhost kernel: 000001003ea831a8
000001003ea831a8 000001003b5b9080 000001003c45bd38
Nov 1 12:09:01 localhost kernel: 000001003fbbeec0 0000000000000000
Nov 1 12:09:01 localhost kernel: Call
Trace:<ffffffff80163573>{chrdev_open+180}
<ffffffff8015bd2c>{dentry_open+205}
Nov 1 12:09:01 localhost kernel:
<ffffffff8015be53>{filp_open+62} <ffffffff8023252e>{tcp_listen_start+325}
Nov 1 12:09:01 localhost kernel: <ffffffff80166c0a>{getname+130}
<ffffffff8015c04e>{sys_open+57}
Nov 1 12:09:01 localhost kernel:
<ffffffff8010fc92>{system_call+126}
Nov 1 12:09:01 localhost kernel:
Nov 1 12:09:01 localhost kernel: Code: 83 3b 02 74 32 ff 83 00 01 00 00
e8 41 38 04 00 48 85 c0 48
Nov 1 12:09:06 localhost kernel: <6>ACPI: PCI interrupt
0000:02:03.0[A] -> GSI 24 (level, low) -> IRQ 24
Nov 1 12:09:06 localhost kernel: ACPI: PCI interrupt 0000:07:06.0[A] ->
GSI 18 (level, low) -> IRQ 18
Nov 1 12:19:06 localhost -- MARK --
Nov 1 12:39:06 localhost -- MARK --
>2) didn't post a URL to the driver source
>
>
Sorry again. Here is the source. Right at the bottom, it appears to be
calling pci_unregister_driver and unregister_chrdev as it should.
http://www.f0rmula.com/stuff/hostif.c
/var/log/messages says:
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_dev_destroy: entered
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_dev_destroy:
freeing irq, 18
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_dev_destroy:
freeing IO BAR, 1
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_dev_destroy:
freeing MEM BAR, 2
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_dev_destroy:
freeing pdev
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_pci_remove: entered
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: i21285_destroy: entered
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_outl: addr ec34, data c
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_dev_destroy: entered
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_dev_destroy:
freeing irq, 12
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_dev_destroy:
freeing IO BAR, 1
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_dev_destroy:
freeing MEM BAR, 2
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: nfp_dev_destroy:
freeing pdev
Nov 2 13:11:54 localhost kernel: nfdrv 2.9.25+: cleanup_module: Module
unloaded
I thought that should prevent the driver from being able to kernel
oops. Is there anything else that I should be calling? Or could it be
the parameters I'm calling these functions with? (bearing in mind this
works fine on a similar 32bit kernel).
>so.. how is anyone supposed to help?
>
>
I was thinking that there may have been a common issue that would allow
a driver oops the kernel if not unloaded properly. Obviously not.
Thanks for any advice, it's much appreciated.
James
>
>
>
>
>
next prev parent reply other threads:[~2005-11-02 12:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-31 16:49 Trouble unloading a module James Hansen
2005-11-02 8:11 ` Arjan van de Ven
2005-11-02 12:13 ` James Hansen [this message]
2005-11-02 12:39 ` Arjan van de Ven
2005-11-03 11:58 ` James Hansen
[not found] <53LbV-6pW-21@gated-at.bofh.it>
2005-11-01 3:56 ` Robert Hancock
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=4368AD58.6050809@f0rmula.com \
--to=linux-kernel-list@f0rmula.com \
--cc=arjan@infradead.org \
--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