freebsd-nq/sys/vm
Mark Johnston 100949103a uma: Add KMSAN hooks
For now, just hook the allocation path: upon allocation, items are
marked as initialized (absent M_ZERO).  Some zones are exempted from
this when it would otherwise raise false positives.

Use kmsan_orig() to update the origin map for UMA and malloc(9)
allocations.  This allows KMSAN to print the return address when an
uninitialized UMA item is implicated in a report.  For example:
  panic: MSan: Uninitialized UMA memory from m_getm2+0x7fe

Sponsored by:	The FreeBSD Foundation
2021-08-10 21:27:54 -04:00
..
_vm_phys.h
_vm_radix.h
default_pager.c vm_object_kvme_type(): reimplement by embedding kvme_type into pagerops 2021-05-13 20:10:35 +03:00
device_pager.c vm_object_kvme_type(): reimplement by embedding kvme_type into pagerops 2021-05-13 20:10:35 +03:00
memguard.c
memguard.h
phys_pager.c vm_object_kvme_type(): reimplement by embedding kvme_type into pagerops 2021-05-13 20:10:35 +03:00
pmap.h
redzone.c redzone: Raise a compile error if KASAN is configured 2021-07-23 10:47:13 -04:00
redzone.h
sg_pager.c vm_object_kvme_type(): reimplement by embedding kvme_type into pagerops 2021-05-13 20:10:35 +03:00
swap_pager.c tmpfs: dynamically register tmpfs pager 2021-05-13 20:13:34 +03:00
swap_pager.h tmpfs: dynamically register tmpfs pager 2021-05-13 20:13:34 +03:00
uma_core.c uma: Add KMSAN hooks 2021-08-10 21:27:54 -04:00
uma_dbg.c
uma_dbg.h
uma_int.h Improve UMA cache reclamation. 2021-05-02 19:45:23 -04:00
uma.h uma: Introduce per-domain reclamation functions 2021-04-14 13:03:34 -04:00
vm_domainset.c
vm_domainset.h
vm_dumpset.h
vm_extern.h Add vnode_pager_purge_range(9) KPI 2021-08-05 22:52:26 +08:00
vm_fault.c Add OBJT_SWAP_TMPFS pager 2021-05-07 17:08:03 +03:00
vm_glue.c uma: Add KMSAN hooks 2021-08-10 21:27:54 -04:00
vm_init.c
vm_kern.c uma: Introduce per-domain reclamation functions 2021-04-14 13:03:34 -04:00
vm_kern.h
vm_map.c fork: Suspend other threads if both RFPROC and RFMEM are not set 2021-05-13 08:33:23 -04:00
vm_map.h vm_map_protect: allow to set prot and max_prot in one go. 2021-01-13 01:35:22 +02:00
vm_meter.c Use atomic loads/stores when updating td->td_state 2021-02-18 14:02:48 +00:00
vm_mmap.c Add OBJT_SWAP_TMPFS pager 2021-05-07 17:08:03 +03:00
vm_object.c tmpfs: dynamically register tmpfs pager 2021-05-13 20:13:34 +03:00
vm_object.h vm: add another pager private flag 2021-05-15 20:47:29 +00:00
vm_page.c Add pmap_vm_page_alloc_check() 2021-07-31 16:53:42 +03:00
vm_page.h Un-staticise vm_page_init_page() 2021-06-17 16:58:44 +03:00
vm_pageout.c Add vn_lktype_write() 2021-08-04 19:40:13 +03:00
vm_pageout.h
vm_pagequeue.h
vm_pager.c amd64: Populate the KMSAN shadow maps and integrate with the VM 2021-08-10 21:27:53 -04:00
vm_pager.h vm: Add KPI to dynamically register pagers 2021-05-13 20:12:29 +03:00
vm_param.h
vm_phys.c
vm_phys.h
vm_radix.c
vm_radix.h
vm_reserv.c vm_reserv: Fix list locking in vm_reserv_reclaim_contig() 2021-03-11 10:35:35 -05:00
vm_reserv.h
vm_swapout_dummy.c
vm_swapout.c
vm_unix.c
vm.h tmpfs: dynamically register tmpfs pager 2021-05-13 20:13:34 +03:00
vnode_pager.c Add vnode_pager_purge_range(9) KPI 2021-08-05 22:52:26 +08:00
vnode_pager.h