Add four more sysctls: proc.maps, proc.stat, proc.statm, proc.status. diff -pur l1/fs/proc/base.c l2/fs/proc/base.c --- l1/fs/proc/base.c 2005-03-19 20:10:22.000000000 +0100 +++ l2/fs/proc/base.c 2005-03-19 20:11:38.000000000 +0100 @@ -149,11 +149,11 @@ static struct pid_entry tgid_base_stuff[ E(PROC_TGID_FD, "fd", S_IFDIR|S_IRUSR|S_IXUSR), E(PROC_TGID_ENVIRON, "environ", S_IFREG|S_IRUSR), E(PROC_TGID_AUXV, "auxv", S_IFREG|S_IRUSR), - E(PROC_TGID_STATUS, "status", S_IFREG|S_IRUGO), + S(PROC_TGID_STATUS, "status", S_IFREG|S_IRUGO, PROC_STATUS), S(PROC_TGID_CMDLINE, "cmdline", S_IFREG|S_IRUGO, PROC_CMDLINE), - E(PROC_TGID_STAT, "stat", S_IFREG|S_IRUGO), - E(PROC_TGID_STATM, "statm", S_IFREG|S_IRUGO), - E(PROC_TGID_MAPS, "maps", S_IFREG|S_IRUGO), + S(PROC_TGID_STAT, "stat", S_IFREG|S_IRUGO, PROC_STAT), + S(PROC_TGID_STATM, "statm", S_IFREG|S_IRUGO, PROC_STATM), + S(PROC_TGID_MAPS, "maps", S_IFREG|S_IRUGO, PROC_MAPS), E(PROC_TGID_MEM, "mem", S_IFREG|S_IRUSR|S_IWUSR), #ifdef CONFIG_SECCOMP E(PROC_TGID_SECCOMP, "seccomp", S_IFREG|S_IRUSR|S_IWUSR), @@ -185,11 +185,11 @@ static struct pid_entry tid_base_stuff[] E(PROC_TID_FD, "fd", S_IFDIR|S_IRUSR|S_IXUSR), E(PROC_TID_ENVIRON, "environ", S_IFREG|S_IRUSR), E(PROC_TID_AUXV, "auxv", S_IFREG|S_IRUSR), - E(PROC_TID_STATUS, "status", S_IFREG|S_IRUGO), + S(PROC_TID_STATUS, "status", S_IFREG|S_IRUGO, PROC_STATUS), S(PROC_TID_CMDLINE, "cmdline", S_IFREG|S_IRUGO, PROC_CMDLINE), - E(PROC_TID_STAT, "stat", S_IFREG|S_IRUGO), - E(PROC_TID_STATM, "statm", S_IFREG|S_IRUGO), - E(PROC_TID_MAPS, "maps", S_IFREG|S_IRUGO), + S(PROC_TID_STAT, "stat", S_IFREG|S_IRUGO, PROC_STAT), + S(PROC_TID_STATM, "statm", S_IFREG|S_IRUGO, PROC_STATM), + S(PROC_TID_MAPS, "maps", S_IFREG|S_IRUGO, PROC_MAPS), E(PROC_TID_MEM, "mem", S_IFREG|S_IRUSR|S_IWUSR), #ifdef CONFIG_SECCOMP E(PROC_TID_SECCOMP, "seccomp", S_IFREG|S_IRUSR|S_IWUSR), @@ -242,6 +242,10 @@ static struct pid_entry tid_attr_stuff[] /* Order and number of elements must match CTL_PROC table in sysctl.h! */ mode_t proc_base_permissions[] = { S_IRUGO, /* PROC_CMDLINE */ + S_IRUGO, /* PROC_MAPS */ + S_IRUGO, /* PROC_STAT */ + S_IRUGO, /* PROC_STATM */ + S_IRUGO, /* PROC_STATUS */ }; static void proc_update_mode(struct inode *inode) diff -pur l1/include/linux/sysctl.h l2/include/linux/sysctl.h --- l1/include/linux/sysctl.h 2005-03-19 20:08:27.000000000 +0100 +++ l2/include/linux/sysctl.h 2005-03-19 20:10:31.000000000 +0100 @@ -656,6 +656,10 @@ enum { /* CTL_PROC names: */ enum { PROC_CMDLINE = 1, + PROC_MAPS = 2, + PROC_STAT = 3, + PROC_STATM = 4, + PROC_STATUS = 5, }; /* CTL_FS names: */ diff -pur l1/kernel/sysctl.c l2/kernel/sysctl.c --- l1/kernel/sysctl.c 2005-03-19 20:08:27.000000000 +0100 +++ l2/kernel/sysctl.c 2005-03-19 20:10:31.000000000 +0100 @@ -853,6 +853,38 @@ static ctl_table proc_table[] = { .proc_handler = &proc_domode, .extra1 = &mode_r_ugo, }, + { + .ctl_name = PROC_MAPS, + .procname = "maps", + .data = &proc_base_permissions[PROC_MAPS-1], + .mode = 0644, + .proc_handler = &proc_domode, + .extra1 = &mode_r_ugo, + }, + { + .ctl_name = PROC_STAT, + .procname = "stat", + .data = &proc_base_permissions[PROC_STAT-1], + .mode = 0644, + .proc_handler = &proc_domode, + .extra1 = &mode_r_ugo, + }, + { + .ctl_name = PROC_STATM, + .procname = "statm", + .data = &proc_base_permissions[PROC_STATM-1], + .mode = 0644, + .proc_handler = &proc_domode, + .extra1 = &mode_r_ugo, + }, + { + .ctl_name = PROC_STATUS, + .procname = "status", + .data = &proc_base_permissions[PROC_STATUS-1], + .mode = 0644, + .proc_handler = &proc_domode, + .extra1 = &mode_r_ugo, + }, #endif { .ctl_name = 0 } };
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/