From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oo1-f54.google.com (mail-oo1-f54.google.com [209.85.161.54]) (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 EF4B2248F68 for ; Fri, 27 Feb 2026 13:26:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=209.85.161.54 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772198775; cv=pass; b=XzrU+Ze7gwRkSXXYycDFym2b6+WcWO5sF49xceijHfiVxdFoVe3oUp8YcT1sVZPGoHrOFrIbmT+WtvBFaXpb2KfVRp1eh/OxPhwBJ4KnkKPWLjYvMO8OF7ZZ20XHuOSsHfqIXPe1imkduelvENd3VSWAxcgXugXfq/j+3kj8xUY= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772198775; c=relaxed/simple; bh=VDwNG4v6HLI+nVH5KLdPo0KApT5xPbldBj5L3AF/lQA=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=G2FIrk77Y1vHsqbiYk7bV6UeYe9wRKLXxQTaaETuM37tw0FaVM/ywqW+ENimMhKSB3wCF+TjPvEHwrpAMyUiUXoftkXCM0qjulz349VKj7A60wyuzn7QlAHmLEUgWd562vmej3JoIG6MH0MNoRHjtCQaxt9bJOZTv+Yk4lwvx2I= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=OENxZMjr; arc=pass smtp.client-ip=209.85.161.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="OENxZMjr" Received: by mail-oo1-f54.google.com with SMTP id 006d021491bc7-6726f320b54so942368eaf.1 for ; Fri, 27 Feb 2026 05:26:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772198773; cv=none; d=google.com; s=arc-20240605; b=PXELXY+qRdU/+JVWUOUadp6fpfR2fZDVC+DogRluoEdSStBVg1YYHJ/YmN46Tg/9L+ LA9AED9+/cgo7lhF+Pz4boDi3kObbHu96B8l08O19mHasCipJHNHaJZA6G2N9r9BV5dT eEJIvImBd6u2HpNTfHjBu9L8TD3cStsgY/Wa7oG4kV5lnVEdH9mCa6tiSI9DWIOc4pm+ 91DQwfg0aduxQFnymfxNI7CaMvLOD2jKLZJI+U/btP+PQHchGIsDp7Wu7FaXKmW9I2Vd 0UYf806YmtHbg7IyFjXnVPs3R6YdNO175vb1hDIHEZ7f1uiR0K6Cl1XqjY7H84cY+ey+ r56Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Mfk4Li2b1DY9WeZ7TXgh8JQ/TGajjPvOz3xaLQNJZoo=; fh=pA5UXk6wmbtt7zQOv2iEvxYMxGaGyBERuaRj+nEN5+Q=; b=fi4hg9xFfgajtHndRvU00TaRrggMMcx4MqqmBPXq9Cg7kxH4cJOFHBAMWwGjo+ngIE W1FLz5AoM6XSycLt6mdWk9X2BPDhr65ohUo/lC5KzbbLJ3CHui83QyrQGTtJ1CGKS7Nx KFIbQWpAU7weMqz34k2fKZ3Ipq74ZtuBjoRo/+zabOQ+gztyqfvIIoA0RZfd0lBCZM8r OUbnahzbNOvdpkAv52v4fHeLEmJuvqJikQ99OT7OaxbORmlp89tpuvRmQwYdtr8CuF1T PjZSbwMpTosSvJNGSAnssPB5NqEk546ycfSGiYqIpJ+cqKBFrlUIEq8w4wdU/+2eMyR3 4GsQ==; darn=vger.kernel.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1772198773; x=1772803573; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Mfk4Li2b1DY9WeZ7TXgh8JQ/TGajjPvOz3xaLQNJZoo=; b=OENxZMjr1+79K6sD+JgekRwhbk2Y+eBZQUmEflcerSMZzuoiF6b0G6kKgu7MDLiJB6 sWm203tcC7rYM1SrnRyWVy0pfgQ5ovUjqBcbm/CclbMRKYs3k57TJTB14B8iW+taiFYd 7u6McMjAcr5WM3A1hqQRQJD5n0RPJgWBR9SzXTtJ86uSnr4OH6yD78K4sotRvQw499gs 7ALFpb/9R19YChpVMehfs6W6iwOR6uBM9KTolrih6cb5yXWN+zPjTTpVurrhayskEG1r 3IoBPmilWZlOB/Y7hr1LhtmR/LHtzqPh5cG8/XMKdk2olSbF8mDD6Lu4d8F6HlUomiNe nhdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772198773; x=1772803573; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Mfk4Li2b1DY9WeZ7TXgh8JQ/TGajjPvOz3xaLQNJZoo=; b=UVZA3PuM8fwMDWpZ7rjIsg3qxqd67ZENKvb+YGh0MXMcXKtGjCQMSWDJFz0AIKYjHi KngM4WAZz8vLviw05UDr5TRtbRYavWU/PwopL4FdJwCwR+M733IKCmuYe2TEDPN4BqBz wS5MryrwAIFyFU3cgvDLep3rfvSjj/GQDwZb5RTyGUL/qmlrO48NoKLEp5q342Yeml4r QUxzrVEWBgQLvLu1sK5h+Tzot3s2rg6XIoQ8lA7gXzycjPrk9w83HSsYT0UUwylYj9G6 ptXKPtx2RzterL/h6cYkmvJLewRgzdoegZfRTZz0ogsS8tUtYkmTxWea4i9k0/Na1aIr fV4w== X-Forwarded-Encrypted: i=1; AJvYcCWve46K+kDezb3RPRv2KcZEBLQByDOESSxzMlPj2iTR5nJgmxANjWXdf1JamtG2CPPgUYwIUo7pzGnJEjo=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/NaKVzfGnhUd+s4Of6KPBn9nCV0h+P7WxjnqL4cYEWupQQJQU JVq7vqgQNPZ+b2DwEbRtsFblG0p5vUPnMLcEr0Gn2AtMnjqrQWb+M6Z2iFpttX7Gke471TiRpbc qAqpQPzxvPeWwmv/5HSaOolXzPAsPD1rWfkr51/Ay X-Gm-Gg: ATEYQzxciYygv6G7Lw906TrMP5LGMIq5JcK5oGx/lSdzZYaU9XhefolQ6WgCB/ttna7 xgFlhuM7AvuS96zxYYrHLtlOSJAEobp03AESsNAf8UV69gN+317ImLDmzBhFYP1++tkjvaCe7nr gbSCviOLLGlEudGPygjnBEjWOaL//RCIi6gXA+vtuRbnRPbuCx8rtQyFb1HfsZrbw2cGyxjNYMh MlbT7ty6kBc/wkb0cUv32hcX6WAPtJ0nX/p1YrfDNJCp31eHeSJwxV4G0GObHOMip0lL1m4c9PN lniZRN5zwj0LnbaF99o+HxNxofPc4i+07wQkkEB/b+2qRf9yNfw= X-Received: by 2002:a05:6820:228a:b0:662:b892:40c1 with SMTP id 006d021491bc7-679faf40534mr1561644eaf.52.1772198772372; Fri, 27 Feb 2026 05:26:12 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20260216173716.2279847-1-nogikh@google.com> In-Reply-To: <20260216173716.2279847-1-nogikh@google.com> From: Dmitry Vyukov Date: Fri, 27 Feb 2026 14:25:57 +0100 X-Gm-Features: AaiRm51FS4k8kOf7uO0kbvfFeX0fSClNoyJTiSSMW0qBp2UPnW3a0tFMNsaTgRQ Message-ID: Subject: Re: [PATCH] x86/kexec: Disable KCOV instrumentation after load_segments() To: Aleksandr Nogikh Cc: tglx@kernel.org, mingo@redhat.com, bp@alien8.de, x86@kernel.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" On Mon, 16 Feb 2026 at 18:37, Aleksandr Nogikh wrote: > > The load_segments() function changes segment registers, invalidating > GS base (which KCOV relies on for per-cpu data). When CONFIG_KCOV is > enabled, any subsequent instrumented C code call (e.g. > native_gdt_invalidate()) begins crashing the kernel in an > endless loop. > > To reproduce the problem, it's sufficient to do kexec on a > KCOV-instrumented kernel: > $ kexec -l /boot/otherKernel > $ kexec -e > > (additional problems arise when the kernel is booting into a crash > kernel) > > Disabling instrumentation for the individual functions would be too > fragile, so let's fix the bug by disabling KCOV instrumentation for > the whole machine_kexec_64.c and physaddr.c. > > The problem is not relevant for 32 bit kernels as CONFIG_KCOV is not > supported there. > > Signed-off-by: Aleksandr Nogikh > Cc: stable@vger.kernel.org Reviewed-by: Dmitry Vyukov > --- > arch/x86/kernel/Makefile | 4 ++++ > arch/x86/mm/Makefile | 4 ++++ > 2 files changed, 8 insertions(+) > > diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile > index e9aeeeafad173..5703fa6027866 100644 > --- a/arch/x86/kernel/Makefile > +++ b/arch/x86/kernel/Makefile > @@ -43,6 +43,10 @@ KCOV_INSTRUMENT_dumpstack_$(BITS).o := n > KCOV_INSTRUMENT_unwind_orc.o := n > KCOV_INSTRUMENT_unwind_frame.o := n > KCOV_INSTRUMENT_unwind_guess.o := n > +# When a kexec kernel is loaded, calling load_segments() breaks all > +# subsequent KCOV instrumentation until new kernel takes control. > +# Keep KCOV instrumentation disabled to prevent kernel crashes. > +KCOV_INSTRUMENT_machine_kexec_64.o := n > > CFLAGS_head32.o := -fno-stack-protector > CFLAGS_head64.o := -fno-stack-protector > diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile > index 5b9908f13dcfd..a678a38a40266 100644 > --- a/arch/x86/mm/Makefile > +++ b/arch/x86/mm/Makefile > @@ -4,6 +4,10 @@ KCOV_INSTRUMENT_tlb.o := n > KCOV_INSTRUMENT_mem_encrypt.o := n > KCOV_INSTRUMENT_mem_encrypt_amd.o := n > KCOV_INSTRUMENT_pgprot.o := n > +# When a kexec kernel is loaded, calling load_segments() breaks all > +# subsequent KCOV instrumentation until new kernel takes control. > +# Keep KCOV instrumentation disabled to prevent kernel crashes. > +KCOV_INSTRUMENT_physaddr.o := n > > KASAN_SANITIZE_mem_encrypt.o := n > KASAN_SANITIZE_mem_encrypt_amd.o := n > -- > 2.53.0.273.g2a3d683680-goog >