linux/drivers/staging
Ben Chan 9f77186dd1 staging: gdm72xx: Release netlink socket properly
This patch modifies the gdm72xx driver to properly release a netlink
socket using netlink_kernel_release. It fixes the following kernel
crash, which occurs after repeatedly suspending and resuming a system.

   kernel BUG at /home/benchan/trunk/src/third_party/kernel/files/mm/slub.c:3471!
   invalid opcode: 0000 [#1] SMP
   CPU 2
   Modules linked in: asix usbnet snd_hda_codec_hdmi
   snd_hda_codec_cirrus i2c_dev uinput snd_hda_intel snd_hda_codec
   snd_hwdep snd_pcm snd_timer bluetooth snd_page_alloc fuse aesni_intel
   cryptd isl29018(C) aes_x86_64 industrialio(C) memconsole nm10_gpio
   rtc_cmos nf_conntrack_ipv6 nf_defrag_ipv6 r8169 ath9k mac80211
   ip6table_filter ath9k_common ath9k_hw ath cfg80211 xt_mark ip6_tables
   uvcvideo videobuf2_core videodev videobuf2_vmalloc videobuf2_memops
   gdmwm(C) joydev

   Pid: 3125, comm: kworker/u:30 Tainted: G        WC   3.4.0 #1
   RIP: 0010:[<ffffffff810cda19>]  [<ffffffff810cda19>] kfree+0x67/0xca
   RSP: 0018:ffff880134977d60  EFLAGS: 00010246
   RAX: 4000000000000400 RBX: ffffffff818832a0 RCX: 0000000000000000
   RDX: 4000000000000000 RSI: 0000000000000000 RDI: ffffffff818832a0
   RBP: ffff880134977d80 R08: 00000000ffffffff R09: ffffea00000620c0
   R10: ffffffff8111b729 R11: ffff880149fb3840 R12: ffffffff81a08840
   R13: ffffffff813f5bc3 R14: ffffffff8138ed84 R15: 0000000000000000
   FS:  0000000000000000(0000) GS:ffff88014fb00000(0000) knlGS:0000000000000000
   CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
   CR2: 00007f7cad963110 CR3: 000000000180b000 CR4: 00000000000407e0
   DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
   DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
   Process kworker/u:30 (pid: 3125, threadinfo ffff880134976000, task ffff8801330647e0)
   Stack:
    0000000000000002 ffffffff818832a0 ffffffff81a08840 ffff880134977df0
    ffff880134977da0 ffffffff813f5bc3 ffff880134977df0 ffffffff81883250
    ffff880134977dd0 ffffffff8138e64c 0000000180150010 ffffffff81883250
   Call Trace:
    [<ffffffff813f5bc3>] ipv4_sysctl_exit_net+0x23/0x27
    [<ffffffff8138e64c>] ops_exit_list+0x27/0x50
    [<ffffffff8138ee72>] cleanup_net+0xee/0x17c
    [<ffffffff81040c64>] process_one_work+0x199/0x2b8
    [<ffffffff810416e4>] worker_thread+0x13c/0x222
    [<ffffffff810415a8>] ? manage_workers.isra.26+0x171/0x171
    [<ffffffff8104506d>] kthread+0x8b/0x93
    [<ffffffff8145b414>] kernel_thread_helper+0x4/0x10
    [<ffffffff81044fe2>] ? __init_kthread_worker+0x39/0x39
    [<ffffffff8145b410>] ? gs_change+0xb/0xb
   Code: 83 c4 10 49 83 3c 24 00 eb e4 48 83 fb 10 76 76 48 89 df e8 17
   e1 ff ff 49 89 c1 48 8b 00 a8 80 75 15 49 f7 01 00 c0 00 00 75 02
   <0f> 0b 4c 89 cf e8 b8 b4 fd ff eb 4f 4c 8b 55 08 49 8b 79 30 48
   RIP  [<ffffffff810cda19>] kfree+0x67/0xca
    RSP <ffff880134977d60>

Signed-off-by: Ben Chan <benchan@chromium.org>
Cc: Sage Ahn <syahn@gctsemi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-14 17:28:46 -07:00
..
android mm/fs: route MADV_REMOVE to FALLOC_FL_PUNCH_HOLE 2012-05-29 16:22:22 -07:00
asus_oled staging: asus_oled.c: remove err() usage 2012-04-23 16:45:54 -07:00
bcm Staging: bcm: Remove two unused variables from Adapter.h 2012-05-18 17:41:16 -07:00
ccg staging: usb: gadget: Add FunctionFS support to Configurable Composite Gadget driver 2012-05-16 05:32:20 -07:00
comedi staging/comedi: fix build for USB not enabled 2012-06-11 16:49:35 -07:00
cptm1217
crystalhd Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
cxt1e1
echo
et131x staging: et131x: Fix coding style issues 2012-05-01 21:48:44 -07:00
frontier staging: frontier: alphatrack.c: remove err() usage 2012-04-23 16:46:11 -07:00
ft1000 Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
gdm72xx staging: gdm72xx: Release netlink socket properly 2012-06-14 17:28:46 -07:00
iio staging:iio:ad7298: Fix linker error due to missing IIO kfifo buffer 2012-06-12 11:12:19 -07:00
ipack Staging: ipack/bridges/tpci200: remove unneeded casts 2012-05-18 17:38:17 -07:00
keucr USB merge for 3.4-rc1 2012-03-20 11:26:30 -07:00
line6 staging: line6/config.h: Delete unused header 2012-05-18 17:13:52 -07:00
media Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-05-24 10:21:51 -07:00
net NET: pc300, move to staging as it is broken 2012-04-13 10:57:04 -07:00
nvec staging:nvec:nvec.h Fix typos in staging:nvec 2012-04-10 09:29:21 -07:00
octeon Staging tree pull request for 3.5-rc1 2012-05-22 16:34:21 -07:00
olpc_dcon staging: olpc_dcon.c: Remove a few spaces between casts and variables 2012-04-24 11:33:22 -07:00
omapdrm staging: omapdrm: fix crash when freeing bad fb 2012-06-11 08:42:09 -07:00
ozwpan Merge 3.4-rc5 into staging-next 2012-05-02 11:48:07 -07:00
panel staging:panel:panel.c Fix typo in staging:panel 2012-04-10 09:29:21 -07:00
phison
quickstart
ramster Staging tree pull request for 3.5-rc1 2012-05-22 16:34:21 -07:00
rtl8187se staging: Remove test of is_broadcast with is_multicast 2012-05-09 13:52:23 -07:00
rtl8192e staging: Remove test of is_broadcast with is_multicast 2012-05-09 13:52:23 -07:00
rtl8192u staging: Remove test of is_broadcast with is_multicast 2012-05-09 13:52:23 -07:00
rtl8712 staging: rtl8712: Fix typo in rtl871x_io.h 2012-05-15 17:58:30 -07:00
rts_pstor Merge 3.4-rc5 into staging-next 2012-05-02 11:48:07 -07:00
rts5139 staging: "rts5139" Fix typos. 2012-05-14 13:31:09 -07:00
sbe-2t3e3 Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
sep Merge 3.4-rc5 into staging-next 2012-05-02 11:48:07 -07:00
serqt_usb2 USB: serqt_usb2: remove duplicate device ids 2012-05-10 14:13:17 -07:00
slicoss
sm7xx staging: sm7xx: rename function 2012-04-29 21:32:20 -04:00
speakup
ste_rmi4 ARM: More device tree support updates 2012-03-28 12:34:33 -07:00
telephony staging/telephony/ixj.c: delete trailing whitespace 2012-04-10 10:27:58 -07:00
tidspbridge Merge 3.4-rc5 into staging-next 2012-05-02 11:48:07 -07:00
usbip Revert "staging: usbip: bugfix for stack corruption on 64-bit architectures" 2012-06-12 11:10:50 -07:00
vme Merge 3.4-rc5 into staging-next 2012-05-02 11:48:07 -07:00
vt6655 Merge 3.4-rc5 into staging-next 2012-05-02 11:48:07 -07:00
vt6656 staging: Remove test of is_broadcast with is_multicast 2012-05-09 13:52:23 -07:00
winbond
wlags49_h2 Staging: wlags49_h2: potential NULL dereference 2012-05-14 15:43:44 -07:00
wlags49_h25
wlan-ng staging: wlan-ng: Release struct returned by cfg80211_inform_bss to avoid potential memory leak. 2012-04-24 11:28:25 -07:00
xgifb Merge 3.4-rc5 into staging-next 2012-05-02 11:48:07 -07:00
zcache staging: zcache: fix Kconfig crypto dependency 2012-04-24 11:57:36 -07:00
zram Merge branch 'kmap_atomic' of git://github.com/congwang/linux 2012-03-21 09:40:26 -07:00
zsmalloc staging: zsmalloc: add/fix function comment 2012-05-09 13:20:22 -07:00
Kconfig Staging tree pull request for 3.5-rc1 2012-05-22 16:34:21 -07:00
Makefile Staging tree pull request for 3.5-rc1 2012-05-22 16:34:21 -07:00
staging.c