LKML Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH kcsan 0/10] KCSAN updates for v5.9
@ 2020-06-23  0:43 Paul E. McKenney
  2020-06-23  6:31 ` Marco Elver
  2020-06-24 19:02 ` Paul E. McKenney
  0 siblings, 2 replies; 10+ messages in thread
From: Paul E. McKenney @ 2020-06-23  0:43 UTC (permalink / raw)
  To: linux-kernel, kasan-dev, kernel-team, mingo
  Cc: elver, andreyknvl, glider, dvyukov, cai, boqun.feng

Hello!

This series provides KCSAN updates:

1.	Annotate a data race in vm_area_dup(), courtesy of Qian Cai.

2.	x86/mm/pat: Mark an intentional data race, courtesy of Qian Cai.

3.	Add ASSERT_EXCLUSIVE_ACCESS() to __list_splice_init_rcu().

4.	Add test suite, courtesy of Marco Elver.

5.	locking/osq_lock: Annotate a data race in osq_lock.

6.	Prefer '__no_kcsan inline' in test, courtesy of Marco Elver.

7.	Silence -Wmissing-prototypes warning with W=1, courtesy of Qian Cai.

8.	Rename test.c to selftest.c, courtesy of Marco Elver.

9.	Remove existing special atomic rules, courtesy of Marco Elver.

10.	Add jiffies test to test suite, courtesy of Marco Elver.

							Thanx, Paul

------------------------------------------------------------------------

 arch/x86/mm/pat/set_memory.c |    2 
 include/linux/rculist.h      |    2 
 kernel/fork.c                |    8 
 kernel/kcsan/Makefile        |    5 
 kernel/kcsan/atomic.h        |    6 
 kernel/kcsan/core.c          |    9 
 kernel/kcsan/kcsan-test.c    | 1111 ++++++++++++++++++++++++++++++++++++++++++-
 kernel/kcsan/selftest.c      |    1 
 kernel/locking/osq_lock.c    |    6 
 lib/Kconfig.kcsan            |   23 
 10 files changed, 1161 insertions(+), 12 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH kcsan 0/10] KCSAN updates for v5.9
  2020-06-23  0:43 [PATCH kcsan 0/10] KCSAN updates for v5.9 Paul E. McKenney
@ 2020-06-23  6:31 ` Marco Elver
  2020-06-23 13:43   ` Paul E. McKenney
  2020-06-24 19:02 ` Paul E. McKenney
  1 sibling, 1 reply; 10+ messages in thread
From: Marco Elver @ 2020-06-23  6:31 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: LKML, kasan-dev, kernel-team, Ingo Molnar, Andrey Konovalov,
	Alexander Potapenko, Dmitry Vyukov, Qian Cai, Boqun Feng

On Tue, 23 Jun 2020 at 02:43, Paul E. McKenney <paulmck@kernel.org> wrote:
>
> Hello!
>
> This series provides KCSAN updates:
>
> 1.      Annotate a data race in vm_area_dup(), courtesy of Qian Cai.
>
> 2.      x86/mm/pat: Mark an intentional data race, courtesy of Qian Cai.
>
> 3.      Add ASSERT_EXCLUSIVE_ACCESS() to __list_splice_init_rcu().
>
> 4.      Add test suite, courtesy of Marco Elver.
>
> 5.      locking/osq_lock: Annotate a data race in osq_lock.
>
> 6.      Prefer '__no_kcsan inline' in test, courtesy of Marco Elver.
>
> 7.      Silence -Wmissing-prototypes warning with W=1, courtesy of Qian Cai.
>
> 8.      Rename test.c to selftest.c, courtesy of Marco Elver.
>
> 9.      Remove existing special atomic rules, courtesy of Marco Elver.
>
> 10.     Add jiffies test to test suite, courtesy of Marco Elver.

Do we want GCC support back for 5.9?

   https://lkml.kernel.org/r/20200618093118.247375-1-elver@google.com

I was hoping it could go into 5.9, because it makes a big difference
in terms of usability as it provides more compiler choice. The only
significant change for GCC support is the addition of the checking of
(CC_IS_GCC && (....)).

Thanks,
-- Marco

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH kcsan 0/10] KCSAN updates for v5.9
  2020-06-23  6:31 ` Marco Elver
@ 2020-06-23 13:43   ` Paul E. McKenney
  2020-06-23 15:06     ` Marco Elver
  0 siblings, 1 reply; 10+ messages in thread
