From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 5570038AC7B for ; Wed, 29 Jul 2026 03:37:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785296248; cv=none; b=MxXie95srg8vNTipWuTv1FbmMRiPoym23i6Od78hPXI7ENdMulpGtQ32bZ6rRcruoeDuTfMp2HeZkYv6R26AJ5FNS9AgucS1ZyRIeFg/PSffWayvxHIvNnWk8kuSmMDEsEQoEWS8I3okgdPwD1IxKZHRGZ6mFzl7/SVRlsM6BIg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785296248; c=relaxed/simple; bh=RWg89GanrXGaMPchZqW3No+KIDKOiHd+Uv8ubXz0dYM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=B5ZyOJh05BJ9bEukw8bMotCmFMC+p9RRut8yrlQHWgWweHYo98daM+VWeg2hpSutKqsPI1FjUzcJj5C6bNSD+Dbv2ZBcVQ1asI33cagCU5CH5r8i/fJsh6RTNzSzpY09pxOZtMwDZAQVrqOceK08r4I4UQdn7Zm9UvxhfCp12IQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IrCqnKd/; arc=none smtp.client-ip=209.85.214.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IrCqnKd/" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2ce98cb8165so5044475ad.1 for ; Tue, 28 Jul 2026 20:37:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785296247; x=1785901047; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=eQxOZCQ7b1ZQfbOfxmGvWNNQbymgGNjjs2UV3I3nla8=; b=IrCqnKd/iGOVkCMRN++oyMnR5RnvYhpxAh+3QjP8PDpPkRisUu6fiKN20yZFSwbjZS yBO4uWvLb8NgabWAfHdQ3In89I3y6q5ALpoIc3QRLNC+YElXuGuvu+YpqeW1As1394Ld 8b28GWpawmCyWRxtQK9hdI+45ADfA7hz2JWo2Kf/OkGz30ATf4kofS5c+BIQZvVUdOgM G9MccfY2Z9b+zQprK57Y8PHw3JNQsewOFaezm0OObIDUXDeFHXnMXkffwjxQbdPs5xEk KMsmaS2E3DYo8mCKrcobhpAhAEvRDhjW+fejEf1aEtJ9wVy9BYDI93bXDQwZxiKFGTIt N2Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785296247; x=1785901047; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=eQxOZCQ7b1ZQfbOfxmGvWNNQbymgGNjjs2UV3I3nla8=; b=Wl1VViVxX7AmLyTZZ/rZorFtZMvNq7of33H3PZo2BBr2JabFZGNO5J5jGT/wcPsxoj acOrsqwBHPqP5JnAbnc/HL93y+5jr4plWhRpV8jiq5ZJXo8TZTAPIDZt2N4ib7ZdFFCZ u95TQ65bWkwVQszl6EbIisMIj7gWIOZ/ZrU8+w/hArxQqY1qqOg6aHtUhtlF1IBYmSB1 H9oKo4sBTp8UxTHNxqXtcob6KHd/y1QHQvHQSpu8nqp+9xxbIt0SuZ7wBP33yHQy7HsD PHkguDmhfgvDoEiVOz7EljchUVb/WPRqjLWzvzCQIXEEoLlYGfQYhl5M/3yVpbzjvmaz 8oxg== X-Forwarded-Encrypted: i=1; AHgh+RrKOHORTe8U0heP7FTWe7FTWxpPfOnRG4Nu+uqDk1eRGoZRnKJrPR+OiSsFqv01cxnc1vMeOza1LUAFsT4=@vger.kernel.org X-Gm-Message-State: AOJu0YycPyt3tmSyc3+b35IBFbmwTQkMZc2/MYI89xBC6MeW4hlSehZo 8NnZg/i2onndB3fY7wMUQnD8r3vTW9HyL5+yP/E65wLpy9Sqvgtqg2zV X-Gm-Gg: AR+sD11WQiVrCUhmjsTZ/aB6wrNFSXPGB+bov2fpU7fRIsfpBY1E/hEYLjqg83X5zb+ sz3iUWEE3nXy+qDu3M0ptTpVnJkOEEujS55NA0PAy18r8+O5vYIw0lt72DbnQRzhN0c38DZnlZR YFP2yfOUF7Pr/sUtjBuOI+XEG4kv4Y1B3NZn8Ztt3gfnCTvcf736prOoLF/Dqn+uyCvnxU2zd2d 3APiPI1VytcyVeMR4/Su2PB7IqzMdIZX5SWE46+T7zhKv5idWy4E8feOD+wObPMdk16/t4HH4Uw AYU1E2/4rfCptrBprdsyh7obxU8aLkzPR8U+kikQ+J+AXt3bk+2pf/SuuemQpAFYAoW++z47M46 Gz0P6O1/x6Pa1fNtTsuFiQrm/8IG3VmWMDQxfZUnrNvqx0WhrAxl7FuapFWHfcvu6N2dBu95jhw iZFMwCE+TxxremW1WCgqK8ta32uT+mDXjpssGP8wb0b9+2ySrm8HKA4RQ= X-Received: by 2002:a17:903:2282:b0:2ca:53f7:3c69 with SMTP id d9443c01a7336-2d0266945f4mr7544035ad.9.1785296246599; Tue, 28 Jul 2026 20:37:26 -0700 (PDT) Received: from localhost ([2a09:bac5:42f2:1e1e::300:30]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d022a152efsm4433805ad.11.2026.07.28.20.37.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2026 20:37:26 -0700 (PDT) From: Coiby Xu To: kexec@lists.infradead.org Cc: Andrew Morton , Sourabh Jain , Baoquan He , Dave Young , Pratyush Yadav , Mike Rapoport , Pasha Tatashin , Coiby Xu , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v3 07/10] crash_dump: Improve readability of config_keys_restore_store Date: Wed, 29 Jul 2026 11:36:47 +0800 Message-ID: <20260729033654.311541-8-coiby.xu@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260729033654.311541-1-coiby.xu@gmail.com> References: <20260729033654.311541-1-coiby.xu@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit config_keys_restore_store currently doesn't validate the user input before restoring dm-crypt keys. Although it's not necessary for the case of vmcore dumping, it's better to do it for the sake of consistency and code readability. Also check the return code of restore_dm_crypt_keys_to_thread_keyring. Fixes: 62f17d9df692 ("crash_dump: retrieve dm crypt keys in kdump kernel") Signed-off-by: Coiby Xu --- kernel/crash_dump_dm_crypt.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/kernel/crash_dump_dm_crypt.c b/kernel/crash_dump_dm_crypt.c index 3ee01996778f..1f4549956824 100644 --- a/kernel/crash_dump_dm_crypt.c +++ b/kernel/crash_dump_dm_crypt.c @@ -370,12 +370,19 @@ static ssize_t config_keys_restore_show(struct config_item *item, char *page) static ssize_t config_keys_restore_store(struct config_item *item, const char *page, size_t count) { - if (!restore) - restore_dm_crypt_keys_to_thread_keyring(); + bool val; - if (kstrtobool(page, &restore)) + if (kstrtobool(page, &val)) return -EINVAL; + if (val) { + if (restore) { + pr_warn("dm-crypt keys already restored!\n"); + return count; + } else if (!restore_dm_crypt_keys_to_thread_keyring()) + restore = true; + } + return count; } -- 2.55.0