[PATCH] mmuless ports can't support /proc/<pid>/maps

From: Christoph Hellwig (hch@lst.de)
Date: Sat Dec 21 2002 - 16:49:26 EST


Use the same approach as /proc/<pid>/wchan vs CONFIG_KALLSYSM.

--- 1.35/fs/proc/array.c Mon Nov 25 17:42:29 2002
+++ edited/fs/proc/array.c Tue Dec 17 23:07:37 2002
@@ -513,8 +513,9 @@
         return len;
 }
 
-ssize_t proc_pid_read_maps (struct task_struct *task, struct file * file, char * buf,
- size_t count, loff_t *ppos)
+#ifdef CONFIG_MMU
+ssize_t proc_pid_read_maps(struct task_struct *task, struct file *file,
+ char *buf, size_t count, loff_t *ppos)
 {
         struct mm_struct *mm;
         struct vm_area_struct * map;
@@ -597,3 +598,4 @@
 out:
         return retval;
 }
+#endif /* CONFIG_MMU */
===== fs/proc/base.c 1.35 vs edited =====
--- 1.35/fs/proc/base.c Tue Nov 26 14:29:39 2002
+++ edited/fs/proc/base.c Tue Dec 17 23:09:41 2002
@@ -75,7 +75,9 @@
   E(PROC_PID_CMDLINE, "cmdline", S_IFREG|S_IRUGO),
   E(PROC_PID_STAT, "stat", S_IFREG|S_IRUGO),
   E(PROC_PID_STATM, "statm", S_IFREG|S_IRUGO),
+#ifdef CONFIG_MMU
   E(PROC_PID_MAPS, "maps", S_IFREG|S_IRUGO),
+#endif
   E(PROC_PID_MEM, "mem", S_IFREG|S_IRUSR|S_IWUSR),
   E(PROC_PID_CWD, "cwd", S_IFLNK|S_IRWXUGO),
   E(PROC_PID_ROOT, "root", S_IFLNK|S_IRWXUGO),
@@ -98,7 +100,6 @@
         return PROC_I(inode)->type;
 }
 
-ssize_t proc_pid_read_maps(struct task_struct*,struct file*,char*,size_t,loff_t*);
 int proc_pid_stat(struct task_struct*,char*);
 int proc_pid_status(struct task_struct*,char*);
 int proc_pid_statm(struct task_struct*,char*);
@@ -321,6 +322,9 @@
         return proc_check_root(inode);
 }
 
+#ifdef CONFIG_MMU
+extern ssize_t proc_pid_read_maps(struct task_struct *, struct file *,
+ char *, size_t, loff_t *);
 static ssize_t pid_maps_read(struct file * file, char * buf,
                               size_t count, loff_t *ppos)
 {
@@ -335,6 +339,7 @@
 static struct file_operations proc_maps_operations = {
         .read = pid_maps_read,
 };
+#endif /* CONFIG_MMU */
 
 extern struct seq_operations mounts_op;
 static int mounts_open(struct inode *inode, struct file *file)
@@ -1023,10 +1028,11 @@
                         inode->i_fop = &proc_info_file_operations;
                         ei->op.proc_read = proc_pid_statm;
                         break;
+#ifdef CONFIG_MMU
                 case PROC_PID_MAPS:
                         inode->i_fop = &proc_maps_operations;
                         break;
-
+#endif
                 case PROC_PID_MEM:
                         inode->i_op = &proc_mem_inode_operations;
                         inode->i_fop = &proc_mem_operations;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Dec 23 2002 - 22:00:29 EST