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 BC082C02182 for ; Thu, 23 Jan 2025 14:16:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 34E236B0089; Thu, 23 Jan 2025 09:16:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2D7576B008A; Thu, 23 Jan 2025 09:16:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 181D16B008C; Thu, 23 Jan 2025 09:16:36 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E0BB16B0089 for ; Thu, 23 Jan 2025 09:16:35 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7E0BAB11DA for ; Thu, 23 Jan 2025 14:16:35 +0000 (UTC) X-FDA: 83038917150.06.D86E921 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by imf27.hostedemail.com (Postfix) with ESMTP id 12FD540004 for ; Thu, 23 Jan 2025 14:16:32 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=QqTRkVtv; spf=pass (imf27.hostedemail.com: domain of petr.pavlu@suse.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=petr.pavlu@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737641793; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=QDz8608lNaW0P9BTT1X9DLek8Kcys+jnF/tb6a9Lcbw=; b=GkHR6dbztdS/sN932bGc0W3Bj5Zv77rsGWSLIpNqMEYDE8FuSg39rtVrZTOXLHPifpn48A +Ca0uVwRajXIzuilw4CyUcQmJewxvr6oNcQdEJANxcFxfmN/ysVXvT1i34MRxH0MgRecmH mpXnBOajvwF9W4S5fr/Ke6tn8rfeVs8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737641793; a=rsa-sha256; cv=none; b=hqgpY17kIqY0leEdXTvYVQh7S+pvn8BAnVa+x0Z6HXbXqt3hEk/vNH6GIEQrYiqF+iTrOa pAAOHNIkkU09hjk4Q6885l3X5kugCRwuEGNS4yPMWpUK59/6wpUW4pbhrfyGl179+rpY48 hLsgP7LS84rClJUaKmR2H4nM+ZLVctw= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=QqTRkVtv; spf=pass (imf27.hostedemail.com: domain of petr.pavlu@suse.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=petr.pavlu@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-4361c705434so6948015e9.3 for ; Thu, 23 Jan 2025 06:16:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1737641791; x=1738246591; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=QDz8608lNaW0P9BTT1X9DLek8Kcys+jnF/tb6a9Lcbw=; b=QqTRkVtvzgOlzNExbEYI3qsn3ars+MnfCCNVs/+JaoiNIbDaWO6foMGu6al3GzGHED /nzHIQZOWHJoaY7eBRuXDP09wXRkPTKWBufJLbQMeq6MNlRKkt2py4435V3QtF7iRrsK xwXurrLu4FyW4/l0wWDlAY1BwbTPLGXLFnvjpWM+bW0KgSjDUAOfk9nQVo2qpAvTUx0n 6BU1Qud3I2MFz7KE1J6toKGk9VpBQE+2JgP88LlAqCKq/LYQNLQ4pE6AatBqBSenE8zx 5H83WCprhnFsSil8K/zhSS2pnO2OlZ6K+6l4JcFVxrPuzBFXz/ewbiTNeSb4YwT7Hg7e 5L7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737641791; x=1738246591; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=QDz8608lNaW0P9BTT1X9DLek8Kcys+jnF/tb6a9Lcbw=; b=kld2MQ7JH8y1S2bB5BQUDAfADuFobFj7uHao3hgCd7cXQdKPuVgsM9RhjxrLrdY+Iv pBuRcoryWZgm9Ssa5ID/L9LZklFR0KSEkAfVX9GUPTHKcH9iAMlrxl7+ViIM5AaNhy+V emfr80Bae94qKePrUL6XRyqRw/CtGaEqhJAoJwKgFVj9gnSP459sil0uwNjUU9KbsSRj CgY9vbh+fhif139pAwkwgz5j8hAP51B9NKA1JLRTF7qY7vl1RIyQXVis0F+RvAAlYWUN 5/5uFgwAXL8Ye2XuAMed0LBV0KrK3ae65qYoPXscsYVUgFr1FFvoRkREDA7nLI+BqWIS 160A== X-Forwarded-Encrypted: i=1; AJvYcCVwtPrWQ+1sbzRo2uM55jUFayAKMj6tDt0ZTgUwp7jA4cICAosQwSfYWlcjfpuKhfCPmQ3fKIOY1g==@kvack.org X-Gm-Message-State: AOJu0Yz0tcUfpjxoNVBhXhVwLKkeTI+37laVaCzsmSqcO9RReQ1mLRo4 3lz2HcF8sX6O/wLicldKldifZIvuOLcTE+Lx09ewvqVYNK6O3+SWUIJtO5hHn2c= X-Gm-Gg: ASbGnctD5m9HH5CUc+K/1sW1wr3F4fzyFZd00st5rxV9UIIVwgn6nHB2YnT+2lZ97LA 2VZ2ubjzh6Hx10vzCSjty3WxAa+JTlc4BUcPierOeAWCyOkHzJlIhU5WJWbPz1s4hDGkXiBDU/e bVolk7ixjfBfdcZ2zIQsiZibh1xy0Jq2ix9kCTk6JcOIjjDFfftSk4FX1DIg1fzD2cZEH+uwJLs u/qbIA7+zhhpSeGORkXqafogI4ey+vP53n3h57eOiSMvtFQpHaObJiPHNOh056eNNca2rHjktCg i+rpQFVT X-Google-Smtp-Source: AGHT+IEZ3PnxYGUvf8/rU964wji50OH+SsshrvGk6eo7bEmtZzJZRo7kuLNRZ25HdqIFvqguWQOL1A== X-Received: by 2002:a5d:4243:0:b0:386:2a3b:8aa with SMTP id ffacd0b85a97d-38bf57b3f56mr16813575f8f.37.1737641791528; Thu, 23 Jan 2025 06:16:31 -0800 (PST) Received: from [10.100.51.161] ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38bf3275595sm19543698f8f.67.2025.01.23.06.16.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 23 Jan 2025 06:16:31 -0800 (PST) Message-ID: <4a9ca024-fc25-4fe0-94d5-65899b2cec6b@suse.com> Date: Thu, 23 Jan 2025 15:16:28 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 06/10] module: introduce MODULE_STATE_GONE To: Mike Rapoport Cc: x86@kernel.org, Andrew Morton , Andy Lutomirski , Anton Ivanov , Borislav Petkov , Brendan Higgins , Daniel Gomez , Daniel Thompson , Dave Hansen , David Gow , Douglas Anderson , Ingo Molnar , Jason Wessel , Jiri Kosina , Joe Lawrence , Johannes Berg , Josh Poimboeuf , "Kirill A. Shutemov" , Lorenzo Stoakes , Luis Chamberlain , Mark Rutland , Masami Hiramatsu , Miroslav Benes , "H. Peter Anvin" , Peter Zijlstra , Petr Mladek , Petr Pavlu , Rae Moar , Richard Weinberger , Sami Tolvanen , Shuah Khan , Song Liu , Steven Rostedt , Thomas Gleixner , kgdb-bugreport@lists.sourceforge.net, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-um@lists.infradead.org, live-patching@vger.kernel.org References: <20250121095739.986006-1-rppt@kernel.org> <20250121095739.986006-7-rppt@kernel.org> Content-Language: en-US From: Petr Pavlu In-Reply-To: <20250121095739.986006-7-rppt@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Stat-Signature: mor38e93ki38t3jud4qh7zwwk6negytw X-Rspam-User: X-Rspamd-Queue-Id: 12FD540004 X-Rspamd-Server: rspam03 X-HE-Tag: 1737641792-675500 X-HE-Meta: U2FsdGVkX1945RgIedTpE97YGUJCv0hwuIB/wcAmw6y7nHyNXH0r+GnFJoRuDYyooNo9/lWzaFnfphK4pgcCjLkWC7RahsMpHul3bHZ6blU8CoFzBlTBPmiJgfqqQUx3hlSdVDD8lISXWoMmMa6FeQiPQ0IOAkTrf1GAv4mEE9pRSZS5CiU7A+YF4QZnlzF0OzUIwZP7WDMils24FvY7o4qDCc1Yo5ELRZz8JPc40MtmjWIwrZmZbVH1b5P64ng2n3fz8liU/Kq7VymyM8HOCnZp7nKrd7a/RjAi6p+zu20P4Wrlb5+Qrrd9llUbRck85t7VtU15/1IgIHM5UqNNl0CRgArvCuixIBUtJW+aURCCatA/hYo2RcOvXw5fDrew77y41U2iiPRIBvi5gbmSMSzm3Y7eVUyQK5lANrXvGM8SksuB8l2GlmfTby5iCejDe5NVHFEYTypi7nJKsv8hfsrh3cTEOsy/Ko0f14ifIUgYnRf6A2+5vnHnrS8izfrJzyM8LX887waoxHB+2rSvdNe5+EJPri2ifgnXShhjKQ5Stu7nxh3ibH0ZkbMZRELB0cj6IMHN95Y3aQQSDapxVuxmDqoU8Jb3H7itbii6kIlrx83luNNAwQr3E3Wyg9gtUsYFtE8USt3k/Mh243IJhVvsxrqQ20L28Z+93M1BPG+DsXgRBpd0eZr93wFNp1sn4qR85fPLNkub62JV6LgtCrWJO5H/gN1sRMI+dhE2eQWOZtTE339mVWbmiqFgfOtdWl759y3BDBToZuIRb2zPDHTT02fsDdJBhorYFK3Z7d4QQYQlPf42h5v8f0EEbp1NMoxu3mVV1mzr/sxanuSufU676Ey08uKaxmkDF1VJ7WfYvesrWUtDaVeW3zP51IoTYWpc6y3eihOQlvuB1GsPVSH1CEFlKDcl1JeBdPuOOpsO9J+G8syMwkrxpZ8GD+ekOiQGADycE0dRcxBG7/P 2Qoj9qVf 3GmzR6LznbZOJyIg6uf7/LX5yp7XRzxY/b9jvHrWt4QH53mukybQYd925oQM51C7E/Ds1Fg9/Uhjhkqmbkx7ozJzS3+hphT9M1lSTRTRTQuu+8nCYLHbv9BE1x0r9KW3HO3zNDaUaJgX6DYBdMtI/E/H9jh7hL1XfOkVYaTnk9Mlin7QgBdWPXyRMk/Mqk55IP5R062gtMeWR/ovYwnFEUn/OKg5+vMqhllt0DyuxAzAPZ2mhRyHZAkK68gEOyfb0GBffvdvSl2zOmcpR2Bj6rWr8PWfF68k/BL5dlfvkbElH1hLb756QvqI6vN9+QK8u5P3r6db0IvttzpoiER1hJqjI8qODgxq4OmPlX8IdJCsREe4= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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 1/21/25 10:57, Mike Rapoport wrote: > In order to use execmem's API for temporal remapping of the memory > allocated from ROX cache as writable, there is a need to distinguish > between the state when the module is being formed and the state when it is > deconstructed and freed so that when module_memory_free() is called from > error paths during module loading it could restore ROX mappings. > > Replace open coded checks for MODULE_STATE_UNFORMED with a helper > function module_is_formed() and add a new MODULE_STATE_GONE that will be > set when the module is deconstructed and freed. I don't fully follow why this case requires a new module state. My understanding it that the function load_module() has the necessary context that after calling layout_and_allocate(), the updated ROX mappings need to be restored. I would then expect the function to be appropriately able to unwind this operation in case of an error. It could be done by having a helper that walks the mappings and calls execmem_restore_rox(), or if you want to keep it in module_memory_free() as done in the patch #7 then a flag could be passed down to module_deallocate() -> free_mod_mem() -> module_memory_free()? It is at least good that MODULE_STATE_GONE is only set in free_module() past the sysfs teardown, so it never shows in /sys/module//initstate. Otherwise, this would require teaching kmod about this state as well. -- Thanks, Petr