From: Paul E. McKenney @ 2020-06-23 13:43 UTC (permalink / raw)
  To: Marco Elver
  Cc: LKML, kasan-dev, kernel-team, Ingo Molnar, Andrey Konovalov,
	Alexander Potapenko, Dmitry Vyukov, Qian Cai, Boqun Feng

On Tue, Jun 23, 2020 at 08:31:15AM +0200, Marco Elver wrote:
> On Tue, 23 Jun 2020 at 02:43, Paul E. McKenney <paulmck@kernel.org> wrote:
> >
> > Hello!
> >
> > This series provides KCSAN updates:
> >
> > 1.      Annotate a data race in vm_area_dup(), courtesy of Qian Cai.
> >
> > 2.      x86/mm/pat: Mark an intentional data race, courtesy of Qian Cai.
> >
> > 3.      Add ASSERT_EXCLUSIVE_ACCESS() to __list_splice_init_rcu().
> >
> > 4.      Add test suite, courtesy of Marco Elver.
> >
> > 5.      locking/osq_lock: Annotate a data race in osq_lock.
> >
> > 6.      Prefer '__no_kcsan inline' in test, courtesy of Marco Elver.
> >
> > 7.      Silence -Wmissing-prototypes warning with W=1, courtesy of Qian Cai.
> >
> > 8.      Rename test.c to selftest.c, courtesy of Marco Elver.
> >
> > 9.      Remove existing special atomic rules, courtesy of Marco Elver.
> >
> > 10.     Add jiffies test to test suite, courtesy of Marco Elver.
> 
> Do we want GCC support back for 5.9?
> 
>    https://lkml.kernel.org/r/20200618093118.247375-1-elver@google.com
> 
> I was hoping it could go into 5.9, because it makes a big difference
> in terms of usability as it provides more compiler choice. The only
> significant change for GCC support is the addition of the checking of
> (CC_IS_GCC && (....)).

Very good, I will rebase the following into the KCSAN branch for v5.9:

	3e490e3 kcsan: Re-add GCC as a supported compiler
	03296de kcsan: Simplify compiler flags
	d831090 kcsan: Disable branch tracing in core runtime

Please let me know if any other adjustments are needed.

							Thanx, Paul

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH kcsan 0/10] KCSAN updates for v5.9
  2020-06-23 13:43   ` Paul E. McKenney
@ 2020-06-23 15:06     ` Marco Elver
  2020-06-23 16:31       ` Paul E. McKenney
  0 siblings, 1 reply; 10+ messages in thread
From: Marco Elver @ 2020-06-23 15:06 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: LKML, kasan-dev, kernel-team, Ingo Molnar, Andrey Konovalov,
	Alexander Potapenko, Dmitry Vyukov, Qian Cai, Boqun Feng

On Tue, 23 Jun 2020 at 15:43, Paul E. McKenney <paulmck@kernel.org> wrote:
>
> On Tue, Jun 23, 2020 at 08:31:15AM +0200, Marco Elver wrote:
> > On Tue, 23 Jun 2020 at 02:43, Paul E. McKenney <paulmck@kernel.org> wrote:
> > >
> > > Hello!
> > >
> > > This series provides KCSAN updates:
> > >
> > > 1.      Annotate a data race in vm_area_dup(), courtesy of Qian Cai.
> > >
> > > 2.      x86/mm/pat: Mark an intentional data race, courtesy of Qian Cai.
> > >
> > > 3.      Add ASSERT_EXCLUSIVE_ACCESS() to __list_splice_init_rcu().
> > >
> > > 4.      Add test suite, courtesy of Marco Elver.
> > >
> > > 5.      locking/osq_lock: Annotate a data race in osq_lock.
> > >
> > > 6.      Prefer '__no_kcsan inline' in test, courtesy of Marco Elver.
> > >
> > > 7.      Silence -Wmissing-prototypes warning with W=1, courtesy of Qian Cai.
> > >
> > > 8.      Rename test.c to selftest.c, courtesy of Marco Elver.
> > >
> > > 9.      Remove existing special atomic rules, courtesy of Marco Elver.
> > >
> > > 10.     Add jiffies test to test suite, courtesy of Marco Elver.
> >
> > Do we want GCC support back for 5.9?
> >
> >    https://lkml.kernel.org/r/20200618093118.247375-1-elver@google.com
> >
> > I was hoping it could go into 5.9, because it makes a big difference
> > in terms of usability as it provides more compiler choice. The only
> > significant change for GCC support is the addition of the checking of
> > (CC_IS_GCC && (....)).
>
> Very good, I will rebase the following into the KCSAN branch for v5.9:
>
>         3e490e3 kcsan: Re-add GCC as a supported compiler
>         03296de kcsan: Simplify compiler flags
>         d831090 kcsan: Disable branch tracing in core runtime
>
> Please let me know if any other adjustments are needed.

Looks good to me, thank you!

Thanks,
-- Marco

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH kcsan 0/10] KCSAN updates for v5.9
  2020-06-23 15:06     ` Marco Elver
