From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 49184C4332F for ; Tue, 14 Nov 2023 15:06:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233306AbjKNPGu (ORCPT ); Tue, 14 Nov 2023 10:06:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38062 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229456AbjKNPGr (ORCPT ); Tue, 14 Nov 2023 10:06:47 -0500 Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A479D123 for ; Tue, 14 Nov 2023 07:06:44 -0800 (PST) Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id B6B1D40E0032; Tue, 14 Nov 2023 15:06:42 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key) header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 4Uz4AMc0hRK7; Tue, 14 Nov 2023 15:06:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1699974400; bh=2EHEy163hk2/hZKzFmzok7WEIqyaK7LDByonjtgnNFM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=KgmeLhkDZ2UOEoVMlexxw54a0qvKuZMVCGycqtjLOfLrrve3TSMLCxJh/6m5mNrgA uuJ5JAXV0zuDPIWXnmwApYzXDG31oLh6zrT2h1CqNx3S0snX+oRMoMa+EZz54O4uYt pVXworQtiz3ZG73NTeojMe+FOX/WzPITeW3QxWA+mzwZDjbcv+y0igtxHMcPGYAa3b 4HYRgQJ90em+MZTIE4vd4t6RrPWL0EYvOB9rDFaEUspLu1FJV68up5ucE903ukJoak R0tO1PcigPonlS6fXEU67ypmdl/pNSSvGe/Su7I3PCZRok2E/Owc+niflTVPOSOV0/ 7N4To9JCVu+mWefjP21eBhGFM4jYWCiAsllB0885jmv4I+1cZIYHzJeFsdKWKwY09e La7bnThPKIoZ/5BYEFvJxiUns0ehATZ/o/mFLC3Ybtc5SF5yyt8SFjUORbHxgrB1Ji 3MEp9+pXcB28V2s8kdMg3du1oVETgv+kLrkUnqTr1NdoPCyc0k92AcvC8lpOmQlk9+ pbt9trq7X2bqBmJGFn2Gn/XQcPIziFcsb61QvdynFdB7L8NfuXLe8uttEKfLvHZjnm a6r1gTwZbRQ78Gkn3yweNLi+82fJ/kpM04JoBIfc4XO8aHo3rcHyj8ugQ2ruY/GBU8 tGd7Zx2Be1TF29y6v3undhu4= Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 7A5DD40E0030; Tue, 14 Nov 2023 15:06:32 +0000 (UTC) Date: Tue, 14 Nov 2023 16:06:27 +0100 From: Borislav Petkov To: Juergen Gross Cc: linux-kernel@vger.kernel.org, x86@kernel.org, Thomas Gleixner , Ingo Molnar , Dave Hansen , "H. Peter Anvin" , Peter Zijlstra Subject: Re: [PATCH v4 2/5] x86/alternative: add indirect call patching Message-ID: <20231114150627.GDZVOM82VPHDlnD3lF@fat_crate.local> References: <20231030142508.1407-1-jgross@suse.com> <20231030142508.1407-3-jgross@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20231030142508.1407-3-jgross@suse.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 30, 2023 at 03:25:05PM +0100, Juergen Gross wrote: > +#ifdef CONFIG_X86_64 > + /* ff 15 00 00 00 00 call *0x0(%rip) */ > + target = *(void **)(instr + a->instrlen + *(s32 *)(instr + 2)); > +#else > + /* ff 15 00 00 00 00 call *0x0 */ > + target = *(void **)(*(s32 *)(instr + 2)); Yeah, let's document those a bit better. Either with comments above or as Peter suggests: /* Add 2 to skip opcode and ModRM byte: */ disp32 = *(s32 *)(instr + 2); rip_rela_ptr = (void **)(instr + a->instrlen + disp32); target = *rip_rela_ptr; so that it is crystal clear what we're doing here. Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette