Re: 3.17.7: list corruption(?) near epoll

2014-12-30 Thread Hillf Danton
> 
> Caught while browsing with chromium shortly after boot.
> Haven't seen something like that before.
>
Maybe the POLLFREE race still in mainline, mind trying the untested diff?

--- linux-3.16.1-org/fs/eventpoll.c Thu Aug 14 10:36:35 2014
+++ linux-3.16.1/fs/eventpoll.c Tue Dec 30 19:59:06 2014
@@ -520,7 +520,7 @@ static void ep_remove_wait_queue(struct 
rcu_read_lock();
/* If it is cleared by POLLFREE, it should be rcu-safe */
whead = rcu_dereference(pwq->whead);
-   if (whead)
+   if (whead && !list_empty(&pwq->wait.task_list))
remove_wait_queue(whead, &pwq->wait);
rcu_read_unlock();
 }
--
 
> Several chromium tabs locked up, dmesg was full of
> similar messages. Box was more or less operational,
> then switched to text console with last panic message.
> 
> After reboot, that's all what was left:
> 
>  [] ep_remove+0x1d/0xb0
>  [] SyS_epoll_ctl+0x400/0xae0
>  [] ? local_clock+0x1b/0x30
>  [] ? syscall_trace_enter+0x16b/0x180
>  [] tracesys+0xd0/0xd5
> ---[ end trace 3fc03b0916c7ab8d ]---
> [ cut here ]
> WARNING: CPU: 0 PID: 1384 at lib/list_debug.c:53 __list_del_entry+0x63/0xd0()
> list_del corruption, 8800d99a7858->next is LIST_POISON1 (dead00100100)
> Modules linked in: usbhid uhci_hcd
> CPU: 0 PID: 1384 Comm: Chrome_IOThread Tainted: GW  3.17.7 #51
> Hardware name: Hewlett-Packard HP Compaq dc7800 Convertible
> Minitower/0AACh, BIOS 786F1 v01.28 02/26/2009
>  0009 8800c6387d70 8147f3c3 8800c6387db8
>  8800c6387da8 810761f3 8800d99a7858 8800d99a7840
>  0286 00fa fffe 8800c6387e08
> Call Trace:
>  [] dump_stack+0x4d/0x6f
>  [] warn_slowpath_common+0x73/0x90
>  [] warn_slowpath_fmt+0x47/0x50
>  [] ? warn_slowpath_fmt+0x47/0x50
>  [] __list_del_entry+0x63/0xd0
>  [] list_del+0xd/0x30
>  [] remove_wait_queue+0x21/0x40
>  [] ep_unregister_pollwait.isra.17+0x3f/0x70
>  [] ep_remove+0x1d/0xb0
>  [] SyS_epoll_ctl+0x400/0xae0
>  [] ? local_clock+0x1b/0x30
>  [] ? syscall_trace_enter+0x16b/0x180
>  [] tracesys+0xd0/0xd5
> ---[ end trace 3fc03b0916c7ab8e ]---
> [ cut here ]
> WARNING: CPU: 0 PID: 1384 at lib/list_debug.c:56 __list_del_entry+0xc3/0xd0()
> list_del corruption, 8800d99a7828->prev is LIST_POISON2 (dead00200200)
> Modules linked in: usbhid uhci_hcd
> CPU: 0 PID: 1384 Comm: Chrome_IOThread Tainted: GW  3.17.7 #51
> Hardware name: Hewlett-Packard HP Compaq dc7800 Convertible
> Minitower/0AACh, BIOS 786F1 v01.28 02/26/2009
>  0009 8800c6387d98 8147f3c3 8800c6387de0
>  8800c6387dd0 810761f3 8800d99a7828 8800d8df8a00
>  8800d8df8a40 00fa fffe 8800c6387e30
> Call Trace:
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


3.17.7: list corruption(?) near epoll

2014-12-30 Thread Alexey Dobriyan
Caught while browsing with chromium shortly after boot.
Haven't seen something like that before.

Several chromium tabs locked up, dmesg was full of
similar messages. Box was more or less operational,
then switched to text console with last panic message.

After reboot, that's all what was left:

 [] ep_remove+0x1d/0xb0
 [] SyS_epoll_ctl+0x400/0xae0
 [] ? local_clock+0x1b/0x30
 [] ? syscall_trace_enter+0x16b/0x180
 [] tracesys+0xd0/0xd5
---[ end trace 3fc03b0916c7ab8d ]---
[ cut here ]
WARNING: CPU: 0 PID: 1384 at lib/list_debug.c:53 __list_del_entry+0x63/0xd0()
list_del corruption, 8800d99a7858->next is LIST_POISON1 (dead00100100)
Modules linked in: usbhid uhci_hcd
CPU: 0 PID: 1384 Comm: Chrome_IOThread Tainted: GW  3.17.7 #51
Hardware name: Hewlett-Packard HP Compaq dc7800 Convertible
Minitower/0AACh, BIOS 786F1 v01.28 02/26/2009
 0009 8800c6387d70 8147f3c3 8800c6387db8
 8800c6387da8 810761f3 8800d99a7858 8800d99a7840
 0286 00fa fffe 8800c6387e08
Call Trace:
 [] dump_stack+0x4d/0x6f
 [] warn_slowpath_common+0x73/0x90
 [] warn_slowpath_fmt+0x47/0x50
 [] ? warn_slowpath_fmt+0x47/0x50
 [] __list_del_entry+0x63/0xd0
 [] list_del+0xd/0x30
 [] remove_wait_queue+0x21/0x40
 [] ep_unregister_pollwait.isra.17+0x3f/0x70
 [] ep_remove+0x1d/0xb0
 [] SyS_epoll_ctl+0x400/0xae0
 [] ? local_clock+0x1b/0x30
 [] ? syscall_trace_enter+0x16b/0x180
 [] tracesys+0xd0/0xd5
---[ end trace 3fc03b0916c7ab8e ]---
[ cut here ]
WARNING: CPU: 0 PID: 1384 at lib/list_debug.c:56 __list_del_entry+0xc3/0xd0()
list_del corruption, 8800d99a7828->prev is LIST_POISON2 (dead00200200)
Modules linked in: usbhid uhci_hcd
CPU: 0 PID: 1384 Comm: Chrome_IOThread Tainted: GW  3.17.7 #51
Hardware name: Hewlett-Packard HP Compaq dc7800 Convertible
Minitower/0AACh, BIOS 786F1 v01.28 02/26/2009
 0009 8800c6387d98 8147f3c3 8800c6387de0
 8800c6387dd0 810761f3 8800d99a7828 8800d8df8a00
 8800d8df8a40 00fa fffe 8800c6387e30
Call Trace:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/