From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130052.outbound.protection.outlook.com [40.107.13.52]) by sourceware.org (Postfix) with ESMTPS id 531893858C74; Tue, 4 Oct 2022 10:18:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 531893858C74 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=oF59TIkgFsaih1OaZF7Gp9d2gNZABalv35U4z3BhjSJeCRChV3HmB125WRthgfc15aGB2znH9VfBEx6i8T8kgnAYb8t4I22CHxbPIrJ28CdNCY3r5TxKvVFgCCPjUB5/pAy70fDgbM+TQ6GXkPA1g0KysC3NgJZLHAjETgClq8JTUXqTxarLV26debJL7e3zclDj5iLq9K0AXF+YNvrBCbt2VYBzz5Ece05T6u7tyL9O7/weKtaqG2dAq7ksxqWRD+wj6jLD6bg5juui73yWSv92eeg69tPuoFwQoIV6im0vJpLqr4cXp3KfTQxgQ+oG5ShoOouQ8Knr5aNalnR0WA== 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=Gb1dGnKhOV44h/BxKaNgPtOjEkS7JeRA7RIrm9w5IpE=; b=MrMHkdutKDQF91ZwxkQvMHVv67t76IrNZlouKSyauE3a1IMPUctZtyesAOK38/9X5ST61/pK3wxKPx/nLAH8apxa6faNRlMYFGuQaNMPcyxekKe/KU6p7ahircn3qCAMCpiM7Ax+CToQji44CXH7Oy5Yj9itTBzQvDMrPx2aWlP0an3xq125zw2WEB+JLKKUL6EZW/m40Zlm3l+uoavu3DctdFTwpexjIcN55xHUa+wp6bmouMPAcY62EhUCwAA1ipT1wxRrAsmogsSjsluOy8JiGj7zYlDQ22KScEoxeFTQl5mAB7V5Pyvnn/P3WshsdFITlrqtjjpJeOUjDjY9Vw== 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=Gb1dGnKhOV44h/BxKaNgPtOjEkS7JeRA7RIrm9w5IpE=; b=fghgJEx5dWa03WBRrsAZkdOD5czRD+e4n7iu8PzJpxyYmXi4CgCubCT1sYH8wuxTNQG9c9Gwr1zDA/PQaoEkuguq8Ikvy13MF6qIKTnkEAB5P+Qdw+8lquLibI7yAJ8pXbeV8DsKufUxBxfgPUEEMJ1gLnxbLlQA1IJiBepuChWW+6BijCo65BJTDLs7edeFiDNTrOjI1Kah1BVvJLwMU4wZAfZY77dk1HnqergRbmzyYXi0DuCaICzt9A4UagPrCHPOH0FSv2icp5y3KY7TPjRdBjg3vHZAJFAP0BJajp6ycKUGMqlWFhmbT+E6LH40V5QkI9nJNpUEjlIKlGO+Bw== 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 AM7PR04MB6903.eurprd04.prod.outlook.com (2603:10a6:20b:10d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.28; Tue, 4 Oct 2022 10:18:18 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2459:15ae:e6cb:218a]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2459:15ae:e6cb:218a%7]) with mapi id 15.20.5676.031; Tue, 4 Oct 2022 10:18:18 +0000 Message-ID: <146a0c71-252a-546b-2365-87f528f7a0cc@suse.com> Date: Tue, 4 Oct 2022 12:18:17 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Subject: Re: [PATCH v2 1/2] RISC-V: Fix buffer overflow on print_insn_riscv Content-Language: en-US To: Tsukasa OI Cc: Binutils , gdb-patches@sourceware.org References: <5ca714bd-24d6-54c6-bce1-08cb3b77a47a@suse.com> <200d2e03-e7d5-0a19-5f99-f0354bf93c74@suse.com> From: Jan Beulich In-Reply-To: <200d2e03-e7d5-0a19-5f99-f0354bf93c74@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0153.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::11) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6903:EE_ X-MS-Office365-Filtering-Correlation-Id: caae9e80-d05d-40ee-380f-08daa5f1c1b3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2wMZyjGcAb/qk9j/7Kz8vWqRm+7hhm0nscVhkBMIkLHwkZMFoW/OfO3DntXzRG/imk8k9kMojRvdBfUkHxbOL/k5F0pPxE1L2QWvDCNQspRTzWY6sRDplebv9cYMOsfqcKMnRycxHW1RjpQZms9pWP1/SUB/IoHJNu7TAT9FQ80Gt5qC3w75QbL3e+8i0gYZcclWVsg6kcdp2BLlap7rMjyOBL98XO5+GuN+anK4JS9uFreTcqR0HVTiOGPlw/nvl8SahV9MdklX6BHSa0WRkOUr3+m3RIWkNB0AeB6Ji+IoIapQfVWYVDMW1QhA0DHdpYowWYgOUubw2tG/7Jv1G7cuDSdF2H56s8Njvx4VltQVmAkNPZwt0yvCN+C9DZthW5lX3HM4sfv6fbIc7sTuev6wwNiIWDqEGTOp2AH525aHvogtZEtVIHCNU9+wn/GrDBIxybWQW/CEwMVLiZ3O5ArQNspLQoUWQzRnc5g2ctUec4qzBZZxZqX2zGjMy8jXlRpC0YWauGKHdj7lAQtrw2YBu6qokE+tkXHUlI2EKRdVr5+L2Be13v+KK1oNv8zPboAhwWFjmqNvHofGQFYe39yu/gV5xPr+quOio0lm6vOtxw6QhVmjAMELxOtskzX2XeGEtS0Tv3FA0NvHJxyEYJgpHi6ToEGKxrW4SA7UuaDfgxcL/btD2A9MNONZYn9QfmiKFMWiDzWKTfBRqUWuZCnCFlPaymIfZcv5RRLXVyhAHrefhLcEtVKP8q5tcJNFgFgtJZPmAgdRXKbnSwAO++I+kzjgxWiKl2IQ+n/+LSs= 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:(13230022)(376002)(346002)(136003)(396003)(39850400004)(366004)(451199015)(31686004)(8936002)(2906002)(41300700001)(66899015)(5660300002)(8676002)(66946007)(36756003)(316002)(478600001)(38100700002)(86362001)(31696002)(4326008)(66476007)(6512007)(6506007)(66556008)(6916009)(53546011)(2616005)(26005)(186003)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bWRaamEzOXJmbEtwTENXZ2ZGN1YybXkzaXFKNXdWbTdqTzNZbTY4dm5ZTENQ?= =?utf-8?B?U0VKeUhwYTlFN3J3d09Uclh4bk41QWhJaFdkYkVQVVFnQ2dlYWllY25NdHl5?= =?utf-8?B?TzYydmZXMXJ6THJvaVIxZ0hkKzdsWEtrL2ErMkltamk4WUExcjR3cktFZnN0?= =?utf-8?B?cTJzaE5YUWJNU1ZhV0FzNWt2U29iSUZoY0ZHY0Y4WFBQME15K0tBeGl3Zk93?= =?utf-8?B?ZlFqMEZ5aEowN05pRHF1VzFFRU1nNnZPcVI1VFJhR2ZUYkZ3RHo3bHZyMmtq?= =?utf-8?B?YmhNY0F4dmgzSHZUQUhBWmpPQUJmV2NFd3RJdHREYnpyWWkrNFlhV1RzSUZM?= =?utf-8?B?aVVLMHJYZkxDREc0Mk5MdWtOZ0dUVkthMExIWlRtWU41bytsRWExcW5RcVBt?= =?utf-8?B?TzQvV2FNNVAwVnRWZXdrSkJUdXFUTFF1ekdIMHBud3luTTE2Zm1xcmtkNHA1?= =?utf-8?B?WFJFdFk4ejJjdzdIaEJEYjJZUWNWTHJyaTVrRHY0cVQwUjY1aDk0SUFsZ0Ja?= =?utf-8?B?Y0NJcnlMS0czODRnU3A5SGVLa1NGcGk4cUovL3NiZ1MvWVVHeU1Od0laY1lD?= =?utf-8?B?YXlpQ2NMb2dWU3hYYi95eEJ5QWY4N2hRMlpYVEZKbTVzMFluT1ZWcGdzYWl4?= =?utf-8?B?a084UnlJODZmakQvZHUzVjZNUWo0TzhRdDg5dUFWbzJEZkNmVzdYRU5pbmN0?= =?utf-8?B?Qk1tMHhqUXdBL21ZUkhpeW1MbTdaMHFPTjlrOTBJUHF0bTJlblMxb1RVK1hR?= =?utf-8?B?VmZ3U01HU21GYVJ0SWlSS3hMRU9DRVEwQ0t4a3Q4Z0xPQkhsM0JmeDRLeFFw?= =?utf-8?B?UFdzenBqOTR5K1Fab01MMVF3UEVXeG5wUGtHbjB0L0dJVzFCRXJxemQrM2Jo?= =?utf-8?B?dGlGdm9FcUhiREhOYWwrblBlMldLWFdxdFdXZ0R4b3VZaG5HN2pwMVYwRzFr?= =?utf-8?B?b2loMlJhdVVPakRGeHpvbS93Rkg0cEkzUkdtS0pMblA5cFBHZW9EbFh4WlZC?= =?utf-8?B?VjRMUHoyRDU2SkZLM3JiTElHUzJTVmZNMzlOQm1wN01YeVJ6K3RJQUFLYS92?= =?utf-8?B?eTZtM1dNcUFMRDNtY0l5Uk8rUWQ2Q1lGek5RV2NDWkhHSlZqc05XeUo2RjFQ?= =?utf-8?B?Z0pKMDNmUmRJZ3kzR2ZGY01aemY0di9Zb0ZPckYxUWxGcm15RXdtcFNqQ0JU?= =?utf-8?B?SWNicGIwZXFmMWFkK2NjanVIMUxoRGFlcEVYUzE2b3BlVGc1ZW83N29mTWNx?= =?utf-8?B?RDNrK3Z4bVZhMzE3M0hiWnlDYkhuVkE5U1YxaVgwSzlkdFAzRXBBOUx0TDVq?= =?utf-8?B?K3VLRG5Yc0VHRFUyejREODZMd2FHZWVMRk94VTF0ZzNhanl2eHBGYjI2UHlw?= =?utf-8?B?NEZUdWE1WWljaHhyK1V0bVFBMVFjcDdhbGxveGdXck15UVBMZzMwbFNwOGZn?= =?utf-8?B?YmRYV0lXQXFzQlRKckZ0S1M0Z3lHRExiOEt5WkZ2S1lTdmVOcE5ZVkdydUJ1?= =?utf-8?B?MnFqRk5PMWM4dmV3MWZha1dRWU54WEtIK0NBNUxMM0pDQ1RCKytaN3dBNlFh?= =?utf-8?B?R0JiQ0Q5am1JbUlYd3E0Z0gxZ2owemxjQ1MxWTdYR3NOa0dhU2MyRkgxc3kx?= =?utf-8?B?L3pzY1VPdUNDa2V0NUdidnVZZFRnS0o4cld4WjRlUFV6YkFBVDNSTHc4dWFT?= =?utf-8?B?cS9HcHlaV01TWjlDTVpBb3RCQmVMZ0liS28vMDBHNkIyanY0Q0w5YlAreHQw?= =?utf-8?B?SWozSnpVc2RxWUNsR2xOZEJ2YjZ6SUplRTQ1aERaYUNYRHlYdXJaMUNTVXQ3?= =?utf-8?B?Z2gvR0Z2Wm1CMmR2c0txa2VKOXVUQ0UwSDgrQS92M21WWjc2Vk9tNllSbnNm?= =?utf-8?B?ZDcwdG1qQjVPSzJmZHZnWGMwTUVObGU3bHFyMmVUakJjRldJNmk5ZzRBOFQ0?= =?utf-8?B?Tng5bTA3b3dMM1J1OExJYmFIOVlGMmJucDZzbWRjbG5OQmJvQTB6eFRVdGha?= =?utf-8?B?eFZ1RkhmUEtLQTJvWFFvbXVCMkdwNTZveUQ1aHJBU2VlNzVZdjlEczIrSFhO?= =?utf-8?B?c1NZT3lnV0Yyb003U2d5cDc4MHhpek9RZEZ3MEJNVVpUb1E5ajFhVHQwMjJu?= =?utf-8?Q?DHfxr9ZEH0f1/Z8BxdsWUKiLG?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: caae9e80-d05d-40ee-380f-08daa5f1c1b3 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2022 10:18:18.2889 (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: R7SyFuI1bOGLwGIMIvFxdwXvZs7D1Zrguhaq43ti0AvXjNSd88MfIw9e+pRm4zmLmh++y0bpUVtKPqkhO1xKBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6903 X-Spam-Status: No, score=-3031.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,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 04.10.2022 12:16, Jan Beulich via Binutils wrote: > On 04.10.2022 12:13, Tsukasa OI wrote: >> On 2022/10/04 18:58, Jan Beulich wrote: >>> On 04.10.2022 11:45, Tsukasa OI wrote: >>>> --- a/include/opcode/riscv.h >>>> +++ b/include/opcode/riscv.h >>>> @@ -55,6 +55,8 @@ static const char * const riscv_pred_succ[16] = >>>> "i", "iw", "ir", "irw", "io", "iow", "ior", "iorw" >>>> }; >>>> >>>> +#define RISCV_MAX_INSN_LEN 22 /* max 176-bit encoding. */ >>> >>> To be honest this still doesn't look sufficient to me: There's still >>> no connection between this constant and riscv_insn_length(). Yet both >>> want changing at the same time when it comes to insn length aspects. >>> As said in reply to v1 - comments may be one way of dealing with this. >>> We don't have BUILD_BUG_ON() or alike (and even if we had it wouldn't >>> be usable in a portable way), so an actual build time check might not >>> be feasible. A runtime check also doesn't look realistic, as >>> >>> gas_assert (riscv_insn_length(~0) == RISCV_MAX_INSN_LEN); >>> >>> wouldn't be correct, and I'm unconvinced of using other than the most >>> simple ~0 as an argument here. >> >> I have to agree that the constant with no direct connection with >> riscv_insn_length is not good but I don't come up with better solution >> than this (with given constraints). >> In any case, keeping this stack buffer overflow is definitely a bad idea >> and we have to do something to deal with it in a days. > > Agreed. Hence could you add cross-referencing comments at both sides > while introducing the #define, as a minimal measure? Or wait - why don't you move the #define _into_ riscv_insn_length(), placed right at the position that would need touching when adding support for wider insns (or when deciding to reduce support again)? Jan