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=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 BC59BC32771 for ; Wed, 15 Jan 2020 19:27:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9D04C2081E for ; Wed, 15 Jan 2020 19:27:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729160AbgAOT17 (ORCPT ); Wed, 15 Jan 2020 14:27:59 -0500 Received: from mout.kundenserver.de ([212.227.126.187]:42767 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725999AbgAOT16 (ORCPT ); Wed, 15 Jan 2020 14:27:58 -0500 Received: from mail-qt1-f175.google.com ([209.85.160.175]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.129]) with ESMTPSA (Nemesis) id 1MPXpS-1j4PGR0uxe-00Me1Z; Wed, 15 Jan 2020 20:27:57 +0100 Received: by mail-qt1-f175.google.com with SMTP id e25so5473224qtr.13; Wed, 15 Jan 2020 11:27:56 -0800 (PST) X-Gm-Message-State: APjAAAWLEulqIx7B7tp5+7XV2CGWmtgErwP2mtdWnqHt2rTFj6gs08RK 0CmYy3GVxeGnCk1MmY99qYP0JgiQ9iM7LNMTjHI= X-Google-Smtp-Source: APXvYqykSB0s6rvYmQe0FsRmHzo5ilui57+/PGk4XuP/nxJe8gVx9oYHNNcpJzIIHmSXoLWDH8AZDKjyw5exXlKcGs0= X-Received: by 2002:ac8:3a27:: with SMTP id w36mr186613qte.204.1579116476026; Wed, 15 Jan 2020 11:27:56 -0800 (PST) MIME-Version: 1.0 References: <20200115165749.145649-1-elver@google.com> In-Reply-To: <20200115165749.145649-1-elver@google.com> From: Arnd Bergmann Date: Wed, 15 Jan 2020 20:27:39 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH -rcu] asm-generic, kcsan: Add KCSAN instrumentation for bitops To: Marco Elver Cc: "Paul E. McKenney" , Andrey Konovalov , Alexander Potapenko , Dmitry Vyukov , kasan-dev , "linux-kernel@vger.kernel.org" , Michael Ellerman , christophe leroy , Daniel Axtens , linux-arch Content-Type: text/plain; charset="UTF-8" X-Provags-ID: V03:K1:YkKUpj3xwSkFfIAXmbpuL8nE9IJtvsIKwYN1OxMqtU+EjMlrFqq L8y7mP1TYaLLoj5rByrBqN68arCwTunm0jSK4POSeN/EVUzbyXjFuzs8gwKjY719nBlCZAb 4fc2vxqRO/aBN0ESQog6d9vPlA/UbncXUFbLJvncl1ojiUeXEP1E1/5PIqPse8FeBMhxYzP yCDsXkISzsvMFJvwmtR4Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:BQDfpI/qFJY=:/u/Wd4aHL4TXSOo9bePzLv EyfYG8rEzQpepeAXYkmV5FUyJg90tkSXgEnb8tHBQzUzxD9Mz+ouAf8Fh5qfNu+wfM8L5aQZ1 QMKNVRONvHi+fr3KKHrCma4mrZlckaGr3mNmO3z+oh5BsbsEuxT5c6P9PGGIWGTMJtFb5Paan 4cur8jqXT/qyslcV2JrERboJIEW5UzreBKLGmV+sIT7LuL/NJ0U7NlK1e/CJg84UKSfm+vBu7 +8VZ1l/+LK3b0tSCu+vMe0ncBQETVlbeOugiz5FZYGGb/H9OT4LmvK5jRgg941DccBNRGKcBF wF2Jz4kFvcvTvhEY0IDVOGRdBVulRU/Y9Jg42rmdsrscZjtOwWq5GHzK+n/rdzMZdKYCD0ETw PUCodamAV7eUhqu+Fbc25fqk5Umc4uO5fHg+/AvAM8gg+/xGGTGps5HbFzCK8P78dOd/5jlTW z1oqhnKQwQl/dXqETFzF0/xGCqENztVuKpLjxeFik2yvnygpqlZKQSiPIHNn17+twCegvVfYd 0pLfpStRJDRZ9D0QvEzxSTIVlSQHzR1v3vHNsYKzvmQdz54VvAwjCZzlFsMfFyzKojdwTK8YS yviSSHtpQtX/c6D14R+DMw1uj+FDN5q04vuJ5bcBmMLeBdOIZMHzszS0eEA584TaBwZITqhdv PCv/qmvj1i+Q21X8+2U5yZpPVlXy2wEjRDLfhuET1wdD1hBIpK8i2Ftm3/gR1ygqGzFANoseh Jg4qMdoB+X5bjwPgquStn33B1t/uLancmkn/rUK6RQA5LoArIyMy8gMTU1USeF/hBHsUYC5st 5PkBEoWcch3856TFyEpYboSekzp2lXl34egokwicB1bmq/bGjrBqnJi++aXuImkfgqpUoWZU0 Q/NPuz6eeLerxvIrgi4Q== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 15, 2020 at 5:58 PM Marco Elver wrote: > * set_bit - Atomically set a bit in memory > @@ -26,6 +27,7 @@ > static inline void set_bit(long nr, volatile unsigned long *addr) > { > kasan_check_write(addr + BIT_WORD(nr), sizeof(long)); > + kcsan_check_atomic_write(addr + BIT_WORD(nr), sizeof(long)); > arch_set_bit(nr, addr); > } It looks like you add a kcsan_check_atomic_write or kcsan_check_write directly next to almost any instance of kasan_check_write(). Are there any cases where we actually just need one of the two but not the other? If not, maybe it's better to rename the macro and have it do both things as needed? Arnd