From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA717C4742C for ; Thu, 5 Nov 2020 22:03:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4916220739 for ; Thu, 5 Nov 2020 22:03:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604613809; bh=2+HotQE+QHTjPInTwscwXtw7Cu74cQYbDgwRy6uoWSs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=qTo2x5PAualOC0oLNyxZ4mQDoTEmxH0iLnqefQuqfAebmKk+e9scncvphVXh+T/UE QfL/A8AOfI29GwM6kJmRxllgjuFOreBBSy04bomkDJ9bftHzUcLGbkIWoTP7mYckVh 4jEE+F72gI4+ZNPVWCbRtjxmD4w65L6aVW73igoc= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732650AbgKEWD2 (ORCPT ); Thu, 5 Nov 2020 17:03:28 -0500 Received: from mail.kernel.org ([198.145.29.99]:59894 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732600AbgKEWD0 (ORCPT ); Thu, 5 Nov 2020 17:03:26 -0500 Received: from paulmck-ThinkPad-P72.home (50-39-104-11.bvtn.or.frontiernet.net [50.39.104.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9AB5120936; Thu, 5 Nov 2020 22:03:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604613805; bh=2+HotQE+QHTjPInTwscwXtw7Cu74cQYbDgwRy6uoWSs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Jpi8vFYw5w/SN0IHCGdTyQJsnIPAR4C0X0VjvEEmyz5eQPKGKJ/9TfjN1oYSAy/1o Qon0nuKQxKXefanlgU/UJuv4j7CWrAVrwMEwtooMLQqXZQ6f8XZrr/2Fku4PYfCa6t 8YBx2o49UrD6sn7/fB5nzKNEdRQOYbmQjTjF31h4= From: paulmck@kernel.org To: linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, kernel-team@fb.com, mingo@kernel.org Cc: elver@google.com, andreyknvl@google.com, glider@google.com, dvyukov@google.com, cai@lca.pw, boqun.feng@gmail.com, "Paul E . McKenney" Subject: [PATCH kcsan 2/3] kcsan: Never set up watchpoints on NULL pointers Date: Thu, 5 Nov 2020 14:03:23 -0800 Message-Id: <20201105220324.15808-2-paulmck@kernel.org> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20201105220302.GA15733@paulmck-ThinkPad-P72> References: <20201105220302.GA15733@paulmck-ThinkPad-P72> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Marco Elver Avoid setting up watchpoints on NULL pointers, as otherwise we would crash inside the KCSAN runtime (when checking for value changes) instead of the instrumented code. Because that may be confusing, skip any address less than PAGE_SIZE. Reviewed-by: Dmitry Vyukov Signed-off-by: Marco Elver Signed-off-by: Paul E. McKenney --- kernel/kcsan/encoding.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel/kcsan/encoding.h b/kernel/kcsan/encoding.h index 1a6db2f..4f73db6 100644 --- a/kernel/kcsan/encoding.h +++ b/kernel/kcsan/encoding.h @@ -48,7 +48,11 @@ static inline bool check_encodable(unsigned long addr, size_t size) { - return size <= MAX_ENCODABLE_SIZE; + /* + * While we can encode addrs= PAGE_SIZE && size <= MAX_ENCODABLE_SIZE; } static inline long -- 2.9.5