--- linux-2.6.18.i686/kernel/printk.c.orig 2007-06-01 12:15:27.000000000 +0400 +++ linux-2.6.18.i686/kernel/printk.c 2007-06-01 12:36:50.000000000 +0400 @@ -234,9 +234,9 @@ int do_syslog(int type, char __user *buf int do_clear = 0; char c; int error = 0; + int is_super = ve_is_super(get_exec_env()); - if (!ve_is_super(get_exec_env()) && - (type == 6 || type == 7 || type == 8)) + if (!is_super && (type == 6 || type == 7)) goto out; error = security_syslog(type); @@ -350,6 +350,10 @@ int do_syslog(int type, char __user *buf error = -EINVAL; if (len < 1 || len > 8) goto out; + else if (!is_super) { + error = 0; + goto out; + } if (len < minimum_console_loglevel) len = minimum_console_loglevel; console_loglevel = len;