aboutsummaryrefslogtreecommitdiffstats
path: root/net/rose/af_rose.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-12-14 15:51:23 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-12-17 21:59:11 -0800
commita4282717c102aef2bfab1d947c392de4d8abc0ec (patch)
treeef178b6eea8cd9a8790ae58a6c19ff2aa877bcc1 /net/rose/af_rose.c
parent58bc57471514be9206ebcda90b1076f6be41d1c7 (diff)
downloadkernel_samsung_smdk4412-a4282717c102aef2bfab1d947c392de4d8abc0ec.zip
kernel_samsung_smdk4412-a4282717c102aef2bfab1d947c392de4d8abc0ec.tar.gz
kernel_samsung_smdk4412-a4282717c102aef2bfab1d947c392de4d8abc0ec.tar.bz2
[AX.25]: Fix unchecked ax25_linkfail_register uses
ax25_linkfail_register uses kmalloc and the callers were ignoring the error value. Rewrite to let the caller deal with the allocation. This allows the use of static allocation of kmalloc use entirely. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rose/af_rose.c')
-rw-r--r--net/rose/af_rose.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
index 09f8a06..9e27946 100644
--- a/net/rose/af_rose.c
+++ b/net/rose/af_rose.c
@@ -1487,6 +1487,10 @@ static struct ax25_protocol rose_pid = {
.func = rose_route_frame
};
+static struct ax25_linkfail rose_linkfail_notifier = {
+ .func = rose_link_failed
+};
+
static int __init rose_proto_init(void)
{
int i;
@@ -1537,7 +1541,7 @@ static int __init rose_proto_init(void)
register_netdevice_notifier(&rose_dev_notifier);
ax25_register_pid(&rose_pid);
- ax25_linkfail_register(rose_link_failed);
+ ax25_linkfail_register(&rose_linkfail_notifier);
#ifdef CONFIG_SYSCTL
rose_register_sysctl();
@@ -1585,7 +1589,7 @@ static void __exit rose_exit(void)
rose_rt_free();
ax25_protocol_release(AX25_P_ROSE);
- ax25_linkfail_release(rose_link_failed);
+ ax25_linkfail_release(&rose_linkfail_notifier);
if (ax25cmp(&rose_callsign, &null_ax25_address) != 0)
ax25_listen_release(&rose_callsign, NULL);