The function x25_init is not properly unregister related resources on error handler.It is will result in kernel oops if x25_init init failed, so add right unregister call on error handler.
Signed-off-by: linzhang <xiaolou4...@gmail.com> --- net/x25/af_x25.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index 8b911c2..e01e09a 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c @@ -1811,12 +1811,14 @@ static int __init x25_init(void) x25_register_sysctl(); rc = x25_proc_init(); if (rc != 0) - goto out_dev; + goto out_sysctl; out: return rc; -out_dev: +out_sysctl: + x25_unregister_sysctl(); unregister_netdevice_notifier(&x25_dev_notifier); out_sock: + dev_remove_pack(&x25_packet_type); sock_unregister(AF_X25); out_proto: proto_unregister(&x25_proto); -- 1.8.3.1