struct task_struct *task = m->private; struct vm_area_struct *map = v; struct mm_struct *mm = map->vm_mm; struct file *file = map->vm_file; int flags = map->vm_flags; unsigned long ino = 0; dev_t dev = 0; int len;  if (file) { struct inode *inode = map->vm_file->f_dentry->d_inode; dev = inode->i_sb->s_dev; ino = inode->i_ino; }  seq_printf(m, "%08lx-%08lx %c%c%c%c %08lx %02x:%02x %lu %n", map->vm_start, map->vm_end, flags & VM_READ ? 'r' : '-', flags & VM_WRITE ? 'w' : '-', flags & VM_EXEC ? 'x' : '-', flags & VM_MAYSHARE ? 's' : 'p', map->vm_pgoff << PAGE_SHIFT, MAJOR(dev), MINOR(dev), ino, &len);  /* * Print the dentry name for named mappings, and a * special [heap] marker for the heap: */ if (map->vm_file) { pad_len_spaces(m, len); seq_path(m, file->f_vfsmnt, file->f_dentry, ""); } else { if (mm) { if (map->vm_start <= mm->start_brk && map->vm_end >= mm->brk) { pad_len_spaces(m, len); seq_puts(m, "[heap]"); } else { if (map->vm_start <= mm->start_stack && map->vm_end >= mm->start_stack) {  pad_len_spaces(m, len); seq_puts(m, "[stack]"); } } } else { pad_len_spaces(m, len); seq_puts(m, "[vdso]"); } } seq_putc(m, '\n'); if (m->count < m->size)  /* map is copied successfully */ m->version = (map != get_gate_vma(task))? map->vm_start: 0; return 0; 
return show_map_internal(m, v, 0); 
static int show_map(struct seq_file *m, void *v){	struct task_struct *task = m->private;	struct vm_area_struct *map = v;	struct mm_struct *mm = map->vm_mm;	struct file *file = map->vm_file;	int flags = map->vm_flags;	unsigned long ino = 0;	dev_t dev = 0;	int len;	if (file) {		struct inode *inode = map->vm_file->f_dentry->d_inode;		dev = inode->i_sb->s_dev;		ino = inode->i_ino;	}	seq_printf(m, "%08lx-%08lx %c%c%c%c %08lx %02x:%02x %lu %n",			map->vm_start,			map->vm_end,			flags & VM_READ ? 'r' : '-',			flags & VM_WRITE ? 'w' : '-',			flags & VM_EXEC ? 'x' : '-',			flags & VM_MAYSHARE ? 's' : 'p',			map->vm_pgoff << PAGE_SHIFT,			MAJOR(dev), MINOR(dev), ino, &len);	/*	 * Print the dentry name for named mappings, and a	 * special [heap] marker for the heap:	 */	if (map->vm_file) {		pad_len_spaces(m, len);		seq_path(m, file->f_vfsmnt, file->f_dentry, "");	} else {		if (mm) {			if (map->vm_start <= mm->start_brk &&						map->vm_end >= mm->brk) {				pad_len_spaces(m, len);				seq_puts(m, "[heap]");			} else {				if (map->vm_start <= mm->start_stack &&					map->vm_end >= mm->start_stack) {					pad_len_spaces(m, len);					seq_puts(m, "[stack]");				}			}		} else {			pad_len_spaces(m, len);			seq_puts(m, "[vdso]");		}	}	seq_putc(m, '\n');	if (m->count < m->size)  /* map is copied successfully */		m->version = (map != get_gate_vma(task))? map->vm_start: 0;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/e070ad49f31155d872d8e96cab2142840993e3c0/task_mmu.c/buggy/fs/proc/task_mmu.c