committer filter by committer.
@path/to/ filter by path in repository.
committer@path/to/ filter by committer AND path in repository.
abdef0123 filter by commit's SHA hash.
rNNN filter by SVN revision.
rNNN-rMMM filter by SVN revisions range (inclusive).
Multiple filters can be specified separated by spaces or comas in which case they'll be combined using OR operator.
89786088 | markj | Aug. 11, 2021, 1:27 a.m. | amd64: Populate the KMSAN shadow maps and integrate with the VM
- During boot, allocate PDP pages for the shadow maps. The region above KERNBASE is currently not shadowed. - Create a dummy shadow for the vm page array. For now, this array is not protected by the shadow map to help reduce kernel memory usage. - Grow shadows when growing the kernel map. - Increase the default kernel stack size when KMSAN is enabled. As with KASAN, sanitizer instrumentation appears to create stack frames large enough that the default value is not sufficient. - Disable UMA's use of the direct map when KMSAN is configured. KMSAN cannot validate the direct map. - Disable unmapped I/O when KMSAN configured. - Lower the limit on paging buffers when KMSAN is configured. Each buffer has a static MAXPHYS-sized allocation of KVA, which in turn eats 2*MAXPHYS of space in the shadow map. Reviewed by: alc, kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31295cgit |
|
5dda15ad | markj | Aug. 11, 2021, 1:27 a.m. | kern: Ensure that thread-local KMSAN state is available
Sponsored by: The FreeBSD Foundationcgit |
|
a422084a | markj | Aug. 11, 2021, 1:27 a.m. | Add the KMSAN runtime
KMSAN enables the use of LLVM's MemorySanitizer in the kernel. This enables precise detection of uses of uninitialized memory. As with KASAN, this feature has substantial runtime overhead and is intended to be used as part of some automated testing regime. The runtime maintains a pair of shadow maps. One is used to track the state of memory in the kernel map at bit-granularity: a bit in the kernel map is initialized when the corresponding shadow bit is clear, and is uninitialized otherwise. The second shadow map stores information about the origin of uninitialized regions of the kernel map, simplifying debugging. KMSAN relies on being able to intercept certain functions which cannot be instrumented by the compiler. KMSAN thus implements interceptors which manually update shadow state and in some cases explicitly check for uninitialized bytes. For instance, all calls to copyout() are subject to such checks. The runtime exports several functions which can be used to verify the shadow map for a given buffer. Helpers provide the same functionality for a few structures commonly used for I/O, such as CAM CCBs, BIOs and mbufs. These are handy when debugging a KMSAN report whose proximate and root causes are far away from each other. Obtained from: NetBSD Sponsored by: The FreeBSD Foundationcgit |
|
f95f780e | markj | Aug. 11, 2021, 1:27 a.m. | amd64: Define KVA regions for KMSAN shadow maps
KMSAN requires two shadow maps, each one-to-one with the kernel map. Allocate regions of the kernels PML4 page for them. Add functions to create mappings in the shadow map regions, these will be used by the KMSAN runtime. Reviewed by: alc, kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31295cgit |
|
30d00832 | markj | Aug. 11, 2021, 1:22 a.m. | conf: Add a KMSAN kernel option
Sponsored by: The FreeBSD Foundationcgit |
|
4fd450a8 | markj | Aug. 11, 2021, 1:22 a.m. | amd64 pmap: Pre-set PG_M on 2MB KASAN shadow map entries
Also remove a redundant assertion in pmap_kasan_enter(). Reviewed by: alc, kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31295cgit |
|
805c3af8 | markj | Aug. 11, 2021, 1:18 a.m. | build.7: Describe the default value for LOCAL_MODULES
Suggested by: jhb MFC after: 1 weekcgit |
|
b776de67 | mav | Aug. 11, 2021, 12:44 a.m. | Mark some sysctls as CTLFLAG_MPSAFE.
MFC after: 2 weekscgit |
|
c2da9542 | mav | Aug. 11, 2021, 12:18 a.m. | geom(4): Mark all sysctls as CTLFLAG_MPSAFE.
This code does not use Giant lock for very long time. MFC after: 2 weekscgit |
|
303477d3 | mav | Aug. 11, 2021, 12:07 a.m. | cam(4): Mark all sysctls as CTLFLAG_MPSAFE.
This code does not use Giant lock for very long time. MFC after: 2 weekscgit |
|
94feb1f1 | mav | Aug. 11, 2021, 12:07 a.m. | ntb_hw_intel(4): Add CTLFLAG_MPSAFE flags.
I should have added those in 50f16247a1. MFC after: 2 weekscgit |
|
9339e7c0 | imp | Aug. 10, 2021, 11:10 p.m. | rtsx: Fix wakeup race similar to sdhci one fixed in 35547df5c786
rtsx copied code from sdhci, and has the same wakeup race bug that was fixed in 35547df5c786, so apply a similar fix here. Sponsored by: Netflixcgit |
|
bd9e461c | scottl | Aug. 10, 2021, 10:41 p.m. | Address the reported mmc serialization issue.
Reset the mmc owner before calling the bridge release host callback. Some people are hitting the "mmc: host bridge didn't serialize us." panic as the bridge is released before the mmc owner is reset. Submitted by: luiz Sponsored by: Rubicon Communications, LLC ("Netgate")cgit |
|
35547df5 | scottl | Aug. 10, 2021, 10:36 p.m. | Call wakeup() with the lock held to avoid missed wakeup races.
Submitted by: luiz Sponsored by: Rubicon Communications, LLC ("Netgate")cgit |
|
5dedd251 | imp | Aug. 10, 2021, 9:47 p.m. | devmatch: Ignore the pnp fields tagged as ignore ('#')
When matching entries, we should ignore those with a name of '#'. It's the standard way to skip elements and need to be present to have the proper offsets to the fields that are observed. No bus has a pnp attribute of '#' and that is now disallowed for future buses that are written. Sponsored by: Netflix Reviewed by: kbowling Differential Revision: https://reviews.freebsd.org/D31482cgit |