diff -NurpP --exclude '*.orig' --exclude '*.rej' linux-2.6.27.10-vs2.3.x-P/fs/proc/proc_misc.c linux-2.6.27.10-vs2.3.x-P630/fs/proc/proc_misc.c --- linux-2.6.27.10-vs2.3.x-P/fs/proc/proc_misc.c 2008-10-13 14:54:20.000000000 +0200 +++ linux-2.6.27.10-vs2.3.x-P630/fs/proc/proc_misc.c 2009-01-12 01:18:23.000000000 +0100 @@ -877,6 +877,34 @@ static struct file_operations proc_kpage }; #endif /* CONFIG_PROC_PAGE_MONITOR */ +extern char debug_630_dumped[4087]; +static int show_debug_630(struct seq_file *p, void *v) +{ + seq_printf(p, "%s\n", debug_630_dumped); + return 0; +} + +static int debug_630_open(struct inode *inode, struct file *filp) +{ + int res; + struct seq_file *m; + + res = single_open(filp, show_debug_630, NULL); + if (!res) { + m = filp->private_data; + m->buf = kmalloc(4096, GFP_KERNEL); + m->size = 4096; + } + return res; +} + +static const struct file_operations proc_debug_630_operations = { + .open = debug_630_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; + struct proc_dir_entry *proc_root_kcore; void __init proc_misc_init(void) @@ -955,4 +983,6 @@ void __init proc_misc_init(void) #ifdef CONFIG_MAGIC_SYSRQ proc_create("sysrq-trigger", S_IWUSR, NULL, &proc_sysrq_trigger_operations); #endif + + create_seq_entry("debug_630", 0, &proc_debug_630_operations); }