From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3C164C433DF for ; Tue, 19 May 2020 02:45:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 00A57206D4 for ; Tue, 19 May 2020 02:45:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726573AbgESCpF (ORCPT ); Mon, 18 May 2020 22:45:05 -0400 Received: from mga12.intel.com ([192.55.52.136]:16209 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726293AbgESCpF (ORCPT ); Mon, 18 May 2020 22:45:05 -0400 IronPort-SDR: 6oxwvU9STPq3hq5dm75lMpUbtraXBrvPpnSyar4CMiPAVw9Ip+Dmk5URh4u+0mzX6ZTu/KCLkd VoOCaxlXzJrA== X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2020 19:34:01 -0700 IronPort-SDR: gt24O1b2k53QhMfl/XQumYONLGaSjxzOwysXAI2dcSkVSPo3CXXEHsDYHZ553b0RTvOnkVGh57 rBRiNsPBwF0g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,408,1583222400"; d="gz'50?scan'50,208,50";a="439449894" Received: from lkp-server01.sh.intel.com (HELO lkp-server01) ([10.239.97.150]) by orsmga005.jf.intel.com with ESMTP; 18 May 2020 19:33:59 -0700 Received: from kbuild by lkp-server01 with local (Exim 4.89) (envelope-from ) id 1jas4s-0001cQ-NL; Tue, 19 May 2020 10:33:58 +0800 Date: Tue, 19 May 2020 10:33:49 +0800 From: kbuild test robot To: Nicolas Pitre Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman Subject: drivers/tty/vt/vt.c:1210:22: warning: comparison is always false due to limited range of data type Message-ID: <202005191047.9S9G4sqQ%lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="yrj/dFKFPuw6o+aM" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --yrj/dFKFPuw6o+aM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 642b151f45dd54809ea00ecd3976a56c1ec9b53d commit: 2717769e204e83e65b8819c5e2ef3e5b6639b270 vt: don't hardcode the mem allocation upper bound date: 4 weeks ago config: ia64-defconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 2717769e204e83e65b8819c5e2ef3e5b6639b270 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64 If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot All warnings (new ones prefixed by >>, old ones prefixed by <<): drivers/tty/vt/vt.c: In function 'vc_do_resize': >> drivers/tty/vt/vt.c:1210:22: warning: comparison is always false due to limited range of data type [-Wtype-limits] 1210 | if (new_screen_size > KMALLOC_MAX_SIZE) | ^ vim +1210 drivers/tty/vt/vt.c 1163 1164 /** 1165 * vc_do_resize - resizing method for the tty 1166 * @tty: tty being resized 1167 * @real_tty: real tty (different to tty if a pty/tty pair) 1168 * @vc: virtual console private data 1169 * @cols: columns 1170 * @lines: lines 1171 * 1172 * Resize a virtual console, clipping according to the actual constraints. 1173 * If the caller passes a tty structure then update the termios winsize 1174 * information and perform any necessary signal handling. 1175 * 1176 * Caller must hold the console semaphore. Takes the termios rwsem and 1177 * ctrl_lock of the tty IFF a tty is passed. 1178 */ 1179 1180 static int vc_do_resize(struct tty_struct *tty, struct vc_data *vc, 1181 unsigned int cols, unsigned int lines) 1182 { 1183 unsigned long old_origin, new_origin, new_scr_end, rlth, rrem, err = 0; 1184 unsigned long end; 1185 unsigned int old_rows, old_row_size, first_copied_row; 1186 unsigned int new_cols, new_rows, new_row_size, new_screen_size; 1187 unsigned int user; 1188 unsigned short *newscreen; 1189 struct uni_screen *new_uniscr = NULL; 1190 1191 WARN_CONSOLE_UNLOCKED(); 1192 1193 if (!vc) 1194 return -ENXIO; 1195 1196 user = vc->vc_resize_user; 1197 vc->vc_resize_user = 0; 1198 1199 if (cols > VC_RESIZE_MAXCOL || lines > VC_RESIZE_MAXROW) 1200 return -EINVAL; 1201 1202 new_cols = (cols ? cols : vc->vc_cols); 1203 new_rows = (lines ? lines : vc->vc_rows); 1204 new_row_size = new_cols << 1; 1205 new_screen_size = new_row_size * new_rows; 1206 1207 if (new_cols == vc->vc_cols && new_rows == vc->vc_rows) 1208 return 0; 1209 > 1210 if (new_screen_size > KMALLOC_MAX_SIZE) 1211 return -EINVAL; 1212 newscreen = kzalloc(new_screen_size, GFP_USER); 1213 if (!newscreen) 1214 return -ENOMEM; 1215 1216 if (get_vc_uniscr(vc)) { 1217 new_uniscr = vc_uniscr_alloc(new_cols, new_rows); 1218 if (!new_uniscr) { 1219 kfree(newscreen); 1220 return -ENOMEM; 1221 } 1222 } 1223 1224 if (vc_is_sel(vc)) 1225 clear_selection(); 1226 1227 old_rows = vc->vc_rows; 1228 old_row_size = vc->vc_size_row; 1229 1230 err = resize_screen(vc, new_cols, new_rows, user); 1231 if (err) { 1232 kfree(newscreen); 1233 kfree(new_uniscr); 1234 return err; 1235 } 1236 1237 vc->vc_rows = new_rows; 1238 vc->vc_cols = new_cols; 1239 vc->vc_size_row = new_row_size; 1240 vc->vc_screenbuf_size = new_screen_size; 1241 1242 rlth = min(old_row_size, new_row_size); 1243 rrem = new_row_size - rlth; 1244 old_origin = vc->vc_origin; 1245 new_origin = (long) newscreen; 1246 new_scr_end = new_origin + new_screen_size; 1247 1248 if (vc->vc_y > new_rows) { 1249 if (old_rows - vc->vc_y < new_rows) { 1250 /* 1251 * Cursor near the bottom, copy contents from the 1252 * bottom of buffer 1253 */ 1254 first_copied_row = (old_rows - new_rows); 1255 } else { 1256 /* 1257 * Cursor is in no man's land, copy 1/2 screenful 1258 * from the top and bottom of cursor position 1259 */ 1260 first_copied_row = (vc->vc_y - new_rows/2); 1261 } 1262 old_origin += first_copied_row * old_row_size; 1263 } else 1264 first_copied_row = 0; 1265 end = old_origin + old_row_size * min(old_rows, new_rows); 1266 1267 vc_uniscr_copy_area(new_uniscr, new_cols, new_rows, 1268 get_vc_uniscr(vc), rlth/2, first_copied_row, 1269 min(old_rows, new_rows)); 1270 vc_uniscr_set(vc, new_uniscr); 1271 1272 update_attr(vc); 1273 1274 while (old_origin < end) { 1275 scr_memcpyw((unsigned short *) new_origin, 1276 (unsigned short *) old_origin, rlth); 1277 if (rrem) 1278 scr_memsetw((void *)(new_origin + rlth), 1279 vc->vc_video_erase_char, rrem); 1280 old_origin += old_row_size; 1281 new_origin += new_row_size; 1282 } 1283 if (new_scr_end > new_origin) 1284 scr_memsetw((void *)new_origin, vc->vc_video_erase_char, 1285 new_scr_end - new_origin); 1286 kfree(vc->vc_screenbuf); 1287 vc->vc_screenbuf = newscreen; 1288 vc->vc_screenbuf_size = new_screen_size; 1289 set_origin(vc); 1290 1291 /* do part of a reset_terminal() */ 1292 vc->vc_top = 0; 1293 vc->vc_bottom = vc->vc_rows; 1294 gotoxy(vc, vc->vc_x, vc->vc_y); 1295 save_cur(vc); 1296 1297 if (tty) { 1298 /* Rewrite the requested winsize data with the actual 1299 resulting sizes */ 1300 struct winsize ws; 1301 memset(&ws, 0, sizeof(ws)); 1302 ws.ws_row = vc->vc_rows; 1303 ws.ws_col = vc->vc_cols; 1304 ws.ws_ypixel = vc->vc_scan_lines; 1305 tty_do_resize(tty, &ws); 1306 } 1307 1308 if (con_is_visible(vc)) 1309 update_screen(vc); 1310 vt_event_post(VT_EVENT_RESIZE, vc->vc_num, vc->vc_num); 1311 notify_update(vc); 1312 return err; 1313 } 1314 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --yrj/dFKFPuw6o+aM Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 TAEA --yrj/dFKFPuw6o+aM--