<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/Documentation/dev-tools/kcsan.rst, branch linux-5.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-07-20T20:49:43Z</updated>
<entry>
<title>kcsan: Rework atomic.h into permissive.h</title>
<updated>2021-07-20T20:49:43Z</updated>
<author>
<name>Marco Elver</name>
</author>
<published>2021-06-07T12:56:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=49f72d5358dd3c0d28bcd2232c513000b15480f0'/>
<id>urn:sha1:49f72d5358dd3c0d28bcd2232c513000b15480f0</id>
<content type='text'>
Rework atomic.h into permissive.h to better reflect its purpose, and
introduce kcsan_ignore_address() and kcsan_ignore_data_race().

Introduce CONFIG_KCSAN_PERMISSIVE and update the stub functions in
preparation for subsequent changes.

As before, developers who choose to use KCSAN in "strict" mode will see
all data races and are not affected. Furthermore, by relying on the
value-change filter logic for kcsan_ignore_data_race(), even if the
permissive rules are enabled, the opt-outs in report.c:skip_report()
override them (such as for RCU-related functions by default).

The option CONFIG_KCSAN_PERMISSIVE is disabled by default, so that the
documented default behaviour of KCSAN does not change. Instead, like
CONFIG_KCSAN_IGNORE_ATOMICS, the option needs to be explicitly opted in.

Signed-off-by: Marco Elver &lt;elver@google.com&gt;
Acked-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;
</content>
</entry>
<entry>
<title>kcsan: Introduce CONFIG_KCSAN_STRICT</title>
<updated>2021-07-20T20:49:43Z</updated>
<author>
<name>Marco Elver</name>
</author>
<published>2021-06-07T12:56:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e675d2533a74acfa95c62e7bb088335866f44fd2'/>
<id>urn:sha1:e675d2533a74acfa95c62e7bb088335866f44fd2</id>
<content type='text'>
Add a simpler Kconfig variable to configure KCSAN's "strict" mode. This
makes it simpler in documentation or messages to suggest just a single
configuration option to select the strictest checking mode (vs.
currently having to list several options).

Signed-off-by: Marco Elver &lt;elver@google.com&gt;
Acked-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;
</content>
</entry>
<entry>
<title>kcsan: Use URL link for pointing access-marking.txt</title>
<updated>2021-05-18T17:58:15Z</updated>
<author>
<name>Akira Yokosawa</name>
</author>
<published>2021-05-13T17:49:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=117232c0b9126e254d84f38ccaf9e576ccfcd990'/>
<id>urn:sha1:117232c0b9126e254d84f38ccaf9e576ccfcd990</id>
<content type='text'>
For consistency within kcsan.rst, use a URL link as the same as in
section "Data Races".

Acked-by: Marco Elver &lt;elver@google.com&gt;
Signed-off-by: Akira Yokosawa &lt;akiyks@gmail.com&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;
</content>
</entry>
<entry>
<title>kcsan: Document "value changed" line</title>
<updated>2021-05-18T17:58:15Z</updated>
<author>
<name>Marco Elver</name>
</author>
<published>2021-04-14T11:28:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b930226f3db870cfb683c2744aeb0d29deb4cddc'/>
<id>urn:sha1:b930226f3db870cfb683c2744aeb0d29deb4cddc</id>
<content type='text'>
Update the example reports based on the latest reports generated by
kcsan_test module, which now include the "value changed" line. Add a
brief description of the "value changed" line.

Signed-off-by: Marco Elver &lt;elver@google.com&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;
</content>
</entry>
<entry>
<title>kcsan: Add pointer to access-marking.txt to data_race() bullet</title>
<updated>2021-05-18T17:58:14Z</updated>
<author>
<name>Paul E. McKenney</name>
</author>
<published>2021-03-05T00:04:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea0484644e5b8486c8335f677fc1e2a4a5d76d3f'/>
<id>urn:sha1:ea0484644e5b8486c8335f677fc1e2a4a5d76d3f</id>
<content type='text'>
This commit references tools/memory-model/Documentation/access-marking.txt
in the bullet introducing data_race().  The access-marking.txt file
gives advice on when data_race() should and should not be used.

