mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-06 14:48:06 +00:00
[PATCH] Improve the removed sysctl warnings
Don't warn about libpthread's access to kernel.version. When it receives -ENOSYS it will read /proc/sys/kernel/version. If anything else shows up print the sysctl number string. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Cc: Cal Peake <cp@absolutedigital.net> Cc: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
64efade11c
commit
0e009be8a0
1 changed files with 21 additions and 1 deletions
|
@ -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)
|
asmlinkage long sys_sysctl(struct __sysctl_args __user *args)
|
||||||
{
|
{
|
||||||
static int msg_count;
|
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) {
|
if (msg_count < 5) {
|
||||||
msg_count++;
|
msg_count++;
|
||||||
printk(KERN_INFO
|
printk(KERN_INFO
|
||||||
"warning: process `%s' used the removed sysctl "
|
"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;
|
return -ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue