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