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 AC266E77188 for ; Mon, 6 Jan 2025 19:45:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 444896B00B6; Mon, 6 Jan 2025 14:45:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3F4516B00B7; Mon, 6 Jan 2025 14:45:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2BB886B00B9; Mon, 6 Jan 2025 14:45:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 0DF256B00B6 for ; Mon, 6 Jan 2025 14:45:07 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B7839A028D for ; Mon, 6 Jan 2025 19:45:06 +0000 (UTC) X-FDA: 82978055412.01.4DFD365 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by imf24.hostedemail.com (Postfix) with ESMTP id 76D49180014 for ; Mon, 6 Jan 2025 19:45:04 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=WriLoVjG; spf=pass (imf24.hostedemail.com: domain of petr.pavlu@suse.com designates 209.85.128.50 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=1736192704; 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=0aLwuHOfqts1r2RamlRiGd6YK3rscuDAhXgMPSkYQ/I=; b=DPAX7tXR2s9HiAm9asUv5T8ynYb1axzox/Cqs4SE/RiC6e+hN/hTpZucnw7xoz/h3jqJ7y rJGBgVa5Wj/zca/Mc++PhsOSyJiq8KX1pM/13lnwaSKp3KrmK0eCOTgO5ghondb/XLjp6v W+IbVgXDgpOKDlePkTWHz/7dAPdwaXM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736192704; a=rsa-sha256; cv=none; b=ndvt5IaYfUBKVMnMdZVUiH2a1ZppzBKFfF08JCozx5oMYG6me5UBgK2DmDT4Wryb4MnOjg lNY/upiQ6LsCDa75hYDVwzBc6/7dzvDmAPWRd4gMOlxs6pb0Tq8+oDC7s6aCNvOe2cM9no 3hSwYHKKMYtuQ8nWh5iOl3xvecc+srk= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=suse.com header.s=google header.b=WriLoVjG; spf=pass (imf24.hostedemail.com: domain of petr.pavlu@suse.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=petr.pavlu@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43624b2d453so152576165e9.2 for ; Mon, 06 Jan 2025 11:45:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1736192703; x=1736797503; darn=kvack.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=0aLwuHOfqts1r2RamlRiGd6YK3rscuDAhXgMPSkYQ/I=; b=WriLoVjGVSecW3lbqI4xbxREVFD1J3cjsELEDuermMhvxBFa4h3IVDC5nCLqKYLdSV E/7ir4gAvW679LuVqpiMfrWKk8Sjlws/a+EBnifNQS5aof9aWP2rn9/0RUCLKAQz6tGQ Gmft3wjmCIs8XXqSORKmyEeYxWTIz++CNNJLyFXw4yEpPedYLljssmCFRR/9vmFAyVhx UEKz98Vq8s49U0PV7l4YTncWWclCfpTGXI8Kq6aJQyo9QNrM5tBAsfo88/USWPIq7oCd 8WRDGzmMnlEwSiXTRXCzJQshUuS6Y5lmlxdwgK4PftgeYIcA/n8plHGNl4k3MLnny3T2 ZgTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736192703; x=1736797503; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=0aLwuHOfqts1r2RamlRiGd6YK3rscuDAhXgMPSkYQ/I=; b=OfKCxKN9PhnkEcH2WpiElsUJaZLnqPAPKUn7vUe5Pwvc7e//Bkt+hRbD54SyZc+WIb PqKkRJN5Y98msUihhcjvg2fOPC18z+oPbqLw+TWJxcLwBOEs5LWrwNnVqOH8HKf8RYBA 7+flInuGCQRkdHqImArgNHS5e5Ira64BQZD7EAarG7PxKGJ9h2J1CeIx3uUQWndEXRnL MgPEFQvCEuEybG9UtU3oEPrSQ0RVPraCKP8tS6FuwpxKIVXakZsq6+DAQoQ4DZwUD+GK 6IyAPoNLxaMlKTV+nMpnfHerir1zC4GqyrgS02PSLA/ZW6WruFKZMj043f4diMWZ499o f2Tg== X-Forwarded-Encrypted: i=1; AJvYcCUz94ygWfa0MNZmd+YGPLu4AUj9C0rrt77j9VCxzcVY2sTT5WKJsBQynUR6opsgj+lroQY+5xsTtA==@kvack.org X-Gm-Message-State: AOJu0YzJVDlyihnuYLxQjn9ny2TrFmB7URjW0H6UX6Eh8+EpqA7iR4Cx gEHMVoVuKXLCi20dUqpYXKCF8iEzRZLPNucskO1APUXKAOeLMvBCfPxelXJKXyAFBAYJWVE8CPn 9 X-Gm-Gg: ASbGncsdUKeQgpe4ThTUSmxbV0AMlyFGmVdcZS7J7SH4RHDDUdArGm1wCw0aaBAvz7F /mSgXBOxPoJi8m/46YREbdG2MO11mIDcH9UlxA267yhgYZa7RGkyNySnem/30az0+l8S465RfI1 LA0Ohf1enZmOKzjkJgRoRVBFZdeKhc3jcl2Pxl+sBBkDoaO0Qt5IekNMCp/8AIzgT4xpoouDdVH 5o3LfkBXdbZWlLWdJzM2wJy1KBsUB+tgc7i91fnk54StQOXCaZ++CWii2Xb X-Google-Smtp-Source: AGHT+IH2BY0sTS8enQiAP1KtexhKyJ6/pVUM0cYmW/vvBj8QsCYf2kLQBIcE4NYHTcKNybVDe0O0QA== X-Received: by 2002:a05:600c:3b13:b0:436:488f:4f5 with SMTP id 5b1f17b1804b1-4366864420bmr511100335e9.19.1736192702985; Mon, 06 Jan 2025 11:45:02 -0800 (PST) Received: from [10.100.51.161] ([193.86.92.181]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43656b013a1sm614843995e9.11.2025.01.06.11.45.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Jan 2025 11:45:02 -0800 (PST) Message-ID: <0530eee7-f329-4786-bea3-c9c66d5f0bed@suse.com> Date: Mon, 6 Jan 2025 20:45:01 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: ROX allocations broke livepatch for modules since 6.13-rc1 From: Petr Pavlu To: rppt@kernel.org, akpm@linux-foundation.org Cc: =?UTF-8?Q?Marek_Ma=C5=9Blanka?= , mcgrof@kernel.org, regressions@lists.linux.dev, linux-modules@vger.kernel.org, linux-mm@kvack.org, live-patching@vger.kernel.org, joe.lawrence@redhat.com, jpoimboe@kernel.org, pmladek@suse.com References: Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 76D49180014 X-Stat-Signature: 6soe3hni1hb95e5s4jx7h95xnjg5ug75 X-Rspam-User: X-HE-Tag: 1736192704-349495 X-HE-Meta: U2FsdGVkX1+i+ezTOR7Jrr9chGq7AwtsiaolV8McsdzL+H4F+bMSuKiQIvsSCdD9YbA6edIhBJbwPEY1dnvUIjGDhQ7YCywff+TRkioCNSg/8VG8+WyCDBNkoC8BL6BArGHUc/RIw8dFy6mgq//F1xyjra2gclKhrBZinc86AFjhwi02uLFD+OFq9rhOVQnKld1cZWUKEAAh+2K6jkvP38v2fNoWhtpVGIE/zZFrvfvCK/tb531vI/n316l9H8FP4c99MZs0wsSRIbWTHSndy3X83N7mwwx6vvBw7gad2l+8XX2AJlSJ2Ny+32lWVVLv9wnXV+kmp+vOvfd2I9+1Izo//HmIbExjDNT8UIJNmtBQe625yMoH/kCuM5/GyzZe3bxsdNc4KHaPcUuDJGwetVSpN50PZVohpmpjSY9jLKIFsR9T36bdZKzBzSOkadhXLxMNgJPm044GCdN2yJ1av4ATCGgVALmMH+mGKj6c6AJ3gXN7MfiUHHa5jxKk6kdhpWWd08bdSMtosiERCgYGJFUPLvmdcbT97Mnpi6RYIZAbEdNZgNZIDlSmNbWSnBM+PyNU96flWhdVH7uc59QZo3UGot/mw3CCG/ZdrIFT2r1g2/CbiTRPVK5f6JPQam1adMpXXqGYRZY1rZZGl2ErrtKn/6MYnrYeXdDqB1bvfBezmJrqk9J117b29cyPIT/3vDg3lzHUb1tTIlF4R1hDnHv4f9F7cZa5G5DMBl5lIRU8ftRkucyPwL2QRfEJbwskfu7Bq0LJmMQs23ZTHBIJatPPOY7x5RseN8Jr5O+/RgcXNE2TTUT3iReolT4nHJRyGUfb6ql+O+By+v3xvRffjw/u7JiMbNk7LEAwZW3/GCGx6eZq8gyeF2+h4RDoo8zUFZ/S13LrzjPTUNiL/9U8VQcIqraD6PHJkEsDuHXHu1iS9+OPj6Xb3dT16nQZqq9b/Yhz8lYQF4QKHoeLuLt kmcynoo1 WwyfGJ69teDchDzNdFJ9fUPApoRk+chX7aWWOetpBl/+zXyVBSNsywQc8pdkLboUYENKyT8MdLysJ6ohN2rmp3i2c5fMQGlxd39qs+XjnOHuf40vjTLy2KMSefHozhMWcoX/ynZN677qoPphtnPJxMzbDEfVRUQTkBuzgJ5+OqNlWfHqaf1tSJ+U8LcvBGMeu3cD31iYfH8VSJtrmGVA1iVXstvo1xHGlZ5RVvIAJYBLGPpRkttWQrc7yvZJzd3yzTUOJcScBJ9kkbrAfWmV0TF6EvYcygojKN+5AVkp2E9Yz0FoRI7AFk2w+3dQODw1YC3SVu3GZToAL+9o4zr/NtstkwQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000015, 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/5/25 15:51, Petr Pavlu wrote: > On 12/30/24 01:09, Marek Maślanka wrote: >> Hi Mike and others, >> >> I discovered that the patch "[v7,4/8] module: prepare to handle ROX allocations >> for text" has disrupted livepatch functionality. Specifically, this occurs when >> livepatch is prepared to patch a kernel module and when the livepatch module >> contains a "special" relocation section named >> ".klp.rela.." to access local symbols. > > Thank you for the report. It is possible for me to reproduce the issue > on my system. An annoying part is to create the > .klp.rela.. data, for which I eventually used one > floating variant of klp-convert [1]. To hit the problem, must > point to an object that is different from vmlinux. Such relocations are > processed by the livepatch code later than regular module relocations, > as you pointed out after mod->rw_copy is already reset. > > I think the bug should be addressed in principle by Mike's recently > posted rework of the feature [2] but unfortunately, its current version > makes my system also unbootable [3]. A simpler fix could be: diff --git a/include/linux/module.h b/include/linux/module.h index 94acbacdcdf1..b3a643435357 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -773,7 +773,8 @@ void *__module_writable_address(struct module *mod, void *loc); static inline void *module_writable_address(struct module *mod, void *loc) { - if (!IS_ENABLED(CONFIG_ARCH_HAS_EXECMEM_ROX) || !mod) + if (!IS_ENABLED(CONFIG_ARCH_HAS_EXECMEM_ROX) || !mod || + mod->state != MODULE_STATE_UNFORMED) return loc; return __module_writable_address(mod, loc); } Hm, is it expected that Mike's rework to drop rw_copy will make it into 6.13 or should I properly post this minimal fix for review? -- Thanks, Petr