@ 2020-06-23 16:31       ` Paul E. McKenney
  0 siblings, 0 replies; 10+ messages in thread
From: Paul E. McKenney @ 2020-06-23 16:31 UTC (permalink / raw)
  To: Marco Elver
  Cc: LKML, kasan-dev, kernel-team, Ingo Molnar, Andrey Konovalov,
	Alexander Potapenko, Dmitry Vyukov, Qian Cai, Boqun Feng

On Tue, Jun 23, 2020 at 05:06:26PM +0200, Marco Elver wrote:
> On Tue, 23 Jun 2020 at 15:43, Paul E. McKenney <paulmck@kernel.org> wrote:
> >
> > On Tue, Jun 23, 2020 at 08:31:15AM +0200, Marco Elver wrote:
> > > On Tue, 23 Jun 2020 at 02:43, Paul E. McKenney <paulmck@kernel.org> wrote:
> > > >
> > > > Hello!
> > > >
> > > > This series provides KCSAN updates:
> > > >
> > > > 1.      Annotate a data race in vm_area_dup(), courtesy of Qian Cai.
> > > >
> > > > 2.      x86/mm/pat: Mark an intentional data race, courtesy of Qian Cai.
> > > >
> > > > 3.      Add ASSERT_EXCLUSIVE_ACCESS() to __list_splice_init_rcu().
> > > >
> > > > 4.      Add test suite, courtesy of Marco Elver.
> > > >
> > > > 5.      locking/osq_lock: Annotate a data race in osq_lock.
> > > >
> > > > 6.      Prefer '__no_kcsan inline' in test, courtesy of Marco Elver.
> > > >
> > > > 7.      Silence -Wmissing-prototypes warning with W=1, courtesy of Qian Cai.
> > > >
> > > > 8.      Rename test.c to selftest.c, courtesy of Marco Elver.
> > > >
> > > > 9.      Remove existing special atomic rules, courtesy of Marco Elver.
> > > >
> > > > 10.     Add jiffies test to test suite, courtesy of Marco Elver.
> > >
> > > Do we want GCC support back for 5.9?
> > >
> > >    https://lkml.kernel.org/r/20200618093118.247375-1-elver@google.com
> > >
> > > I was hoping it could go into 5.9, because it makes a big difference
> > > in terms of usability as it provides more compiler choice. The only
> > > significant change for GCC support is the addition of the checking of
> > > (CC_IS_GCC && (....)).
> >
> > Very good, I will rebase the following into the KCSAN branch for v5.9:
> >
> >         3e490e3 kcsan: Re-add GCC as a supported compiler
> >         03296de kcsan: Simplify compiler flags
> >         d831090 kcsan: Disable branch tracing in core runtime
> >
> > Please let me know if any other adjustments are needed.
> 
> Looks good to me, thank you!

And updated on the "dev" branch of -rcu.

							Thanx, Paul

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH kcsan 0/10] KCSAN updates for v5.9
  2020-06-23  0:43 [PATCH kcsan 0/10] KCSAN updates for v5.9 Paul E. McKenney
  2020-06-23  6:31 ` Marco Elver
