rendered paste bodycode:
/*
* This is a new device mapper target
*/
#include "dm.h"
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
static int newtarget_ctr(struct dm_target *target,
unsigned int argc, char **argv)
{
printk(KERN_ALERT "New target constructor function\n");
/*Successful execution - return 0*/
return 0;
}
static struct target_type new_target = {
.name = "newtarget",
.version = {1, 0, 0},
.module = THIS_MODULE,
.ctr = newtarget_ctr,
};
static int __init newtarget_init(void)
{
int r;
printk(KERN_ALERT "New target module is being loaded...\n");
/*Register the target*/
r=dm_register_target(&new_target);
if(r < 0)
{
DMERR("New target registration failed - Error code :%d\n",r);
}
return r;
}
static void __exit newtarget_exit(void)
{
int r;
printk(KERN_ALERT "New target module is being unloaded...\n");
/*unregister the target*/
r=dm_unregister_target(&new_target);
if(r < 0)
{
DMERR("New target unsregistration failed - Error code : %d\n",r);
}
}
module_init(newtarget_init);
module_exit(newtarget_exit);
var/log/messages:
May 7 13:30:42 blr-vm1 kernel: New target module is being loaded...
May 7 13:34:14 blr-vm1 kernel: New target constructor function<1>Unable to handle kernel NULL pointer dereference at virtual address 00000000
May 7 13:34:14 blr-vm1 kernel: printing eip:
May 7 13:34:14 blr-vm1 kernel: 00000000
May 7 13:34:14 blr-vm1 kernel: *pde = 00000000
May 7 13:34:14 blr-vm1 kernel: Oops: 0000 [#1]
May 7 13:34:14 blr-vm1 kernel: last sysfs file: /block/sda/sda1/stat
May 7 13:34:14 blr-vm1 kernel: Modules linked in: dm_newtarget dm_snapshot xt_pkttype ipt_LOG xt_limit af_packet button battery ac ip6t_REJECT xt_tcpudp ipt_REJECT xt_state iptable_mangle iptable_nat ip_nat iptable_filter ip6table_mangle ip_conntrack nfnetlink ip_tables ip6table_filter ip6_tables x_tables ipv6 apparmor aamatch_pcre loop dm_mod intel_agp agpgart pcnet32 mii i2c_piix4 i2c_core shpchp pci_hotplug ide_cd cdrom parport_pc lp parport reiserfs edd fan thermal processor sg ide_generic mptspi mptscsih mptbase scsi_transport_spi piix sd_mod scsi_mod ide_disk ide_core
May 7 13:34:14 blr-vm1 kernel: CPU: 0
May 7 13:34:14 blr-vm1 kernel: EIP: 0060:[<00000000>] Tainted: P U VLI
May 7 13:34:14 blr-vm1 kernel: EFLAGS: 00010202 (2.6.16.21-0.8-default #1)
May 7 13:34:14 blr-vm1 kernel: EIP is at _stext+0x3feffdc0/0x29
May 7 13:34:14 blr-vm1 kernel: eax: f8806080 ebx: ec5b5ec0 ecx: d4cf73b0 edx: f5abe8c0
May 7 13:34:14 blr-vm1 kernel: esi: d4cf73a8 edi: f5abe8c0 ebp: f8806080 esp: d4629c04
May 7 13:34:14 blr-vm1 kernel: ds: 007b es: 007b ss: 0068
May 7 13:34:14 blr-vm1 kernel: Process vol_id (pid: 27301, threadinfo=d4628000 task=ef14e030)
May 7 13:34:14 blr-vm1 kernel: Stack: <0>f8fe2245 000000c4 f38adbc0 d4cf73b8 d4cf73a8 f8fe24fe 00000000 00000001
May 7 13:34:14 blr-vm1 kernel: 00000004 f5abee40 f38adbc0 c014c670 f7fc0b98 000000c4 00000000 f73fbc00
May 7 13:34:14 blr-vm1 kernel: dfea9824 d4629d98 f8806080 f7fc0b98 00000000 00000002 00000b98 00000004
May 7 13:34:14 blr-vm1 kernel: Call Trace:
May 7 13:34:14 blr-vm1 kernel: [<f8fe2245>] __map_bio+0x36/0x71 [dm_mod]
May 7 13:34:14 blr-vm1 kernel: [<f8fe24fe>] __split_bio+0x16b/0x3fa [dm_mod]
May 7 13:34:15 blr-vm1 kernel: [<c014c670>] __find_get_block+0x123/0x139
May 7 13:34:15 blr-vm1 kernel: [<f8fe31c0>] dm_request+0xed/0x101 [dm_mod]
May 7 13:34:15 blr-vm1 kernel: [<c0198a8e>] generic_make_request+0x167/0x177
May 7 13:34:15 blr-vm1 kernel: [<c013570c>] mempool_alloc+0x28/0x9e
May 7 13:34:15 blr-vm1 kernel: [<c019a065>] submit_bio+0xa6/0xad
May 7 13:34:15 blr-vm1 kernel: [<c014ebf6>] bio_alloc_bioset+0x9b/0xf3
May 7 13:34:15 blr-vm1 kernel: [<c014c0d4>] submit_bh+0xde/0xfc
May 7 13:34:15 blr-vm1 kernel: [<c014e4ac>] block_read_full_page+0x24c/0x25d
May 7 13:34:15 blr-vm1 kernel: [<c0151383>] blkdev_get_block+0x0/0x42
May 7 13:34:15 blr-vm1 kernel: [<c01333ad>] add_to_page_cache+0x28/0x58
May 7 13:34:15 blr-vm1 kernel: [<c0138330>] __do_page_cache_readahead+0x12f/0x18b
May 7 13:34:15 blr-vm1 kernel: [<c01a59e4>] copy_to_user+0x36/0x4a
May 7 13:34:15 blr-vm1 kernel: [<c022421e>] memcpy_toiovec+0x28/0x4b
May 7 13:34:15 blr-vm1 kernel: [<c01383d2>] blockable_page_cache_readahead+0x46/0x9a
May 7 13:34:15 blr-vm1 kernel: [<c01385a5>] page_cache_readahead+0xf3/0x146
May 7 13:34:15 blr-vm1 kernel: [<c01337dc>] do_generic_mapping_read+0x124/0x3eb
May 7 13:34:15 blr-vm1 kernel: [<c01340e2>] __generic_file_aio_read+0x148/0x18f
May 7 13:34:15 blr-vm1 kernel: [<c0133069>] file_read_actor+0x0/0xd1
May 7 13:34:15 blr-vm1 kernel: [<c0135174>] generic_file_read+0x0/0xac
May 7 13:34:15 blr-vm1 kernel: [<c013520c>] generic_file_read+0x98/0xac
May 7 13:34:15 blr-vm1 kernel: [<c01259bc>] autoremove_wake_function+0x0/0x2d
May 7 13:34:15 blr-vm1 kernel: [<c0220f2b>] sk_free+0xab/0xd3
May 7 13:34:15 blr-vm1 kernel: [<c0271e69>] mutex_lock+0xb/0x18
May 7 13:34:15 blr-vm1 kernel: [<c0150a2e>] block_llseek+0x88/0x98
May 7 13:34:15 blr-vm1 kernel: [<c014b351>] vfs_read+0xa8/0x14d
May 7 13:34:15 blr-vm1 kernel: [<c014b6bd>] sys_read+0x3c/0x63
May 7 13:34:15 blr-vm1 kernel: [<c010299b>] sysenter_past_esp+0x54/0x79
May 7 13:34:15 blr-vm1 kernel: Code: Bad EIP value.