From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 0BF7E3858D28 for ; Mon, 19 Jun 2023 13:35:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0BF7E3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687181750; x=1718717750; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=smq2nfU5bl0fJLDeobuPtfU/BIAxIbk/2DTh2oWTSl0=; b=GL0fGf0xwtawjTEFP8xdEPXHIrNM4mUxaJH0D1lQjX6U+1FdyuCDPNUG rd0IgMq7+5ps7qoTVwVW1UfY+aV62hA3WSo9RBmhoM/HYp/DxpTDNWc2y do9wQBeTwk1C2om3abpxsvNlMjg6os42Jwh711QF3Ois3B41pM300m+Nr 554N1x+OCVC8tutZDJ3kA0CBzMuXw41IbR8zKOCr6MfE3PI+DA2Lu5l2o LdedT2kBt7pVx16wf2CXtaBUbkmxRQTaWxkYCArJQ4lUcGsdFZLFtF6Qx J4obYrWBnpVYrnXTEuc55pCZP07U1Teupta4QOFFkoIfndwEmFQI7virV w==; X-IronPort-AV: E=McAfee;i="6600,9927,10746"; a="388693515" X-IronPort-AV: E=Sophos;i="6.00,254,1681196400"; d="scan'208";a="388693515" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jun 2023 06:35:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10746"; a="663990377" X-IronPort-AV: E=Sophos;i="6.00,254,1681196400"; d="scan'208";a="663990377" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga003.jf.intel.com with ESMTP; 19 Jun 2023 06:35:48 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Mon, 19 Jun 2023 06:35:47 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Mon, 19 Jun 2023 06:35:47 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.175) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Mon, 19 Jun 2023 06:35:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UoLYmIJUv95iOxi6+yxyUWoFWyED/bJGlrfufQBODILog0ETRasM0uRvFcIfPPvg9FhQnInwBX+Ak1jOGAiz/WmEvFRCMG87AXP+krfRiaXA+QPKJTcRiHvqe7K7fQ4vU9IRXrjx0ZpDyx7LLOEdsrSpDVZ5j0+05/97iheICoBlsPtLB7gAAHT5TUw8ALBuOaS2Nvw6mMUg3w3Q7sEjkizgIAhpARPeTNBX7VmSNZH6ev3gI5DXHp3hCy1SGC+CrcdyUpKTk/4SzXq2waM5aUvdUfMjUdHIFictnyPtrtHs3pemR/1LskIde8Bh3aPKIcain+HVyKM+JfZw83is6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7WrqPCOUy/8Y2bztSZQqXaydc5pGHlr/9XrqriOS3wI=; b=YyJIN7qjFg7xVU2mBld2b9DGYu3bf7hYvEdwLQCBjGdkierKJWrNJSS6QiClB1PPCHxI8AiVEiQEGjppo6kP+Ckxvm+u8XqfvwRP27E0dqKyQJ0V28aBS7jtP0rVNRqk6LA5+sLSLcwQ+pipSZ7RTp/McYykQhWfx0W89NmCGsTveAEkWWy0jM/PjvI1VxNOCrDaM2ViKwzO2HLP0RV38kb9gZoUzTUdOFBHm217GMcz0w0ZDysR5ROB5tWPa0PL8Nyt9t7p3WQr/DP0BM0kbI+vS153xEWfugIeKfUH/kcTuwYexBxGPraeCrPZ+/UC2RQ8RI4ftEW7MvN2MDRQ5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by PH7PR11MB8569.namprd11.prod.outlook.com (2603:10b6:510:304::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.36; Mon, 19 Jun 2023 13:35:40 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::127c:f4cc:e699:8f73]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::127c:f4cc:e699:8f73%6]) with mapi id 15.20.6500.036; Mon, 19 Jun 2023 13:35:40 +0000 From: "Li, Pan2" To: Jakub Jelinek CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "rdapp.gcc@gmail.com" , "jeffreyalaw@gmail.com" , "Wang, Yanzhang" , "kito.cheng@gmail.com" , "rguenther@suse.de" Subject: RE: [PATCH] RISC-V: Fix out of range memory access of machine mode table Thread-Topic: [PATCH] RISC-V: Fix out of range memory access of machine mode table Thread-Index: AQHZoo1G5H0Lv2r9XkuUWLbdvLdQGK+R2HQAgABIDhA= Date: Mon, 19 Jun 2023 13:35:40 +0000 Message-ID: References: <20230619080710.1536456-1-pan2.li@intel.com> <20230619090548.1574008-1-pan2.li@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|PH7PR11MB8569:EE_ x-ms-office365-filtering-correlation-id: 30339201-b184-4b51-ad70-08db70ca12ce x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eoTDhm0ud6M7YzbvZO3OUFgeZZatpd27mdhlD9V5L4WVi6MrtHc/TE8s2KM0OOE4hsOIuXEF7x1rRk7YEC9+Oq6OwE94SnRNx23avfLg69FDnU5hzQ2sXCN5Let4nCF1UBNHT1EwXlMUBWSA3faaovYbChtnxVKzqGtlTYlD90OSc7JE/A0Z2dmLxZC3ZnnQwX5+TNExyY0MMwB0wE7WS9SoXA/JbSRlpIL8RGqCTY+NUq/6YJFQLO/w+wYIhEjacQBanCm5W5cp2iKkPKSPGRLSAjfEzdyl24wDRnVreGGPg8rM7//Q899fgtHb6vEmEIKjVSo5F0fBS/uuH6ihgw9hsLPWnsShgeZFKRFYXoWrwRh0vDrPhRuThFLQ7UYF2q777CcvZu9CtKfyv+mLVghZoGWGJLMCnCecY/9WShyIaYc6a08Pj4xC0Uy3qXU0X5U2xmEG2SfSIW9r3YnwKSQkZwIiZ3tdtKgqlUJI1OCVTa7NdjLO41VlFhvEkidemMgBd31rpylfGWRGn59oe6qlZiC/ab3gOB7VwDJHu7Mh5F6fG5po083VA7LLjMxhXbNQ89mO9yzJGrSA+0wLHe0cVXSIWp/jTRVzzD5QF5NZ/4OGgbgNxUQPxxRjQhes x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(136003)(396003)(376002)(39860400002)(451199021)(186003)(38070700005)(9686003)(26005)(53546011)(6506007)(82960400001)(55016003)(122000001)(83380400001)(38100700002)(33656002)(478600001)(52536014)(4326008)(41300700001)(66446008)(64756008)(66556008)(66476007)(6916009)(76116006)(66946007)(8676002)(316002)(54906003)(8936002)(7696005)(86362001)(71200400001)(2906002)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ikozmiW+z8GO+X1/4IRKsaRvHu8XQZf8dPldgxHdnaMzm6CrlTeuA1soH/Me?= =?us-ascii?Q?RYaxzDuAuo1PNNaruwcf9qpto1fTW8ue0G+BKf/tnEo1MKq+XUT/WmCJcMxJ?= =?us-ascii?Q?7Ju75ulSl9ydo5T7AwWJpNKOnwA0woqOILtl04ItEIWlA5i3gxLQGaBB9A85?= =?us-ascii?Q?EhL2Xg5JKRfLSfFVZVNI9mQpnrSrlFBZNqtJ02TQsQyuzh5cjhhxpAwRJVVl?= =?us-ascii?Q?dQP4sfUGM6GZnDB0ZfDN4iL5q1RZjjrEc1XOqH6W4MhhbRjd8B4kh2LQqHAl?= =?us-ascii?Q?5ezaWRpDogmeuYPTYxvcNQDYtaBfzJeYSZNA0spJCjDFy/zwc0xVLutV7rF0?= =?us-ascii?Q?CCjExnZQHA5WZvNe7Qh8qfZZlG/0688mG0HfWahPwDX/ShqvMTomXAH4i7zH?= =?us-ascii?Q?YY4rbDpyGJK3Gsop5xI8sWmahihuMqnc1mIyPoJQLNgs7aS/BQJxRjTGrPX+?= =?us-ascii?Q?u1UiIh3hddDwum7YOL+VqMDm54ILht6yiTz7CnR1+izQ2tTA9PZqCW5Mc4UL?= =?us-ascii?Q?zH9PBCbPyxbFPDo1fnZECoBnLuk/iB+PBZG/xCVm9AzWW1tmoHr0hDzP4Wzy?= =?us-ascii?Q?Tmk72Ci4unoiX/oyxWmtMelUOjAOKtArlvAnVDAaXlz99MDI3YfvP+4iya4s?= =?us-ascii?Q?66fHzN4FaaMJwq9dAIcXANP8pc35YvnVW81tE5Vjndl559LFJh5WonYWGIDe?= =?us-ascii?Q?6mkpg1uA3fc5HA3r/dqh4rFbSJoWUF3cbJnGnAYMc7yJgR06zT0aq42OUs6p?= =?us-ascii?Q?a8tXppX2W3PKR18tGJ8eXl9ukFo/V3CjRkltnwg/ll4OgABr6F8/Dy2bk7rK?= =?us-ascii?Q?IKwM3qdf1jYbX6hi9+X07Fl9/81UPxQMszWjJ+j/i+owE+POhN21FDUipP1M?= =?us-ascii?Q?9hy5HzLBvg7uU+MdnCb0S0bciVAt2UWCAhICbgj+kVVGj9AwU+FZIKkIewB+?= =?us-ascii?Q?9JiIfxguIcS3m0YuaC2jVadCfI1YY+MgNx8R6zdFRg86x41++zJUtS6ObuyZ?= =?us-ascii?Q?owGgHKDcdGG+5jhPNNkrjF0Ib0igmiUxbPdeu99eJxWJdkaBX9fpHzZIMY9Q?= =?us-ascii?Q?Bs85cczGyMuBptRZsZPtsmbxFPccOkKfy4CgWRseQ9lUZT7vqxTy/+VZpmUk?= =?us-ascii?Q?CbJPR3YXNGUj4+FAwjNUHUeeeJzXtr5tF/fKk7tsZNPFVl7je0CDFw3un2s5?= =?us-ascii?Q?wgyDu2QqoU8YPzMa+mwMpIbcoJXwNmehCMqGhtB92VQu2kaI4+EtoDnduqJW?= =?us-ascii?Q?kGJRrolEqH47tEuoqvHYTjlJaOTPZkC9ZFiyxLfmilCrrxRc1qBJFkYEgVaW?= =?us-ascii?Q?tBquB+qfxvOETjjawaehFOk6qJQWbz+DUnwg95jxrjq0/KAcvHPkZOejNRva?= =?us-ascii?Q?M/5aiTNetmbdeQJrp51CrF4EU+9HLKHzOWc8aEDuekq238KHpaX9cy56qc40?= =?us-ascii?Q?nqHCfBb9krzHv+JqEgZAuSJ1MdmB3E68k/WXHtEFpvLQlSM7i5mqczCenUGd?= =?us-ascii?Q?UPrvqXblLbLUDWaVlRgLd3Wb2zHn/Ndx2e71klZ1de2s1C1lsc6wZ6bf+kAg?= =?us-ascii?Q?PxTiZAnojff7UBzWReM=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 30339201-b184-4b51-ad70-08db70ca12ce X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jun 2023 13:35:40.3940 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: pbZ8TJ2kn68RLUIMfk6xuYTfYbwusaroyci0lHjzmLQvcMw1jeHY9m549EIM/48VkPVHLigLdvkq4XQ9tecafw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB8569 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-6.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Thanks Jakub for reviewing, sorry for misleading and will have a try for PA= TCH v3. Pan -----Original Message----- From: Jakub Jelinek =20 Sent: Monday, June 19, 2023 5:17 PM To: Li, Pan2 Cc: gcc-patches@gcc.gnu.org; juzhe.zhong@rivai.ai; rdapp.gcc@gmail.com; jef= freyalaw@gmail.com; Wang, Yanzhang ; kito.cheng@gm= ail.com; rguenther@suse.de Subject: Re: [PATCH] RISC-V: Fix out of range memory access of machine mode= table On Mon, Jun 19, 2023 at 05:05:48PM +0800, pan2.li@intel.com wrote: > --- a/gcc/lto-streamer-in.cc > +++ b/gcc/lto-streamer-in.cc > @@ -1985,7 +1985,8 @@ lto_input_mode_table (struct lto_file_decl_data *fi= le_data) > internal_error ("cannot read LTO mode table from %s", > file_data->file_name); > =20 > - unsigned char *table =3D ggc_cleared_vec_alloc (1 << 8)= ; > + unsigned char *table =3D ggc_cleared_vec_alloc ( > + MAX_MACHINE_MODE); Incorrect formatting. And, see my other mail, this is wrong. > @@ -108,7 +108,7 @@ inline void > bp_pack_machine_mode (struct bitpack_d *bp, machine_mode mode) > { > streamer_mode_table[mode] =3D 1; > - bp_pack_enum (bp, machine_mode, 1 << 8, mode); > + bp_pack_enum (bp, machine_mode, MAX_MACHINE_MODE, mode); > } > =20 > inline machine_mode > @@ -116,7 +116,8 @@ bp_unpack_machine_mode (struct bitpack_d *bp) > { > return (machine_mode) > ((class lto_input_block *) > - bp->stream)->mode_table[bp_unpack_enum (bp, machine_mode, 1 << 8)]; > + bp->stream)->mode_table[bp_unpack_enum (bp, machine_mode, > + MAX_MACHINE_MODE)]; > } And these two are wrong as well. The value passed to bp_pack_enum has to match the one used on bp_unpack_enum. But that is not the case after your changes. You stream out with the host MAX_MACHINE_MODE, and stream in for normal LTO with the same value (ok), but for offloading targets (nvptx, amdgcn) with a different MAX_MACHINE_MODE. That will immediate result in LTO streaming being out of sync and ICEs all around. The reason for using 1 << 8 there was exactly to make it interoperable for offloading. What could be perhaps done is that you stream out the host MAX_MACHINE_MODE value somewhere and stream it in inside of lto_input_mode_table before you allocate the table. But, that streamed in host max_machine_mdoe has to be remembered somewhere and used e.g. in bp_unpack_machine_mode instead of MAX_MACHINE_MODE. Jakub