The NetBSD Project

CVS log for src/sys/arch/amd64/include/csan.h

[BACK] Up to [] / src / sys / arch / amd64 / include

Request diff between arbitrary revisions

Default branch: MAIN

Revision 1.4 / (download) - annotate - [select for diffs], Thu Sep 10 14:04:45 2020 UTC (3 years, 7 months ago) by maxv
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.3: +14 -15 lines
Diff to previous 1.3 (colored)

kcsan: fix the copyright notices

Revision / (download) - annotate - [select for diffs], Mon Apr 13 08:03:30 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since +128 -0 lines
Diff to previous (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

Mostly merge changes from HEAD upto 20200411

Revision, Fri Nov 8 12:36:11 2019 UTC (4 years, 5 months ago) by martin
Branch: phil-wifi
Changes since 1.3: +0 -128 lines

file csan.h was added on branch phil-wifi on 2020-04-13 08:03:30 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Fri Nov 8 12:36:11 2019 UTC (4 years, 5 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: phil-wifi
Changes since 1.2: +10 -1 lines
Diff to previous 1.2 (colored)

Exclude the PTE space from KCSAN, since there the same VA can point to
different PAs.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Nov 6 06:57:22 2019 UTC (4 years, 5 months ago) by maxv
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored)

Change kcsan_md_is_avail() to always return true; I was testing with
interrupts disabled as debugging. Change the delay/sample parameters
to have better fluidity.

Revision 1.1 / (download) - annotate - [select for diffs], Tue Nov 5 20:19:17 2019 UTC (4 years, 5 months ago) by maxv
Branch: MAIN

Add Kernel Concurrency Sanitizer (kCSan) support. This sanitizer allows us
to detect race conditions at runtime. It is a variation of TSan that is
easy to implement and more suited to kernel internals, albeit theoretically
less precise than TSan's happens-before.

We do basically two things:

 - On every KCSAN_NACCESSES (=2000) memory accesses, we create a cell
   describing the access, and delay the calling CPU (10ms).

 - On all memory accesses, we verify if the memory we're reading/writing
   is referenced in a cell already.

The combination of the two means that, if for example cpu0 does a read that
is selected and cpu1 does a write at the same address, kCSan will fire,
because cpu1's write collides with cpu0's read cell.

The coverage of the instrumentation is the same as that of kASan. Also, the
code is organized in a way similar to kASan, so it is easy to add support
for more architectures than amd64. kCSan is compatible with KCOV.

Reviewed by Kamil.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>