userns: Restrict when proc and sysfs can be mounted
[linux-3.10.git] / fs / proc / version.c
1 #include <linux/fs.h>
2 #include <linux/init.h>
3 #include <linux/kernel.h>
4 #include <linux/proc_fs.h>
5 #include <linux/seq_file.h>
6 #include <linux/utsname.h>
7
8 static int version_proc_show(struct seq_file *m, void *v)
9 {
10         seq_printf(m, linux_proc_banner,
11                 utsname()->sysname,
12                 utsname()->release,
13                 utsname()->version);
14         return 0;
15 }
16
17 static int version_proc_open(struct inode *inode, struct file *file)
18 {
19         return single_open(file, version_proc_show, NULL);
20 }
21
22 static const struct file_operations version_proc_fops = {
23         .open           = version_proc_open,
24         .read           = seq_read,
25         .llseek         = seq_lseek,
26         .release        = single_release,
27 };
28
29 static int __init proc_version_init(void)
30 {
31         proc_create("version", 0, NULL, &version_proc_fops);
32         return 0;
33 }
34 module_init(proc_version_init);