summarylogtreecommitdiffstats
path: root/linux-cjktty-patch-for-4.4.100+.patch
blob: 2fb3c16efaa32d8daa18458a02d11480faed2fad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- cjktty-4.4.patch	2018-03-05 15:21:22.000000000 +0800
+++ cjktty-4.4.100+.patch	2018-03-05 16:34:11.000000000 +0800
@@ -148,7 +148,7 @@
  	unsigned int new_cols, new_rows, new_row_size, new_screen_size;
  	unsigned int user;
  	unsigned short *newscreen;
-@@ -867,11 +893,12 @@ static int vc_do_resize(struct tty_struct *tty, struct vc_data *vc,
+@@ -894,13 +894,14 @@ static int vc_do_resize(struct tty_struct *tty, struct vc_data *vc,
  	new_rows = (lines ? lines : vc->vc_rows);
  	new_row_size = new_cols << 1;
  	new_screen_size = new_row_size * new_rows;
@@ -157,6 +157,8 @@
  	if (new_cols == vc->vc_cols && new_rows == vc->vc_rows)
  		return 0;
  
+ 	if (new_screen_size > (4 << 20))
+ 		return -EINVAL;
 -	newscreen = kmalloc(new_screen_size, GFP_USER);
 +	newscreen = kmalloc(new_screen_size * 2, GFP_USER);
  	if (!newscreen)