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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EE7F7CCF9E9 for ; Thu, 26 Sep 2024 10:02:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 76C096B00A0; Thu, 26 Sep 2024 06:02:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 71BBD6B00A2; Thu, 26 Sep 2024 06:02:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5BE716B00A3; Thu, 26 Sep 2024 06:02:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 3B0576B00A0 for ; Thu, 26 Sep 2024 06:02:22 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D444F1208D6 for ; Thu, 26 Sep 2024 10:02:21 +0000 (UTC) X-FDA: 82606449282.06.19A9AD3 Received: from meesny.iki.fi (meesny.iki.fi [195.140.195.201]) by imf13.hostedemail.com (Postfix) with ESMTP id A410720008 for ; Thu, 26 Sep 2024 10:02:18 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=iki.fi header.s=meesny header.b=dU0jrlX9; arc=pass ("iki.fi:s=meesny:i=1"); dmarc=none; spf=pass (imf13.hostedemail.com: domain of jarkko.sakkinen@iki.fi designates 195.140.195.201 as permitted sender) smtp.mailfrom=jarkko.sakkinen@iki.fi ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1727344840; a=rsa-sha256; cv=pass; b=SV8SSrjGjD+xzgHgSpc2NmMe18wYWLeX7aeQJj3jFH0cftUslA6ZaZXni8pzcyQOA3pteg R2+m/DX4deEbZGzvzJXXHj9bsexGR+TiS7AxJeJG1awQjDLwI1pXUROppNstkkIun1IjJH IVXgEUO0qCLLX4yzf6UAVNIx6+EIppc= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=iki.fi header.s=meesny header.b=dU0jrlX9; arc=pass ("iki.fi:s=meesny:i=1"); dmarc=none; spf=pass (imf13.hostedemail.com: domain of jarkko.sakkinen@iki.fi designates 195.140.195.201 as permitted sender) smtp.mailfrom=jarkko.sakkinen@iki.fi ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727344840; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=OqOXY2WlnbuScs6wgk1Tpd/TbMCXCpPRNzBO/1u7lRg=; b=3xzdvWbJeXK+BS8N+wF8D6cxG+GpVj2O5TOZPdXkDYPp9K0P2CNugDDngobI1h4jGHRLVP qTb+BrGStuW9JSMuk0/Wa2wx974K0SfwzlXCszSeGcRVtYvk53L41W4frU8ivfh84/3kq9 Ouq7KWeoZ10LEkDt2wFb4v3b/QNFpOs= Received: from localhost (83-245-197-106.elisa-laajakaista.fi [83.245.197.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: sakkinen) by meesny.iki.fi (Postfix) with ESMTPSA id 4XDpzp5Q8bzySM; Thu, 26 Sep 2024 13:02:14 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=meesny; t=1727344935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OqOXY2WlnbuScs6wgk1Tpd/TbMCXCpPRNzBO/1u7lRg=; b=dU0jrlX9seTeC67nok9paLPxhasftsN6+7pDO3NoKxTzN39TBt4pmQTJXRzbrHar4bQInz IPg35xZY9BVsACGPPKMH55g63n8EiAnk8YlVRvTVnAGmC6wlm1P0c4apHvHcWeiGnF/4qI IR+m8ODnpGYNCsN7Dt6c9ANNqy+JgVg= ARC-Seal: i=1; s=meesny; d=iki.fi; t=1727344935; a=rsa-sha256; cv=none; b=T6yn7uqAruqZW1/jGTT4jzjpZgD7g/1FXOVZS6mYKcc5KKCdmo3QJGZ9rHVTKPi97kh6Hm WAlH71HO5zUiAo4JBEGxR12MNVg+n6hlsSN7yBsrQNmIXE4lep5C7HNLRbUPGi/ZI2XEzP sWtGymBvUBgA3ZAubRsnvu841yq15Jk= ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=sakkinen smtp.mailfrom=jarkko.sakkinen@iki.fi ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=meesny; t=1727344935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OqOXY2WlnbuScs6wgk1Tpd/TbMCXCpPRNzBO/1u7lRg=; b=ZRMmpT+NOuhpHpygurIojS0tHZi6aKJlVcexUtrVrAw+JRcnVqWpSxQ4kLZEBmkw3h6PEw NCNs08OQ3aPN7Xr/vb1sANT9DbDWeZCxaG1bWB3IgwsDd6nW8XwOPjgMHnVBSDtqwMXOp7 12dvnUQJxXGgNFON849COn5pzTD7rQM= Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 26 Sep 2024 13:02:13 +0300 Message-Id: Subject: Re: VMA merging updateds? From: "Jarkko Sakkinen" To: "Jarkko Sakkinen" , "Huang, Kai" , , X-Mailer: aerc 0.18.2 References: <51631b6d-5138-4195-8722-651d9ea79dc1@intel.com> In-Reply-To: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: A410720008 X-Stat-Signature: q851ngy634ubrekw3n1mwmtjiwnwassn X-Rspam-User: X-HE-Tag: 1727344938-743018 X-HE-Meta: U2FsdGVkX1+gYmGxjX3YIwHPUVfgmTz8BNjjtWEwsSyl3rVdK1grutUj/xNdDYoN4kmy6DZjcl2u5bdaW5QssS2iR5MQhMTyCIABI60v7E3Y8CAsLTDVPWkTT9CZ6TzaHJutoqI+0qLUOuq7F7zsNRJxF/nhJylv2UcgLF9lC41/RlTbFXpI3YCCUESMVxfAGUg41KDQIMFpVA/wT5XkUyFNzPSr4E3FlggDbZ9e/k2o6B2tEFGqqjp//uDhMRPGePu0p+4D33bgjDLN77y/S4KOT84HqzWYq/FqY6X/AxpYsD+VLAtmisOCH10bj+XAiHAS/s3GCtzFoZecLAZfAP43swehIOtI5G65W5CElm1EO+4l2/AbfDTwn50eCzNe7CS9/qfJAiqHuFZmzTb38Y7CsTCqtvaO0x9PH9/lK1P+d/RwwC+B9aoJkyVEsnD+O4AfezhssfpxKS7rSrVclfXtdVUCvoI/iBFkOVHgmAYvhQGH7j4tX57RDp7W5TH0iZAs7SjpmtAXDlz8NRhuf+glQg6mXmIn8aSyeKWDuW7EOt5hmmPw8i4fafKN1HtdJeeVNbjSrzH+eys0AplqvVTX3p9rNObcXtG+KTLlZzMM65nQBZYZcSZmxcouE1v1Kpce/7oBdYj/7vjJ4qx2pGKrqPSqEkVohy+BLZkbkedaZ67+sBy3fSvp1/xrBARP9doKWx+84whfZMr+RfwpT2l1Eu2bH4zhCf2+/jPL6E2KLzkpl7bD7GimFFD90k7zhf8CPa2vJgRIIJjU8sV7ASwG7jG2IcAlAEisxVN/33/dhn60Uie/Y5rn4aAA+TUJ+/AZMsHJ58efEXrlww2HmoG7uo6MKs6RikG7blwYktS1QZj9NAhwdTvRbotAe2XZmqFZGsooGLYl/6UdinYScxFjrwIAVuYKcn4j+443xdi03POjyEVxs+8N8mBZ/eQn5pv62WPSJcLQwUSMEk3 ZW58M83C 0mzrTKzbe96n+TdqlMQafgzd9q3CRAXthArrriuQyOHgKFkc3sY1EzLC+aePez1cmy4uFZj02muTEz4YkUKNTvz61iZj39sXUJnFRLSNbFJjrR0v8mYCRI7VZ1DrQM1TwraT9m7uhzzcV5gAkekok554xzk92VpysopXPqm8G4MvNUrb8wKrgTu7a5TL9C8boAANSqqch2FCxnerf8855/agFPd13SpZUwO9uN6Fv8GVWXDgQVp199/E3V4HbBkUoh9TiedPHHzU5Rn+oOHfUljWKypUj7y+kaA2J57snSuj2f+T2+9sqJ66tZ9S9fk6fJ0AT X-Bogosity: Ham, tests=bogofilter, spamicity=0.000030, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu Sep 26, 2024 at 4:48 AM EEST, Jarkko Sakkinen wrote: > > 7f8f08121000-7f8f0814a000 rw-s 00000000 00:05 84 = /dev/sgx_enclave > > 7f8f0814a000-7f8f08162000 rw-s 00000000 00:05 84 = /dev/sgx_enclave > > 7f8f08162000-7f8f08177000 rw-s 00000000 00:05 84 = /dev/sgx_enclave > > 7f8f08177000-7f8f081a0000 rw-s 00000000 00:05 84 = /dev/sgx_enclave > > 7f8f081a0000-7f8f081c1000 rw-s 00000000 00:05 84 = /dev/sgx_enclave > > 7f8f081c1000-7f8f081d6000 rw-s 00000000 00:05 84 = /dev/sgx_enclave > > 7f8f081d6000-7f8f081ff000 rw-s 00000000 00:05 84 = /dev/sgx_enclave > > 7f8f081ff000-7f8f08228000 rw-s 00000000 00:05 84 = /dev/sgx_enclave > > 7f8f08228000-7f8ffffff000 ---p 00000000 00:00 0 > > 7f8ffffff000-7f9000000000 rw-s 00000000 00:05 84 = /dev/sgx_enclave > > Just giving ridiculous answer to a ridiculous question. > > You clearly started commenting w/o reading the original thread. It is two years since I did my own merging algorithm in user space [1]. If I recall correctly, since SGX driver does not have vm_close() by mapping over in brk() shim you can fixup that. Obviously this needs [1] so that you can check up from somewhere that you're doing adjacent map with matching perms. If nothing is done in user space, then VMA space can literally blow up depending on the memory access pattern of the payload (in the case Enarx it is an arbitrary program compiled to wasm, the enclave includes WASM JIT as static payload). I totally get if this absolute NO for core mm. Just thinking that is SGX really the only existing location in kernel where you have: 1. pfnmap 2. bunch of regions 3. regions have varying permissions And could there be some minimal weaker set of constraints that would allow merges. Obviously it cannot be "any pfnmap" will go. If not, **** it, I don't care, that's just life ;-) Stronger than pfnmap, weaker than "struct page". [1] https://github.com/enarx/mmledger/blob/main/src/lib.rs BR, Jarkko