From nobody Fri Dec 19 13:24:58 2025 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) (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 5B27A314B88 for ; Tue, 16 Dec 2025 10:16:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765880210; cv=none; b=cjgPUgRiDpSMd9+f63BBl80/UxHs4HnD+Jv5t96HC8vJYHL1TRWwCkR9sDpnV7fqAMoixX8l07/INUMWy9kKe9WSSKRqy45buzazGTUM2GHTAtv9bysQKkBIgQoIAl1oohtK89uZTRG8emKbhSJrlbtVIbLI7iycW4JoVfD93C0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765880210; 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=TDIw9kuKQw85snd44s5eearHQknvof9Ul/i1/Op/y5yINfUGiqriNzZsqwVQmpXnIeOiRatcD+CeGPM102nV0Kn9s8nb/5nrQupVbi7ECC5qL7LFePOj1+ooK68Dg+CscVqpgVyZe4KuQzpijZnyJQThZq2maZ25IgY1OuFgzPg= 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=2DJ436er; arc=none smtp.client-ip=209.85.128.73 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="2DJ436er" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-47799717212so36777075e9.3 for ; Tue, 16 Dec 2025 02:16:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1765880206; x=1766485006; 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=2DJ436erVhSEPvoVwkb3qXbaBAnSf0F2gXr/uAV72oTJQqEqPyZ/l089iv16TOrRL0 Ruv4dURP8M2PomApMdYq+4aCJfdD/OIjZj7K+vby/s1SyDEs/OBBbt95Wr9mgHZWlLea ZyiUcQ4oG8JOXr+ibvUdYDzQ6xuvrzlHlcxycW83bACh0CDvS1pIK2r1+r4aoUUwaPDx ikEzpk7LkrDjrm98yXrvuqIduSKXWm0oxhEoWnpzyl1rER9V+1Cf2rph5TZB31LuCYQ1 oLdhHSTOAXqRHnzjB4UVKELWwEzeEAIvX2Y54bciA+JVWutB6KmEho+zt2ZkHU0rs/q7 jm8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765880206; x=1766485006; 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=AqhrQ9SAyuDVR9fICkF3QWGMZzNwQtyN2aZzzOqaCdcnPR4ZTHlv9VDQ6LuN/q8viZ 08U65Gosy7Ij0mRs3WtxachRXaBP6t8yQfCik76BPMuyH5tNLvZ8uryrKq6G0XF3zsVx 1h9a7Zl7pKvMtOHQsLD06BWq7Seo9/RCPcTllRyMoUf/WtDq3mZxaQf1q9maAs+rtDtW 9rjFb26cRLsQ5VRXCeaflazeJdikjDf4Dp8H4Jv+t7RH6vNQjkhNUXIP2dr/5II4W3oP prFmVCZGIXdN4kFBsZajiRSMN/9kgKq0af7tyYMt9TM2x1bqlBHigVDaJWdr5bUKijU5 hwLw== X-Forwarded-Encrypted: i=1; AJvYcCXJtP32rdzWeE7rel7mYOVB1iRxM7rweU4peF3b/HJs/Bp1RV8ran9hlb/bXMZEQSc6lLrQYc+g98CAZgg=@vger.kernel.org X-Gm-Message-State: AOJu0YwQztFqgQqhoQzGgovjuHAEE3fF7+mMCp8wGNBhk7hxK8/eYRqQ YTYzXmj2lTyw58ZP2GOL46df1zOKhok8/zGb6wKkJ9bIwnQH8l6sl2U0e1YMy20tDg0gRgT1FS3 hOfIYfdlX+K2n2w== X-Google-Smtp-Source: AGHT+IE9byNy3arFbMr8XcZNB20Awn6Uqt+GnxA9cDbawxlvEo1C+skvkh+GN9lewQ05aOKuGiox0YHCKpVs8Q== X-Received: from wmsl5.prod.google.com ([2002:a05:600c:1d05:b0:476:ddb0:2391]) (user=jackmanb job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:820f:b0:47a:829a:ebb with SMTP id 5b1f17b1804b1-47a8f90656dmr126613995e9.19.1765880205747; Tue, 16 Dec 2025 02:16:45 -0800 (PST) Date: Tue, 16 Dec 2025 10:16:34 +0000 In-Reply-To: <20251216-gcov-inline-noinstr-v3-0-10244d154451@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20251216-gcov-inline-noinstr-v3-0-10244d154451@google.com> X-Mailer: b4 0.14.2 Message-ID: <20251216-gcov-inline-noinstr-v3-1-10244d154451@google.com> Subject: [PATCH v3 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 , Andrew Morton , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, 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