From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2059.outbound.protection.outlook.com [40.107.6.59]) by sourceware.org (Postfix) with ESMTPS id 009283858426 for ; Mon, 24 Apr 2023 07:35:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 009283858426 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eXZBBr6z+MIN2O1RJbTOWAaoQaYqKBsry5N6SxxPQy02euN6llJnRjRrKmUoYbzcDG8VV0oGrIJx6jqSTQorD9Ic94IyoDYK5dl5rHz+S/S1TAWVmgzdXs7/hGsOgfQt6KuDWVkkOWkNioIaEc7TzzSulumBMDcy+MMUuw5lsWY5MtCGiLAw2gM+sJB972LZidUjs6MS5g4BznZme1jYLTqBRhhklZ8DdroD2+UH27DkTKzvPfyPz40jfI98Qi3bB+ephWo9f7xKrWXcHu8J3+2mmkRixZN7FU4o/noAInW6zl4cGFLXYVR8boVVVh7cYVOofZJL8T6tHqSHziitrg== 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=KEGFJ0YIomtzMR1vye+IRM0ebSBNK1Saxi5XtiVuUgo=; b=HGAjWPY8n2E6UyeB0q2PK3HEu0XRXbggzJPl7S3YaQ99QWDgHcrdiz1mmUSYw+rT6KH/Me0pOKtXUFU7JiVcnqUacQPH+/Lmjg9uz6utrTaTPDtkEwUzprmAF3zZjIQciqrxM+iIFH/vakHXOXBNmxx+joygHDynuIDhhGj5boyEh/2/UVYie5aNDFoXRrsnc5UZvDgXce33UU1KOuiowxXeKIE+H4ymAxXFf37uGSvM+LAfY/O6JgWxuObOwvAeGL4xkGHHKFX4/BHapeGIfv938um+mhEs1tqACCBKVst48m6xlDahB9yHqBtaB8QdB2Sgv/0ghxQgSfu8VGZzWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KEGFJ0YIomtzMR1vye+IRM0ebSBNK1Saxi5XtiVuUgo=; b=sCnxxdmn58Ji5zXXNXGMtZwINnoaTFjfSL5hX/1QcQYlc3FdmiDbiYNv3b7mhF8T+QeNJvpwbg7u1RsgOLl7a6BDjqxWmXGNt34Tt0LKh0atxGxtVB9+0SmXdyJje2WejGrdkSxcfjmGLOpVH0CIwUkVZcCxnfjQMWBJZ6BT6oEAuxpdZaWW9UOCG+qRvvn4IaQsrAgPxd+6a9LVnl2ejHDEXEqtcK92OsK7gl/590AgDZ+Rp85pNd0tKGpIUrPB73xO87iqRSzJnYfEHitiCaA4k1mSrcT5ILYQqPIHqyXkKqGw72ruESAKDoCo4TYCyi3Cr0TfNQ6xRryoP91HGg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DB9PR04MB8156.eurprd04.prod.outlook.com (2603:10a6:10:246::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.33; Mon, 24 Apr 2023 07:35:04 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::52b2:f58:e19:56ae]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::52b2:f58:e19:56ae%2]) with mapi id 15.20.6319.033; Mon, 24 Apr 2023 07:35:04 +0000 Message-ID: Date: Mon, 24 Apr 2023 09:35:05 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: [PATCH 2/3] x86: limit data passed to prefix_name() Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <61597ebf-cc5e-2029-6520-31f7adfeea68@suse.com> From: Jan Beulich In-Reply-To: <61597ebf-cc5e-2029-6520-31f7adfeea68@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0107.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9c::10) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8156:EE_ X-MS-Office365-Filtering-Correlation-Id: b857a49d-751c-4253-5141-08db44966b3a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bz/8ih93+LZlnfDhd6tVR/bTquyIoiGoXNaukrPm8O4P49oAh7sKbyzT4+ZjnViYg/s0f01Nud/MNXBznfqRi7i6W5DK34SDGcz3mysPhnuM1N6UI+b/cUnnSq46ZVRTQyKDMR9Swc7dG8jeY5Po3V7M3eymEPr6FWc4pQOIiB4D4kwQppTE8iwMFXaF56UfVfVj8aJqLXl00y9Akud7/O1WzqHhp6nN7a31TjtxQxKWFwX05ojmw3cNYzcOWpxFdCcE2QTN19reQapjGc4BQsSYLZ/XxK+3BaqCeLIB44j6XbnFm5Kkzvu7uQrwXlFvAlOpvKwui4CTxpaxtHeEIOkfyLiKOJgZZqwMJepRX6Oh+fGtjU2GQDDzu14J4tboZM/nMAQF2dX/24uEk0vxKrdogTgaFqPBRyL4O8tzpOIsIpHG2gtvOWPJBWjOlGAu3+d44ZY+Ut8D/GezL5L0R82LAkC0deiZNfGoe07e842jPtEbaMjJGfcbzjLsSnYX19XaP/vNgGNPJ+htTUJfQnhmsKV0rWoaLPXykJeg9H/CLfBM8J4vKh6IESivljdL8pmGJQMwyOmqNwjsHUc8Z7hws5ClVNYOaOHVvM/Ub3S1S/Y9BD5n/iX/+X+qcmIppbaZ7kMn6Hi3ltV6B6zomg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(346002)(136003)(39860400002)(366004)(451199021)(2906002)(6486002)(2616005)(6512007)(6506007)(26005)(186003)(66946007)(66556008)(66476007)(8676002)(8936002)(316002)(41300700001)(6916009)(4326008)(478600001)(5660300002)(38100700002)(36756003)(86362001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c1V2Zm1GOFp3Ymo4QmdlbWVJUHRqeWFmVzh3anF5d0RWV0RsSkUzYTh2dm43?= =?utf-8?B?Nk9XZDh0Zmp0SkxWc0ZQNXpRSEhXRnF2UkFuc0s0eTYxSENZcUFaVzZYSjdw?= =?utf-8?B?UmNZSW9LV0w3OXVNRlA2ZnBabUExSFNhdjAvTUxab2FHc21jZlA0Y1IvVk5J?= =?utf-8?B?cHhiVzFreDZjK2tFTFBsWGo3WlluNXA0YjBYbEh3cnV0dk5KY0l0VlRDa3Fw?= =?utf-8?B?dFd6cjdwcytJOGFGYzcxSWNNQTlqTmJmMWJBVHV3TWIrTU5oZHBHbnJDOWtp?= =?utf-8?B?NTM1blpqc1dEQjkrU09qZTZBb0MyV3RVVVhmUTdNMkNTMmJJbHVnQWtlMFNJ?= =?utf-8?B?MWtUWExWS2FLLy9DWGYwK1JuQlk5aW9sYUpTYS9ZaWFtRCtXaFpXaGl1Z281?= =?utf-8?B?S2JIVnB5cURzWVR2Y0EyOXNCTUZqL2hrb2pyc1ZYZXIvb3VDbnhmbGQvNkFP?= =?utf-8?B?Wmx0bENxZGJtN3kzNnpDQ0lMTnZ0UC9tZGVnRjgyOGt1OGROWVlQUnRmQVgz?= =?utf-8?B?a0ZHSTRpU3gwNGkzSnUwc1c4bzFYMmlOZ1IybzBJem5lYWR4MHlkNzdyQ1ZB?= =?utf-8?B?UC8yaVNkZGdrTlB4UTBPeFFHT0p2bWxpU2VNUGFhTkl0VWdDLzlrT1ZYMFdB?= =?utf-8?B?NHBaK3pRMnBlaHFGNE5DNUo0SFU0YkRQbmczUWNVM0xTNGszb2tJWnRDRnlk?= =?utf-8?B?S3Jmc2Y5VCtPS2NsSEtobTBIZWdTdWEyQmV3U2ZEVzZCVEs3Z2NuZFJzZWt3?= =?utf-8?B?cm5Na2ppUXd5Sy9XNHIzSHFpMDNPOUtxalBTZCtXanRFZFdUcGVUREkyVE5z?= =?utf-8?B?SXBxcUVzMG1LbmRCcUgvT0MremJNOUVMN2YzZlZVRkt2eXRHNjdwS1NSd2l0?= =?utf-8?B?VGQ5U2ZnM1RNRHVXNDNkMGlKdmRTRUhLM0lPNFkxclE0WFg5c3l0R1dPTmtp?= =?utf-8?B?ZkZCdkFmTEhaRERGSkduU1FvZlJVWTdqdEc1aVpKcjN6RTFLYTBuRm9FRTJn?= =?utf-8?B?czJveWVsTmlTak9tTHJNbS9MRkxYMHVLR0FiWnZDenN4RDlxclkrUm1udXA4?= =?utf-8?B?ZGtmRlVZeDZJb2ptM2JDeldscFdhQUJVcGF5djhBaWtXRzloVzJYcXd6RjdM?= =?utf-8?B?S2FGVXpzSmJRSWRBZkVzaGxoMndYS05oVWN6eElKc1lhZkpBSlhNdTh4ZC84?= =?utf-8?B?K3Z4ZC9HWGpXcDNIMUJHNUhRek51QWRtT2s1UEZqY1ZmS3FFMDl0SU13emxn?= =?utf-8?B?akhhQXcxaWVITVNzNGdzcVM2M0hMVk1zU1NRcHlFeVUyQ0ZkZXVXZDdHNk1X?= =?utf-8?B?VzdWNU4rek1nRW14UGh4cmZWdTB1NW93WDdnQm5TMGNmZ2dCZEwvR081YzYr?= =?utf-8?B?OXZXWGFXY3NIMVR5RmR1K1BMRThLaGpnMWFTbUFPVzdwTFRkRDNiSG1vbFZW?= =?utf-8?B?Q2VJRDA0cDUvOXA5RVJsMUVtSTRtcTlSOEgvQlFwOGVQVkZSM2RtVkx4OUM5?= =?utf-8?B?WUZUTFNGODkzOVpsS1hDanA4d1BTOGxJeUZqQXdDRjVVd3pWSENuYnhCYzVz?= =?utf-8?B?dldlQUI5OWlkaVR4OW1iOUE3eTRsR3F0a1dyWGRBVFhsZ3d1Y054QzVFRW4v?= =?utf-8?B?ZnUrVkFEcGxRMEdoT2RaLzhYaXNQUzZxOHhCZFBqTXNoUjRITmhkVXU3TG5Z?= =?utf-8?B?NWM1Yzdqb3drVW41Wnp6RHhVUVYwYXBKQ0I0Mm41RlBMcVYwYVd0ZENQeW0z?= =?utf-8?B?Q05sWklFb21JNGhDS3JBTnBnODBJZTQwaEJaRHVsMm5Ic0hXNjY2NDBReE1h?= =?utf-8?B?ZEl3TGRpMGtmS3JDam11L3hRSC8xbE5icEt5cTBqbmN2U2FxOHZ2T2dpUHoy?= =?utf-8?B?SmxkNHZsL0k5S3F6UzNRWW5UTnFPbVd3WmRZcFVXUEIxN1kxOWNOU3FHZFVT?= =?utf-8?B?QkhPQXhSalIzNEIwU0x6d29sOHN1WUxoTXRvWkRiNm9FbmFLaTc1QlJILzZX?= =?utf-8?B?ZGRLQ2JEelk3Wkp6TE9oOW5MT04wbSszSTZ2S1Y1R0ZwUk9sY1hxSFlWWWtJ?= =?utf-8?B?UWdXM1ZGbTFKbHJEdHVoMWZ0MU16T0tHd1pzQTgydkJYY29VK3kwMC9xOFQr?= =?utf-8?Q?Hb/o8JeEKA9ah8UlZsRLvcD/W?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b857a49d-751c-4253-5141-08db44966b3a X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2023 07:35:04.0424 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3DwFlmpmEmr9fZr8JaLYzT1TOarPglT1UhtUjpJl3vWmNWJasASbZB06HGOWNNBiqJSnQwA6QDy5HyQflUQkNQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8156 X-Spam-Status: No, score=-3028.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,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: Make apparent that neither what "ins" points to nor, in particular, that "ins->info->private_data" is actually used in the function. --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -117,7 +117,6 @@ static bool PREFETCHI_Fixup (instr_info static void ATTRIBUTE_PRINTF_3 i386_dis_printf (const instr_info *, enum disassembler_style, const char *, ...); -static const char *prefix_name (const instr_info *, int, int); /* This character is used to encode style information within the output buffers. See oappend_insert_style for more details. */ @@ -141,6 +140,8 @@ enum address_mode mode_64bit }; +static const char *prefix_name (enum address_mode, int, int); + enum x86_64_isa { amd64 = 1, @@ -355,7 +356,8 @@ fetch_error (const instr_info *ins) return -1; if (ins->prefixes || ins->fwait_prefix >= 0 || (ins->rex & REX_OPCODE)) - name = prefix_name (ins, priv->the_buffer[0], priv->orig_sizeflag); + name = prefix_name (ins->address_mode, priv->the_buffer[0], + priv->orig_sizeflag); if (name != NULL) i386_dis_printf (ins, dis_style_mnemonic, "%s", name); else @@ -8928,7 +8930,7 @@ ckprefix (instr_info *ins) prefix byte. */ static const char * -prefix_name (const instr_info *ins, int pref, int sizeflag) +prefix_name (enum address_mode mode, int pref, int sizeflag) { static const char *rexes [16] = { @@ -8991,7 +8993,7 @@ prefix_name (const instr_info *ins, int case 0x66: return (sizeflag & DFLAG) ? "data16" : "data32"; case 0x67: - if (ins->address_mode == mode_64bit) + if (mode == mode_64bit) return (sizeflag & AFLAG) ? "addr32" : "addr64"; else return (sizeflag & AFLAG) ? "addr16" : "addr32"; @@ -9767,7 +9769,8 @@ print_insn (bfd_vma pc, disassemble_info i++) i386_dis_printf (&ins, dis_style_mnemonic, "%s%s", (i == 0 ? "" : " "), - prefix_name (&ins, ins.all_prefixes[i], sizeflag)); + prefix_name (ins.address_mode, ins.all_prefixes[i], + sizeflag)); return i; case ckp_fetch_error: @@ -9788,7 +9791,8 @@ print_insn (bfd_vma pc, disassemble_info for (i = 0; i < ins.fwait_prefix && ins.all_prefixes[i]; i++) i386_dis_printf (&ins, dis_style_mnemonic, "%s ", - prefix_name (&ins, ins.all_prefixes[i], sizeflag)); + prefix_name (ins.address_mode, ins.all_prefixes[i], + sizeflag)); i386_dis_printf (&ins, dis_style_mnemonic, "fwait"); return i + 1; } @@ -10025,8 +10029,9 @@ print_insn (bfd_vma pc, disassemble_info for (i = 0; i < (int) ARRAY_SIZE (ins.all_prefixes); i++) if (ins.all_prefixes[i]) { - const char *name; - name = prefix_name (&ins, ins.all_prefixes[i], orig_sizeflag); + const char *name = prefix_name (ins.address_mode, ins.all_prefixes[i], + orig_sizeflag); + if (name == NULL) abort (); prefix_length += strlen (name) + 1;