From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2077.outbound.protection.outlook.com [40.107.7.77]) by sourceware.org (Postfix) with ESMTPS id 435FC38432EB for ; Mon, 28 Nov 2022 15:20:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 435FC38432EB Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aiZ0hWedw9CGl1/qpWtUXPkArt30fOM1PEWHpHlNfjq0MBuD/MSIWjMxtObsGs3ToeF4MTAX8g18Jd+2oN7ZcSpz74zUR1UFe5lNgxblXiVv3xY+lNgi1PQNj9jnaQ0YL9Not0+1+Xfg0+n+sUcLebR899kidDHeM6sSJqkm/aSwidP+c07tY3Sz1ODu2Zq61kUycoWji5OD8XtPF/cDEiv+SrECfv87w+xRdmiBW5MdXMFUgGKB6bocneApBHkRRWOt1nBuZmARj3W0Jiw0KZZa+pR6IQnF1BCQGFlZ7RaaNhGUNsN6tdRvaA4IVWr0bm6+9pVsPpfuOyEhcClN7w== 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=sKzGGkFyayvOhnLqfyp0UMSbIAPh70jiJzrgCbfW6zc=; b=LDI1C6ycHF/5uX/9OIfeYUmARB6qbNwU0LAZ0L7A/CRXP1bSOx0QRTj8QEF03GWlePJRiLsGLH3tkuMPZfLzoxvYK+yQpAra3DsjstKvWnhrh7ioBseXG2/3J+6Jl5Jdo1OkCuU0ttUnBrTgCFtb4O3BBFZ76bs09xZZi6YHJW/zGmG9Fpm+1idCNE2LPl2MOOcjesDsNk6LOWuP6MTujJDsSwuuONo6axcgBCRTkz28x4Xxm304Y71zb3RWiDsTmlOoiKnvJ06T+hXqERX5fsq0IulPDVKqRQO0M4zVr3Eo24NEBRwgpSTqKuExQJNFmTGb1O53CcGcW9xYEaSKxA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sKzGGkFyayvOhnLqfyp0UMSbIAPh70jiJzrgCbfW6zc=; b=9VHZ152xcuEDEImHK8Lll7ezHX9sxGSQ7b/Lo2B4VZd6vfB3Ha9OaSrJvG342ghvs9xsRlyKaQcvG/5P26K8e77lpOrSgam+tuLIrSzFrj27FT3go9PnNFTR/KzIQc+l9EuZBc0pbwPQynCiuHLWDIGIHuVTllUjk/CUuO5VJoM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) by DU2PR08MB7358.eurprd08.prod.outlook.com (2603:10a6:10:2f1::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Mon, 28 Nov 2022 15:20:18 +0000 Received: from VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::fe5c:b195:a2ad:b19c]) by VI1PR08MB3919.eurprd08.prod.outlook.com ([fe80::fe5c:b195:a2ad:b19c%4]) with mapi id 15.20.5880.008; Mon, 28 Nov 2022 15:20:18 +0000 Message-ID: <45a5acdd-7dc3-3ca5-af08-3829fcc95948@arm.com> Date: Mon, 28 Nov 2022 15:20:16 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH v2 2/6] gdbserver: Add PID parameter to linux_get_auxv and linux_get_hwcap Content-Language: en-US To: Simon Marchi , Thiago Jung Bauermann , gdb-patches@sourceware.org References: <20221126020452.1686509-1-thiago.bauermann@linaro.org> <20221126020452.1686509-3-thiago.bauermann@linaro.org> <43979fb5-a40b-9dd8-f4e6-bde0a598e505@simark.ca> From: Luis Machado In-Reply-To: <43979fb5-a40b-9dd8-f4e6-bde0a598e505@simark.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO6P123CA0026.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:313::17) To VI1PR08MB3919.eurprd08.prod.outlook.com (2603:10a6:803:c4::31) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI1PR08MB3919:EE_|DU2PR08MB7358:EE_ X-MS-Office365-Filtering-Correlation-Id: aedfd3f9-9ec3-4541-4073-08dad1540eae NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xyz2XcmoR2wcCvSMqi+JMioWIxmjDaZoeZy0WItx4Rxck5bXLJPDTFzhl8PqMHhLJ4eK4SjYShTTst+GgDWoyBPIn89KlcUkwCAIlKCf9MUUBJ1OJrrRL14tIw+/2rdERsADEAJdc/OuasjIqWCDbt2P3w+70IO3IzyaUtiKxOCMb++xRYlFdbiAGsfnrqUsSqgWQrLkr6QUIeKisnIHwKI+B0KXtIlP2denE+RVksH0SU8CKqOoZMQ1tIDnFGI/iCr3txjovuitNNIneQTahxrXJKtqE0R/ADlvc13MgyF4bWJ/0ls08ht+ucpIp+nLKGZhJ+fvXTxVobEFq3Cv2rDesdAyAkUFttkadV6FCONN2GIsqZ71f3Yn2EtsmODZPWSD98GfOGm9HPniuHlYElkFCJC7J3gxPyGuUJFJA0rDZthEvLA5uw/Pp4HciLr9+7BimNOJgIt48dp5lU0sUlqnJRBrsVfa0+XkoO4IXMMGpKYYmr/UWcv5HaWPbgL4qc9FoShXXVRNwE2O2/CmVe2oaUm67SGEGZFjCsxBLIObUiBRjaiwicUDK7URbK2rgDHWlcRrnF6/zCXXmiRoIy5NHsZMZtjyVjTkk66LI1s0pnFnLC9v2GNgmOrfX/w67dnM/xsA9cuLC0QZANumIxqzH0RIQmzz07vpYYcgGQwE/nRI82TsrtSF3FT89eHliLvUydfs59hi87lKS7lFVte0hy7gToYUz932q6TYgUg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3919.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(396003)(39860400002)(346002)(366004)(451199015)(5660300002)(44832011)(66946007)(38100700002)(110136005)(6512007)(26005)(186003)(316002)(8936002)(36756003)(66476007)(8676002)(66556008)(86362001)(31696002)(2616005)(6506007)(41300700001)(31686004)(478600001)(6486002)(2906002)(83380400001)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V0VoL2dwTnoxdzZtcmd0TWhvbWdjTHRiWW03ZERSQ3ppeHJrMXI4NXRYcTBh?= =?utf-8?B?Q20ranFvankvT0cyRHhNN3dNbWNhYWxqWXRTZ2t4UDdiY0tiMHZ2MU5ISFF5?= =?utf-8?B?SjVBQkMxeXJZRFl1QTVKVnZUZVd5OVV0V0xWRWZtU1dDRG1UcVozSzVtWHpO?= =?utf-8?B?OHRhYWh0eHNNVndmS2pPbmFkQllBam01WXN5K0s4bWZsZTR1WVYzTFFpKzZI?= =?utf-8?B?ZFg3RGhCdm5MN0Q1NGw0QnRzYWM5MHJtc05UTmgzcmtkUEhubHQvZkpoZno0?= =?utf-8?B?R3h6Z3lJTmU0QWMxRklTcjVraktyVFVCcUhLYzVyT2lML2VCOGcxeXFWRHE3?= =?utf-8?B?ZzV6UmNIK1lud1lzUlZwbkRaRGdEd1NlOTBxSzE4V2VJRHBuYkJNMEYyZVQ1?= =?utf-8?B?dlp6WnY0MDlFK1RJbUlXT2NvTlpuamxhck5yYzdya1dVaFlhcHJBa0lCcnNJ?= =?utf-8?B?TGhzQ1IvVy9JYUg3NThwdDVMdUN2MzhIZHdrMTFkWk84eUh6MlhjOTVQd0pH?= =?utf-8?B?WktsazROelAzUkNTVDFlMUJNa0w5bTl5ME96aDdKZFFIK3UzbHl3eTc4MlNP?= =?utf-8?B?cS9USnkrTVI1WEVWUkZNejEzVmthSGppWVc2dFIrSjcyRkprMFUzcjQyMTg2?= =?utf-8?B?VlpNazNPaUpGcnJMc1FNNmhXdVRpeXNkK1FWaGppZk5Oa3FaTHNVbTltZnoy?= =?utf-8?B?elhib21LLytDRHJhQ01id3hjcWNTcnBHTWVIbzJIaElvV2F3bnBSUXYybE12?= =?utf-8?B?Yko2OWI4clhwazlwOXB1cHZPdkl1ZVh0SFRKajZNSk1YekVBb0s2bDdNR0g0?= =?utf-8?B?bjVDWUhxZi9mdWlIckhEMjRoSnE1STNwRElBdXpPWnM4QjZPM3NwS1pERFVt?= =?utf-8?B?VTJyVG1xRGdRdVlnYURXanpVeFNYMGRFVGRQSEtjWDlsTVZ3ZVZtR1dsRzJW?= =?utf-8?B?N0ExM0Mzb2FpdlB6WTlhQy9ydWFSUWpJbDhseWdQNGlKcmlYenR3eTBwR3lX?= =?utf-8?B?MDlWK3dORW1FR21BUVYvbjhVWjJaVUZDeUhxemlxaVZRUXgzYjl3QXZoM0lJ?= =?utf-8?B?dkZHS2h1ai9BbldZdGZad3dsSzVKZDRLcE9XZmI1M1lrUWl2dnFkUy9KRmR4?= =?utf-8?B?eDRTY0s3eUxWV2RjbHFoVEJNb0lSS1lHWG1QRHVJOXlOb3J2dHVsQzJhbCtN?= =?utf-8?B?Z3JnaXNFZGZBUFNYOUxHbzdxWVByY2ErRWlkSlErK3ZDMkFPK3lhdlV5VWtM?= =?utf-8?B?eUxrcXJPaHBCdnAzZ0NOMHVsZnBVcmtVbTdpQWRGSFQ3UWtLYnV5aXNVSWlE?= =?utf-8?B?UTFrYmoreHl5Y1d2RTZJNERwWks0SVlPdWgxVkRybXJ3THJ3b2Z1TVkwUEov?= =?utf-8?B?MmFVOHJ5S1VHb2tod2g0bUZHelArSXp2aEpQKzhVaUM0ZTRkOEJjd3BqSXJ5?= =?utf-8?B?NGtiQ05OT3FSK0Q4NVR2cGtwWWR4dVhkSjAwOEV2U0ZqcHNkRW4zbDBQNlVr?= =?utf-8?B?NWV5Q3hJVHphOVpmNmNhc0JyZGRoNXpEdERGWjJOci9UYVhtMlN0T3ZWV2pR?= =?utf-8?B?NHY2dGh0Y3BTb3JIK2duNzFjbVM5TDdCejRyTGd1N2U1ZHcwYUpaV3FXMkNv?= =?utf-8?B?aml4bm1KNWZpdkxiczdaSXc1YUVjZllJbTFiYVZ4VkJTaTkvS2RNZjZJLzUy?= =?utf-8?B?V0RWTTRvbkxNd09uODA1WmY5aDRiMTBINlN4K2ZBaS9iU2xmQ3NSVjRnc1pN?= =?utf-8?B?SnpCWm90dGlnbVJPbzBZZ2s4RklraVM3cm1aUkJWTlFVd2p5ZWU2Y3BMMXBE?= =?utf-8?B?Qmc3dFVzR3F5d2ZVbjhyQ29mM1g3aDI4dkdrTC9NWUEyZTVya0xJZ2xYeFg1?= =?utf-8?B?ZFV4OGpGelVOQmNqdFZhejljZ2lHbjJ6WERpZEVhR0RPdGxoQlU5aGhEQTIz?= =?utf-8?B?OFBCL1hYaFB5MXo5cGlQNHk1TU9ydHp2Z1d4bThEaXRWMmVPSmo2RHFWdnRm?= =?utf-8?B?bkZnWUxPWUQ2ajNXdndBMUo5dW9senRKeURUQmZhQlI1aWkrL1VMRnRpV2tl?= =?utf-8?B?MSttQndwMnFYb1F2VjBVQkhuaWY3eU4xSUl3M2JCWmlqdndNalpyT012NTNs?= =?utf-8?Q?EkeK0TH9fHjF0QYxPd02dyAyF?= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: aedfd3f9-9ec3-4541-4073-08dad1540eae X-MS-Exchange-CrossTenant-AuthSource: VI1PR08MB3919.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2022 15:20:18.1511 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mY+d4YmHCtIlyU8AiCJPJ7+kWUb22ecl+baK/Ecn654B95oWKXzsouMjYABMgkEj9vM+fkotX+fRuyt75bL7XQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7358 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,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: On 11/28/22 15:07, Simon Marchi wrote: > > > On 11/25/22 21:04, Thiago Jung Bauermann via Gdb-patches wrote: >> This patch doesn't change gdbserver behaviour, but after later changes are >> made it avoids a null pointer dereference when HWCAP needs to be obtained >> for a specific process while current_thread is nullptr. >> >> Fixing linux_read_auxv, linux_get_hwcap and linux_get_hwcap2 to take a PID >> parameter seems more correct than setting current_thread in one particular >> code path. >> >> Changes are propagated to allow passing the new parameter through the call >> chain. > > Thanks, this is ok, with the following nits fixed: > > Approved-By: Simon Marchi > > ... unless Luis is strongly against it. Not at all. Given gdbserver's knowledge of the current ptid is implicit (set by remote packets), I thought this would simplify the series a bit. > >> --- >> gdbserver/linux-aarch64-low.cc | 7 ++++--- >> gdbserver/linux-arm-low.cc | 2 +- >> gdbserver/linux-low.cc | 18 +++++++++--------- >> gdbserver/linux-low.h | 9 ++++----- >> gdbserver/linux-ppc-low.cc | 6 +++--- >> gdbserver/linux-s390-low.cc | 2 +- >> gdbserver/netbsd-low.cc | 4 +--- >> gdbserver/netbsd-low.h | 2 +- >> gdbserver/server.cc | 2 +- >> gdbserver/target.cc | 4 ++-- >> gdbserver/target.h | 2 +- >> 11 files changed, 28 insertions(+), 30 deletions(-) >> >> diff --git a/gdbserver/linux-aarch64-low.cc b/gdbserver/linux-aarch64-low.cc >> index db5086962612..a6ed68f93029 100644 >> --- a/gdbserver/linux-aarch64-low.cc >> +++ b/gdbserver/linux-aarch64-low.cc >> @@ -823,12 +823,13 @@ aarch64_target::low_arch_setup () >> if (is_elf64) >> { >> struct aarch64_features features; >> + int pid = pid_of (current_thread); >> >> features.vq = aarch64_sve_get_vq (tid); >> /* A-profile PAC is 64-bit only. */ >> - features.pauth = linux_get_hwcap (8) & AARCH64_HWCAP_PACA; >> + features.pauth = (linux_get_hwcap (pid, 8) & AARCH64_HWCAP_PACA); > > Avoid adding the outer parenthesis. > >> diff --git a/gdbserver/target.h b/gdbserver/target.h >> index 18ab969dda70..fe7a80b645bc 100644 >> --- a/gdbserver/target.h >> +++ b/gdbserver/target.h >> @@ -175,7 +175,7 @@ class process_stratum_target >> /* Read auxiliary vector data from the inferior process. >> >> Read LEN bytes at OFFSET into a buffer at MYADDR. */ >> - virtual int read_auxv (CORE_ADDR offset, unsigned char *myaddr, >> + virtual int read_auxv (int pid, CORE_ADDR offset, unsigned char *myaddr, > > Please update the doc of the method to replace "from the inferior > process" to from "process with pid PID". > > Simon