@ 2020-06-24 19:02 ` Paul E. McKenney
  2020-06-24 19:03   ` [PATCH kcsan 1/3] kcsan: Re-add GCC as a supported compiler paulmck
                     ` (3 more replies)
  1 sibling, 4 replies; 10+ messages in thread
From: Paul E. McKenney @ 2020-06-24 19:02 UTC (permalink / raw)
  To: linux-kernel, kasan-dev, kernel-team, mingo
  Cc: elver, andreyknvl, glider, dvyukov, cai, boqun.feng

On Mon, Jun 22, 2020 at 05:43:10PM -0700, Paul E. McKenney wrote:
> Hello!
> 
> This series provides KCSAN updates:

And three more, so that GCC can join Clang in the KCSAN fun.

> 1.	Annotate a data race in vm_area_dup(), courtesy of Qian Cai.
> 
> 2.	x86/mm/pat: Mark an intentional data race, courtesy of Qian Cai.
> 
> 3.	Add ASSERT_EXCLUSIVE_ACCESS() to __list_splice_init_rcu().
> 
> 4.	Add test suite, courtesy of Marco Elver.
> 
> 5.	locking/osq_lock: Annotate a data race in osq_lock.
> 
> 6.	Prefer '__no_kcsan inline' in test, courtesy of Marco Elver.
> 
> 7.	Silence -Wmissing-prototypes warning with W=1, courtesy of Qian Cai.
> 
> 8.	Rename test.c to selftest.c, courtesy of Marco Elver.
> 
> 9.	Remove existing special atomic rules, courtesy of Marco Elver.
> 
> 10.	Add jiffies test to test suite, courtesy of Marco Elver.

11.	Re-add GCC as a supported compiler.

12.	Simplify compiler flags.

13.	Disable branch tracing in core runtime.

Please note that using GCC for KCSAN requires building your own compiler
from recent mainline.

							Thanx, Paul

------------------------------------------------------------------------
The added three (#11-#13) only:
------------------------------------------------------------------------

 Documentation/dev-tools/kcsan.rst |    3 ++-
 kernel/kcsan/Makefile             |    6 +++---
 lib/Kconfig.kcsan                 |    3 ++-
 scripts/Makefile.kcsan            |    2 +-
 4 files changed, 8 insertions(+), 6 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH kcsan 1/3] kcsan: Re-add GCC as a supported compiler
  2020-06-24 19:02 ` Paul E. McKenney
@ 2020-06-24 19:03   ` paulmck
  2020-06-24 19:03   ` [PATCH kcsan 2/3] kcsan: Simplify compiler flags paulmck
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: paulmck @ 2020-06-24 19:03 UTC (permalink / raw)
  To: linux-kernel, kasan-dev, kernel-team, mingo
  Cc: elver, andreyknvl, glider, dvyukov, cai, boqun.feng,
	Martin Liska, Paul E . McKenney

From: Marco Elver <elver@google.com>

GCC version 11 recently implemented all requirements to correctly
support KCSAN:

1. Correct no_sanitize-attribute inlining behaviour:
   https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=4089df8ef4a63126b0774c39b6638845244c20d2

2. --param=tsan-distinguish-volatile
   https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=ab2789ec507a94f1a75a6534bca51c7b39037ce0

3. --param=tsan-instrument-func-entry-exit
   https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=06712fc68dc9843d9af7c7ac10047f49d305ad76

Therefore, we can re-enable GCC for KCSAN, and document the new compiler
requirements.

Signed-off-by: Marco Elver <elver@google.com>
Cc: Martin Liska <mliska@suse.cz>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 Documentation/dev-tools/kcsan.rst | 3 ++-
 lib/Kconfig.kcsan                 | 3 ++-
 scripts/Makefile.kcsan            | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Documentation/dev-tools/kcsan.rst b/Documentation/dev-tools/kcsan.rst
index ce4bbd9..8fa0dd6 100644
--- a/Documentation/dev-tools/kcsan.rst
+++ b/Documentation/dev-tools/kcsan.rst
@@ -8,7 +8,8 @@ approach to detect races. KCSAN's primary purpose is to detect `data races`_.
 Usage
 -----
 
-KCSAN requires Clang version 11 or later.
+KCSAN is supported by both GCC and Clang. With GCC we require version 11 or
+later, and with Clang also require version 11 or later.
 
 To enable KCSAN configure the kernel with::
 
diff --git a/lib/Kconfig.kcsan b/lib/Kconfig.kcsan
index 3f3b5bc..3d282d5 100644
--- a/lib/Kconfig.kcsan
+++ b/lib/Kconfig.kcsan
@@ -4,7 +4,8 @@ config HAVE_ARCH_KCSAN
 	bool
 
 config HAVE_KCSAN_COMPILER
