From 1be50ccfcef9d732b6d6366f357adaaac068ba40 Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Sun, 5 Nov 2006 23:52:11 -0800 Subject: [PATCH] --- yaml --- r: 40735 b: refs/heads/master c: 0e009be8a0c2309f3696df70f72ef0075aa34c9c h: refs/heads/master i: 40733: 0507b036f16fddab44b8830800aeffa5b09fae1c 40731: 2df8533cbd9db6e3316f966a55b93da6200287c2 40727: 5677a2f744c32030930fc2d47f4e6c9477043b54 40719: db5e353d0f3519cfb587675e9318a281073e1688 40703: b27c2e0aa34c3469260e8367b4d052a7cc253acb v: v3 --- [refs] | 2 +- trunk/kernel/sysctl.c | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 1a9152cb4d5b..2b1ca3e03e3d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 64efade11cddc4237c1b95ea4ca18af122a7e19e +refs/heads/master: 0e009be8a0c2309f3696df70f72ef0075aa34c9c diff --git a/trunk/kernel/sysctl.c b/trunk/kernel/sysctl.c index 8bff2c18fb5a..0c8e805bbd6f 100644 --- a/trunk/kernel/sysctl.c +++ b/trunk/kernel/sysctl.c @@ -2680,13 +2680,33 @@ int sysctl_ms_jiffies(ctl_table *table, int __user *name, int nlen, asmlinkage long sys_sysctl(struct __sysctl_args __user *args) { static int msg_count; + struct __sysctl_args tmp; + int name[CTL_MAXNAME]; + int i; + + /* Read in the sysctl name for better debug message logging */ + if (copy_from_user(&tmp, args, sizeof(tmp))) + return -EFAULT; + if (tmp.nlen <= 0 || tmp.nlen >= CTL_MAXNAME) + return -ENOTDIR; + for (i = 0; i < tmp.nlen; i++) + if (get_user(name[i], tmp.name + i)) + return -EFAULT; + + /* Ignore accesses to kernel.version */ + if ((tmp.nlen == 2) && (name[0] == CTL_KERN) && (name[1] == KERN_VERSION)) + goto out; if (msg_count < 5) { msg_count++; printk(KERN_INFO "warning: process `%s' used the removed sysctl " - "system call\n", current->comm); + "system call with ", current->comm); + for (i = 0; i < tmp.nlen; i++) + printk("%d.", name[i]); + printk("\n"); } +out: return -ENOSYS; }