From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) by sourceware.org (Postfix) with ESMTPS id 91CAA3858D32 for ; Tue, 2 Apr 2024 08:54:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 91CAA3858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 91CAA3858D32 Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=198.175.65.15 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1712048101; cv=fail; b=V9IhcHDO549kYzJCtEbI548mnf4etOt3rDnDpfs6mupZP2zBHCLkKF7Wi4hsw1WC99Za+SlVhYXWdtuFTEp53ZG7A6QOJi6BlPraGV4vWqafV922oIQ0toaYt9HbHpuD8W3MGIwXlHFM9EuRJEWlt/tyD0XLfU1ECKlDT0s9Pvk= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1712048101; c=relaxed/simple; bh=iPi+9pydljMkLjF8+c6YH9kzXoYHWQJscqZdKVJ+iqo=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=HGLQEvTgz7cfDrrPxuAdLhRs8ih65BiNE502zy6A5yIEGm+4pdF23+YTcuraHbfmLE30cnzqLRZYS2OovusdMhqKeGkWZ6Xc0q6V2lhN99dhBs2Yzs3l/haDcL7UqdN0KJV0N5SovMDmuTNfadHC/t1G6pZue5tosrT5lCbsffI= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1712048100; x=1743584100; h=from:to:subject:date:message-id:references:in-reply-to: mime-version:content-transfer-encoding; bh=iPi+9pydljMkLjF8+c6YH9kzXoYHWQJscqZdKVJ+iqo=; b=MeSsCXINcjZ31FSprJ6ONMbB+iXT4uMKmSGX2KNnDkWQa3hWaB7jiJFN jWoVbb+pQJCU8UBZkhJl+7OAlEZ49SFyRevE0bP1xB6mfzqz+oPJOP77V 9HV3z0fUdBTX+7bY4QNYl/911GRQaCEjueRj0IvhRTNyf/2CfhUazJrrP IXWilQxotJaUTHCa+myJTT8WoZ1dYasaDAWWSaFbpXABdgAVW0MUAxeDs yGE4N68E+UURKwDpLwzQwZcrptHNp18N63b1NSzxB3r2zLbY6Qh03MRaq tT4LcYydl1aqgzfpmRudM4vlMwq2vi/0rxzSERxTgt2Hr/b3u7oacaNyU w==; X-CSE-ConnectionGUID: 6U8H/M+BT2u/29sORjTQFw== X-CSE-MsgGUID: cL44exlTT8qw1Y3UySFztA== X-IronPort-AV: E=McAfee;i="6600,9927,11031"; a="11024166" X-IronPort-AV: E=Sophos;i="6.07,174,1708416000"; d="scan'208";a="11024166" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2024 01:54:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,174,1708416000"; d="scan'208";a="22684153" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 02 Apr 2024 01:54:59 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 2 Apr 2024 01:54:57 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 2 Apr 2024 01:54:57 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.169) 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.35; Tue, 2 Apr 2024 01:54:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GoXgUJCoakR8KpOWSCmUmlRwPPqp/0Pxiday6AnYTJK9EQfxjKQOACCpUAGG3DJV3Y9fZpnd732AsDdJu3LQlPHbD/CzYfeCu+qc2rRPDLGR6ut+/I9w+VCaKA8d6mHLGhM1UjmNKOpyGesPrnegmucspkmiephtITA02ScDb66eNKeQFC8h/WU6mWK9zFleMGk25U1cZo6W44DchM6VwK9cIWUAzFyCXS5Q3r9UuzZ0bZCXHUpz6dlbgTi+o3VSgSU7mtZblcvbs2AwNLJaBoGOZohStBDbB6PFJqj23b1V/vXGQe7fvwW0dUIPE1rL1tnOOgyWUinRvNb2S9uo8A== 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=V/HcWZ93pfMd1DgqV99e2KzAm8syRD3Uait7KqCC/QM=; b=Q3UuriKymDW0rPh3Pt+iaIGULvFiUi6faCLOmuRbuwCtjHBztjNyLJwspn6e6tT++CBq+ppyofp7yiWYTS4VEd8/r73GeAkALW7FY/HFsoqEbjQ9eJWuMsJuxgiOrdz9kXSUPtlEDhy1w4B5Cq0aHzsSF3As6C8rAGZkFkG8a+2WjB5vGDRmAHVjwYmqqmAQVaC2UByLg1Du/3ti+vOu9uzrHxA9JONBNn6romV5s8P3DtLu1TxQl+LMu7G2mas8yfQUP7Ipa7f25cgZA3nQjgAsBkE17SBfe19zrxOmiiTpR0fOxkcYBNOWh4/kVBkUF6AHFyFV+KpiAomITF4fUA== 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 DM4PR11MB7303.namprd11.prod.outlook.com (2603:10b6:8:108::21) by SA2PR11MB4891.namprd11.prod.outlook.com (2603:10b6:806:11e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.25; Tue, 2 Apr 2024 08:54:56 +0000 Received: from DM4PR11MB7303.namprd11.prod.outlook.com ([fe80::9c92:b02a:3add:529e]) by DM4PR11MB7303.namprd11.prod.outlook.com ([fe80::9c92:b02a:3add:529e%5]) with mapi id 15.20.7452.019; Tue, 2 Apr 2024 08:54:56 +0000 From: "Aktemur, Tankut Baris" To: "gdb-patches@sourceware.org" Subject: RE: [PATCH v2 2/2] testsuite, mi: prevent buffer overflow in get_mi_thread_list Thread-Topic: [PATCH v2 2/2] testsuite, mi: prevent buffer overflow in get_mi_thread_list Thread-Index: AQHaaybpbywNdrzzaUiIxwWw2pfzi7FU4ErQ Date: Tue, 2 Apr 2024 08:54:56 +0000 Message-ID: References: <20240229154906.3354860-1-tankut.baris.aktemur@intel.com> <20240229154906.3354860-2-tankut.baris.aktemur@intel.com> In-Reply-To: <20240229154906.3354860-2-tankut.baris.aktemur@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR11MB7303:EE_|SA2PR11MB4891:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FdRiBiCzty54K7BdaNZEnD7wUC4YgmXYEOXFkvGMFh9SqeORilws3fPoSkZHi1bj2Dc6n4XR5qZKoNu3PhHPdu+GNjJH357BqtvONMX9npPdrsFtKiCzvTEXK4uBipYFxJK2R+yqzxl+80GSe7rGH3/+dxFU8xSZBOA+vQE69CTz9t/fB4V9NdQQw7tkxsiGobhzif6CnrIPDWC/IgAKKx716hVhBh0SQKk6goRetXJylz0MyNIXiVOB05C7UfER3qCyW3qtYOtwkIU00T4sE1L/TZZ1YwPlGkyMpm+fDv6mixiJhKwTCod0kmWaJ8Nsd9IeYAnFxFfLitDyrbWan2RHbMQnooGRYONbf3eiPMbT7sr3a3m5X0UnIi+wPKgPejXsS/cxHUcwU3ixfuGfdQEj0ZySIwCp7xeFY2nSMS8tpw6tvhqylzw0M3kElxJNu+un5+1a4cWOuQRvglmtkcPsq+e5Knvp7pRQnLoWD/UzU4MnqXmb8LpHU5JwADN2C9+61TGxt3E9L70B00OWcQO7eEeMnxAw8Gs7Sx7m47OpnOa3v2KL2YFXJAFBx0Ta6M95oa7xAGmC+CbzXnFJ3i926lRNPN/j1fxvGzxMpms= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB7303.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?H7x+NFsWEGvKsyE4gBUbNkzM10nj3KfI1EsnwNDFfM7JxLwzYUjZUNP6E0Ub?= =?us-ascii?Q?hy0dm+HaRGc3OFGVWcdIJ/SxELpQFg0q203Wb1wd5QMSming2pmfJzgrR4vH?= =?us-ascii?Q?OCYJL0oXcJ9s0WIexSREKdnqlmG0pVE+Ybh5wODPVcJVWMz+p00QSdFfFvgz?= =?us-ascii?Q?TH2lFfBFf9677f3kg/9T0w+uINgHRSCZ22F3BFPRfrMV04zu9PcT3VbT7emQ?= =?us-ascii?Q?og6zu/r5vZCcD5pa2ZhFZupcbhN5KIR5ypg5Ml/Bai1n6LYMoQB3c5Dhu2Wh?= =?us-ascii?Q?6u1+1cR2qhroLZzfszQVtc3AGrZNChhE8wglXOy0+8i6jq3g/m7292/wJoXv?= =?us-ascii?Q?TcesXgonQvEYT0oIR+/Uz5vh4GKtDlJ0hvFNM9bsJS60gE/gBTkyj1wQTrrf?= =?us-ascii?Q?NnxeJLAdRsW4dNCpvwaNq8r56DYtPAYaaFZDnSjH2m5zGSCBCFMwNpa2cT7X?= =?us-ascii?Q?jofnp/oUbu5S7FL3EuNuZxtIfhxMC76/tFWpu8Zf8lSAulGwDhespaG2Wxe5?= =?us-ascii?Q?mKlHdFWuXgeMCtQUeN/zEuQNBHPQGpyGVtAxgsHU9wcHuXrtUIrsWBCUsASZ?= =?us-ascii?Q?GL40vblIZy+1GEJSJyxNSGhAFokHF73Dj/pk5Jp0+X8em63opYM+U5lvuNEA?= =?us-ascii?Q?oBeT22CIGuaZhzVdg0aAer3V5e+gGw3It3TaApd2pyt2iKvUbsJ0gQryYuAX?= =?us-ascii?Q?w93aYScU8Dlaj5CozC2tb0jmN89PBViUZ+Yqy3cZ9OF3v4e/PunsswjVK5C2?= =?us-ascii?Q?g6dwEFJRjRFdG13BCVkxIaa1KtryFFcQAt6vkemX8de0k8BGWlJmRvvBBJ3E?= =?us-ascii?Q?4PgymrCifaGbhL6qbRPsqXA//JsftEAMuJvq0pWWZABJEGWKmU9evZzcRR9D?= =?us-ascii?Q?14VYb22zhfLLqw2ndUowyr8qBBvvaJkHOTRcQINqGSCTDsoYeuz+fY/LAvOY?= =?us-ascii?Q?Qn3Xs9XirbxNMC7zgJgOIdCzRAYy2OYtr3XBwg1mGDhuMWrh33TTtzyvoNYe?= =?us-ascii?Q?36B7w8db5KBcaPoem7HSYFPfJGNhcppOItHBBZVNP01R75toZTYoZP+NqLso?= =?us-ascii?Q?MLzdL2ZQqFnftcEUvTB8tAXFCOHn497IpAILZ2jvgQC1w7TwlkdpiIsabIYJ?= =?us-ascii?Q?xsykSXNrHqdajREp3zIcYDHVqY9r4KqEcIGRk1b27pvnv5+NZo+LQ79Re3A+?= =?us-ascii?Q?6MIpsSYFO6cefCJCsLD19+bulGag+Ma1HgGe6AJdGyvHrYDhLiGAup82ZEk/?= =?us-ascii?Q?rxR7ZShT/QleA2E5EirmXZUh41Vc4ipI0KjDdDHUGJ7hvJo1JP6SqtS774wE?= =?us-ascii?Q?diP66ZLOX1haI8n+bqC9Fy2pVE/w7U+tA2gAs1nuPXXIqKNWFM281h8/9Mjh?= =?us-ascii?Q?i7NirBkt0NhB4dhj2fWin2PzW5C7Z59KmIbtZnNG4HrUCaCjbD0tVwjUlAgj?= =?us-ascii?Q?bN49DZiMorxog0UB+rAaBIiJdTMpewn5+K8vvyBAwQYHRNWujxR+svGg6nBm?= =?us-ascii?Q?/rUw6QqCaBhA+0Phq7SDc6mux5ifFFBZG3MeDFjuvE70z4Uoar8PlHaCEzv2?= =?us-ascii?Q?8Rffag6emMijr+nC+FTk7YhnHOsvk5f3al3ZfLP+HldHYDfHOAxYFM9bmJKb?= =?us-ascii?Q?Tw=3D=3D?= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB7303.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c3abf16-7c10-4ed7-7272-08dc52f291cd X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Apr 2024 08:54:56.1293 (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: vQ7FwxXV5aAvw/Lh/vvx55EXCCmMhNxc+eFwVQSL9Geg0GLqRs+5W97S8nm9WmRWDIoj/NoHbookDkgWfPr60GNjnziu7xD5FYIBtZhCU10= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4891 X-OriginatorOrg: intel.com Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_NONE,TXREP 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: Kindly pinging. Thanks -Baris On Thursday, February 29, 2024 4:49 PM, Aktemur, Tankut Baris wrote: > For the first version of this patch, Linaro's bot reported regression: > = > https://ci.linaro.org/job/tcwg_gdb_check--master-arm- > precommit/1788/artifact/artifacts/artifacts.precommit/notify/mail-body.txt > = > I cannot reproduce the failure locally. In this revision, I added the > "-prompt" flag to gdb_test_multiple. Hopefully that will help address > the failure reported by the bot. > = > The first version is available at > = > https://sourceware.org/pipermail/gdb-patches/2024-February/206885.html > = > Regards, > Baris > = > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D > = > If there is a large number of threads in the input program, the > expect buffer in `get_mi_thread_list` would become full. Prevent this > by consuming the buffer in small pieces. > --- > gdb/testsuite/lib/mi-support.exp | 52 +++++++++++++++++--------------- > 1 file changed, 28 insertions(+), 24 deletions(-) > = > diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-supp= ort.exp > index 33a3a71b396..6862b831c07 100644 > --- a/gdb/testsuite/lib/mi-support.exp > +++ b/gdb/testsuite/lib/mi-support.exp > @@ -1953,39 +1953,43 @@ proc mi_run_inline_test { testcase } { > } > = > proc get_mi_thread_list {name} { > - global expect_out > + global expect_out decimal mi_gdb_prompt > = > # MI will return a list of thread ids: > # > # -thread-list-ids > - # ^done,thread-ids=3D[thread-id=3D"1",thread-id=3D"2",...],number-of= -threads=3D"N" > + # ^done,thread-ids=3D{thread-id=3D"1",thread-id=3D"2",...},number-of= -threads=3D"N" > # (gdb) > - mi_gdb_test "-thread-list-ids" \ > - {.*\^done,thread-ids=3D{(thread-id=3D"[0-9]+"(,)?)+},current-thread-id= =3D"[0-9]+",number- > of-threads=3D"[0-9]+"} \ > - "-thread_list_ids ($name)" > - > - set output {} > - if {[info exists expect_out(buffer)]} { > - set output $expect_out(buffer) > - } > - > + # > + # In case there are too many threads, the expect buffer would > + # become full. Process the buffer contents in small chunks. > set thread_list {} > - if {![regexp {thread-ids=3D\{(thread-id=3D"[0-9]+"(,)?)*\}} $output = threads]} { > - fail "finding threads in MI output ($name)" > - } else { > - pass "finding threads in MI output ($name)" > - > - # Make list of console threads > - set start [expr {[string first \{ $threads] + 1}] > - set end [expr {[string first \} $threads] - 1}] > - set threads [string range $threads $start $end] > - foreach thread [split $threads ,] { > - if {[scan $thread {thread-id=3D"%d"} num]} { > - lappend thread_list $num > - } > + set num_threads "unknown" > + set test "$name: get mi thread list" > + gdb_test_multiple "-thread-list-ids" $test -prompt "$mi_gdb_prompt" { > + -re "done,thread-ids=3D\{" { > + exp_continue > + } > + -re "^thread-id=3D\"($decimal)\"(,|\})" { > + set num $expect_out(1,string) > + lappend thread_list $num > + exp_continue > + } > + -re "^,current-thread-id=3D\"$decimal\"" { > + exp_continue > + } > + -re "^,number-of-threads=3D\"($decimal)\"" { > + set num_threads $expect_out(1,string) > + exp_continue > + } > + -re "^\r\n$mi_gdb_prompt" { > + pass $gdb_test_name > } > } > = > + gdb_assert {[llength $thread_list] =3D=3D $num_threads} \ > + "$name: found thread ids in MI output" > + > return $thread_list > } > = > -- > 2.34.1 Intel Deutschland GmbH Registered Address: Am Campeon 10, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva = Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928