-	def_bool CC_IS_CLANG && $(cc-option,-fsanitize=thread -mllvm -tsan-distinguish-volatile=1)
+	def_bool (CC_IS_CLANG && $(cc-option,-fsanitize=thread -mllvm -tsan-distinguish-volatile=1)) || \
+		 (CC_IS_GCC && $(cc-option,-fsanitize=thread --param tsan-distinguish-volatile=1))
 	help
 	  For the list of compilers that support KCSAN, please see
 	  <file:Documentation/dev-tools/kcsan.rst>.
diff --git a/scripts/Makefile.kcsan b/scripts/Makefile.kcsan
index bd4da1a..dd66206 100644
--- a/scripts/Makefile.kcsan
+++ b/scripts/Makefile.kcsan
@@ -6,7 +6,7 @@ ifdef CONFIG_KCSAN
 ifdef CONFIG_CC_IS_CLANG
 cc-param = -mllvm -$(1)
 else
-cc-param = --param -$(1)
+cc-param = --param $(1)
 endif
 
 # Keep most options here optional, to allow enabling more compilers if absence
-- 
2.9.5


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH kcsan 2/3] kcsan: Simplify compiler flags
  2020-06-24 19:02 ` Paul E. McKenney
  2020-06-24 19:03   ` [PATCH kcsan 1/3] kcsan: Re-add GCC as a supported compiler paulmck
@ 2020-06-24 19:03   ` paulmck
  2020-06-24 19:03   ` [PATCH kcsan 3/3] kcsan: Disable branch tracing in core runtime paulmck
  2020-06-24 20:08   ` [PATCH kcsan 0/10] KCSAN updates for v5.9 Paul E. McKenney
  3 siblings, 0 replies; 10+ messages in thread
From: paulmck @ 2020-06-24 19:03 UTC (permalink / raw)
  To: linux-kernel, kasan-dev, kernel-team, mingo
  Cc: elver, andreyknvl, glider, dvyukov, cai, boqun.feng, Paul E . McKenney

From: Marco Elver <elver@google.com>

Simplify the set of compiler flags for the runtime by removing cc-option
from -fno-stack-protector, because all supported compilers support it.
This saves us one compiler invocation during build.

Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 kernel/kcsan/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/kcsan/Makefile b/kernel/kcsan/Makefile
index 092ce58..fea064a 100644
--- a/kernel/kcsan/Makefile
+++ b/kernel/kcsan/Makefile
@@ -7,8 +7,8 @@ CFLAGS_REMOVE_core.o = $(CC_FLAGS_FTRACE)
 CFLAGS_REMOVE_debugfs.o = $(CC_FLAGS_FTRACE)
 CFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE)
 
-CFLAGS_core.o := $(call cc-option,-fno-conserve-stack,) \
-	$(call cc-option,-fno-stack-protector,)
+CFLAGS_core.o := $(call cc-option,-fno-conserve-stack) \
+	-fno-stack-protector
 
 obj-y := core.o debugfs.o report.o
 obj-$(CONFIG_KCSAN_SELFTEST) += selftest.o
-- 
2.9.5


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH kcsan 3/3] kcsan: Disable branch tracing in core runtime
  2020-06-24 19:02 ` Paul E. McKenney
  2020-06-24 19:03   ` [PATCH kcsan 1/3] kcsan: Re-add GCC as a supported compiler paulmck
  2020-06-24 19:03   ` [PATCH kcsan 2/3] kcsan: Simplify compiler flags paulmck
@ 2020-06-24 19:03   ` paulmck
  2020-06-24 20:08   ` [PATCH kcsan 0/10] KCSAN updates for v5.9 Paul E. McKenney
  3 siblings, 0 replies; 10+ messages in thread
From: paulmck @ 2020-06-24 19:03 UTC (permalink / raw)
  To: linux-kernel, kasan-dev, kernel-team, mingo
  Cc: elver, andreyknvl, glider, dvyukov, cai, boqun.feng, Paul E . McKenney

From: Marco Elver <elver@google.com>

Disable branch tracing in core KCSAN runtime if branches are being
traced (TRACE_BRANCH_PROFILING). This it to avoid its performance
impact, but also avoid recursion in case KCSAN is enabled for the branch
tracing runtime.

The latter had already been a problem for KASAN:
https://lore.kernel.org/lkml/CANpmjNOeXmD5E3O50Z3MjkiuCYaYOPyi+1rq=GZvEKwBvLR0Ug@mail.gmail.com/

Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
---
 kernel/kcsan/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/kcsan/Makefile b/kernel/kcsan/Makefile
