diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2012-04-03 22:40:24 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2012-04-03 22:40:24 +0200 |
commit | 72b05671bfb604286fe223b1714e37dbbf162988 (patch) | |
tree | 8fec40a0f02529551d062a2c47ae41e208343129 | |
parent | Move license data to end. (diff) | |
download | android-connect-blinker-72b05671bfb604286fe223b1714e37dbbf162988.tar.xz android-connect-blinker-72b05671bfb604286fe223b1714e37dbbf162988.zip |
Check for bad procfs creation.
-rw-r--r-- | blinker.c | 23 |
1 files changed, 17 insertions, 6 deletions
@@ -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) |