summaryrefslogtreecommitdiffstats
path: root/include/net/x25.h
diff options
context:
space:
mode:
authorlinzhang <xiaolou4617@gmail.com>2017-05-17 06:05:07 +0200
committerDavid S. Miller <davem@davemloft.net>2017-05-18 16:05:40 +0200
commit64df6d525fcff1630098db9238bfd2b3e092d5c1 (patch)
tree891f6e66c98038bce663c67f96ef3b40b8aa00d4 /include/net/x25.h
parentbpf: adjust verifier heuristics (diff)
downloadlinux-64df6d525fcff1630098db9238bfd2b3e092d5c1.tar.xz
linux-64df6d525fcff1630098db9238bfd2b3e092d5c1.zip
net: x25: fix one potential use-after-free issue
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 properly unregister call on error handler. Also, i adjust the coding style and make x25_register_sysctl properly return failure. Signed-off-by: linzhang <xiaolou4617@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/x25.h')
-rw-r--r--include/net/x25.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/net/x25.h b/include/net/x25.h
index c383aa4edbf0..6d30a01d281d 100644
--- a/include/net/x25.h
+++ b/include/net/x25.h
@@ -298,10 +298,10 @@ void x25_check_rbuf(struct sock *);
/* sysctl_net_x25.c */
#ifdef CONFIG_SYSCTL
-void x25_register_sysctl(void);
+int x25_register_sysctl(void);
void x25_unregister_sysctl(void);
#else
-static inline void x25_register_sysctl(void) {};
+static inline int x25_register_sysctl(void) { return 0; };
static inline void x25_unregister_sysctl(void) {};
#endif /* CONFIG_SYSCTL */