diff options
author | linzhang <xiaolou4617@gmail.com> | 2017-05-17 06:05:07 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-05-18 16:05:40 +0200 |
commit | 64df6d525fcff1630098db9238bfd2b3e092d5c1 (patch) | |
tree | 891f6e66c98038bce663c67f96ef3b40b8aa00d4 /include | |
parent | bpf: adjust verifier heuristics (diff) | |
download | linux-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')
-rw-r--r-- | include/net/x25.h | 4 |
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 */ |