Bug with workaround for hardware synth bug
Trevor Astrope
astrope at tabbweb.com
Thu Aug 29 16:02:03 EDT 2013
I noticed that it isn't possible to remove the speakup_acntsa module when
loaded with the serialio.c workaround (either removing the request_region
block or commenting out the `return NULL' line).
`rmmod speakup_acntsa' results in a kernel oops and repeating it reports
that the device is busy and the module could not be removed. There is no
speech, however, after the first rmmod. Oh yeah, and rebooting the system
after this results in a crash or hang. A power restart is required to boot
the system.
This is with speakup 3.1.6 from linux-speakup.org/speakup.git and the
Debian jessie/sid system with the linux-image-3.10-2-amd64 kernel and
headers.
Here is the kernel oops from dmesg:
[165235.863347] releasing synth acntsa
[165235.863386] BUG: unable to handle kernel NULL pointer dereference at
0000000000000030
[165235.863460] IP: [<ffffffff81042881>] __release_resource+0x8/0x33
[165235.863514] PGD 0
[165235.863535] Oops: 0000 [#1] SMP
[165235.863569] Modules linked in: tun ppdev lp bnep rfcomm cpufreq_stats
cpufreq_conservative cpufreq_powersave cpufreq_userspace bluetooth cuse
snd_hrtimer pci_stub vboxpci(O) vboxnetadp(O) vboxnetflt(O) binfmt_misc
vboxdrv(O) loop fuse dm_crypt snd_hda_codec_hdmi snd_hda_codec_realtek
snd_hda_intel snd_hda_codec iTCO_wdt iTCO_vendor_support snd_hwdep snd_pcm
snd_page_alloc i915 snd_seq snd_seq_device snd_timer drm_kms_helper drm
i2c_i801 i2c_algo_bit lpc_ich snd mfd_core soundcore i2c_core coretemp
mperf processor eeepc_wmi asus_wmi sparse_keymap rfkill mei_me kvm psmouse
parport_pc parport wmi mei pcspkr serio_raw video thermal_sys button
microcode joydev evdev ext4 crc16 jbd2 mbcache raid1 md_mod dm_mirror
dm_region_hash dm_log dm_mod speakup_acntsa(O-) speakup(O) sr_mod cdrom sg
sd_mod crc_t10dif hid_generic ata_generic usbhid hid crc32c_intel
ghash_clmulni_intel aesni_intel aes_x86_64 ablk_helper ata_piix xhci_hcd
cryptd lrw gf128mul glue_helper ehci_pci ehci_hcd libata scsi_mod r8169
mii usbcore usb_common
[165235.864545] CPU: 7 PID: 20315 Comm: rmmod Tainted: G O
3.10-2-amd64 #1 Debian 3.10.7-1
[165235.864612] Hardware name: System manufacturer System Product
Name/P8H67-M PRO, BIOS 0902 03/04/2011
[165235.864681] task: ffff8801f381e780 ti: ffff88021a326000 task.ti:
ffff88021a326000
[165235.864738] RIP: 0010:[<ffffffff81042881>] [<ffffffff81042881>]
__release_resource+0x8/0x33
[165235.864806] RSP: 0018:ffff88021a327eb8 EFLAGS: 00010206
[165235.864848] RAX: 0000000000000030 RBX: ffffffffa0176280 RCX:
ffff880233eea100
[165235.864902] RDX: 00000000000003f8 RSI: 0000000000000008 RDI:
ffffffffa0176280
[165235.864956] RBP: 0000000000000000 R08: 00000000ffffffff R09:
000000000000000d
[165235.865011] R10: 000000000000bb00 R11: 000000000000bb00 R12:
0000000000000800
[165235.865066] R13: 00007fffc00c8dfa R14: 00007f0797d2e090 R15:
0000000000000800
[165235.865122] FS: 00007f0796724700(0000) GS:ffff88023fbc0000(0000)
knlGS:0000000000000000
[165235.865184] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[165235.865229] CR2: 0000000000000030 CR3: 000000020e6f2000 CR4:
00000000000407e0
[165235.865284] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[165235.865339] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
0000000000000400
[165235.865393] Stack:
[165235.865412] ffffffff81042ca0 ffffffffa00ca220 ffffffffa00ca220
ffffffffa016a9b5
[165235.865479] ffffffffa016b49e ffffffffa00ca000 ffffffffa016b4c9
ffffffffa00ca410
[165235.865545] ffffffff81080f5a 00000000f381e780 ffffffff8105f669
ffffffffa00ca410
[165235.865614] Call Trace:
[165235.865638] [<ffffffff81042ca0>] ? release_resource+0x19/0x2e
[165235.865693] [<ffffffffa016a9b5>] ? spk_serial_release+0x15/0x20
[speakup]
[165235.865750] [<ffffffffa016b49e>] ? synth_release+0xb2/0xbf [speakup]
[165235.865806] [<ffffffffa016b4c9>] ? synth_remove+0x1e/0x75 [speakup]
[165235.865858] [<ffffffff81080f5a>] ? SyS_delete_module+0x1cf/0x253
[165235.865908] [<ffffffff8105f669>] ? should_resched+0x5/0x23
[165235.865955] [<ffffffff81386018>] ? page_fault+0x28/0x30
[165235.865998] [<ffffffff8138ade9>] ? system_call_fastpath+0x16/0x1b
[165235.866045] Code: 74 05 4c 39 02 76 0e 48 89 56 28 48 89 37 48 89 46
20 31 c0 c3 48 39 4a 08 48 8d 7a 28 72 db 48 89 d0 c3 48 8b 47 20 48 83 c0
30 <48> 8b 10 48 85 d2 74 1d 48 39 fa 75 12 48 8b 57 28 48 89 10 48
[165235.869521] RIP [<ffffffff81042881>] __release_resource+0x8/0x33
[165235.871205] RSP <ffff88021a327eb8>
[165235.872876] CR2: 0000000000000030
[165235.874574] ---[ end trace 2b9ef3876d8c03bc ]---
Here is the output of rmmod when run a second time:
libkmod: ERROR ../libkmod/libkmod-module.c:753 kmod_module_remove_module:
could not remove 'speakup_acntsa': Device or resource busy
Error: could not remove module speakup_acntsa: Device or resource busy
More information about the Speakup
mailing list