Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp4047724pxb; Tue, 26 Jan 2021 10:59:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJzaXjMkZL330qEGTdvs/fUkd3uwFZsImqUwEfnkFRilW9tLNP8yDogVGXqPOcq5ANHRwNGz X-Received: by 2002:a17:906:3ce:: with SMTP id c14mr4473642eja.497.1611687561056; Tue, 26 Jan 2021 10:59:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611687561; cv=none; d=google.com; s=arc-20160816; b=wocvZvdMZ3M9q99f636TwQsyCDtc2smvTIyZPg/ljlZwptxEUIdXDNB/gaD9WoqwLr QFrPD9Yo+1kJGKPyzL4DEMy2kiof6/+EcuHWyecsCrEQ6vA25JxmERjYRCOdp2y8aa98 4KVeeHCZ9mYsWV5t1zGKDRlT3yYwY0WlOSHMVwy3mwYuG4mOqwJXUFlTdpBRW+Yi8bi6 XiOzoK6covfpXxYIxNt/yOsAEynzpkRZZD9FgTotVDmxi/DMepDMjiwfbVDfmGCfjQo/ 2pc0fjirhkCzwY4mu/AfmL/0qmTyuYdxTsK0C/9L3IzzTjbzSLgvOHJgl3wANg2Pa6+s 1Ljw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=MpU63P9QCXbFNZr3Ba3+ncAIjniXCur25Dqj8mRe1vw=; b=B/e384kMWSFq5BssYVLZjNR+R01TXvAHe9pFtAdUxfWguus6XIBnjNmSMhUWAbc3Xk xUXJFotCy7XC932IZ97bYab2JrMa1q7k1YMWnS4Gt8khdpAjfgouHSCdyl97FvW8vXNf ic+NN4ode7L3AegvH/+NlhAR40VFPmcZUKiD9q0mTMsJ20UvV0/A4GNTE1uBMpwzfvoq 0aJkJ87rhziepzmUJX7meRLDNhEQmruZ3B1gxgu5dMqS34jREyl2T8i+RsErKccFtWVa Bh3X0MsUUBTC2tFwEFw8g3g3Bpsn4itFhJN6WFYRskRFsII8bSQfR9YdCNgZ/Y/RPrZS ULBg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id he39si7391155ejc.512.2021.01.26.10.58.52; Tue, 26 Jan 2021 10:59:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405279AbhAZNpk (ORCPT + 99 others); Tue, 26 Jan 2021 08:45:40 -0500 Received: from foss.arm.com ([217.140.110.172]:40336 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2392698AbhAZNpN (ORCPT ); Tue, 26 Jan 2021 08:45:13 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DFCFB113E; Tue, 26 Jan 2021 05:44:24 -0800 (PST) Received: from e119884-lin.cambridge.arm.com (e119884-lin.cambridge.arm.com [10.1.196.72]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 096E53F68F; Tue, 26 Jan 2021 05:44:22 -0800 (PST) From: Vincenzo Frascino To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com Cc: Vincenzo Frascino , Andrew Morton , Andrey Ryabinin , Alexander Potapenko , Dmitry Vyukov , Leon Romanovsky , Andrey Konovalov , Catalin Marinas , Will Deacon , Mark Rutland , "Paul E . McKenney" , Naresh Kamboju Subject: [PATCH v5 2/2] kasan: Make addr_has_metadata() return true for valid addresses Date: Tue, 26 Jan 2021 13:44:09 +0000 Message-Id: <20210126134409.47894-3-vincenzo.frascino@arm.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210126134409.47894-1-vincenzo.frascino@arm.com> References: <20210126134409.47894-1-vincenzo.frascino@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently, addr_has_metadata() returns true for every address. An invalid address (e.g. NULL) passed to the function when, KASAN_HW_TAGS is enabled, leads to a kernel panic. Make addr_has_metadata() return true for valid addresses only. Note: KASAN_HW_TAGS support for vmalloc will be added with a future patch. Cc: Andrey Ryabinin Cc: Alexander Potapenko Cc: Dmitry Vyukov Cc: Leon Romanovsky Cc: Andrey Konovalov Reviewed-by: Andrey Konovalov Signed-off-by: Vincenzo Frascino --- mm/kasan/kasan.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h index cc4d9e1d49b1..8c706e7652f2 100644 --- a/mm/kasan/kasan.h +++ b/mm/kasan/kasan.h @@ -209,7 +209,7 @@ bool check_memory_region(unsigned long addr, size_t size, bool write, static inline bool addr_has_metadata(const void *addr) { - return true; + return (is_vmalloc_addr(addr) || virt_addr_valid(addr)); } #endif /* CONFIG_KASAN_GENERIC || CONFIG_KASAN_SW_TAGS */ -- 2.30.0