This kernel warning is triggered when repeating opening/closing a socketcan test application in userspace: [ 192.835652] ------------[ cut here ]------------ [ 192.840306] WARNING: CPU: 0 PID: 0 at net/core/skbuff.c:693 skb_release_head_state+0x64/0x78() [ 192.848922] Modules linked in: [ 192.852004] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.19-ge-16.02+-general-1-00316-g716807c #378 [ 192.861140] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [ 192.867671] Backtrace: [ 192.870159] [<c001203c>] (dump_backtrace) from [<c0012248>] (show_stack+0x18/0x1c) [ 192.877732] r6:200f0193 r5:ffffffff r4:00000000 r3:00200000 [ 192.883477] [<c0012230>] (show_stack) from [<c049d20c>] (dump_stack+0x80/0xa0) [ 192.890714] [<c049d18c>] (dump_stack) from [<c0029f54>] (warn_slowpath_common+0x8c/0xb8) [ 192.898808] r6:c0665fa5 r5:00000009 r4:00000000 r3:c0716000 [ 192.904542] [<c0029ec8>] (warn_slowpath_common) from [<c002a024>] (warn_slowpath_null+0x24/0x2c) [ 192.913330] r8:c071859c r7:c0714c00 r6:c0717d80 r5:ee1bac70 r4:ed46c4c0 [ 192.920122] [<c002a000>] (warn_slowpath_null) from [<c03f8398>] (skb_release_head_state+0x64/0x78) [ 192.929092] [<c03f8334>] (skb_release_head_state) from [<c03f84e0>] (skb_release_all+0x14/0x2c) [ 192.937793] r4:ed46c4c0 r3:00000001 [ 192.941411] [<c03f84cc>] (skb_release_all) from [<c03f850c>] (__kfree_skb+0x14/0x94) [ 192.949157] r4:ed46c4c0 r3:00000001 [ 192.952775] [<c03f84f8>] (__kfree_skb) from [<c03f85e4>] (kfree_skb+0x58/0x5c) [ 192.960001] r4:ed46c4c0 r3:00000001 [ 192.963625] [<c03f858c>] (kfree_skb) from [<c04045e0>] (enqueue_to_backlog+0x170/0x238) [ 192.971640] [<c0404470>] (enqueue_to_backlog) from [<c0404718>] (netif_rx_internal+0x70/0x114) [ 192.980255] r10:c0743129 r9:edd84f40 r8:00000200 r7:00000000 r6:c0717d80 r5:00000000 [ 192.988168] r4:ed46c4c0 [ 192.990728] [<c04046a8>] (netif_rx_internal) from [<c04047cc>] (netif_rx+0x10/0x14) [ 192.998387] r6:00000008 r5:00000000 r4:ed567000 [ 193.003069] [<c04047bc>] (netif_rx) from [<c03110b0>] (can_get_echo_skb+0x40/0x54) [ 193.010652] [<c0311070>] (can_get_echo_skb) from [<c0312768>] (flexcan_irq+0x158/0x1c8) [ 193.018659] r6:0000cd98 r5:ed567000 r4:f01b8000 r3:00000000 [ 193.024398] [<c0312610>] (flexcan_irq) from [<c0061f44>] (handle_irq_event_percpu+0x38/0x130) [ 193.032925] r8:edc06000 r7:00000000 r6:00000000 r5:0000001c r4:ed0ae440 r3:c0312610 [ 193.040760] [<c0061f0c>] (handle_irq_event_percpu) from [<c0062080>] (handle_irq_event+0x44/0x64) [ 193.049635] r10:c0717ee0 r9:00000001 r8:edc06000 r7:00000000 r6:ed0ae440 r5:edd84fa0 [ 193.057549] r4:edd84f40 [ 193.060116] [<c006203c>] (handle_irq_event) from [<c0065160>] (handle_fasteoi_irq+0xbc/0x138) [ 193.068644] r6:edd84fa0 r5:c071dbf0 r4:edd84f40 r3:00000000 [ 193.074380] [<c00650a4>] (handle_fasteoi_irq) from [<c006163c>] (generic_handle_irq+0x28/0x38) [ 193.082995] r6:c07129ac r5:c07129ac r4:0000001c r3:c00650a4 [ 193.088729] [<c0061614>] (generic_handle_irq) from [<c006194c>] (__handle_domain_irq+0xa8/0xe8) [ 193.097430] r4:00000000 r3:0000012f [ 193.101047] [<c00618a4>] (__handle_domain_irq) from [<c00093dc>] (gic_handle_irq+0x40/0x64) [ 193.109401] r10:00000000 r9:0000002c r8:e55c15b3 r7:c0717f14 r6:c0718700 r5:c0717ee0 [ 193.117314] r4:f4000100 r3:c0717ee0 [ 193.120929] [<c000939c>] (gic_handle_irq) from [<c0012d00>] (__irq_svc+0x40/0x74) [ 193.128419] Exception stack(0xc0717ee0 to 0xc0717f28) [ 193.133481] 7ee0: c0717f28 0000002c c2135e9d 0000002c e5698eeb 0000002c 00000000 ee1b9a68 [ 193.141668] 7f00: e55c15b3 0000002c 00000000 c0717f5c 00000009 c0717f28 c007580c c0389d60 [ 193.149850] 7f20: 600f0013 ffffffff [ 193.153342] r6:ffffffff r5:600f0013 r4:c0389d60 r3:c007580c [ 193.159080] [<c0389c94>] (cpuidle_enter_state) from [<c0389e8c>] (cpuidle_enter+0x1c/0x20) [ 193.167347] r10:c0713a60 r9:c0711284 r8:c0717f70 r7:c0714300 r6:c071d890 r5:c0716000 [ 193.175259] r4:ee1b9a68 [ 193.177828] [<c0389e70>] (cpuidle_enter) from [<c0058590>] (cpu_startup_entry+0x200/0x2d8) [ 193.186106] [<c0058390>] (cpu_startup_entry) from [<c0499dc8>] (rest_init+0x7c/0x94) [ 193.193852] r7:ffffffff [ 193.196424] [<c0499d4c>] (rest_init) from [<c06a3c24>] (start_kernel+0x2e0/0x338) [ 193.203910] r4:00000000 r3:c0716000 [ 193.207530] [<c06a3944>] (start_kernel) from [<1000807c>] (0x1000807c) [ 193.214063] ---[ end trace db15eacd7eb444c8 ]--- [ 193.218686] ------------[ cut here ]------------ [ 193.223316] WARNING: CPU: 0 PID: 0 at net/core/skbuff.c:693 skb_release_head_state+0x64/0x78() [ 193.231930] Modules linked in: [ 193.235008] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 4.1.19-ge-16.02+-general-1-00316-g716807c #378 [ 193.245360] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [ 193.251890] Backtrace: [ 193.254367] [<c001203c>] (dump_backtrace) from [<c0012248>] (show_stack+0x18/0x1c) [ 193.261940] r6:200f0193 r5:ffffffff r4:00000000 r3:00200000 [ 193.267678] [<c0012230>] (show_stack) from [<c049d20c>] (dump_stack+0x80/0xa0) [ 193.274913] [<c049d18c>] (dump_stack) from [<c0029f54>] (warn_slowpath_common+0x8c/0xb8) [ 193.283006] r6:c0665fa5 r5:00000009 r4:00000000 r3:c0716000 [ 193.288740] [<c0029ec8>] (warn_slowpath_common) from [<c002a024>] (warn_slowpath_null+0x24/0x2c) [ 193.297528] r8:c071859c r7:c0714c00 r6:c0717d80 r5:ed1516ac r4:ededaf40 [ 193.304321] [<c002a000>] (warn_slowpath_null) from [<c03f8398>] (skb_release_head_state+0x64/0x78) [ 193.313292] [<c03f8334>] (skb_release_head_state) from [<c03f84e0>] (skb_release_all+0x14/0x2c) [ 193.321993] r4:ededaf40 r3:00000001 [ 193.325611] [<c03f84cc>] (skb_release_all) from [<c03f850c>] (__kfree_skb+0x14/0x94) [ 193.333357] r4:ededaf40 r3:00000001 [ 193.336975] [<c03f84f8>] (__kfree_skb) from [<c03f85e4>] (kfree_skb+0x58/0x5c) [ 193.344200] r4:ed151654 r3:00000001 [ 193.347821] [<c03f858c>] (kfree_skb) from [<c03fa43c>] (skb_queue_purge+0x24/0x2c) [ 193.355409] [<c03fa418>] (skb_queue_purge) from [<c047cb60>] (can_sock_destruct+0x14/0x18) [ 193.363676] r4:ed151600 r3:c047cb4c [ 193.367295] [<c047cb4c>] (can_sock_destruct) from [<c03f6224>] (__sk_free+0x20/0xe4) [ 193.375050] [<c03f6204>] (__sk_free) from [<c03f691c>] (sock_wfree+0x80/0x84) [ 193.382189] r5:ed1516ac r4:ed151600 [ 193.385806] [<c03f689c>] (sock_wfree) from [<c03f83a4>] (skb_release_head_state+0x70/0x78) [ 193.394074] r5:ee1bac70 r4:ed46c4c0 [ 193.397692] [<c03f8334>] (skb_release_head_state) from [<c03f84e0>] (skb_release_all+0x14/0x2c) [ 193.406393] r4:ed46c4c0 r3:00000001 [ 193.410011] [<c03f84cc>] (skb_release_all) from [<c03f850c>] (__kfree_skb+0x14/0x94) [ 193.417757] r4:ed46c4c0 r3:00000001 [ 193.421374] [<c03f84f8>] (__kfree_skb) from [<c03f85e4>] (kfree_skb+0x58/0x5c) [ 193.428599] r4:ed46c4c0 r3:00000001 [ 193.432218] [<c03f858c>] (kfree_skb) from [<c04045e0>] (enqueue_to_backlog+0x170/0x238) [ 193.440235] [<c0404470>] (enqueue_to_backlog) from [<c0404718>] (netif_rx_internal+0x70/0x114) [ 193.448849] r10:c0743129 r9:edd84f40 r8:00000200 r7:00000000 r6:c0717d80 r5:00000000 [ 193.456761] r4:ed46c4c0 [ 193.459320] [<c04046a8>] (netif_rx_internal) from [<c04047cc>] (netif_rx+0x10/0x14) [ 193.466979] r6:00000008 r5:00000000 r4:ed567000 [ 193.471655] [<c04047bc>] (netif_rx) from [<c03110b0>] (can_get_echo_skb+0x40/0x54) [ 193.479236] [<c0311070>] (can_get_echo_skb) from [<c0312768>] (flexcan_irq+0x158/0x1c8) [ 193.487242] r6:0000cd98 r5:ed567000 r4:f01b8000 r3:00000000 [ 193.492979] [<c0312610>] (flexcan_irq) from [<c0061f44>] (handle_irq_event_percpu+0x38/0x130) [ 193.501506] r8:edc06000 r7:00000000 r6:00000000 r5:0000001c r4:ed0ae440 r3:c0312610 [ 193.509341] [<c0061f0c>] (handle_irq_event_percpu) from [<c0062080>] (handle_irq_event+0x44/0x64) [ 193.518216] r10:c0717ee0 r9:00000001 r8:edc06000 r7:00000000 r6:ed0ae440 r5:edd84fa0 [ 193.526128] r4:edd84f40 [ 193.528691] [<c006203c>] (handle_irq_event) from [<c0065160>] (handle_fasteoi_irq+0xbc/0x138) [ 193.537218] r6:edd84fa0 r5:c071dbf0 r4:edd84f40 r3:00000000 [ 193.542953] [<c00650a4>] (handle_fasteoi_irq) from [<c006163c>] (generic_handle_irq+0x28/0x38) [ 193.551567] r6:c07129ac r5:c07129ac r4:0000001c r3:c00650a4 [ 193.557301] [<c0061614>] (generic_handle_irq) from [<c006194c>] (__handle_domain_irq+0xa8/0xe8) [ 193.566002] r4:00000000 r3:0000012f [ 193.569620] [<c00618a4>] (__handle_domain_irq) from [<c00093dc>] (gic_handle_irq+0x40/0x64) [ 193.577974] r10:00000000 r9:0000002c r8:e55c15b3 r7:c0717f14 r6:c0718700 r5:c0717ee0 [ 193.585887] r4:f4000100 r3:c0717ee0 [ 193.589502] [<c000939c>] (gic_handle_irq) from [<c0012d00>] (__irq_svc+0x40/0x74) [ 193.596990] Exception stack(0xc0717ee0 to 0xc0717f28) [ 193.602051] 7ee0: c0717f28 0000002c c2135e9d 0000002c e5698eeb 0000002c 00000000 ee1b9a68 [ 193.610238] 7f00: e55c15b3 0000002c 00000000 c0717f5c 00000009 c0717f28 c007580c c0389d60 [ 193.618419] 7f20: 600f0013 ffffffff [ 193.621912] r6:ffffffff r5:600f0013 r4:c0389d60 r3:c007580c [ 193.627645] [<c0389c94>] (cpuidle_enter_state) from [<c0389e8c>] (cpuidle_enter+0x1c/0x20) [ 193.635912] r10:c0713a60 r9:c0711284 r8:c0717f70 r7:c0714300 r6:c071d890 r5:c0716000 [ 193.643825] r4:ee1b9a68 [ 193.646387] [<c0389e70>] (cpuidle_enter) from [<c0058590>] (cpu_startup_entry+0x200/0x2d8) [ 193.654664] [<c0058390>] (cpu_startup_entry) from [<c0499dc8>] (rest_init+0x7c/0x94) [ 193.662410] r7:ffffffff [ 193.664977] [<c0499d4c>] (rest_init) from [<c06a3c24>] (start_kernel+0x2e0/0x338) [ 193.672463] r4:00000000 r3:c0716000 [ 193.676079] [<c06a3944>] (start_kernel) from [<1000807c>] (0x1000807c) [ 193.682613] ---[ end trace db15eacd7eb444c9 ]---
Further investigations: the can0 interface is brought down by some other process, which seems to trigger the kernel Warning. The following script easily reproduces the problem on a FreeScale i.MX6 system: #!/bin/sh while true; do ifconfig can0 up cangen can0 -g 4 & can_pid=$! sleep 1 ifconfig can0 down kill -9 $can_pid sleep 1 done