index fea064a..65ca553 100644
--- a/kernel/kcsan/Makefile
+++ b/kernel/kcsan/Makefile
@@ -8,7 +8,7 @@ CFLAGS_REMOVE_debugfs.o = $(CC_FLAGS_FTRACE)
 CFLAGS_REMOVE_report.o = $(CC_FLAGS_FTRACE)
 
 CFLAGS_core.o := $(call cc-option,-fno-conserve-stack) \
-	-fno-stack-protector
+	-fno-stack-protector -DDISABLE_BRANCH_PROFILING
 
 obj-y := core.o debugfs.o report.o
 obj-$(CONFIG_KCSAN_SELFTEST) += selftest.o
-- 
2.9.5


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH kcsan 0/10] KCSAN updates for v5.9
  2020-06-24 19:02 ` Paul E. McKenney
                     ` (2 preceding siblings ...)
  2020-06-24 19:03   ` [PATCH kcsan 3/3] kcsan: Disable branch tracing in core runtime paulmck
@ 2020-06-24 20:08   ` Paul E. McKenney
  3 siblings, 0 replies; 10+ messages in thread
From: Paul E. McKenney @ 2020-06-24 20:08 UTC (permalink / raw)
  To: linux-kernel, kasan-dev, kernel-team, mingo
  Cc: elver, andreyknvl, glider, dvyukov, cai, boqun.feng

On Wed, Jun 24, 2020 at 12:02:36PM -0700, Paul E. McKenney wrote:
> On Mon, Jun 22, 2020 at 05:43:10PM -0700, Paul E. McKenney wrote:
> > Hello!
> > 
> > This series provides KCSAN updates:
> 
> And three more, so that GCC can join Clang in the KCSAN fun.
> 
> > 1.	Annotate a data race in vm_area_dup(), courtesy of Qian Cai.
> > 
> > 2.	x86/mm/pat: Mark an intentional data race, courtesy of Qian Cai.
> > 
> > 3.	Add ASSERT_EXCLUSIVE_ACCESS() to __list_splice_init_rcu().
> > 
> > 4.	Add test suite, courtesy of Marco Elver.
> > 
> > 5.	locking/osq_lock: Annotate a data race in osq_lock.
> > 
> > 6.	Prefer '__no_kcsan inline' in test, courtesy of Marco Elver.
> > 
> > 7.	Silence -Wmissing-prototypes warning with W=1, courtesy of Qian Cai.
> > 
> > 8.	Rename test.c to selftest.c, courtesy of Marco Elver.
> > 
> > 9.	Remove existing special atomic rules, courtesy of Marco Elver.
> > 
> > 10.	Add jiffies test to test suite, courtesy of Marco Elver.
> 
> 11.	Re-add GCC as a supported compiler.
> 
> 12.	Simplify compiler flags.
> 
> 13.	Disable branch tracing in core runtime.

All three of which, I should hasten to add, are courtesy of Marco Elver.

> Please note that using GCC for KCSAN requires building your own compiler
> from recent mainline.

							Thanx, Paul

> ------------------------------------------------------------------------
> The added three (#11-#13) only:
> ------------------------------------------------------------------------
> 
>  Documentation/dev-tools/kcsan.rst |    3 ++-
>  kernel/kcsan/Makefile             |    6 +++---
>  lib/Kconfig.kcsan                 |    3 ++-
>  scripts/Makefile.kcsan            |    2 +-
>  4 files changed, 8 insertions(+), 6 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, back to index

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-23  0:43 [PATCH kcsan 0/10] KCSAN updates for v5.9 Paul E. McKenney
2020-06-23  6:31 ` Marco Elver
2020-06-23 13:43   ` Paul E. McKenney
2020-06-23 15:06     ` Marco Elver
2020-06-23 16:31       ` Paul E. McKenney
2020-06-24 19:02 ` Paul E. McKenney
2020-06-24 19:03   ` [PATCH kcsan 1/3] kcsan: Re-add GCC as a supported compiler paulmck
2020-06-24 19:03   ` [PATCH kcsan 2/3] kcsan: Simplify compiler flags paulmck
2020-06-24 19:03   ` [PATCH kcsan 3/3] kcsan: Disable branch tracing in core runtime paulmck
2020-06-24 20:08   ` [PATCH kcsan 0/10] KCSAN updates for v5.9 Paul E. McKenney

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git
	git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git
	git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git