kallsyms.c (07354a00901d103085e4376b7df0aad264c1836a) | kallsyms.c (15ad7cdcfd76450d4beebc789ec646664238184d) |
---|---|
1/* 2 * kallsyms.c: in-kernel printing of symbolic oopses and stack traces. 3 * 4 * Rewritten and vastly simplified by Rusty Russell for in-kernel 5 * module loader: 6 * Copyright 2002 Rusty Russell <rusty@rustcorp.com.au> IBM Corporation 7 * 8 * ChangeLog: --- 384 unchanged lines hidden (view full) --- 393 module_name(iter->owner)); 394 else 395 seq_printf(m, "%0*lx %c %s\n", 396 (int)(2*sizeof(void*)), 397 iter->value, iter->type, iter->name); 398 return 0; 399} 400 | 1/* 2 * kallsyms.c: in-kernel printing of symbolic oopses and stack traces. 3 * 4 * Rewritten and vastly simplified by Rusty Russell for in-kernel 5 * module loader: 6 * Copyright 2002 Rusty Russell <rusty@rustcorp.com.au> IBM Corporation 7 * 8 * ChangeLog: --- 384 unchanged lines hidden (view full) --- 393 module_name(iter->owner)); 394 else 395 seq_printf(m, "%0*lx %c %s\n", 396 (int)(2*sizeof(void*)), 397 iter->value, iter->type, iter->name); 398 return 0; 399} 400 |
401static struct seq_operations kallsyms_op = { | 401static const struct seq_operations kallsyms_op = { |
402 .start = s_start, 403 .next = s_next, 404 .stop = s_stop, 405 .show = s_show 406}; 407 408static int kallsyms_open(struct inode *inode, struct file *file) 409{ --- 18 unchanged lines hidden (view full) --- 428 429static int kallsyms_release(struct inode *inode, struct file *file) 430{ 431 struct seq_file *m = (struct seq_file *)file->private_data; 432 kfree(m->private); 433 return seq_release(inode, file); 434} 435 | 402 .start = s_start, 403 .next = s_next, 404 .stop = s_stop, 405 .show = s_show 406}; 407 408static int kallsyms_open(struct inode *inode, struct file *file) 409{ --- 18 unchanged lines hidden (view full) --- 428 429static int kallsyms_release(struct inode *inode, struct file *file) 430{ 431 struct seq_file *m = (struct seq_file *)file->private_data; 432 kfree(m->private); 433 return seq_release(inode, file); 434} 435 |
436static struct file_operations kallsyms_operations = { | 436static const struct file_operations kallsyms_operations = { |
437 .open = kallsyms_open, 438 .read = seq_read, 439 .llseek = seq_lseek, 440 .release = kallsyms_release, 441}; 442 443static int __init kallsyms_init(void) 444{ 445 struct proc_dir_entry *entry; 446 447 entry = create_proc_entry("kallsyms", 0444, NULL); 448 if (entry) 449 entry->proc_fops = &kallsyms_operations; 450 return 0; 451} 452__initcall(kallsyms_init); 453 454EXPORT_SYMBOL(__print_symbol); | 437 .open = kallsyms_open, 438 .read = seq_read, 439 .llseek = seq_lseek, 440 .release = kallsyms_release, 441}; 442 443static int __init kallsyms_init(void) 444{ 445 struct proc_dir_entry *entry; 446 447 entry = create_proc_entry("kallsyms", 0444, NULL); 448 if (entry) 449 entry->proc_fops = &kallsyms_operations; 450 return 0; 451} 452__initcall(kallsyms_init); 453 454EXPORT_SYMBOL(__print_symbol); |