From nobody Tue Dec 16 08:58:29 2025 Received: from mail-wm1-f74.google.com (mail-wm1-f74.google.com [209.85.128.74]) (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 A200532C934 for ; Mon, 15 Dec 2025 10:12:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765793569; cv=none; b=M7epDLbxqMTs0MOwZj7qlpqtsDmr2lM0xDBtGAQ10pzzikrXtrTIeqBVSbpy5CFAQ5RMI1iy5tFyFPGtt/aWJwiavs0lIPrr4xjEN4/U8vO4JORcO+3bQY3S1U+6XUp4dkWgwzCnY7e5QUnQ5v0inlx4kQJaSVREytdDRfGlaJE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765793569; c=relaxed/simple; bh=UqT3/wpgbl7D5Ah8gT/lzqQXa/i5498DuuatCip0UAg=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=tSHlkboiKcCCto9hP5kKG0kk9Zik1Adr0N9aenlm2dkqP3mASuibJqg6/dNFRpN0RUvqTG5nmuI1j8sqFzff9FlEWm5XXF6HUQqQ9HrwlBocAM0b4jkyGVqTNiBlbfCc7MuQ+NTgJEXf640iUqIGY4PskQ1R+7HElWEwb1s4EDQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jackmanb.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=zeFTnQbD; arc=none smtp.client-ip=209.85.128.74 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=flex--jackmanb.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="zeFTnQbD" Received: by mail-wm1-f74.google.com with SMTP id 5b1f17b1804b1-477cf2230c8so32076785e9.0 for ; Mon, 15 Dec 2025 02:12:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1765793564; x=1766398364; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=uP2brnCrErMSve8D4fzLeDUYWZS9bjiXvF2HnuazcK4=; b=zeFTnQbDmr+W/NAOx+q27Y+g9BZtYOOYasQ0HacTzZeEj8LIv/pDAZ5377eEuYB5MR ATFt6Bn5FcINQ9SuX51+L4l3sAqueVOYvJ6to9tFgAVkRilOFOuakPtjHvmRg2JNcM4D laxiJmAr96eQYhNnMIDoe+CCBhUMKEy/FafFNEhgZ3nbGLTiPlLp8lxZL++M9jf7rZyR hjMSgjWeLHwooGRk1cMg6BvuKkU0wsMm/FIE9c0JJuGEIAy/vcuOmf/wYFapurUHnH7S 9aMHYoQMrv52TG91ZDKhXQYO8cUjl5lAmf6WZflaAaERM83cpRdRIr2SzpA4odRb/9EH TMWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765793564; x=1766398364; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=uP2brnCrErMSve8D4fzLeDUYWZS9bjiXvF2HnuazcK4=; b=RZv1C7bFeoeSntlnJAtyfdg0ZMSaLr09pn9Md4d8bV72cm2WQil/duxPdSLu0t9pzY +E1vWyyWlbyYPtOoUryZlaLLFcEU22gyqZCN2W/eLObJu6aSPPwgGlBFtsSFrcunZGe9 Y3WMwbY41WEfi8TUQyFCjc1nAwLQGS2DAft/NdKDUb4HSuo/D2cLi4xg+9QRF6SR9Th2 05Y2DIVEujXomX8LARL4vk2nlGMryMoMTZ3CgnMaAeALsZtjBeC8JsgznDrk4HWBVVpA 2ubaKZ5YhnLUF+W21mvjLpDvYKUHF0nTVz7vo02AbXkg3slci96nv8bt8iqPJ4ovUxlG q/FQ== X-Forwarded-Encrypted: i=1; AJvYcCV//tLsJEbFM86sbmQQMPA2qeSi4lmJfrCoNaRnj1f4UCEvcBvvGnPJrqrGkbkLqPI+4ZFMWIgxApzW3YA=@vger.kernel.org X-Gm-Message-State: AOJu0YwD2e6np3efB4tGL61ytipn5l1LBQGgFplhsfaEleO2ckQ6DS0u E/Qm2rA/a3n8k/Ol000gfh7/RMiZI360RH7ei6CjycL/S6Th4Nz9AbJvjO3h5/rMb105MHCY5sf 8XgzYSkRIc9CCBA== X-Google-Smtp-Source: AGHT+IGSbqu5xE7B4l/I8SGE+7Lkk0jHS4AQNVRVIyrK10o2tEnZX5btkplDv/DXrTHsyfvPuMNxanzYFRAiZA== X-Received: from wmgg8.prod.google.com ([2002:a05:600d:8:b0:477:93dd:bbb1]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:35c1:b0:477:7a53:f493 with SMTP id 5b1f17b1804b1-47a9ddef66emr29398925e9.23.1765793564542; Mon, 15 Dec 2025 02:12:44 -0800 (PST) Date: Mon, 15 Dec 2025 10:12:39 +0000 In-Reply-To: <20251215-gcov-inline-noinstr-v2-0-6f100b94fa99@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20251215-gcov-inline-noinstr-v2-0-6f100b94fa99@google.com> X-Mailer: b4 0.14.2 Message-ID: <20251215-gcov-inline-noinstr-v2-1-6f100b94fa99@google.com> Subject: [PATCH v2 1/3] kasan: mark !__SANITIZE_ADDRESS__ stubs __always_inline From: Brendan Jackman To: Andrey Ryabinin , Alexander Potapenko , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Marco Elver , Ard Biesheuvel Cc: kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, Brendan Jackman Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable The x86 instrumented bitops in include/asm-generic/bitops/instrumented-non-atomic.h are KASAN-instrumented via explicit calls to instrument_* functions from include/linux/instrumented.h. This bitops are used from noinstr code in __sev_es_nmi_complete(). This code avoids noinstr violations by disabling __SANITIZE_ADDRESS__ etc for the compilation unit. However, when GCOV is enabled, there can still be violations caused by the stub versions of these functions, since coverage instrumentation is injected that causes them to be out-of-lined. Fix this by just applying __always_inline. Signed-off-by: Brendan Jackman --- include/linux/kasan-checks.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/kasan-checks.h b/include/linux/kasan-checks.h index 3d6d22a25bdc391c0015a6daf2249d6bea752dcb..9aa0f1cc90133ca334afa478b5f= 762aef9e5d79c 100644 --- a/include/linux/kasan-checks.h +++ b/include/linux/kasan-checks.h @@ -37,11 +37,11 @@ static inline bool __kasan_check_write(const volatile v= oid *p, unsigned int size #define kasan_check_read __kasan_check_read #define kasan_check_write __kasan_check_write #else -static inline bool kasan_check_read(const volatile void *p, unsigned int s= ize) +static __always_inline bool kasan_check_read(const volatile void *p, unsig= ned int size) { return true; } -static inline bool kasan_check_write(const volatile void *p, unsigned int = size) +static __always_inline bool kasan_check_write(const volatile void *p, unsi= gned int size) { return true; } --=20 2.50.1