Suggested-by: Akira Yokosawa &lt;akiyks@gmail.com&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;
</content>
</entry>
<entry>
<title>kcsan: Add missing license and copyright headers</title>
<updated>2021-03-08T22:27:43Z</updated>
<author>
<name>Marco Elver</name>
</author>
<published>2021-01-15T17:09:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bd0ccc4afca2d6ae0029cae35c4f1d2e2ade7579'/>
<id>urn:sha1:bd0ccc4afca2d6ae0029cae35c4f1d2e2ade7579</id>
<content type='text'>
Adds missing license and/or copyright headers for KCSAN source files.

Signed-off-by: Marco Elver &lt;elver@google.com&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;
</content>
</entry>
<entry>
<title>kcsan: Re-add GCC as a supported compiler</title>
<updated>2020-06-29T19:04:48Z</updated>
<author>
<name>Marco Elver</name>
</author>
<published>2020-06-18T09:31:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e68dcd8eac63cf14745df0dc872ea479df8ed4b9'/>
<id>urn:sha1:e68dcd8eac63cf14745df0dc872ea479df8ed4b9</id>
<content type='text'>
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 &lt;elver@google.com&gt;
Cc: Martin Liska &lt;mliska@suse.cz&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;
</content>
</entry>
<entry>
<title>kcsan: Remove __no_kcsan_or_inline</title>
<updated>2020-06-15T12:10:08Z</updated>
<author>
<name>Peter Zijlstra</name>
</author>
<published>2020-06-02T15:04:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e79302ae8c8cceb51cf642d5ace9da02668cb7b4'/>
<id>urn:sha1:e79302ae8c8cceb51cf642d5ace9da02668cb7b4</id>
<content type='text'>
There are no more user of this function attribute, also, with us now
actively supporting '__no_kcsan inline' it doesn't make sense to have
in any case.

Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
</content>
</entry>
<entry>
<title>kcsan: Update Documentation to change supported compilers</title>
<updated>2020-06-11T18:04:02Z</updated>
<author>
<name>Marco Elver</name>
</author>
<published>2020-05-21T14:20:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0bb9ab3a6fa7ca9f627d85f6f683fae51598e8c8'/>
<id>urn:sha1:0bb9ab3a6fa7ca9f627d85f6f683fae51598e8c8</id>
<content type='text'>
Document change in required compiler version for KCSAN, and remove the
now redundant note about __no_kcsan and inlining problems with older
compilers.

Signed-off-by: Marco Elver &lt;elver@google.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Acked-by: Will Deacon &lt;will@kernel.org&gt;
Link: https://lkml.kernel.org/r/20200521142047.169334-8-elver@google.com



</content>
</entry>
<entry>
<title>kcsan: Introduce scoped ASSERT_EXCLUSIVE macros</title>
<updated>2020-04-14T00:18:13Z</updated>
<author>
<name>Marco Elver</name>
</author>
<published>2020-03-25T16:41:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d8949ef1d9f1062848cd068cf369a57ce33dae6f'/>
<id>urn:sha1:d8949ef1d9f1062848cd068cf369a57ce33dae6f</id>
<content type='text'>
Introduce ASSERT_EXCLUSIVE_*_SCOPED(), which provide an intuitive
interface to use the scoped-access feature, without having to explicitly
mark the start and end of the desired scope. Basing duration of the
checks on scope avoids accidental misuse and resulting false positives,
which may be hard to debug. See added comments for usage.

The macros are implemented using __attribute__((__cleanup__(func))),
which is supported by all compilers that currently support KCSAN.

Suggested-by: Boqun Feng &lt;boqun.feng@gmail.com&gt;
Suggested-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;
Signed-off-by: Marco Elver &lt;elver@google.com&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@kernel.org&gt;
</content>
</entry>
</feed>
