Your message dated Sat, 02 Mar 2013 19:02:38 +0000
with message-id <e1ubrhe-0004sq...@franck.debian.org>
and subject line Bug#699470: fixed in crystalhd 1:0.0~git20110715.fdd2f19-8
has caused the Debian Bug report #699470,
regarding crystalhd-dkms: Kernel null pointer BUG in crystalhd_dioq_fetch_wait()
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
699470: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=699470
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: crystalhd-dkms
Version: 1:0.0~git20110715.fdd2f19-7
Severity: critical
Tags: patch
Justification: breaks the whole system
Reproducible NULL pointer BUG at
crystalhd-0.0~git20110715.fdd2f19/driver/linux/crystalhd_misc.c:515,
triggered by adobe flash plugin from dmo repo, ffmpeg, mplayer, bino or other,
mostly on heavy ioq usage
or after FETCH_TIMEOUT and/or unclosed driver HANDLEs.
Your package is affected, reproducible on all 3.x kernel.org "stable" kernel
versions.
Subsequent driver access without reboot or after rmmod -f && modprobe again
will trigger kernel freeze by
kernel unhandled paging request.
This patch has fixed this bug for me until now.
Upstream maintainer/owner of codebase host git.linuxtv.org or Broadcom authors
have not responded yet,
but affected BCM70015 chip hardware is still in production state and
wholeselling as mini-PCI-E card.
Signed-off-by: Thomas Schorpp <thomas.scho...@gmail.com>
y
tom
8043-Jan 24 18:33:14 tom3 kernel: [ 457.636878] BUG: unable to handle kernel
NULL pointer dereference at 000000000000002c
8044:Jan 24 18:33:14 tom3 kernel: [ 457.637016] IP: [<ffffffffa043a14c>]
crystalhd_dioq_fetch_wait+0x25c/0x410 [crystalhd]
8045-Jan 24 18:33:14 tom3 kernel: [ 457.637150] PGD 631fe067 PUD 57474067 PMD 0
8046-Jan 24 18:33:14 tom3 kernel: [ 457.637238] Oops: 0000 [#1] PREEMPT SMP
8047-Jan 24 18:33:14 tom3 kernel: [ 457.637326] CPU 0
8048-Jan 24 18:33:14 tom3 kernel: [ 457.637361] Modules linked in: uinput
parport_pc ppdev lp parport bluetooth nfsd lockd nfs_acl auth_rpcgss sunrpc
exportfs acpi_cpufreq mperf cpufreq_powersave cpufreq_stats
cpufreq_conservative cpufreq_performance cpufreq_ondemand freq_table fuse
dm_mod ext3 jbd pciehp arc4 ath5k ath snd_hda_codec_analog mac80211 cfg80211
snd_hda_intel snd_hda_codec snd_usb_audio thinkpad_acpi snd_pcm_oss
snd_mixer_oss snd_hwdep rfkill snd_pcm snd_usbmidi_lib snd_seq_dummy
snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer
snd_seq_device gspca_zc3xx gspca_main snd videodev pcmcia usb_storage
v4l2_compat_ioctl32 psmouse yenta_socket tpm_tis pcmcia_rsrc crystalhd(O)
snd_page_alloc soundcore tpm pcmcia_core tpm_bios pcspkr serio_raw i2c_i801
nvram wmi rtc_cmos battery ac evdev processor nf_conntrack_ipv6 nf_defrag_ipv6
ip6table_filter ip6_tables nf_conntrack_ipv4 nf_defrag_ipv4 xt_state
nf_conntrack xt_limit xt_tcpudp iptable_filter ip
_tables
x
_tables ext4 mbcache jbd2 crc16
8049-Jan 24 18:33:14 tom3 kernel: usbhid hid sg sd_mod crc_t10dif ata_generic
uhci_hcd ahci libahci ata_piix atkbd libata thermal xhci_hcd ehci_hcd usbcore
e1000e usb_common [last unloaded: scsi_wait_scan]
8050-Jan 24 18:33:14 tom3 kernel: [ 457.637841]
8051-Jan 24 18:33:14 tom3 kernel: [ 457.637841] Pid: 6318, comm: ffmpeg
Tainted: G O 3.2.36-dirty #7 LENOVO 7735Y1T/7735Y1T
8052:Jan 24 18:33:14 tom3 kernel: [ 457.637841] RIP: 0010:[<ffffffffa043a14c>]
[<ffffffffa043a14c>] crystalhd_dioq_fetch_wait+0x25c/0x410 [crystalhd]
8053-Jan 24 18:33:14 tom3 kernel: [ 457.637841] RSP: 0018:ffff88006300dd48
EFLAGS: 00010246
8054-Jan 24 18:33:14 tom3 kernel: [ 457.637841] RAX: 0000000000000000 RBX:
ffff88007b1cde50 RCX: 0000000000000000
8055-Jan 24 18:33:14 tom3 kernel: [ 457.637841] RDX: 0000000000000046 RSI:
ffffffffa04395c3 RDI: ffffffff81493e82
8056-Jan 24 18:33:14 tom3 kernel: [ 457.637841] RBP: ffff88006300ddf8 R08:
0000000000000000 R09: 0000000000000000
8057-Jan 24 18:33:14 tom3 kernel: [ 457.637841] R10: 0000000000000000 R11:
ffff88007b1ce510 R12: ffff88007a855d80
8058-Jan 24 18:33:14 tom3 kernel: [ 457.637841] R13: 0000000000000000 R14:
ffff88007a855da8 R15: ffff88007b1cde50
8059-Jan 24 18:33:14 tom3 kernel: [ 457.637841] FS: 00007f559fa7b760(0000)
GS:ffff88007f400000(0000) knlGS:0000000000000000
8060-Jan 24 18:33:14 tom3 kernel: [ 457.637841] CS: 0010 DS: 0000 ES: 0000
CR0: 0000000080050033
8061-Jan 24 18:33:14 tom3 kernel: [ 457.637841] CR2: 000000000000002c CR3:
0000000057470000 CR4: 00000000000006f0
8062-Jan 24 18:33:14 tom3 kernel: [ 457.637841] DR0: 0000000000000000 DR1:
0000000000000000 DR2: 0000000000000000
8063-Jan 24 18:33:14 tom3 kernel: [ 457.637841] DR3: 0000000000000000 DR6:
00000000ffff0ff0 DR7: 0000000000000400
8064-Jan 24 18:33:14 tom3 kernel: [ 457.637841] Process ffmpeg (pid: 6318,
threadinfo ffff88006300c000, task ffff88007b1cde50)
8065-Jan 24 18:33:14 tom3 kernel: [ 457.637841] Stack:
8066-Jan 24 18:33:14 tom3 kernel: [ 457.637841] 0000000000000327
ffff88007b1ce510 ffff88006b199400 ffff88007c1b1090
8067-Jan 24 18:33:14 tom3 kernel: [ 457.637841] ffff88006300de14
ffff8800594145b0 ffff880059414400 ffff88007b1cde50
8068-Jan 24 18:33:14 tom3 kernel: [ 457.637841] ffff88007a855de0
0000000100026d5c 0000000000000000 ffff88007b1cde50
8069-Jan 24 18:33:14 tom3 kernel: [ 457.637841] Call Trace:
8070-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffff810497e0>] ?
try_to_wake_up+0x260/0x260
8071-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffffa043b7b0>] ?
bc_cproc_start_capture+0x100/0x100 [crystalhd]
8072-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffffa043d566>]
crystalhd_hw_get_cap_buffer+0x56/0x1a0 [crystalhd]
8073-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffffa043b83d>]
bc_cproc_fetch_frame+0x8d/0x1b0 [crystalhd]
8074-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffffa0438db1>]
chd_dec_api_cmd+0x81/0x100 [crystalhd]
8075-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffffa0438ec0>]
chd_dec_ioctl+0x90/0x170 [crystalhd]
8076-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffff811704bc>]
do_vfs_ioctl+0x9c/0x330
8077-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffff8115ebb0>] ?
fget_light+0x40/0x140
8078-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffff8108d9bd>] ?
trace_hardirqs_on_caller+0x11d/0x1b0
8079-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffff8117079f>]
sys_ioctl+0x4f/0x80
8080-Jan 24 18:33:14 tom3 kernel: [ 457.637841] [<ffffffff8149b6eb>]
system_call_fastpath+0x16/0x1b
8081-Jan 24 18:33:14 tom3 kernel: [ 457.637841] Code: 89 f7 e8 18 9d 05 e1 45
85 ed 75 81 48 8b bd 78 ff ff ff e8 77 17 c4 e0 85 c0 0f 85 c7 00 00 00 4c 89
e7 e8 57 f3 ff ff 49 89 c0 <f6> 40 2c 03 0f 85 3d 01 00 00 48 8b 4d 80 48 8b 81
d0 00 00 00
8082:Jan 24 18:33:14 tom3 kernel: [ 457.637841] RIP [<ffffffffa043a14c>]
crystalhd_dioq_fetch_wait+0x25c/0x410 [crystalhd]
8083-Jan 24 18:33:14 tom3 kernel: [ 457.637841] RSP <ffff88006300dd48>
8084-Jan 24 18:33:14 tom3 kernel: [ 457.637841] CR2: 000000000000002c
8085-Jan 24 18:33:14 tom3 kernel: [ 457.663980] ---[ end trace
784283982dcd2475 ]---
8081-Jan 24 18:33:14 tom3 kernel: [ 457.637841] Code: 89 f7 e8 18 9d 05 e1 45
85 ed 75 81 48 8b bd 78 ff ff ff e8 77 17 c4 e0 85 c0 0f 85 c7 00 00 00 4c 89
e7 e8 57 f3 ff ff 49 89 c0 <f6> 40 2c 03 0f 85 3d 01 00 00 48 8b 4d 80 48 8b 81
d0 00 00 00
$ linux-stable/scripts/decodecode < oops.txt
All code
========
0: 89 f7 mov %esi,%edi
2: e8 18 9d 05 e1 callq 0xffffffffe1059d1f
7: 45 85 ed test %r13d,%r13d
a: 75 81 jne 0xffffffffffffff8d
c: 48 8b bd 78 ff ff ff mov -0x88(%rbp),%rdi
13: e8 77 17 c4 e0 callq 0xffffffffe0c4178f
18: 85 c0 test %eax,%eax
1a: 0f 85 c7 00 00 00 jne 0xe7
20: 4c 89 e7 mov %r12,%rdi
23: e8 57 f3 ff ff callq 0xfffffffffffff37f
28: 49 89 c0 mov %rax,%r8
2b:* f6 40 2c 03 testb $0x3,0x2c(%rax) <-- trapping
instruction
2f: 0f 85 3d 01 00 00 jne 0x172
35: 48 8b 4d 80 mov -0x80(%rbp),%rcx
39: 48 8b 81 d0 00 00 00 mov 0xd0(%rcx),%rax
Code starting with the faulting instruction
===========================================
0: f6 40 2c 03 testb $0x3,0x2c(%rax)
4: 0f 85 3d 01 00 00 jne 0x147
a: 48 8b 4d 80 mov -0x80(%rbp),%rcx
e: 48 8b 81 d0 00 00 00 mov 0xd0(%rcx),%rax
$ gdb /mnt/data/usr/local/src/crystalhd/driver/linux/crystalhd.ko
(gdb) l *(crystalhd_dioq_fetch_wait + 604)
0x216c is in crystalhd_dioq_fetch_wait
(/mnt/data/usr/local/src/crystalhd/driver/linux/crystalhd_misc.c:516).
511 /* Lock against checks from get status calls */
512 if(down_interruptible(&hw->fetch_sem))
513 goto sem_error;
514 r_pkt = crystalhd_dioq_fetch(ioq);
515 /* If format change packet, then return with out checking
anything */
516 if (r_pkt->flags & (COMP_FLAG_PIB_VALID |
COMP_FLAG_FMT_CHANGE)) <--- x86 testb instruction XXXXXX
517 goto sem_rel_return;
518 if (hw->adp->pdev->device == BC_PCI_DEVID_LINK) {
519 picYcomp = link_GetRptDropParam(hw, hw->PICHeight,
hw->PICWidth, (void *)r_pkt);
520 }
(gdb) l *(crystalhd_dioq_fetch_wait + 0x410)
0x2320 is in bc_kern_dma_free
(/mnt/data/usr/local/src/crystalhd/driver/linux/crystalhd_misc.c:262).
257 * Return:
258 * none.
259 */
260 void bc_kern_dma_free(struct crystalhd_adp *adp, uint32_t sz, void *ka,
261 dma_addr_t phy_addr)
262 {
263 if (!adp || !ka || !sz || !phy_addr) {
264 printk(KERN_ERR "%s: Invalid arg\n", __func__);
265 return;
266 }
crystalhd-nullpointer-bugfix.schorpp.01.patch
diff --git a/driver/linux/crystalhd_misc.c b/driver/linux/crystalhd_misc.c
index 410ab9d..b3ce457 100644
--- a/driver/linux/crystalhd_misc.c
+++ b/driver/linux/crystalhd_misc.c
@@ -512,7 +512,10 @@ void *crystalhd_dioq_fetch_wait(struct crystalhd_hw *hw,
uint32_t to_secs, uint3
if(down_interruptible(&hw->fetch_sem))
goto sem_error;
r_pkt = crystalhd_dioq_fetch(ioq);
- /* If format change packet, then return with out
checking anything */
+ /* If no packet then up and return zero otherwise will
*0 BUG the kernel on heavy dioq load */
+ if (!r_pkt)
+ goto sem_rel_return;
+ /* If format change packet then return without checking
anything */
if (r_pkt->flags & (COMP_FLAG_PIB_VALID |
COMP_FLAG_FMT_CHANGE))
goto sem_rel_return;
if (hw->adp->pdev->device == BC_PCI_DEVID_LINK) {
-- System Information:
Debian Release: 7.0
APT prefers testing
APT policy: (990, 'testing')
Architecture: i386 (i686)
Kernel: Linux 3.2.37-PM (PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff --git a/driver/linux/crystalhd_misc.c b/driver/linux/crystalhd_misc.c
index 410ab9d..b3ce457 100644
--- a/driver/linux/crystalhd_misc.c
+++ b/driver/linux/crystalhd_misc.c
@@ -512,7 +512,10 @@ void *crystalhd_dioq_fetch_wait(struct crystalhd_hw *hw, uint32_t to_secs, uint3
if(down_interruptible(&hw->fetch_sem))
goto sem_error;
r_pkt = crystalhd_dioq_fetch(ioq);
- /* If format change packet, then return with out checking anything */
+ /* If no packet then up and return zero otherwise will *0 BUG the kernel on heavy dioq load */
+ if (!r_pkt)
+ goto sem_rel_return;
+ /* If format change packet then return without checking anything */
if (r_pkt->flags & (COMP_FLAG_PIB_VALID | COMP_FLAG_FMT_CHANGE))
goto sem_rel_return;
if (hw->adp->pdev->device == BC_PCI_DEVID_LINK) {
--- End Message ---
--- Begin Message ---
Source: crystalhd
Source-Version: 1:0.0~git20110715.fdd2f19-8
We believe that the bug you reported is fixed in the latest version of
crystalhd, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 699...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Andres Mejia <ame...@debian.org> (supplier of updated crystalhd package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Sat, 02 Mar 2013 13:34:36 -0500
Source: crystalhd
Binary: libcrystalhd-dev libcrystalhd3 gstreamer0.10-crystalhd
Architecture: source amd64
Version: 1:0.0~git20110715.fdd2f19-8
Distribution: unstable
Urgency: high
Maintainer: Andres Mejia <ame...@debian.org>
Changed-By: Andres Mejia <ame...@debian.org>
Description:
gstreamer0.10-crystalhd - Crystal HD Video Decoder (GStreamer plugin)
libcrystalhd-dev - Crystal HD Video Decoder (development files)
libcrystalhd3 - Crystal HD Video Decoder (shared library)
Closes: 682252 699470
Changes:
crystalhd (1:0.0~git20110715.fdd2f19-8) unstable; urgency=high
.
* Remove dkms package which contained buggy driver.
Driver already existed in mainline kernel. Any issues with the driver
should be directed to the kernel package.
(Closes: #682252)
(Closes: #699470)
* Bump to Standards-Version 3.9.4.
* Build with hardening options to satisfy Wheezy release goal.
Checksums-Sha1:
45042a247a90cd4577ec6c3d9106e9aad563b459 2180
crystalhd_0.0~git20110715.fdd2f19-8.dsc
597fc881f8dae9aaf8582d198d7949ba63d57ca4 4963
crystalhd_0.0~git20110715.fdd2f19-8.debian.tar.gz
ac575d8f0d96f015cb677bc7324bdcd7533ee656 17994
libcrystalhd-dev_0.0~git20110715.fdd2f19-8_amd64.deb
790bf11f0ad0bcd65a6794498a82dfe2752de1ca 53082
libcrystalhd3_0.0~git20110715.fdd2f19-8_amd64.deb
098c5fc0f7ba09489e4169319d404a25dab5e905 28760
gstreamer0.10-crystalhd_0.0~git20110715.fdd2f19-8_amd64.deb
Checksums-Sha256:
c3c403361e331aaae519998e7f4a1c570546338a394304b45b3696ba6fd189a6 2180
crystalhd_0.0~git20110715.fdd2f19-8.dsc
7d317c911d720003a0600c7935aea68a600fdad0a24f3bec017936796c1c88c0 4963
crystalhd_0.0~git20110715.fdd2f19-8.debian.tar.gz
7536f2b0586992005704cb2fda112fc959857d59417597d00733d02d8906a712 17994
libcrystalhd-dev_0.0~git20110715.fdd2f19-8_amd64.deb
b350bcfa97f98e289c19ef701da8c9a7a9abb997a4217562c9b5dbd844ba5d1d 53082
libcrystalhd3_0.0~git20110715.fdd2f19-8_amd64.deb
da659740e69590f2bc2ee9e178c27ffa3a63cf03b801cc768deaca55dcb5de8f 28760
gstreamer0.10-crystalhd_0.0~git20110715.fdd2f19-8_amd64.deb
Files:
43bd4b8da573c62f4e1d6857b237905c 2180 libs optional
crystalhd_0.0~git20110715.fdd2f19-8.dsc
3614728dd1ad122df5599c368d1792bf 4963 libs optional
crystalhd_0.0~git20110715.fdd2f19-8.debian.tar.gz
5d0e037399e1b362d6dd549996ba62d9 17994 libdevel optional
libcrystalhd-dev_0.0~git20110715.fdd2f19-8_amd64.deb
cffa8eb43f07b1af3f43dd0e54ce3cce 53082 libs optional
libcrystalhd3_0.0~git20110715.fdd2f19-8_amd64.deb
c5f3665050555fa274412279969eb7af 28760 video optional
gstreamer0.10-crystalhd_0.0~git20110715.fdd2f19-8_amd64.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAEBAgAGBQJRMkqGAAoJED+5x4pTyFTfIroQAKzo5TxJDzZ6YNtLlBRL3W99
72WJrmRfFVY+XfnABZqe857/SGSjWVHKqpv0/3KTssfHZIAfjVTSz0mXb9QFqnyg
uRHyWDnJsCoGh/22YD75W7BUNpZW2Yep8qb76uYd9L/HqbaAHBMPXnumW37FpDs4
k089Knq/TausrCTTFyFVIkl0zd/9JdM3sVjjn3ZVkyG33tjKwOhJuHLa3DyGyFp9
xoeEzkW+Ng740LJ3y6ZgkSSMe+Ftphm85B+xOF3OKdZCD+ZRL+WQl6RBd2G8hOMh
GzGefhEGlfqLqa+FB9fvoe7xhW1qR6fwC2QEh2IrWm/CGJxyRgGBPQaiQ8dIkZ5m
NvGftIsEsfRBfYcaakT0WmUgpaNKBd3SS5SVF1tVY8uS0S8tw2ttynsf6XmUyL+0
xKOsxnSMyGfB7DbhaHwQ0b32MEnnt6Wq9H9AY/JvcKGgfKclbxpU5DjIXEq1UYd9
8AePSFN5LPjTav6FcKD79qhkgJUCKt6tC5oTfoa8w70ww2ETpL1WqoUMStSLnvRn
NI4oXZPP3g7nxTsaD29siMvalrXoxRcEAm+HZNp58wLKsMrjmTUdj7Lz4R1tgvPQ
w4jcnJmi7iiZZgEkfEAmOBkAKo3v7Ai/SuDTtYL8EJ0sG4puRhS9Re/0nhKr0qkE
6jPVKO5NxAvmTuYGB7Dc
=e/MH
-----END PGP SIGNATURE-----
--- End Message ---