Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp2414453ybt; Tue, 16 Jun 2020 05:39:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwXz9DxZznHlXmTkSUMPIT1kSASiTYsRQXJtBCMhawP6jLi2yZMNYjFzeLdjPkkGdqsimYG X-Received: by 2002:a17:906:f10a:: with SMTP id gv10mr2456322ejb.309.1592311169975; Tue, 16 Jun 2020 05:39:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592311169; cv=none; d=google.com; s=arc-20160816; b=q/PoCmiac8oEMAYVzMhkuIedOwsoJglew6ViAMAy6xqtzBiJlljUG4+EC1cq70ko9u lCPhKu0yhVjlwUKDC/YD5XOagE9r7x+XhXIhceJsXXPHE9TwPB91QzWU0tw170XOGNFi ZWh0Aq4sgIBSq5XdVD/Ufcy5AfeFc9a5kzPusT7OuMoLyFrl2CeIZnoe1XZHMszhkedQ pYuwr68pW8aJtdqi8wzk3s3Ga1ZjjRm40V5CxQ2/WtVyqCuWiYN40N/bIjeMYJMco7+B im0b/hiLJKX5E/vmMKEDE+eY94hqgWjmdMQ0s9Vgg4ugTMjeoX8dZv37SUdaxZFU4Vi5 f+Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:references :mime-version:message-id:in-reply-to:date:dkim-signature; bh=0vKWPfQjP4gTkC13b5eOTjKj/nU6f1wDicpnc57zvTg=; b=o4fDJ+KW2l4q/xlMOR3HJZRjXhG4M2L9tV9hEbNBUw0nlbsVJiuxaRsZhxZK0QCLI6 l1nNG4/VYqVf53upDVKeGkEVjFomdIZT1Tz1mNi455AC/cHMDJFy0kiFopdIMgF72zTJ 0w9ugrTpkytrCY3YE02aTBJbD0bFbIpQq8s4/b/Uorwiv8An3LGSTl1/u8Cn2IYMpTG4 dsiC4B5ziX8yv93YS3KMd6Y46dA5dscsP+1HPupWHR6/O4PZ0x7LZs3iyRzGz00A6yVd 8R3B2kkWRDGbDNcjog7g6I29FpIJMovQyltHfI4Yc0qY6tmB7Au2OpJb8aNztMmH7Vo6 Eq5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=giq6ndmK; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q7si11077622ejb.504.2020.06.16.05.39.07; Tue, 16 Jun 2020 05:39:29 -0700 (PDT) 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; dkim=pass header.i=@google.com header.s=20161025 header.b=giq6ndmK; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728753AbgFPMg7 (ORCPT + 99 others); Tue, 16 Jun 2020 08:36:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725901AbgFPMg5 (ORCPT ); Tue, 16 Jun 2020 08:36:57 -0400 Received: from mail-qv1-xf49.google.com (mail-qv1-xf49.google.com [IPv6:2607:f8b0:4864:20::f49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 57894C08C5C3 for ; Tue, 16 Jun 2020 05:36:56 -0700 (PDT) Received: by mail-qv1-xf49.google.com with SMTP id q5so15392386qvp.23 for ; Tue, 16 Jun 2020 05:36:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=0vKWPfQjP4gTkC13b5eOTjKj/nU6f1wDicpnc57zvTg=; b=giq6ndmKyvmreXndGDx+A2QGDTeljow3FJH6XZDLqx3AigSslpeOqno4UAORJukH5L 0kBOw3ib2K5RDsAUhfRC2oTZOGf5mpMYGkzpqTGu56i35awnSqZGjAXWWzp+VYeaSQju jgDqaPcmX/rZxpWATLa0XLUHbnpgDmhy1iGo/Tw86Y0GvLthN4PAbNFShEj1odt1um4v ta278Vco+vKSx4ZpIT7PyjaV7KKxWyD8wmA8PPPBWI1p8Z7hjPutgaaA4xRompBfeBAe npt4MNeJ1bRmpjjz1nszZ2uICuUqlUZkPwkH+ldPD/NXsy8Cwq5IwKGM/JhTgXWXwoF1 ULMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=0vKWPfQjP4gTkC13b5eOTjKj/nU6f1wDicpnc57zvTg=; b=gh82NWpmUxhG9ak5ujmpWXojrZgP3nPtrHgZkSMlh6hgcGNnH4MQuBOk5wrIlMZxjI +aQ/0XbChWjOB7ls1KLI+ZTTorv3LuC1/GRBx/JicevAl6P6R0g8BhmKo+Y4KRmENusb 9d8his1Gu1z3W2r6yFq8EqF+PzJP0XvIL9LuYIPnKghWZx8P1Jl0jrc3Hwv8B6pD1m/A 39W57j7BQHOLdutp+XBypgN2QxhyjeLA/EoEqoo1fjiDX2eiGNf3LS/y9e1R4yj2GCGr itHsjctw3rYn+I1yetNuAliaQnI9DMAnnyKMcZ8IfIttHTAhPDLyQtbFbrpmBMS3IMQa wXVg== X-Gm-Message-State: AOAM530D2mnNgV7htbsAyCVzlcjMAb2pVoObMkG+pJcrWrjKTACAJDco HHGiGd+C5HI55x0AIMm6qvma+fK9Qw== X-Received: by 2002:ad4:472f:: with SMTP id l15mr2030266qvz.52.1592311015499; Tue, 16 Jun 2020 05:36:55 -0700 (PDT) Date: Tue, 16 Jun 2020 14:36:22 +0200 In-Reply-To: <20200616123625.188905-1-elver@google.com> Message-Id: <20200616123625.188905-2-elver@google.com> Mime-Version: 1.0 References: <20200616123625.188905-1-elver@google.com> X-Mailer: git-send-email 2.27.0.290.gba653c62da-goog Subject: [PATCH 1/4] kcsan: Silence -Wmissing-prototypes warning with W=1 From: Marco Elver To: elver@google.com, paulmck@kernel.org Cc: dvyukov@google.com, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, kernel test robot Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The functions here should not be forward declared for explicit use elsewhere in the kernel, as they should only be emitted by the compiler due to sanitizer instrumentation. Add forward declarations a line above their definition to shut up warnings in W=1 builds. Link: https://lkml.kernel.org/r/202006060103.jSCpnV1g%lkp@intel.com Reported-by: kernel test robot Signed-off-by: Marco Elver --- kernel/kcsan/core.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kernel/kcsan/core.c b/kernel/kcsan/core.c index 15f67949d11e..1866bafda4fd 100644 --- a/kernel/kcsan/core.c +++ b/kernel/kcsan/core.c @@ -754,6 +754,7 @@ EXPORT_SYMBOL(__kcsan_check_access); */ #define DEFINE_TSAN_READ_WRITE(size) \ + void __tsan_read##size(void *ptr); \ void __tsan_read##size(void *ptr) \ { \ check_access(ptr, size, 0); \ @@ -762,6 +763,7 @@ EXPORT_SYMBOL(__kcsan_check_access); void __tsan_unaligned_read##size(void *ptr) \ __alias(__tsan_read##size); \ EXPORT_SYMBOL(__tsan_unaligned_read##size); \ + void __tsan_write##size(void *ptr); \ void __tsan_write##size(void *ptr) \ { \ check_access(ptr, size, KCSAN_ACCESS_WRITE); \ @@ -777,12 +779,14 @@ DEFINE_TSAN_READ_WRITE(4); DEFINE_TSAN_READ_WRITE(8); DEFINE_TSAN_READ_WRITE(16); +void __tsan_read_range(void *ptr, size_t size); void __tsan_read_range(void *ptr, size_t size) { check_access(ptr, size, 0); } EXPORT_SYMBOL(__tsan_read_range); +void __tsan_write_range(void *ptr, size_t size); void __tsan_write_range(void *ptr, size_t size) { check_access(ptr, size, KCSAN_ACCESS_WRITE); @@ -799,6 +803,7 @@ EXPORT_SYMBOL(__tsan_write_range); * the size-check of compiletime_assert_rwonce_type(). */ #define DEFINE_TSAN_VOLATILE_READ_WRITE(size) \ + void __tsan_volatile_read##size(void *ptr); \ void __tsan_volatile_read##size(void *ptr) \ { \ const bool is_atomic = size <= sizeof(long long) && \ @@ -811,6 +816,7 @@ EXPORT_SYMBOL(__tsan_write_range); void __tsan_unaligned_volatile_read##size(void *ptr) \ __alias(__tsan_volatile_read##size); \ EXPORT_SYMBOL(__tsan_unaligned_volatile_read##size); \ + void __tsan_volatile_write##size(void *ptr); \ void __tsan_volatile_write##size(void *ptr) \ { \ const bool is_atomic = size <= sizeof(long long) && \ @@ -836,14 +842,17 @@ DEFINE_TSAN_VOLATILE_READ_WRITE(16); * The below are not required by KCSAN, but can still be emitted by the * compiler. */ +void __tsan_func_entry(void *call_pc); void __tsan_func_entry(void *call_pc) { } EXPORT_SYMBOL(__tsan_func_entry); +void __tsan_func_exit(void); void __tsan_func_exit(void) { } EXPORT_SYMBOL(__tsan_func_exit); +void __tsan_init(void); void __tsan_init(void) { } -- 2.27.0.290.gba653c62da-goog