This patch series fixes 2 different BUGS that didn't
reveal themselves until the 3.15 series started. 

patch 1 fixes how we insure the config data
is a string. The original code is clearly 
just wrong. After many loads/unloads of the
driver, various OOPs would occure. None of
which indicated this driver as the problem. 

patch 2 fixes the following OOPS. We were
freeing memory with a pointer that had been
changed between the malloc and free.

kernel: [  191.855797] dgap: module is from the staging directory, the quality 
is unknown, you have been warned.
kernel: [  191.856091] dgap-1.3-16, Digi International Part Number 40002347_C
kernel: [  191.856092] For the tools package please visit http://www.digi.com
kernel: [  191.856541] dgap: board 0: AccelePort Xr920 8 port (rev 1), irq 17 
kernel: [  191.874909] ------------[ cut here ]------------
kernel: [  191.874914] WARNING: CPU: 0 PID: 3792 at kernel/rcu/tree.c:2470 
__call_rcu.constprop.66+0x10c/0x1c0()
kernel: [  191.874915] Modules linked in: dgap(C+) bnep bluetooth rfkill 
6lowpan_iphc nvidia(PO) kvm snd_hda_codec_realtek snd_hda_codec_generic 
snd_hda_intel snd_hda_codec snd_hwdep crc32_pclmul snd_pcm r8169 3c59x 
crc32c_intel snd_seq mii aesni_intel snd_timer snd_seq_device synclink_gt hdlc 
snd ablk_helper cryptd sr_mod cdrom gpiohsd(O) eprm(O) rfm2g(O) lrw soundcore 
shpchp tpm_infineon tpm_tis tpm sp5100_tco mxm_wmi rtom(O) aes_i586 pcspkr 
i2c_piix4 wmi serio_raw k10temp fam15h_power button xts sg ohci_pci gf128mul 
edd autofs4 xhci_hcd processor thermal_sys scsi_dh_rdac scsi_dh_emc 
scsi_dh_alua scsi_dh_hp_sw scsi_dh ata_generic aic7xxx aic79xx 
scsi_transport_spi pata_atiixp
kernel: [  191.874944] CPU: 0 PID: 3792 Comm: modprobe Tainted: P         C O 
3.14.0-lcrs #2
kernel: [  191.874946] Hardware name: Gigabyte Technology Co., Ltd. 
GA-990FXA-UD5/GA-990FXA-UD5, BIOS F12 10/03/2013
kernel: [  191.874947]  00000000 00000000 d98cba54 c0712079 00000000 d98cba84 
c024146f c08940d0
kernel: [  191.874951]  00000000 00000ed0 c089e845 000009a6 c02938dc c02938dc 
c033fdf0 eab1c5c5
kernel: [  191.874955]  eab1c5c5 d98cba94 c02414ad 00000009 00000000 d98cbab0 
c02938dc c0960880
kernel: [  191.874958] Call Trace:
kernel: [  191.874962]  [<c0712079>] dump_stack+0x48/0x69
kernel: [  191.874965]  [<c024146f>] warn_slowpath_common+0x7f/0xa0
kernel: [  191.874967]  [<c02938dc>] ? __call_rcu.constprop.66+0x10c/0x1c0
kernel: [  191.874969]  [<c02938dc>] ? __call_rcu.constprop.66+0x10c/0x1c0
kernel: [  191.874972]  [<c033fdf0>] ? get_max_files+0x10/0x10  
kernel: [  191.874974]  [<c02414ad>] warn_slowpath_null+0x1d/0x20
kernel: [  191.874976]  [<c02938dc>] __call_rcu.constprop.66+0x10c/0x1c0
kernel: [  191.874977]  [<c02939e7>] call_rcu+0x17/0x20
kernel: [  191.874979]  [<c0340455>] put_filp+0x45/0x50
kernel: [  191.874981]  [<c034befd>] path_openat+0xdd/0x520
kernel: [  191.874983]  [<c023d6de>] ? kmap_atomic+0xe/0x10
kernel: [  191.874986]  [<c02fa4f0>] ? get_page_from_freelist+0x310/0x5a0
kernel: [  191.874988]  [<c034c550>] do_filp_open+0x30/0x80
kernel: [  191.874991]  [<c0462b6f>] ? string.isra.5+0x2f/0xa0  
kernel: [  191.874993]  [<c04649d6>] ? vsnprintf+0x1d6/0x400
kernel: [  191.874995]  [<c033de77>] file_open_name+0xe7/0x140  
kernel: [  191.874997]  [<c033def9>] filp_open+0x29/0x30
kernel: [  191.875000]  [<c0553ddd>] _request_firmware+0x33d/0xa50
kernel: [  191.875002]  [<c03422a6>] ? alloc_chrdev_region+0x16/0x30
kernel: [  191.875004]  [<c05545be>] request_firmware+0x2e/0x50 
kernel: [  191.875008]  [<ef878b1e>] dgap_firmware_load+0x4be/0x12f0 [dgap]
kernel: [  191.875011]  [<ef879cc1>] dgap_init_one+0x371/0x420 [dgap]
kernel: [  191.875014]  [<c048e9e1>] pci_device_probe+0x71/0xc0 
kernel: [  191.875017]  [<c039d9c0>] ? sysfs_create_link+0x20/0x40
kernel: [  191.875020]  [<c0545b24>] driver_probe_device+0x74/0x360
kernel: [  191.875022]  [<c048e92a>] ? pci_match_device+0xaa/0xc0
kernel: [  191.875024]  [<c0545e99>] __driver_attach+0x89/0x90  
kernel: [  191.875026]  [<c0545e10>] ? driver_probe_device+0x360/0x360
kernel: [  191.875028]  [<c0544162>] bus_for_each_dev+0x42/0x80 
kernel: [  191.875030]  [<c0545629>] driver_attach+0x19/0x20
kernel: [  191.875031]  [<c0545e10>] ? driver_probe_device+0x360/0x360
kernel: [  191.875033]  [<c0545234>] bus_add_driver+0xe4/0x210  
kernel: [  191.875036]  [<c0546464>] driver_register+0x54/0xe0  
kernel: [  191.875038]  [<c048dade>] __pci_register_driver+0x2e/0x40
kernel: [  191.875041]  [<ef87a1bd>] dgap_init_module+0x18d/0x240 [dgap]
kernel: [  191.875044]  [<ef87a030>] ? dgap_cleanup_module+0x2c0/0x2c0 [dgap]
kernel: [  191.875046]  [<c0200452>] do_one_initcall+0xb2/0x160 
kernel: [  191.875049]  [<ef873000>] ? 0xef872fff  
kernel: [  191.875051]  [<c023a502>] ? set_memory_ro+0x32/0x40  
kernel: [  191.875053]  [<c070e2d1>] ? set_section_ro_nx+0x4f/0x54
kernel: [  191.875056]  [<c02a9d41>] load_module+0x1b11/0x23d0  
kernel: [  191.875059]  [<ef873000>] ? 0xef872fff  
kernel: [  191.875064]  [<c0718bbe>] ? error_code+0x5a/0x60
kernel: [  191.875066]  [<c02aa697>] SyS_init_module+0x97/0x100 
kernel: [  191.875072]  [<c07184c8>] syscall_call+0x7/0xb
kernel: [  191.875074] ---[ end trace d8632c9a4b07ee1b ]---

-- 
1.8.1.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to