From nobody Sun Feb 8 06:54:36 2026 Received: from mail-lj1-f169.google.com (mail-lj1-f169.google.com [209.85.208.169]) (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 A065121CC4B for ; Thu, 9 Oct 2025 15:54:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760025260; cv=none; b=CUL7i48YsQb/C0iUKLxdXgcNwf6C02wozh1ODuWb/Ic2wdBz+B89+rxOXNrb4PteB3SmHT9C+lsJ5LCFUvu88V9WBGErl3080jr/U4EVFRlRZG7Wp/sV7i7EV1r/NQMYj3wMw0mEG8+d94W9TO2zGcTJ59HVBNqCsL7wacOPB3s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760025260; c=relaxed/simple; bh=YL5KR2gWXKKDOeSg1DoG1pqwjnEHg+EjdZmdVduK9Q8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=acldb206B4AuOywGQqJAddJo0LZqr1e8T1r2y5lOpE22Ae3a2l7tckVW+LuKL2krm4NAIG6QrNpOn/qOWz6LbGj/QoMhh26PG+kCj9sPirLcBNb+OJrVNA5Orl3oGCQwc8z6vHPOWfbZp4TJ2q8S7kCmUkw2PzhY0TwS5Iw7HcY= 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=cmIh6j6/; arc=none smtp.client-ip=209.85.208.169 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="cmIh6j6/" Received: by mail-lj1-f169.google.com with SMTP id 38308e7fff4ca-3682ac7f33fso13458451fa.0 for ; Thu, 09 Oct 2025 08:54:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760025257; x=1760630057; 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; bh=7fCQnX2ZVKzE0uz1WnlkQnY2HwKIpXcbR9mszFR+OOY=; b=cmIh6j6/EnPScvBlYO9Gn+VObHc3EVNKYp9stknTE5c1dvK3GiXr64YHO3q7LZuPN6 hU/sQHqPIdiMO0Nrw2D1X5n8Daa8/Up7hg8BVFGKVzXZe2sgnOgzm7v45uhg0BMiPrZd YFDM/iHwHj/LZHTvArATPnGgJh3Q5Jm2FbsIBAf/KlGKRcncTQIFQrYlXYHFPn4FwFUx /p/z8WCUNjvJ4+LADx0skvETVKcUMPxE/i5mgELY3pCYkVbiZxvyDQG2LuQRq/maKWjR drWluHpJGhE9MUP5lJmq5tnUdxWBtjz9Xd5st6Cl+ZkrArHCB773hPQXiblsFezy6Mrl hvnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760025257; x=1760630057; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7fCQnX2ZVKzE0uz1WnlkQnY2HwKIpXcbR9mszFR+OOY=; b=akwi2fPgIk1cNMeTARicTkQJCij/UZ6BfgYr19gu7id8qVuVKLM6DyZ7Mi86kPt9p6 L1QnhfQeWjrtRe1rLPoxm/zaip7fndUsUEL4PrCxetKxMMqYntvyQeZDyJhMLZ4/FDEi 2nnpLjvrVzHuspWTWzvPUjhO/pIDbR8P84Lfn1RiQnY1wOW8Q6X06I84YIUdgM2vDntu NiKTwt7448igkdabzsm3U4I0MBvCNJV3+YNRfiFoc0XOIdXHJ8l7CgYaikMVp4lBeeOB 1DxSJDdB0dSMwW6fvrfBQFEv2ioFa4y2lxoSCmR+PD3wH4X5NKRPfvQ2701YP3+FKHD0 T+yg== X-Forwarded-Encrypted: i=1; AJvYcCUaymDfyn4n4znY+3H5m8QwhvflWGwQXeu6AM4UFDaSAB5tjCW69Jwn+UBR749fKQEs2rZU2oysfVtyV8c=@vger.kernel.org X-Gm-Message-State: AOJu0Yz2UwhMsn1V+Hv5qO4p1l+3z/Pmhjungi7jAH21G73Z4zIHMiyt CBuXb/NecdY0lUw52q2uoLxvtLkrRHwQ49oOxbLp/4KqGzF6XZrhXimU X-Gm-Gg: ASbGncv3uSWBhkjQvdqeorTepXoScfvjgAQOalO1CEEfdFBCTXW2hBM/nfAWCN0kCAi MDK/jVPFXRjtvBUQ2lYw9EUDg3pkPwDamgIiu+y9uIbe9boGMRe+cQTKdrqnTiu44WAULJYa41c oinjNPKD/7woM0SLLcSajGQjOWtjzDDyCUoaRJ3SQ35iDe1U/t9JHmC+UTB4tOC0KCcQQM5QmMN IYiv1gOH+2VMTU4m5BNWLN3Z51RScL1JvWRiEqbtZe7N1evnID2RAvrPhZmmYEl0AV4DCwXJV4S KyDv7VaUGM7oyKrJJAtJdp+nI1OAxwmMtF4S/6B7Z6S7LSlGdU1POPtkWLdwiJ6Z2AuFxlQuqT8 1IfeflT+8Yt76nHjjLkvd3RWnTMc3KKEzpLxY5uBHF2Z47QZd6f0gc5/NQ9TktKRa6WUcZAzP8o HSN9ll7Lnc X-Google-Smtp-Source: AGHT+IG5zD/iaWcaQEpSQxQ0CS24v+eDZidfw5pMSXEN19I74TQY1ivV+1T/jtwqPwPDcSEDgzcY8Q== X-Received: by 2002:a05:651c:1509:b0:336:d0f8:5a7a with SMTP id 38308e7fff4ca-3760a2f9e1dmr20889251fa.6.1760025256534; Thu, 09 Oct 2025 08:54:16 -0700 (PDT) Received: from fedora (178.90.89.143.dynamic.telecom.kz. [178.90.89.143]) by smtp.googlemail.com with ESMTPSA id 38308e7fff4ca-375f3bcd2a8sm29499831fa.55.2025.10.09.08.54.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:54:16 -0700 (PDT) From: Sabyrzhan Tasbolatov To: andreyknvl@gmail.com, ryabinin.a.a@gmail.com, glider@google.com, dvyukov@google.com, vincenzo.frascino@arm.com, akpm@linux-foundation.org, bhe@redhat.com Cc: christophe.leroy@csgroup.eu, ritesh.list@gmail.com, snovitoll@gmail.com, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 1/2] kasan: remove __kasan_save_free_info wrapper Date: Thu, 9 Oct 2025 20:54:02 +0500 Message-ID: <20251009155403.1379150-2-snovitoll@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251009155403.1379150-1-snovitoll@gmail.com> References: <20251009155403.1379150-1-snovitoll@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: quoted-printable Content-Type: text/plain; charset="utf-8" We don't need a kasan_enabled() check in kasan_save_free_info() at all. Both the higher level paths (kasan_slab_free and kasan_mempool_poison_object) already contain this check. Therefore, remove the __wrapper. Signed-off-by: Sabyrzhan Tasbolatov Fixes: 1e338f4d99e6 ("kasan: introduce ARCH_DEFER_KASAN and unify static ke= y across modes") Reviewed-by: Andrey Konovalov --- mm/kasan/generic.c | 2 +- mm/kasan/kasan.h | 7 +------ mm/kasan/tags.c | 2 +- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/mm/kasan/generic.c b/mm/kasan/generic.c index b413c46b3e0..516b49accc4 100644 --- a/mm/kasan/generic.c +++ b/mm/kasan/generic.c @@ -573,7 +573,7 @@ void kasan_save_alloc_info(struct kmem_cache *cache, vo= id *object, gfp_t flags) kasan_save_track(&alloc_meta->alloc_track, flags); } =20 -void __kasan_save_free_info(struct kmem_cache *cache, void *object) +void kasan_save_free_info(struct kmem_cache *cache, void *object) { struct kasan_free_meta *free_meta; =20 diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h index 07fa7375a84..fc9169a5476 100644 --- a/mm/kasan/kasan.h +++ b/mm/kasan/kasan.h @@ -399,12 +399,7 @@ void kasan_set_track(struct kasan_track *track, depot_= stack_handle_t stack); void kasan_save_track(struct kasan_track *track, gfp_t flags); void kasan_save_alloc_info(struct kmem_cache *cache, void *object, gfp_t f= lags); =20 -void __kasan_save_free_info(struct kmem_cache *cache, void *object); -static inline void kasan_save_free_info(struct kmem_cache *cache, void *ob= ject) -{ - if (kasan_enabled()) - __kasan_save_free_info(cache, object); -} +void kasan_save_free_info(struct kmem_cache *cache, void *object); =20 #ifdef CONFIG_KASAN_GENERIC bool kasan_quarantine_put(struct kmem_cache *cache, void *object); diff --git a/mm/kasan/tags.c b/mm/kasan/tags.c index b9f31293622..d65d48b85f9 100644 --- a/mm/kasan/tags.c +++ b/mm/kasan/tags.c @@ -142,7 +142,7 @@ void kasan_save_alloc_info(struct kmem_cache *cache, vo= id *object, gfp_t flags) save_stack_info(cache, object, flags, false); } =20 -void __kasan_save_free_info(struct kmem_cache *cache, void *object) +void kasan_save_free_info(struct kmem_cache *cache, void *object) { save_stack_info(cache, object, 0, true); } --=20 2.34.1 From nobody Sun Feb 8 06:54:36 2026 Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) (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 CAC172EC57D for ; Thu, 9 Oct 2025 15:54:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760025263; cv=none; b=C9zeq99fjKoBCqZAJS2xBFm5PrVO995bVJcRsmPnd2tnQOOm/BKA4EKsiM40a5uo3inLg/klfKA1zjnui1r2rShf8nt9na7HZch4y7DnR2zOb+Nrmcs37w6Ap+aobPxtEasFe7vTll5V1L9LI3bFh1SKX3WXvm/lg/aw48KhcZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760025263; c=relaxed/simple; bh=AMqTQiS/X1x1b+tt2RsoytbW+b4db+Er5cv0AHpBPzA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dEe/AZ92cYROdfLJwhT43eAJI1I/i9CsZJvOYWq2gnc5wXKql6y+O0V7dTV0Kp+VgV+iVrKJ5utyxuGZqT7liZIgwpvTc2xeBK4t9UohCdw2rC7h5VBXQgNOWHwY69UAfTlne22NmRhvs6d+VM4rmgJXmnt9sfYOKueGPdq/orA= 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=LvccXK/m; arc=none smtp.client-ip=209.85.208.172 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="LvccXK/m" Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-363cb0cd8a1so13800831fa.2 for ; Thu, 09 Oct 2025 08:54:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760025260; x=1760630060; 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; bh=h3jD6Srgk8c77Z/UJ+8ukqBQAN6er5a/zSDavY8QJGM=; b=LvccXK/mjYo+yVxwoCKwCUFgR3Pi0r/vpz+q6ePCdMHgd7mwc48rh1Edj+Pf1oacSC W/P7ZFVgaiiCSt5vHeECfDBLIbQclxUCvZ3LmHnvfDkodsh/L/77pqTqiX90isjMmQim IGFdhxZK72+Kp1kIsdfWG0kxrE/B1wjy1OmdjjmezCq0H3q1X4ruzJaye7LaIrZsDi7e 10sJqu+5wnOgzOeMwaUvVFSEQ01A1x7Q0neFICh5KYe/sEg9gO25UP+1th1wF2PS1ggD aiAA+LjSkYXu3aAfoZnH7d+8uBxdZ6PUhC0UbOYd737Yn+CGOZxdOd/As8JFp3PEdr7z UYXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760025260; x=1760630060; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=h3jD6Srgk8c77Z/UJ+8ukqBQAN6er5a/zSDavY8QJGM=; b=V9pMXJo0QuNjRR4r4jjrskkPPOx4QrEd3vr7GX/f0ELLl9HkBmVUyyhh7tA1TYN+Ci LGBEDx5E2D7YPFryDRx/ZOqrCcL19AaWFAyX0TZgLxq/gVDZPcUGcG1nieszn6OWEMnO 090SBXgJUjDlnVkZo/dFkUqlyUyEguAigv4++MsqGAGRz5/RQn7a8cXVN0HnbJawcNEr lRtH1dVL6xjMh6By0dIyg2jPosMZDFvq+f0AkBqTTspAKDkA/HjKu0NJduVlx2PJI+rS 8nWIE0eP2U5vHNvvQWD72JLj7pmRfyzeQTeTBLWOJ4ZKQGGg1G2E5KEpNI86VuVQZABv ah6A== X-Forwarded-Encrypted: i=1; AJvYcCUUCz6nCHqkA6XNk8caFOPvNQOEnyWgM9/Rkz1d8PXbyInuIfvECwoLk/wxKh2mTkIjTjxEkKffXjlnu3w=@vger.kernel.org X-Gm-Message-State: AOJu0Yw0Wqam3jjV1QZCqSIPconaZ++fMlLy/H7SKJKn+NUiYCNPYCXY o4YDVMrJN9AoKBOLRYgprXQ8f2p6RbUsoXmEjz8JQNbAoWrbFz2nxFjp X-Gm-Gg: ASbGnctHpFQU2edTgbWoB9Stb60B+kvxdF6ylTvAeD7n0efTrfCMjCImDrLBH7UTUGb jtbBJJganWLTmXt8uV0AkOA8KBDubBaRwmMbm4yQZYY9SngwOB8buBoyQlSBqVpBqTwvUxcOyPW 2yqIw8RC+aF8q9qkqGtzkFTpUoRfVzBXic82tYT/8R17Ae4XVgjEAByYel4Pd1vAkqQWejraFfP 30L5XgOQwBbRs47NegTDv4OwUwJua5+n4GxOdVYb3RRLhFP3w5NIPexVJp3GgEei2RTcZ6rTJ6n dUVrFVgnsF+57I+xMSrphY/HtwvoSw8QmorCjKextQoFcuqVpCCYrwXGwsOuw5H/DigNSfBrzmY AZTW1TcTZ2iNObR/ikeuwYBiMl6C+lEy/DsHyznucPV4j+HsU18bQnnmYRK7Ji10D385tRxY6pg == X-Google-Smtp-Source: AGHT+IEw+s+w6dsCMs+FyUWCNhIcM01oy6wj30FcD6bZDLMLaZbzcGhDGKpIi8Zl/WSuXa35QvXIUw== X-Received: by 2002:a05:651c:2210:b0:373:a537:6a19 with SMTP id 38308e7fff4ca-37609cf869emr22052341fa.2.1760025259655; Thu, 09 Oct 2025 08:54:19 -0700 (PDT) Received: from fedora (178.90.89.143.dynamic.telecom.kz. [178.90.89.143]) by smtp.googlemail.com with ESMTPSA id 38308e7fff4ca-375f3bcd2a8sm29499831fa.55.2025.10.09.08.54.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Oct 2025 08:54:19 -0700 (PDT) From: Sabyrzhan Tasbolatov To: andreyknvl@gmail.com, ryabinin.a.a@gmail.com, glider@google.com, dvyukov@google.com, vincenzo.frascino@arm.com, akpm@linux-foundation.org, bhe@redhat.com Cc: christophe.leroy@csgroup.eu, ritesh.list@gmail.com, snovitoll@gmail.com, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 2/2] kasan: cleanup of kasan_enabled() checks Date: Thu, 9 Oct 2025 20:54:03 +0500 Message-ID: <20251009155403.1379150-3-snovitoll@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251009155403.1379150-1-snovitoll@gmail.com> References: <20251009155403.1379150-1-snovitoll@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: quoted-printable Content-Type: text/plain; charset="utf-8" Deduplication of kasan_enabled() checks which are already used by callers. * Altered functions: check_page_allocation Delete the check because callers have it already in __wrappers in include/linux/kasan.h: __kasan_kfree_large __kasan_mempool_poison_pages __kasan_mempool_poison_object kasan_populate_vmalloc, kasan_release_vmalloc Add __wrappers in include/linux/kasan.h. They are called externally in mm/vmalloc.c. __kasan_unpoison_vmalloc, __kasan_poison_vmalloc Delete checks because there're already kasan_enabled() checks in respective __wrappers in include/linux/kasan.h. release_free_meta -- Delete the check because the higher caller path has it already. See the stack trace: __kasan_slab_free -- has the check already __kasan_mempool_poison_object -- has the check already poison_slab_object kasan_save_free_info release_free_meta kasan_enabled() -- Delete here Signed-off-by: Sabyrzhan Tasbolatov Reviewed-by: Andrey Konovalov --- include/linux/kasan.h | 20 ++++++++++++++++++-- mm/kasan/common.c | 3 --- mm/kasan/generic.c | 3 --- mm/kasan/shadow.c | 20 ++++---------------- 4 files changed, 22 insertions(+), 24 deletions(-) diff --git a/include/linux/kasan.h b/include/linux/kasan.h index d12e1a5f5a9..f335c1d7b61 100644 --- a/include/linux/kasan.h +++ b/include/linux/kasan.h @@ -571,11 +571,27 @@ static inline void kasan_init_hw_tags(void) { } #if defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS) =20 void kasan_populate_early_vm_area_shadow(void *start, unsigned long size); -int kasan_populate_vmalloc(unsigned long addr, unsigned long size, gfp_t g= fp_mask); -void kasan_release_vmalloc(unsigned long start, unsigned long end, +int __kasan_populate_vmalloc(unsigned long addr, unsigned long size, gfp_t= gfp_mask); +static inline int kasan_populate_vmalloc(unsigned long addr, + unsigned long size, gfp_t gfp_mask) +{ + if (kasan_enabled()) + return __kasan_populate_vmalloc(addr, size, gfp_mask); + return 0; +} +void __kasan_release_vmalloc(unsigned long start, unsigned long end, unsigned long free_region_start, unsigned long free_region_end, unsigned long flags); +static inline void kasan_release_vmalloc(unsigned long start, unsigned lon= g end, + unsigned long free_region_start, + unsigned long free_region_end, + unsigned long flags) +{ + if (kasan_enabled()) + return __kasan_release_vmalloc(start, end, free_region_start, + free_region_end, flags); +} =20 #else /* CONFIG_KASAN_GENERIC || CONFIG_KASAN_SW_TAGS */ =20 diff --git a/mm/kasan/common.c b/mm/kasan/common.c index d4c14359fea..22e5d67ff06 100644 --- a/mm/kasan/common.c +++ b/mm/kasan/common.c @@ -305,9 +305,6 @@ bool __kasan_slab_free(struct kmem_cache *cache, void *= object, bool init, =20 static inline bool check_page_allocation(void *ptr, unsigned long ip) { - if (!kasan_enabled()) - return false; - if (ptr !=3D page_address(virt_to_head_page(ptr))) { kasan_report_invalid_free(ptr, ip, KASAN_REPORT_INVALID_FREE); return true; diff --git a/mm/kasan/generic.c b/mm/kasan/generic.c index 516b49accc4..2b8e73f5f6a 100644 --- a/mm/kasan/generic.c +++ b/mm/kasan/generic.c @@ -506,9 +506,6 @@ static void release_alloc_meta(struct kasan_alloc_meta = *meta) =20 static void release_free_meta(const void *object, struct kasan_free_meta *= meta) { - if (!kasan_enabled()) - return; - /* Check if free meta is valid. */ if (*(u8 *)kasan_mem_to_shadow(object) !=3D KASAN_SLAB_FREE_META) return; diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c index 5d2a876035d..cf842b620a2 100644 --- a/mm/kasan/shadow.c +++ b/mm/kasan/shadow.c @@ -354,7 +354,7 @@ static int ___alloc_pages_bulk(struct page **pages, int= nr_pages, gfp_t gfp_mask return 0; } =20 -static int __kasan_populate_vmalloc(unsigned long start, unsigned long end= , gfp_t gfp_mask) +static int __kasan_populate_vmalloc_do(unsigned long start, unsigned long = end, gfp_t gfp_mask) { unsigned long nr_pages, nr_total =3D PFN_UP(end - start); struct vmalloc_populate_data data; @@ -403,14 +403,11 @@ static int __kasan_populate_vmalloc(unsigned long sta= rt, unsigned long end, gfp_ return ret; } =20 -int kasan_populate_vmalloc(unsigned long addr, unsigned long size, gfp_t g= fp_mask) +int __kasan_populate_vmalloc(unsigned long addr, unsigned long size, gfp_t= gfp_mask) { unsigned long shadow_start, shadow_end; int ret; =20 - if (!kasan_enabled()) - return 0; - if (!is_vmalloc_or_module_addr((void *)addr)) return 0; =20 @@ -432,7 +429,7 @@ int kasan_populate_vmalloc(unsigned long addr, unsigned= long size, gfp_t gfp_mas shadow_start =3D PAGE_ALIGN_DOWN(shadow_start); shadow_end =3D PAGE_ALIGN(shadow_end); =20 - ret =3D __kasan_populate_vmalloc(shadow_start, shadow_end, gfp_mask); + ret =3D __kasan_populate_vmalloc_do(shadow_start, shadow_end, gfp_mask); if (ret) return ret; =20 @@ -574,7 +571,7 @@ static int kasan_depopulate_vmalloc_pte(pte_t *ptep, un= signed long addr, * pages entirely covered by the free region, we will not run in to any * trouble - any simultaneous allocations will be for disjoint regions. */ -void kasan_release_vmalloc(unsigned long start, unsigned long end, +void __kasan_release_vmalloc(unsigned long start, unsigned long end, unsigned long free_region_start, unsigned long free_region_end, unsigned long flags) @@ -583,9 +580,6 @@ void kasan_release_vmalloc(unsigned long start, unsigne= d long end, unsigned long region_start, region_end; unsigned long size; =20 - if (!kasan_enabled()) - return; - region_start =3D ALIGN(start, KASAN_MEMORY_PER_SHADOW_PAGE); region_end =3D ALIGN_DOWN(end, KASAN_MEMORY_PER_SHADOW_PAGE); =20 @@ -634,9 +628,6 @@ void *__kasan_unpoison_vmalloc(const void *start, unsig= ned long size, * with setting memory tags, so the KASAN_VMALLOC_INIT flag is ignored. */ =20 - if (!kasan_enabled()) - return (void *)start; - if (!is_vmalloc_or_module_addr(start)) return (void *)start; =20 @@ -659,9 +650,6 @@ void *__kasan_unpoison_vmalloc(const void *start, unsig= ned long size, */ void __kasan_poison_vmalloc(const void *start, unsigned long size) { - if (!kasan_enabled()) - return; - if (!is_vmalloc_or_module_addr(start)) return; =20 --=20 2.34.1