Re: [Announce] Strace Test

Andrew Morton
2004-02-19T10:38:18Z

Nikita Danilov <Nikita@Namesys.COM> wrote:
>
> > Strace Test uses a modified version of strace 4.5.1.
> > Instead of printing out information about system calls,
> > the modified version calls the syscalls with improper
> > values.
>
> It immediately DoSes kernel by calling sys_sysctl() with huge nlen:
> printk() consumes all CPU.

Something like this?

--- 25/kernel/sysctl.c~sysctl-nlen-check 2004-02-19 02:36:20.000000000 -0800
+++ 25-akpm/kernel/sysctl.c 2004-02-19 02:37:40.000000000 -0800
@@ -913,6 +913,9 @@ asmlinkage long sys_sysctl(struct __sysc

if (copy_from_user(&tmp, args, sizeof(tmp)))
return -EFAULT;
+
+ if (tmp.nlen < 0 || tmp.nlen > CTL_MAXNAME)
+ return -EINVAL;

if (tmp.nlen != 2 || copy_from_user(name, tmp.name, sizeof(name)) ||
name[0] != CTL_KERN || name[1] != KERN_VERSION) {

_