From nobody Sat May 30 17:44:41 2026 Received: from mail-yx1-f42.google.com (mail-yx1-f42.google.com [74.125.224.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4A9F4A3412 for ; Wed, 6 May 2026 18:20:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778091653; cv=none; b=ggcj7WlFbPQ0YW9Xr9fLetBa+BYH+9Lqg/KKJviyCy9wsaSdNMTCn3JCkSX4DfYcUF9/otS1x7yKrpSgLZmsK4ddcijMokUz5UgHaIjwlj2lNmyM6A9J2F7sF4GReZaIWXbmS4UDPYPMADr2xteJpyO0vO8Zw22BkRgnSBvqrAY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778091653; c=relaxed/simple; bh=r96qoJEtxIi6x6BSFWD6mxFRZtdbqcya9kKoQBtHdO8=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DAExpSbIx2xwsoIjacP0aoiGfwelM3CCUwrsGjZTMQiAMQNDGsAAwAe5nHlAEv8K2TuCIO1d6HpC9qRukJ58ffDyVl8JRfWvk3S6cn7Ob4OeXONZ7ZILuHHQcG5P4Fs2nWMt/BZxg3FoiLi0PQl7Gx8POrgrJG60vpvvRB05Ylg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com; spf=pass smtp.mailfrom=soleen.com; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b=U7j2rAOs; arc=none smtp.client-ip=74.125.224.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=soleen.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b="U7j2rAOs" Received: by mail-yx1-f42.google.com with SMTP id 956f58d0204a3-64e87a81639so6434781d50.0 for ; Wed, 06 May 2026 11:20:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; t=1778091652; x=1778696452; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=WXruPKT22GcZoZBEWo9YHDYe3HaziWhcMG5AGyP1PVk=; b=U7j2rAOsSMKRSIkewYD6YRj3Ieu2q+ZFtpxnv+ti8FKQgPX3jHys6R5JnkffOsVt0C rZ4wKHMTYeRMjjri1Uge8LXYXLde4acEtJy/EOaUevCeNcKJqyLUNPfd+dbNCE1bV4xa OmnL/LaFT3BtYqSiVItLYacZ6ICiwxadIJ0hPErxMJYl7nUFcS1e0ku2VgszEaQmvrxv FdR/gSE38okRonkGORD+/vmNlJGv02yhLRWSkOsh4IFvl89VxczzfeCJI25BBB0A1Xjp gUfBVx6GNvofxXnHkBWpmt5APnB2jGcCydcBPsPWTXWGkP4MCTpSEQnMvf7H8NE7X9Cu TEWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778091652; x=1778696452; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=WXruPKT22GcZoZBEWo9YHDYe3HaziWhcMG5AGyP1PVk=; b=m29LOwIS0GpnMOvjdw+cI1wOUA/F/pmqYWHoZA9XvwT+pju1Ov2rwGy87l87e8trLr exgPk5Uxu2c0Y0xbYMghZvodCcy1ItS7Z8aUId/8s7RCkKgVA1gulx+bnuvxufCbuqGz xGmKAm6RKNGy3TSjqYglyICxr3oXS0VDCwWGGp4HbDziikvSo07uswuiMdws2jqdoSJP Q5QC2TJKUBEZldPbP2wHMCOH2j277fGipwE71WbHZPsYIQNLcHPrREJ6QEISv1MxK2KI 8k+UdNzQsPmSXlYeYFORbNMFNojxe/B1rymRqIR60k1p0sxgdVDTlokWSeBESbAqSixU AuHg== X-Forwarded-Encrypted: i=1; AFNElJ/ObhsOpp/toY8dc3Hkc4mjX7ndC57zjSiRYioTW6zLksVXe2oe5snVUNuSmAHlUkGYJwcdotLBs8OxRhc=@vger.kernel.org X-Gm-Message-State: AOJu0YwGQ+QvlKovrlMAIyHehbFQvLIxtSXsNQYCWqqsW7ELagyX61v7 P2B9WmyH4LhR3Z9hxsPpo8tUxVFtwwBdmFLTwztN3xyJLA7SSNK1mFWlFp1BW5LVbFs= X-Gm-Gg: AeBDietMgSL3G/Kz/LhkZTVR23JF3KTK4qDKBQWaSzhmFqe1Nat5k5I+vdRE8S1L7N0 hJ7BIibha49wa48YDN5jLInvdNQX6+OBB0KsA0wCBQtRkIaxYtDiXhNfApQ9f0C865rvwigPNcd OTWhHRweBv2dGtXtlSl2ugejJLE3MXWvWN1Lf1owjLwBR+FIpkW/IUJ1xoM3ZyICCDJauja8PRE 010M0rFD1gtH/sM0O3HE1fJMsYFsFIHdbAqi8dLKYLLXoeLJsR5h94cYYA2go8tD/ds283T5g3w TwDUWMFXiAHuk9RknZp2R523OHO5BjLcklG6Uj7fSgJcKziF2v5EAN819fbm7TSzVH8MxhphrwU Etl7REeg9nnxqcnktUs4/eTHYgaljNohZJo8MXE1Dmt0pCNQFpAiXPSCkLYTW+1Ro/sTl0iZ9sc MBGAM9+CC0O/o9rSPIIMHPndpWo51HWL+qDEkE+iQbqW05lFh4ASGgfdtjB98TS1gXuc1kZmkVD c6SbUaWgsvo9htpS8hL1WxKoHRPyRixx8m66OPv5yHle/PTAIGjgmel3+Wv X-Received: by 2002:a05:690e:1408:b0:65c:468:7b6f with SMTP id 956f58d0204a3-65c79cc750amr4971855d50.25.1778091651551; Wed, 06 May 2026 11:20:51 -0700 (PDT) Received: from soleen.c.googlers.com.com (57.233.150.34.bc.googleusercontent.com. [34.150.233.57]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-65c7af9f8e7sm1389917d50.13.2026.05.06.11.20.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2026 11:20:51 -0700 (PDT) From: Pasha Tatashin To: rppt@kernel.org, sourabhjain@linux.ibm.com, jbouron@amazon.com, akpm@linux-foundation.org, linux-mm@kvack.org, bhe@redhat.com, linux-kernel@vger.kernel.org, dan.carpenter@linaro.org, pasha.tatashin@soleen.com, rafael.j.wysocki@intel.com, piliu@redhat.com, kexec@lists.infradead.org, pratyush@kernel.org, graf@amazon.com, changyuanl@google.com, mario.limonciello@amd.com Subject: [PATCH v2 1/3] kho: skip KHO data for context-preserving kexec Date: Wed, 6 May 2026 14:20:41 -0400 Message-ID: <20260506182039.2623553-6-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.54.0.545.g6539524ca2-goog In-Reply-To: <20260506182039.2623553-5-pasha.tatashin@soleen.com> References: <20260506182039.2623553-5-pasha.tatashin@soleen.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1169; i=pasha.tatashin@soleen.com; h=from:subject; bh=r96qoJEtxIi6x6BSFWD6mxFRZtdbqcya9kKoQBtHdO8=; b=owEBbQKS/ZANAwAKAbt3KEzbc3reAcsmYgBp+4Z5Tck3diRefZlq1FRnNTXoLp2lad+1ZHT3t t9owY4Y1YSJAjMEAAEKAB0WIQRBMaqT7LRvGvB/NmK7dyhM23N63gUCafuGeQAKCRC7dyhM23N6 3iGqD/9IpRjWwY21ghxceNus2gj+Qh4gN4GTyj9FXrFqEmDf1sRQDWgRDX9x9qYdMIbwCE3Am13 z5xxwWcofya6hV88JipQVuFuQneRFXnpB1YDJv1LNCtHng2Mq0Vg6RFOWgAQr3cn/ns0UcbMoqp 3h6HidKEwWa2+aIXee1PEQxeSQngYi32xbl1nA4HP2kyNW0696f13sImu6TV+KgeynuuTLxQuRO r+AeCUrLqi9yQoCW2+hDYOpVbckwDWpQ9aU+f5JMSVmTNGaxQ4MlSPdu7dluK/sZ7TXHEdlhmC1 AkfNABwGlJZsLDt+RKr/XLjg4qnSSG2+bYNApI0KFZTsQQdD02KU8Bal6DvyqzD++q/AFHWjClG +ca8YvfT9V2bubrk0a/7QVnMOqy+S5Myczv2SE0/mkxBJmoWKDeXv/ondj/RQtSRIxeyIB7Sskm 59k8x+nOoQEaDeBseXyC7KWfoHLNiLA/BTyj3VSeRLyXqoc6AYKwi00rMU745uAe0+PB1Nnzjqq klZSWk4m82q2vY3dXk1IGmuIE6QSmx9RbT7kMgnaI6MTsFC3vx1AJttSXjbZGNgqqm4ag10vnoy hZh32dsvRXwJ/O5yeRZ/VEgNPJaiIXpjNljyWKa1zPVroFsHvdGtq6Zd/4eVPdQ2wRiqC1g5iSi lYj8ob7Y4oMrD3w== X-Developer-Key: i=pasha.tatashin@soleen.com; a=openpgp; fpr=CAAAB722DD22A081F0D49F35633A6A993D43B569 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" A preserve_context kexec returns to the current kernel, which means the 2nd kernel does not use KHO data (and their memory spaces don't overlap). Passing KHO data to the 2nd kernel via setup_data or devicetree is unnecessary. Add a check in kho_fill_kimage() and return early if preserve_context is set, to avoid passing KHO state during context-preserving kexecs. Fixes: 3bdecc3c93f9 ("kexec: add KHO support to kexec file loads") Signed-off-by: Pasha Tatashin Reviewed-by: Pratyush Yadav (Google) --- kernel/liveupdate/kexec_handover.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/liveupdate/kexec_handover.c b/kernel/liveupdate/kexec_h= andover.c index 4fde8325c49f..2eec2a169c83 100644 --- a/kernel/liveupdate/kexec_handover.c +++ b/kernel/liveupdate/kexec_handover.c @@ -1702,7 +1702,8 @@ int kho_fill_kimage(struct kimage *image) int err =3D 0; struct kexec_buf scratch; =20 - if (!kho_enable || image->type =3D=3D KEXEC_TYPE_CRASH) + if (!kho_enable || image->type =3D=3D KEXEC_TYPE_CRASH || + image->preserve_context) return 0; =20 image->kho.fdt =3D virt_to_phys(kho_out.fdt); --=20 2.54.0.545.g6539524ca2-goog From nobody Sat May 30 17:44:41 2026 Received: from mail-yx1-f45.google.com (mail-yx1-f45.google.com [74.125.224.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EEB964BCAB5 for ; Wed, 6 May 2026 18:20:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778091655; cv=none; b=SyLpgJ80wVkh2uNDlk9NsSiiLxPyyW9QawMf84Qk7r8kouBve0xdQ292OAi7FVrAudoQcc1z0AugdadigdG+uhq+McHiSmJNfON2olTZE3BMp05eKR2M+Hjr/uODBJdbNipJyzV4I8VbNTMUE7OmR/Lf9ih7EkteMpAPbfVBd2U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778091655; c=relaxed/simple; bh=TWl94CwLxW3IjwCRKLhFCgMgquV90wVhjyKe40N294Y=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JFK7y+HhiR3I70xmeL4CP1Tmsa3KOSQZ154lR2SUUneZxPqrQEgvlUEJ8WFkUpjn1Mp2f3ngVe2P3OBVV9zgDlZu+En6p8g5LrlwvTuzkhRUXX2s6Jh2BHjZkVwWwy93ebVvKnrhjlmgEz7yVJOANWohIIoMWXcezYPJbVV6fOM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com; spf=pass smtp.mailfrom=soleen.com; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b=Ls9Fyqjp; arc=none smtp.client-ip=74.125.224.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=soleen.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b="Ls9Fyqjp" Received: by mail-yx1-f45.google.com with SMTP id 956f58d0204a3-64eb84d1e37so5435438d50.2 for ; Wed, 06 May 2026 11:20:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; t=1778091653; x=1778696453; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=AJmba2SxX4nhPogxtHtVcmYAhy7NbrUuv2ce99+duXI=; b=Ls9FyqjpbXbdvxM/GsqD4sCXYxZsdv9ZUeDzUNmhqwYsOyoJk8YjuSKt7khCfXGIBk zSv4r6xkWhzAiebQ0kVdgS5s+7NRo2M58TOx+ljjZtqA+YOWBTk/b00NzPndGnZDCbLZ iF311DqVFRfVVKyDWQ7xEXvYm3a3BrQ0QbA86ZFMBgW9v5YblEHpAGPvxSumXDwk8PyY FUPJvmFzWvln4iGFQFHGPtx6biYIhkdIJUZAir1ylKXs8BvbsIQLtxGckDjTNwm3IGxf f0yaCwrKvJsZ/Ys6g0OZlVqLLys9kxoqMKjCOhCPMh6j7Xh3lI/AlLOKZvA+PuBcHzBA /1mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778091653; x=1778696453; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=AJmba2SxX4nhPogxtHtVcmYAhy7NbrUuv2ce99+duXI=; b=SD6NEIexaH2pXHex+BdN7An/E8PDR6ioEGQcKKS8UcWcX/00HmEoIlbpyw7tl4GmeE M0MHVj60gt+l8c6vixlLIyGPnEzTSRpzRNBjt2yozUN+07VnwpenV1CSb8edhVD2dJtC YtCessdqPIzm71rUSdhS8oIZFDqfG0ldjq6Uss82mPLZrlHDLFs8uyx2M44+utXuUZEz gMheZ6Zq8hh7Pz9ZungUzNLQEiCq5RTx1WWDJ7lJeAs1z8sgXtpnoRXAqRqRQ7u27R0J 5VGIToHOoq4tpRolJr6hjTTkNyiMwt9kkhFGV1v8VIoB55B7FA3oXPw6Zma2F4iebQTv qxig== X-Forwarded-Encrypted: i=1; AFNElJ95SGjGB4iEmJogdtRV3Frx1warmXy7Xodt++wV+Uy45hgY42GViv5CIqKb7V+OR0paFeJfYVcmOwgPvA8=@vger.kernel.org X-Gm-Message-State: AOJu0Yxk9nVQj9KJm+uyQ1vBHpmdqvIS3Q5m7X13jALldrEDwsoO72TO qDBxPDB+silNfu5JVV8tEfvjchwBWp3y9hl0Qs+qV4HCftEbgePuuVDrcqiLx7m1ah8= X-Gm-Gg: AeBDieuHJ0UemLg/VfACMNCbS2MIbik9ii5AIvTiOa/MYRJvHpUnpS8NfzLo+6yEQaQ TBIr3184jL2pAmjB1ccwnqwh5X9UAYRyem3QMjEXl2gf1QtzG6lIbUXaq8RSoA0yiX1XQtgmv52 i5VhO205DNFsuhn7i6AJv6stZwsVqoFyJlSJPQSfGlngeBcrgdLBhnC2L2n8isPSa8Twgmpu5Ft bFSXCSBIEkwtwKAgGNQT2IKMwhAxTA/gnrPQcd2nGnyRgLRMGS1rdPe7y4Ejk8YrzTLGbBZvD4h C5tpNr2JhoZk9kVNDndMfupelS6A6/H412AXfsuOUWJsO2kQjviJw9UfYIAcc+2UDGPtNJGPkH8 CVoWHBJXBaVbdbVaShEMkGnvqIBTo9y+PhMwPJMBIgZk9Y+/Mrta0o18kvX76QW69nE/hsrI6hJ 0Q50YDnvA7GLRmU22b+uWkIxlXDvKr28PFrvOVApnpMWe4zO+VhQOtPaWQYPo/Iw7LgEMErrkaL kEtdqcGxacBB4RffbLfDU4fI3xlu0mzKhj91wk4b5o7g0q8EBJzGEN4N8x8 X-Received: by 2002:a53:df50:0:b0:65c:1a0f:d8b8 with SMTP id 956f58d0204a3-65c79905398mr3711532d50.22.1778091652897; Wed, 06 May 2026 11:20:52 -0700 (PDT) Received: from soleen.c.googlers.com.com (57.233.150.34.bc.googleusercontent.com. [34.150.233.57]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-65c7af9f8e7sm1389917d50.13.2026.05.06.11.20.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2026 11:20:52 -0700 (PDT) From: Pasha Tatashin To: rppt@kernel.org, sourabhjain@linux.ibm.com, jbouron@amazon.com, akpm@linux-foundation.org, linux-mm@kvack.org, bhe@redhat.com, linux-kernel@vger.kernel.org, dan.carpenter@linaro.org, pasha.tatashin@soleen.com, rafael.j.wysocki@intel.com, piliu@redhat.com, kexec@lists.infradead.org, pratyush@kernel.org, graf@amazon.com, changyuanl@google.com, mario.limonciello@amd.com Subject: [PATCH v2 2/3] liveupdate: skip serialization for context-preserving kexec Date: Wed, 6 May 2026 14:20:42 -0400 Message-ID: <20260506182039.2623553-7-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.54.0.545.g6539524ca2-goog In-Reply-To: <20260506182039.2623553-5-pasha.tatashin@soleen.com> References: <20260506182039.2623553-5-pasha.tatashin@soleen.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1114; i=pasha.tatashin@soleen.com; h=from:subject; bh=TWl94CwLxW3IjwCRKLhFCgMgquV90wVhjyKe40N294Y=; b=owEBbQKS/ZANAwAKAbt3KEzbc3reAcsmYgBp+4Z69J88+nkglNXrvKB3IepDP93CUFYvFWwGF oCjzLkChRuJAjMEAAEKAB0WIQRBMaqT7LRvGvB/NmK7dyhM23N63gUCafuGegAKCRC7dyhM23N6 3tuSEACovUz5sKdV9Ff958EgDEwTN/HgyvwgLP2h9YFNQzKmSyfT6D6+Dsn4VxJ2zZG22Hck4D4 euQS3vMKEpLfFbb7npsFzjo+/B/f9mxqaBYNKp++N6PKuWdM6P9Jlh55I/EN5zcemF/9+e2vXyz XJUf8EsXSMmuL6CsEySgMc6cF+8hZ9H3bUH+4vN6nWyyoe8PZD0d7Hhq9ROL+j89WDrs44hyYCr U2NpohG4vS39ANnTFjX+tYjoK3q3pfaCvFaBEEDpgwXFHIPzieU+GQX9P+sXYxqCkyA7G5xeBio MmwKpYDu3XABeRoHxXn5CZc/QwE7ztBVcotuLX7ipwqeOuVTcC+MO0uePdDW1SpfRr3wducrQR2 3+4Vst0kcLRDAIkrYAFVBGFkyxIYfZ73GrvCIqWItcGTlXIJ1CbQD8YGXa2HK4lsJmnkFe4tC59 CqZIzCPFJFe773dm0MkfzhXEnUtvGlHdNKrfGoaLH3uF8WPaR1nr/bM24yK+Ekr46sImu6zyd2v hLT45c8Ab97VfZjKtKhUZK/lQUXr9FI2xFV61Ykz7fKaSpIjlzesFHSnK+qEtnVWKMRcM8HgQj2 cg3c2Ae4UaWjuuxenxg/bfIWJD11Z8YiLY7oP8i6yZSXp9rmgahzDuHhYHvX5YC4eFTO9f6kPJl QF/P2sjJQuYmDlg== X-Developer-Key: i=pasha.tatashin@soleen.com; a=openpgp; fpr=CAAAB722DD22A081F0D49F35633A6A993D43B569 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" A preserve_context kexec returns to the current kernel, which is unrelated to live update where the state is passed to the next kernel. Skip liveupdate_reboot() in this case to avoid serialization and prevent sessions from being left in a frozen state upon return. Fixes: db8bed8082dc ("kexec: call liveupdate_reboot() before kexec") Reported-by: Oskar Gerlicz Kowalczuk Reviewed-by: Pratyush Yadav (Google) Signed-off-by: Pasha Tatashin --- kernel/kexec_core.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c index a43d2da0fe3e..dc770b9a6d05 100644 --- a/kernel/kexec_core.c +++ b/kernel/kexec_core.c @@ -1146,9 +1146,11 @@ int kernel_kexec(void) goto Unlock; } =20 - error =3D liveupdate_reboot(); - if (error) - goto Unlock; + if (!kexec_image->preserve_context) { + error =3D liveupdate_reboot(); + if (error) + goto Unlock; + } =20 #ifdef CONFIG_KEXEC_JUMP if (kexec_image->preserve_context) { --=20 2.54.0.545.g6539524ca2-goog From nobody Sat May 30 17:44:41 2026 Received: from mail-yx1-f53.google.com (mail-yx1-f53.google.com [74.125.224.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA7D54B8DDC for ; Wed, 6 May 2026 18:20:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778091656; cv=none; b=sPTVaJBOepZBL9CPygvsxh+QDu5y1LNjf4Geueb7ocIguIDERw64rcZY6AqqwT9WMdOEmZhnIsELs8dNPAHypiOQEFGdrpmX8Z+IxmSE56L7C21AqvlWsr5UD80sJIKZz1RuOKQOmvb1w+LB9/iPUK5QPEmDktE374SCAK83vsw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778091656; c=relaxed/simple; bh=9bYai8pKOAnNVwlD2anL3djes0qaooK823m/0bcYUZI=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CO4uVXJmwudu+7PpB3ilNWFc2hVfaazFSuDsaCD//PwX9pWAGFRIGfLf4x+UqP7oo1Q+y5bDrewNOK5EymarpkefnXRYr8U6q12oVyHu7UeT6+8bn2oh623Z819IcNiI55gQIFHRUbXA3nq5L07ognJ9POOP+1nfWDebCWyMjA4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com; spf=pass smtp.mailfrom=soleen.com; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b=W6lRIAmX; arc=none smtp.client-ip=74.125.224.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=soleen.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b="W6lRIAmX" Received: by mail-yx1-f53.google.com with SMTP id 956f58d0204a3-65c6a2158d3so1909168d50.3 for ; Wed, 06 May 2026 11:20:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; t=1778091654; x=1778696454; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=zeOlLbeySOVjo93lwLL44ciHnn2Ct1CFGUbHwbnHYfA=; b=W6lRIAmXejWq07ZLR/Ekurk+g2lv5u3bq9QPriJbLA23ADiEKOuL9sU78+BtMzHZVH rHo1ZqdjtxdhntZX1kcn//Vv6CiyZWxagiBMjThQ6Y1Px+pq3lltgpWSwyXpNFbhWW2z nFttWL3Vw3VPl6iAgBGoLSJ7cs1uXThwNhqldZ3lDXkbMAqPxXOhJURJS0xySt9yMDwm lhPcs1FMBdx9mE5/OS0XvOZ27hUGsdOB4GwAEqTsz9bTum7HhtaSXvgplwr14kK7nhno CRGaafyAEIb7TE+lzXVKrrwJU3BOHBMfBYv6Q1dwIynukDmULDlauVPQ5vIdm+VYKwE0 ET4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778091654; x=1778696454; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=zeOlLbeySOVjo93lwLL44ciHnn2Ct1CFGUbHwbnHYfA=; b=DGS6TpOgBFKQhuCSOEteXb5drPy25At4Z8tHUwouA5KNQy3dBP2sky7rZe0vmKVEau W9JuK6yyAnvqEEuCBGiwUhXTsBFuGFpzPfBZkBwBIH/6/jqB+i3hg13yghSqm6zO1dfG ZaH8wQjbeIOTINHR9byBmuzESbYpjsSDgdv6WtnG/XGNmxbjrhBr357lPbR1CMvc6FfQ flmKOHCOHgee0C2+wPnw6D/FG+1SUjsvx4EUmpn7hCrvFl9fJFRBkPAMcxgBtSOSur1h cdt03M50D7OApsfSzMN/jQbV2LITs69TgtavnOH6TBR2/n9ozI3a/IS9njC62aFKfltF 1qeA== X-Forwarded-Encrypted: i=1; AFNElJ/W7ISVE++lq9j54m/Wc6Ce0o7slNzupX6bRt24RfSp8xR3duElz0GXQ+HQL4SIIYmdHLdbvdtk/wCC8DM=@vger.kernel.org X-Gm-Message-State: AOJu0YxbFwtkeF98GMsNz1eHPJBAxQDiJM0X35bpbxZOqcZ5U7s2jmVd 7K9Z58BvPhYxmWbXx2tH+xU4FH1VXEE8Nou6m2dy1ytUTFxMjZz6dEnu8L/jKtGBF9Q= X-Gm-Gg: AeBDiesgv92eTfV7QcEru5kItUzD8gzZavLoRpNJAbW7b2TCardY2iUmiuW+YNhMmZT bOfCF85Gu8pS9NMZKTEI+IXIgPjXyULzTuwFnalExiQWlTjELujHdb6TmrSQTUM8/ojs3ySLy1W YcmzN9hAkz2LLtmncuenvjNrbWHdiwv5KfXrDz0ToIm19ZByjA81YCmvHkAVRD3Y5jyXRmqUMqC UfX/CSwQ/Q4JyvBHekFstggmz+Y8sgjQHlPRJ3vBOsC9+Qh5gbOEdy7WBghHss4xiJ5JnOUV6+p ETPC9IoPRLQ+0YCZLk6OYAlhUeoj5lELQfJlntOouP+IBOi1vMb6oSQzygzZjB1cCLiTLgNmdI+ Vmp103DjPgtVDTlgv1fSgn6yPCW1xVTgYzS1KF6sPdhlsdEjCjPqaKLbVD/QejUDU/8c7ZF/+p8 ff45sZ01JoGeRYqp87HCNOGuqshPzx6aM8xWJ2Y3G7QPzDH11+/fRZSbSs+60WFHTsQHVqKAy02 8zVdt2rGE2Kuh7H5G8uV/ro86da22SZyv7XyZPWiUvILGCdglQz4FXqXpQMeG6xlmyLwjE= X-Received: by 2002:a05:690e:418d:b0:657:656d:5686 with SMTP id 956f58d0204a3-65c79875ecamr4910797d50.4.1778091654158; Wed, 06 May 2026 11:20:54 -0700 (PDT) Received: from soleen.c.googlers.com.com (57.233.150.34.bc.googleusercontent.com. [34.150.233.57]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-65c7af9f8e7sm1389917d50.13.2026.05.06.11.20.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2026 11:20:53 -0700 (PDT) From: Pasha Tatashin To: rppt@kernel.org, sourabhjain@linux.ibm.com, jbouron@amazon.com, akpm@linux-foundation.org, linux-mm@kvack.org, bhe@redhat.com, linux-kernel@vger.kernel.org, dan.carpenter@linaro.org, pasha.tatashin@soleen.com, rafael.j.wysocki@intel.com, piliu@redhat.com, kexec@lists.infradead.org, pratyush@kernel.org, graf@amazon.com, changyuanl@google.com, mario.limonciello@amd.com Subject: [PATCH v2 3/3] liveupdate: block outgoing session mutations Date: Wed, 6 May 2026 14:20:43 -0400 Message-ID: <20260506182039.2623553-8-pasha.tatashin@soleen.com> X-Mailer: git-send-email 2.54.0.545.g6539524ca2-goog In-Reply-To: <20260506182039.2623553-5-pasha.tatashin@soleen.com> References: <20260506182039.2623553-5-pasha.tatashin@soleen.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2382; i=pasha.tatashin@soleen.com; h=from:subject; bh=9bYai8pKOAnNVwlD2anL3djes0qaooK823m/0bcYUZI=; b=owEBbQKS/ZANAwAKAbt3KEzbc3reAcsmYgBp+4Z7J1f7PoQHuaJFFbbJWThp8lFFG84B/LMl7 9tqkK87uKKJAjMEAAEKAB0WIQRBMaqT7LRvGvB/NmK7dyhM23N63gUCafuGewAKCRC7dyhM23N6 3u2JEACMQLgxhXLH2DdKJvtAaMwDkcMXd8y5qY4b6kqGDP9HGt5Ae/rRl+L+GRUL6wFCS+5gOQe OnusI0+diMcmjiZz5sFo7vBz/adytPClMKIvK2J1vb8PPy1dBuHrY0Z/Yx9mRrS1Ybztc2mIkwC VY4DcVknAahIhcU9pEG+HBT5oKMzP/9qf41PIcu2IR4+7xR7WAdFXO8V/wuVQ37h0BWKPgTqkU1 MeJff9gJ8v1LT3CEtxKpJzHoQE1uxEGWV6bS0f2rsoKghbd6g5tpM/eIOh+c8NC88tIBAogisFN 5Z3VUiiNsPJGjXGnKQhekZe+MesIqRlFMeGMV4YVdqVeF2T27QX+cimb1R9zA0TIGEw15TPfSFb FOmypPe7gZ/NmuSn/S6mtYqOrMAZx603SX4wAx2sYXug3n+Ts5EUaCOyv2KNCzlwslUbetOZDSd rOHMRwejCyGaHNxG2WjKPZ9XgnG7TjLGaj/Fr2Mxd5AUZljPADQnzdE5O9+QhzxuVZy5wdqGbVb zRN1VMGOUwTAYrb6t67Mof+TkqLcw8GZNBn5yCDzJroX4MSH7HO6Ura7LbyfUBFK71ijKqY7d/Z 1P/ucoMBgY9W4+Qvs2edX/vhmMxOF6s0pdCyMxVWq2Slc4+9t41J6mSzP5B/K+7BrtLw1ctQKi7 PnPocLqD+gNpV8Q== X-Developer-Key: i=pasha.tatashin@soleen.com; a=openpgp; fpr=CAAAB722DD22A081F0D49F35633A6A993D43B569 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" During the reboot() syscall, user processes may still be running concurrently and attempting to mutate sessions (e.g., adding files or closing sessions). To prevent this, hold the session header's rwsem and each session's mutex indefinitely on successful serialization. If serialization succeeds, these locks will never be released as the system transitions to the new kernel, effectively blocking any concurrent task attempting to modify or release a session. If liveupdate_reboot() fails, the locks are released in the error path, allowing normal operation to resume. Fixes: 0153094d03df ("liveupdate: luo_session: add sessions support") Reported-by: Oskar Gerlicz Kowalczuk Signed-off-by: Pasha Tatashin Reviewed-by: Pratyush Yadav (Google) --- kernel/liveupdate/luo_session.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/kernel/liveupdate/luo_session.c b/kernel/liveupdate/luo_sessio= n.c index a3327a28fc1f..12808c696def 100644 --- a/kernel/liveupdate/luo_session.c +++ b/kernel/liveupdate/luo_session.c @@ -189,14 +189,14 @@ static int luo_session_finish_one(struct luo_session = *session) static void luo_session_unfreeze_one(struct luo_session *session, struct luo_session_ser *ser) { - guard(mutex)(&session->mutex); + lockdep_assert_held(&session->mutex); luo_file_unfreeze(&session->file_set, &ser->file_set_ser); } =20 static int luo_session_freeze_one(struct luo_session *session, struct luo_session_ser *ser) { - guard(mutex)(&session->mutex); + lockdep_assert_held(&session->mutex); return luo_file_freeze(&session->file_set, &ser->file_set_ser); } =20 @@ -583,7 +583,10 @@ int luo_session_serialize(void) int i =3D 0; int err; =20 - guard(rwsem_write)(&sh->rwsem); + down_write(&sh->rwsem); + list_for_each_entry(session, &sh->list, list) + mutex_lock_nest_lock(&session->mutex, &sh->rwsem); + list_for_each_entry(session, &sh->list, list) { err =3D luo_session_freeze_one(session, &sh->ser[i]); if (err) @@ -603,6 +606,9 @@ int luo_session_serialize(void) luo_session_unfreeze_one(session, &sh->ser[i]); memset(sh->ser[i].name, 0, sizeof(sh->ser[i].name)); } + list_for_each_entry(session, &sh->list, list) + mutex_unlock(&session->mutex); + up_write(&sh->rwsem); =20 return err; } --=20 2.54.0.545.g6539524ca2-goog