projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ef209f1
)
caif: Fix access to freed pernet memory
author
Sjur Brændeland
<
[email protected]
>
Sun, 15 Jul 2012 10:10:14 +0000
(10:10 +0000)
committer
David S. Miller
<
[email protected]
>
Tue, 17 Jul 2012 06:06:20 +0000
(23:06 -0700)
unregister_netdevice_notifier() must be called before
unregister_pernet_subsys() to avoid accessing already freed
pernet memory. This fixes the following oops when doing rmmod:
Call Trace:
[<
ffffffffa0f802bd
>] caif_device_notify+0x4d/0x5a0 [caif]
[<
ffffffff81552ba9
>] unregister_netdevice_notifier+0xb9/0x100
[<
ffffffffa0f86dcc
>] caif_device_exit+0x1c/0x250 [caif]
[<
ffffffff810e7734
>] sys_delete_module+0x1a4/0x300
[<
ffffffff810da82d
>] ? trace_hardirqs_on_caller+0x15d/0x1e0
[<
ffffffff813517de
>] ? trace_hardirqs_on_thunk+0x3a/0x3
[<
ffffffff81696bad
>] system_call_fastpath+0x1a/0x1f
RIP
[<
ffffffffa0f7f561
>] caif_get+0x51/0xb0 [caif]
Signed-off-by: Sjur Brændeland <
[email protected]
>
Acked-by: "Eric W. Biederman" <
[email protected]
>
Signed-off-by: David S. Miller <
[email protected]
>
net/caif/caif_dev.c
patch
|
blob
|
history
diff --git
a/net/caif/caif_dev.c
b/net/caif/caif_dev.c
index 554b3128960776af52c2cd9869e14fdad224566c..8c83c175b03a9f2379c253bd1c9e160b72457320 100644
(file)
--- a/
net/caif/caif_dev.c
+++ b/
net/caif/caif_dev.c
@@
-561,9
+561,9
@@
static int __init caif_device_init(void)
static void __exit caif_device_exit(void)
{
- unregister_pernet_subsys(&caif_net_ops);
unregister_netdevice_notifier(&caif_device_notifier);
dev_remove_pack(&caif_packet_type);
+ unregister_pernet_subsys(&caif_net_ops);
}
module_init(caif_device_init);