summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2012-04-03 22:40:24 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2012-04-03 22:40:24 +0200
commit72b05671bfb604286fe223b1714e37dbbf162988 (patch)
tree8fec40a0f02529551d062a2c47ae41e208343129
parentMove license data to end. (diff)
downloadandroid-connect-blinker-72b05671bfb604286fe223b1714e37dbbf162988.tar.xz
android-connect-blinker-72b05671bfb604286fe223b1714e37dbbf162988.zip
Check for bad procfs creation.
-rw-r--r--blinker.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/blinker.c b/blinker.c
index fe9c294..68df879 100644
--- a/blinker.c
+++ b/blinker.c
@@ -189,22 +189,33 @@ static int init(void)
{
trigger_port = 9191;
delay_ms = 100;
+
+
+ old_connect = inet_stream_ops.connect;
+ disable_page_protection();
+ inet_stream_ops.connect = connect;
+ enable_page_protection();
+ printk(KERN_INFO "blinker: remapped inet_stream_ops.connect\n");
proc_blinker = proc_mkdir(PROC_BLINKER, NULL);
+ if (!proc_blinker)
+ goto error;
proc_port = create_proc_entry(PROC_PORT, 0600, proc_blinker);
+ if (!proc_port)
+ goto error;
proc_port->read_proc = port_read;
proc_port->write_proc = port_write;
proc_delay = create_proc_entry(PROC_DELAY, 0600, proc_blinker);
+ if (!proc_delay)
+ goto error;
proc_delay->read_proc = delay_read;
proc_delay->write_proc = delay_write;
printk(KERN_INFO "blinker: created /proc/blinker/\n");
- old_connect = inet_stream_ops.connect;
- disable_page_protection();
- inet_stream_ops.connect = connect;
- enable_page_protection();
- printk(KERN_INFO "blinker: remapped inet_stream_ops.connect\n");
-
+ goto out;
+error:
+ printk(KERN_ERR "blinker: could not create procfs entries\n");
+out:
return 0;
}
static void exit(void)