The vt CONSOLE number is 1 ~ 63, and users CONSOLE is 63, serial lines start at 64. The piece of code at vc_allocate() function: if (currcons >= MAX_NR_CONSOLES) return -ENXIO; if (!vc_cons[currcons].d) { ... /* prevent users from taking too much memory */ if (currcons >= MAX_NR_USER_CONSOLES && !capable(CAP_SYS_RESOURCE)) return -EPERM; => The two lines are dead code here !!! ... } The patch is to fix the CONSOLE port check. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> --- drivers/tty/vt/vt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c index e7cbc44..6681fee 100644 --- a/drivers/tty/vt/vt.c +++ b/drivers/tty/vt/vt.c @@ -762,14 +762,14 @@ int vc_allocate(unsigned int currcons) /* return 0 on success */ { WARN_CONSOLE_UNLOCKED(); - if (currcons >= MAX_NR_CONSOLES) + if (currcons > MAX_NR_CONSOLES) return -ENXIO; if (!vc_cons[currcons].d) { struct vc_data *vc; struct vt_notifier_param param; /* prevent users from taking too much memory */ - if (currcons >= MAX_NR_USER_CONSOLES && !capable(CAP_SYS_RESOURCE)) + if (currcons == MAX_NR_USER_CONSOLES && !capable(CAP_SYS_RESOURCE)) return -EPERM; /* due to the granularity of kmalloc, we waste some memory here */ -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html