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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1D931C7EE24 for ; Mon, 5 Jun 2023 21:01:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-ID:In-Reply-To: References:Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Gphk5bPdi4YOUsATlH4qNIkUhtIApAyEkCTSdAW+RDY=; b=IoFD4+exHVy9jO DupZaZZ2n7lwQCnsC7pYtOQ+fX+d0Ww/r1q4TDtcuVL4u7lTSzlv/yWIoRkIBifsIEGs2VVs3Mefp A6zE6yJ/F5xHPV8zaNkOgbkP6xvv1k8z7NmRttiAuoqPpnYDqQiqF+6H96IKBqp0qJOn+GK8yOwDT NoQzjP/N32VSNyizfFoWUFNb8Jp+yfQ8pAfgjnASr8vJrVthZalCB/2O9STTRNpQwY/Y97TZxgNId fwyxrRuQRpo+QhqDlz6Z4kX9yVZoECgRR2Wvvso4nK0c+Mu+wWKodDudaMkLMs3mleUaFb9J5j3Hv odUKDEP+Dl/J6mGDELZw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q6HKP-00Gmk8-2L; Mon, 05 Jun 2023 21:01:25 +0000 Received: from mga17.intel.com ([192.55.52.151]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q6HKM-00Gmhr-29; Mon, 05 Jun 2023 21:01:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685998882; x=1717534882; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=pllprPRXgvKu0sh2Nvr+CLsb6a6MBDECEAZsZeI+9WE=; b=hsoNTPMM4F/+b6ljMNWZiswT5228xJbKOBRwledjdNdwQ3O4LcOI6/Ns p8WZYQCkkBtQE3XFEQYd68R4m8Fz9nfUq5xoMscG9LiG/jm0qzEQCa1E4 ARpgZiqHffvxmXL7bFcd1pxT7h5JeZPFKx/uPz9DYTWX9Z3rYuTLeroxj pLMF25uKTwkvwYLjy9To5MDCoTc1SFlTDyw36TUE+ay+ZH4OY+tdR90mX Gp9CLY0P3Si7HuWCgfSirqnu7DJmSNvrcDV2YU1xYtf7ghGDB8Bqu0wZn RtEfLZteEDdyEyb46bVeeRvrwWj/msxPHu0uyFt19AYoy4cAF92qyyew8 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="336839021" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="336839021" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 14:01:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="708809077" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="708809077" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga002.jf.intel.com with ESMTP; 05 Jun 2023 14:01:17 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Mon, 5 Jun 2023 14:01:16 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Mon, 5 Jun 2023 14:01:16 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Mon, 5 Jun 2023 14:01:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HvtTA3XQG/b5PnLyZsFAO9hlwcE1wUDGe7A2mo+LGGyCBex526g5L6e0joaQfVgKCfX3AoeFH3Zz2xsHiW8LFe8WuYkhB2v6aUKn+X0U+dExwYWMLke99XfPlir942nthq9/wwek5pt7M4I6Nc5g4GPUZCMqwiVqfdHMO86QUaFqcubhTqJs6oVgS0TdvZqdrTB3UCvaWhjvJ7CLGarPSldbkChNx70ZFbk0W5BulPvbo/mTDabQhGG9SicSEG0K5psX266J3vq6+eW2YiZvawfcGvzZ5oBfvAftRPG8wF2PPRoJgyVoBvcYLDjrrHt2D3tSb/Mzrpb24W79KvpUpQ== 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=pllprPRXgvKu0sh2Nvr+CLsb6a6MBDECEAZsZeI+9WE=; b=Ox1bwX3lnk5ij63jcjmSCdUJlcldXePFWage0yiMMV1zZmirJ95TkkcPqBALNwEs5TeJvm/4fuYZOfUasU5tWvabhMWPxOxo28MBSOrNqrEG6xZWB4rXFREaAKf5mGbB7A/O1Roa3dqVwlShvUb497OnknS19Jd1DJGRmiFHmPIyacSz0PYntirUE2GEt9uS4pTSiWc0IFdB15OZ+e+3nbMDQDnHXDHBDiker668rJJzm8/Ba3GLIjbG6Dwhp65gk2y78QhTXnBvIPqpElj/T7QcyxADOTk+cMwtYjAG45oE70KpIGHUtoQsryZCAPpgaLaoNKy3gzemynIEWLxqTQ== 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 MN0PR11MB5963.namprd11.prod.outlook.com (2603:10b6:208:372::10) by MN2PR11MB4568.namprd11.prod.outlook.com (2603:10b6:208:266::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.33; Mon, 5 Jun 2023 21:01:14 +0000 Received: from MN0PR11MB5963.namprd11.prod.outlook.com ([fe80::6984:19a5:fe1c:dfec]) by MN0PR11MB5963.namprd11.prod.outlook.com ([fe80::6984:19a5:fe1c:dfec%7]) with mapi id 15.20.6455.030; Mon, 5 Jun 2023 21:01:14 +0000 From: "Edgecombe, Rick P" To: "rppt@kernel.org" CC: "tglx@linutronix.de" , "deller@gmx.de" , "mcgrof@kernel.org" , "netdev@vger.kernel.org" , "nadav.amit@gmail.com" , "linux@armlinux.org.uk" , "davem@davemloft.net" , "linux-mips@vger.kernel.org" , "linux-riscv@lists.infradead.org" , "hca@linux.ibm.com" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" , "catalin.marinas@arm.com" , "kent.overstreet@linux.dev" , "linux-s390@vger.kernel.org" , "palmer@dabbelt.com" , "chenhuacai@kernel.org" , "tsbogend@alpha.franken.de" , "linux-trace-kernel@vger.kernel.org" , "linux-parisc@vger.kernel.org" , "christophe.leroy@csgroup.eu" , "x86@kernel.org" , "mpe@ellerman.id.au" , "rostedt@goodmis.org" , "will@kernel.org" , "dinguyen@kernel.org" , "naveen.n.rao@linux.ibm.com" , "sparclinux@vger.kernel.org" , "linux-modules@vger.kernel.org" , "bpf@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "song@kernel.org" , "linux-mm@kvack.org" , "loongarch@lists.linux.dev" , "akpm@linux-foundation.org" Subject: Re: [PATCH 12/13] x86/jitalloc: prepare to allocate exectuatble memory as ROX Thread-Topic: [PATCH 12/13] x86/jitalloc: prepare to allocate exectuatble memory as ROX Thread-Index: AQHZlKm5cQf5rjPFXEabUnQGbxJicq92PIKAgAADw4CAAAbOAIAAJQoAgAAzZgCABOjDAIAAWSCAgACFuQCAAEwqAIAABRyA Date: Mon, 5 Jun 2023 21:01:14 +0000 Message-ID: References: <20230601101257.530867-13-rppt@kernel.org> <0f50ac52a5280d924beeb131e6e4717b6ad9fdf7.camel@intel.com> <68b8160454518387c53508717ba5ed5545ff0283.camel@intel.com> <50D768D7-15BF-43B8-A5FD-220B25595336@gmail.com> <20230604225244.65be9103@rorschach.local.home> <20230605081143.GA3460@kernel.org> <88a62f834688ed77d08c778e1e427014cf7d3c1b.camel@intel.com> <20230605204256.GA52412@kernel.org> In-Reply-To: <20230605204256.GA52412@kernel.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN0PR11MB5963:EE_|MN2PR11MB4568:EE_ x-ms-office365-filtering-correlation-id: 3acc26cb-d230-4031-b839-08db6607ffb5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9jGREqZFuZCFi6EgVT/gYfE+20NE0t5hQG/ADzmQaJNyoKILM4dUtv5pL8ouOXwaFra2xTPRS54ozbGt0mjBdrT64h4T3Gu08i4hfBS1GTQRSTkR7URqi7S8/+xDGIxFEX4LmcXaUbxM/eGqH1CBrQogk6ka0m0UV3WeZu0EGZ5d4H103ul7HptRhUf4npVNEDMxvBokVBBLAc0oz49wV1YsTFdHFOWTZVcUtRuA3NofKWYf8wNsiaFxie0Aq7fFMZLFiGLtj4OXXAphPAfz3MzGh26yWw6hh/jnXmZBiWietvOB63unRi9TLNiEFTH8/u2Mv1cPq7LYz0b1843vkJyKfp8ks/9aUHF1+1sSHvNfJZCF8O50HY7aRxVwBXVZSDZuKrW409MuVxgboG1kDQCC7xecGw2b5Mwoot8XlQhnsMG5CjzFi9pvQU9rkMxkHyvq9uYG1BB+sEHYzflMPo/6P4xcnPdL1OzNZjroAeI8jPsXtm8PWLENe1xY5C2sLSnnh4/4m3ldemrRDsYruZQ1W2FP9VMRiAVbxv56wciqAeBxSef5xObWrnFZbvVdV56AVGKvEtX0zusJqrLtn7072TjcywqyTSlvQelrRm4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN0PR11MB5963.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(366004)(396003)(346002)(136003)(451199021)(2616005)(6512007)(26005)(66446008)(6506007)(316002)(83380400001)(6916009)(66556008)(4326008)(76116006)(64756008)(66476007)(91956017)(66946007)(122000001)(966005)(6486002)(186003)(38070700005)(478600001)(71200400001)(54906003)(36756003)(66899021)(2906002)(5660300002)(8936002)(8676002)(82960400001)(86362001)(7416002)(7406005)(41300700001)(38100700002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S29FUkRuOS8xWCsxSUt6VWloRHlYNkhraHg3eStucEx0NWE0L2pwRWlVWUlK?= =?utf-8?B?VzlWbGljbGdSVWRiamFMZERVSXo3eUs3RzdTd0RjQjQ2WFZRRWRpS1dMeDIz?= =?utf-8?B?aFhrU2lPYUw3UU1sY3dxTWluVXUrSk1qWlJxWElNUmZ4RW5ybzcxRCtGREE1?= =?utf-8?B?blBmN2N5VG05bmFnNHRMUUcxR3B4L0FIMzRVeDlsTU1haU9uNGdHc29GVytT?= =?utf-8?B?cGpBM28xSUdSbTVOdHhLaGgrQlIrUU83Q1dzUXZhTCtoeDNBUmxoZmdQdGd3?= =?utf-8?B?Vm5EVEpSWk5qSGtyeW13c2ppekpxYzhlc0picDd3NWd3T2plZzNueVZyUlhw?= =?utf-8?B?dTErTk1kSGxFVm5hWllSYjlldCsxNW5yNlEyeHlpZjRoZE5PN0pIeDBMaGZ0?= =?utf-8?B?WFBjSU5JTW9CUkVjUWd3NllMNmx0SG5jamk4U3Vsbll2UXdFaGVRcmUxeWE4?= =?utf-8?B?Q1c0dEVqN0JValMxMnU4VDlVK2lWTjdNSkx6bHo5QmwvQUhsZ0RYeXNmMlI2?= =?utf-8?B?TmozaFhkbW5LSXVEK1JtL01BSGVIY2NINWp0NnlpMUxkeis2NVlHczB5VzJQ?= =?utf-8?B?eWJYUzFITXMwYnVMWnJqbktYYXJIQ1NOSkFubEdHM01xaUhLNFl6dEU0YjI3?= =?utf-8?B?QVR1UDZHazlkT1VaZXhHN3J4SThORkFqd0tWSzI2bUpFVjhlb3dmbUkwbXB0?= =?utf-8?B?WTgxNnJwSDZWYXZ1ZDR2SWNETTdtYTdYVU43VlErc2dqbTZRVTk2R1YxbmpN?= =?utf-8?B?UEV5b3llc3VVc29RajgxeFhVdmcvZjErUytsT3dRVGtqWTcyZzBoeTJjWUhj?= =?utf-8?B?N1hKbkpSRFJ3dDJ0eFFVbFJEQXphajdUdC85cFUybmZ3T2Z2bHB3bVV1eFU4?= =?utf-8?B?WmlmbUZ4WUFUSEdSQXRpa3ZNZlk4WTN4bEI1TDZ0UFhpQk00K1ErSzRSd1ZP?= =?utf-8?B?QVV0b0VuL1ozVGZUcnJFT1Q3TFJROG83dFc4MlJtcTUyVUZzZzd6SnNROE5Z?= =?utf-8?B?M1puY0tCVUZoVS9oamhvUkVMREZWQ1o2R2ViUWRCT3hKdVFraVF5eE41RlI3?= =?utf-8?B?ajZqdDdWMldSMmJWSllvc1YwQnhTQ0hNQ2FyWVhCRlNTcmxBQzRPczk4dnhQ?= =?utf-8?B?aTRpb1dzQXQrTnI4QVM4NlVBWU5JT21seG5LTXJIZ2xzMG12VGxqdllvVDdT?= =?utf-8?B?c1VSZW1xRmN0UzFIdW81alJocnBYaHpmVVNSQ2NueXR5RVBxeXhqOHBPVnlO?= =?utf-8?B?ODZ0VFpvUW5FcDN4eUh6L002S3R3N3JBZ05yeHlPRzB4NmZpL3ZyRnl6bXhD?= =?utf-8?B?d3dmdVkwTkNCL1k4d2lMUkxqM3d1L2NBVG9iM1FHd1RabTdTV3I0U21vK1V4?= =?utf-8?B?eDlUbHhWSmhHempGYVRMcHROSng4UFZRRGhGY2R1dE1WT21FOGhTVU5rMFB3?= =?utf-8?B?M3ZzOEVOSHVrNm55dFcwTzd5eUpGMmpYR3FIanZUcFJCUHNVUkhtVy9zQjE1?= =?utf-8?B?VHliY2I1NnNTMXlUYXNleG9Ua1ErRDVhZGgyMkNyTlp3d3dkYWw0VHlHaERG?= =?utf-8?B?Wm0vRVI1RmlGTTFseFhla011YU1xTmZPb2RWTnJxeTZmbVRoUkgwek5hK3R5?= =?utf-8?B?WTNhcng5eFA1bHVUQkFidmhPNHZMWUJ5UnliL3lva3lqbjhicUMxNlhxRFRB?= =?utf-8?B?dlRjVy83RDdLTkMwbnN0SWJVTkg2WXk5ZjVCL2ZTS0V5RkFHRGkycXIrSHBG?= =?utf-8?B?cTVJb253VDJzVlJhaEtwdit0RnRjbzdNeXdwVkJtVjVLUVhxZWVuN3RtRE5l?= =?utf-8?B?eU9lWnFyNWxTdXF3VlIrVE9jbk0rN25FcGtkMW5IQjBZSVI1Mm90RTdSWDAz?= =?utf-8?B?UmYwa2tJK214YjBTdy9pNXcwdjRnU2JwbzBudks4SHlJSmFZODJReVVqanBx?= =?utf-8?B?SUJ4eWlLaVFXcElYa1ZYKzViT3RoZHBQbFROTDdUUTRPWWtJREljVDNNM3R1?= =?utf-8?B?UjVBeXlpRTRhRXJLcTQ4ZlFjbnk0R0RjZkp1NDMvTVhleHBuT2g1dE5KeFRj?= =?utf-8?B?WTcvZFRsZytSWGhCajNIMm1qY3Vzc2pMemtOYXFxRkk4bFRoNEIrcDF2MlpJ?= =?utf-8?B?SzdtWXZ6MWZxaDVoOUtJdXFEV3JMc0Zsc3h0TmlNK1RKRUhiK3FMZUc5MTYz?= =?utf-8?B?aEE9PQ==?= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB5963.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3acc26cb-d230-4031-b839-08db6607ffb5 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2023 21:01:14.3578 (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: or92ZRUxLP4WnJBNqSmtCfjoi0excGLmnB8XHduaF6RQEGkRuJk63kIOc4btGOFpWNVSqkZ7gyQSdx/ue6LOBXkMwmpjBsTanMQXBFpPwxo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4568 X-OriginatorOrg: intel.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230605_140122_726047_060EE5C0 X-CRM114-Status: GOOD ( 21.93 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, 2023-06-05 at 23:42 +0300, Mike Rapoport wrote: > > I tried this technique previously [0], and I thought it was not too > > bad. In most of the callers it looks similar to what you have in > > do_text_poke(). Sometimes less, sometimes more. It might need > > enlightening of some of the stuff currently using text_poke() > > during > > module loading, like jump labels. So that bit is more intrusive, > > yea. > > But it sounds so much cleaner and well controlled. Did you have a > > particular trouble spot in mind? > > Nothing in particular, except the intrusive part. Except the changes > in > modules.c we'd need to teach alternatives to deal with a writable > copy. I didn't think alternatives piece looked too bad on the caller side (if that's what you meant): https://lore.kernel.org/lkml/20201120202426.18009-7-rick.p.edgecombe@intel.com/ The ugly part was in the (poorly named) module_adjust_writable_addr(): +static inline void *module_adjust_writable_addr(void *addr) +{ + unsigned long laddr = (unsigned long)addr; + struct module *mod; + + mutex_lock(&module_mutex); + mod = __module_address(laddr); + if (!mod) { + mutex_unlock(&module_mutex); + return addr; + } + mutex_unlock(&module_mutex); + /* The module shouldn't be going away if someone is trying to write to it */ + + return (void *)perm_writable_addr(module_get_allocation(mod, laddr), laddr); +} + It took module_mutex and looked up the module in order to find the writable buffer from just the executable address. Basically all the loading code external to modules had to go through that interface. But now I'm wondering what I was thinking, it seems this could just be an RCU read lock. That doesn't seem to bad... _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel