diff options
Diffstat (limited to 'fs/proc/base.c')
| -rw-r--r-- | fs/proc/base.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c index 3b33f94020db..a170450aadb1 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c | |||
| @@ -103,7 +103,9 @@ enum pid_directory_inos { | |||
| 103 | PROC_TGID_NUMA_MAPS, | 103 | PROC_TGID_NUMA_MAPS, |
| 104 | PROC_TGID_MOUNTS, | 104 | PROC_TGID_MOUNTS, |
| 105 | PROC_TGID_WCHAN, | 105 | PROC_TGID_WCHAN, |
| 106 | #ifdef CONFIG_MMU | ||
| 106 | PROC_TGID_SMAPS, | 107 | PROC_TGID_SMAPS, |
| 108 | #endif | ||
| 107 | #ifdef CONFIG_SCHEDSTATS | 109 | #ifdef CONFIG_SCHEDSTATS |
| 108 | PROC_TGID_SCHEDSTAT, | 110 | PROC_TGID_SCHEDSTAT, |
| 109 | #endif | 111 | #endif |
| @@ -141,7 +143,9 @@ enum pid_directory_inos { | |||
| 141 | PROC_TID_NUMA_MAPS, | 143 | PROC_TID_NUMA_MAPS, |
| 142 | PROC_TID_MOUNTS, | 144 | PROC_TID_MOUNTS, |
| 143 | PROC_TID_WCHAN, | 145 | PROC_TID_WCHAN, |
| 146 | #ifdef CONFIG_MMU | ||
| 144 | PROC_TID_SMAPS, | 147 | PROC_TID_SMAPS, |
| 148 | #endif | ||
| 145 | #ifdef CONFIG_SCHEDSTATS | 149 | #ifdef CONFIG_SCHEDSTATS |
| 146 | PROC_TID_SCHEDSTAT, | 150 | PROC_TID_SCHEDSTAT, |
| 147 | #endif | 151 | #endif |
| @@ -195,7 +199,9 @@ static struct pid_entry tgid_base_stuff[] = { | |||
| 195 | E(PROC_TGID_ROOT, "root", S_IFLNK|S_IRWXUGO), | 199 | E(PROC_TGID_ROOT, "root", S_IFLNK|S_IRWXUGO), |
| 196 | E(PROC_TGID_EXE, "exe", S_IFLNK|S_IRWXUGO), | 200 | E(PROC_TGID_EXE, "exe", S_IFLNK|S_IRWXUGO), |
| 197 | E(PROC_TGID_MOUNTS, "mounts", S_IFREG|S_IRUGO), | 201 | E(PROC_TGID_MOUNTS, "mounts", S_IFREG|S_IRUGO), |
| 202 | #ifdef CONFIG_MMU | ||
| 198 | E(PROC_TGID_SMAPS, "smaps", S_IFREG|S_IRUGO), | 203 | E(PROC_TGID_SMAPS, "smaps", S_IFREG|S_IRUGO), |
| 204 | #endif | ||
| 199 | #ifdef CONFIG_SECURITY | 205 | #ifdef CONFIG_SECURITY |
| 200 | E(PROC_TGID_ATTR, "attr", S_IFDIR|S_IRUGO|S_IXUGO), | 206 | E(PROC_TGID_ATTR, "attr", S_IFDIR|S_IRUGO|S_IXUGO), |
| 201 | #endif | 207 | #endif |
| @@ -235,7 +241,9 @@ static struct pid_entry tid_base_stuff[] = { | |||
| 235 | E(PROC_TID_ROOT, "root", S_IFLNK|S_IRWXUGO), | 241 | E(PROC_TID_ROOT, "root", S_IFLNK|S_IRWXUGO), |
| 236 | E(PROC_TID_EXE, "exe", S_IFLNK|S_IRWXUGO), | 242 | E(PROC_TID_EXE, "exe", S_IFLNK|S_IRWXUGO), |
| 237 | E(PROC_TID_MOUNTS, "mounts", S_IFREG|S_IRUGO), | 243 | E(PROC_TID_MOUNTS, "mounts", S_IFREG|S_IRUGO), |
| 244 | #ifdef CONFIG_MMU | ||
| 238 | E(PROC_TID_SMAPS, "smaps", S_IFREG|S_IRUGO), | 245 | E(PROC_TID_SMAPS, "smaps", S_IFREG|S_IRUGO), |
| 246 | #endif | ||
| 239 | #ifdef CONFIG_SECURITY | 247 | #ifdef CONFIG_SECURITY |
| 240 | E(PROC_TID_ATTR, "attr", S_IFDIR|S_IRUGO|S_IXUGO), | 248 | E(PROC_TID_ATTR, "attr", S_IFDIR|S_IRUGO|S_IXUGO), |
| 241 | #endif | 249 | #endif |
| @@ -630,6 +638,7 @@ static struct file_operations proc_numa_maps_operations = { | |||
| 630 | }; | 638 | }; |
| 631 | #endif | 639 | #endif |
| 632 | 640 | ||
| 641 | #ifdef CONFIG_MMU | ||
| 633 | extern struct seq_operations proc_pid_smaps_op; | 642 | extern struct seq_operations proc_pid_smaps_op; |
| 634 | static int smaps_open(struct inode *inode, struct file *file) | 643 | static int smaps_open(struct inode *inode, struct file *file) |
| 635 | { | 644 | { |
| @@ -648,6 +657,7 @@ static struct file_operations proc_smaps_operations = { | |||
| 648 | .llseek = seq_lseek, | 657 | .llseek = seq_lseek, |
| 649 | .release = seq_release, | 658 | .release = seq_release, |
| 650 | }; | 659 | }; |
| 660 | #endif | ||
| 651 | 661 | ||
| 652 | extern struct seq_operations mounts_op; | 662 | extern struct seq_operations mounts_op; |
| 653 | static int mounts_open(struct inode *inode, struct file *file) | 663 | static int mounts_open(struct inode *inode, struct file *file) |
| @@ -1681,10 +1691,12 @@ static struct dentry *proc_pident_lookup(struct inode *dir, | |||
| 1681 | case PROC_TGID_MOUNTS: | 1691 | case PROC_TGID_MOUNTS: |
| 1682 | inode->i_fop = &proc_mounts_operations; | 1692 | inode->i_fop = &proc_mounts_operations; |
| 1683 | break; | 1693 | break; |
| 1694 | #ifdef CONFIG_MMU | ||
| 1684 | case PROC_TID_SMAPS: | 1695 | case PROC_TID_SMAPS: |
| 1685 | case PROC_TGID_SMAPS: | 1696 | case PROC_TGID_SMAPS: |
| 1686 | inode->i_fop = &proc_smaps_operations; | 1697 | inode->i_fop = &proc_smaps_operations; |
| 1687 | break; | 1698 | break; |
| 1699 | #endif | ||
| 1688 | #ifdef CONFIG_SECURITY | 1700 | #ifdef CONFIG_SECURITY |
| 1689 | case PROC_TID_ATTR: | 1701 | case PROC_TID_ATTR: |
| 1690 | inode->i_nlink = 2; | 1702 | inode->i_nlink = 2; |
