|
@@ -870,6 +870,8 @@ static int vc_do_resize(struct tty_struct *tty, struct vc_data *vc,
|
|
if (new_cols == vc->vc_cols && new_rows == vc->vc_rows)
|
|
if (new_cols == vc->vc_cols && new_rows == vc->vc_rows)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+ if (new_screen_size > (4 << 20))
|
|
|
|
+ return -EINVAL;
|
|
newscreen = kmalloc(new_screen_size, GFP_USER);
|
|
newscreen = kmalloc(new_screen_size, GFP_USER);
|
|
if (!newscreen)
|
|
if (!newscreen)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|