diff options
Diffstat (limited to 'test/dopanic_drv.c')
| -rw-r--r-- | test/dopanic_drv.c | 51 | 
1 files changed, 51 insertions, 0 deletions
diff --git a/test/dopanic_drv.c b/test/dopanic_drv.c new file mode 100644 index 0000000..a8540ff --- /dev/null +++ b/test/dopanic_drv.c @@ -0,0 +1,51 @@ +/* dopanic.c  + * + * Cause a panic in a loadable driver. + */ +#include <linux/kernel.h>   /* We're doing kernel work */ +#include <linux/module.h>   /* Specifically, a module */ + +static int device_open(void *inode,  +		       void *file) +{ +  printk (KERN_DEBUG "device_open(%p,%p)\n", inode, file); +  return 0; +} + +static int device_release(void *inode,  +			  void *file) +{ +  printk ("device_release(%p,%p)\n", inode, file); +  return 0; +} + + +static int device_read(void *file, +    char *buffer,    /* The buffer to fill with data */ +    int length,   /* The length of the buffer */ +    int *offset)  /* Our offset in the file */ +{ +    return 0; +} + +static int device_write(void *file, +    const char *buffer,    /* The buffer */ +    int length,   /* The length of the buffer */ +    int *offset)  /* Our offset in the file */ +{ +  return -1; +} + +/* Initialize the module */ +int init_module() +{ +  panic("dopanic: init_module calls panic"); +  return 0; +} + + +/* Cleanup - unregister the appropriate file from /proc */ +void cleanup_module() +{ +}   +  | 
