freebsd-nq/sys/kern
Mark Johnston 28c338b342 realloc: Fix KASAN(9) shadow map updates
When copying from the old buffer to the new buffer, we don't know the
requested size of the old allocation, but only the size of the
allocation provided by UMA.  This value is "alloc".  Because the copy
may access bytes in the old allocation's red zone, we must mark the full
allocation valid in the shadow map.  Do so using the correct size.

Reported by:	kp
Tested by:	kp
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 9a7c2de364)
2021-11-01 10:05:22 -04:00
..
bus_if.m Remove trailing white space. 2020-02-26 16:22:28 +00:00
capabilities.conf Add aio_writev and aio_readv 2021-01-02 19:57:58 -07:00
clock_if.m
cpufreq_if.m
device_if.m
firmw.S Use a template assembly file for firmware object files. 2020-12-17 20:31:17 +00:00
genassym.sh genassym.sh: Fix two minor issues found by shellcheck 2021-09-12 09:56:14 -06:00
genoffset.c Merge td_epochnest with td_no_sleeping. 2019-10-29 17:28:25 +00:00
genoffset.sh genoffset.sh: Use 10 X's instead of 5 for pick mkdtemp implementations 2021-09-22 08:29:59 -06:00
imgact_aout.c Do not call FreeBSD-ABI specific code for all ABIs 2021-07-22 01:11:52 +03:00
imgact_binmisc.c imgact_binmisc: limit the extent of match on incoming entries 2020-11-08 04:24:29 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Make core dump writes interruptible with SIGKILL 2021-10-10 12:22:58 +03:00
imgact_shell.c
init_main.c Stop arming kqueue timers on knote owner suspend or terminate 2021-04-23 14:14:09 +03:00
init_sysent.c Regen 2021-08-03 12:52:36 +03:00
kern_acct.c acct: Zero pad bytes in accounting records 2021-07-29 20:32:58 -04:00
kern_alq.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_clock.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_clocksource.c
kern_condvar.c Use sleepq_signal(SLEEPQ_DROP) in cv_signal(). 2021-07-17 18:10:25 -04:00
kern_conf.c Fix handling of D_GIANTOK 2021-06-14 16:25:15 -04:00
kern_cons.c Re-implement virtual console (constty). 2021-10-03 21:15:02 -04:00
kern_context.c
kern_cpu.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_cpuset.c domainset: Define additional global policies 2021-04-28 10:00:36 -04:00
kern_ctf.c kern_ctf: Use zlib's uncompress function for simpler code. 2021-10-10 10:08:53 -07:00
kern_descrip.c fd: add pwd_hold_proc 2021-10-11 09:13:03 +00:00
kern_dtrace.c dtrace: stop using eventhandlers for the part compiled into the kernel 2020-11-23 18:27:21 +00:00
kern_dump.c minidump: De-duplicate the progress bar 2021-10-15 12:20:48 -03:00
kern_environment.c kenv: allow listing of static kernel environments 2021-08-26 01:35:33 -05:00
kern_et.c Remove NO_EVENTTIMERS support 2020-11-19 02:50:48 +00:00
kern_event.c kqueue: don't arbitrarily restrict long-past values for NOTE_ABSTIME 2021-10-06 02:03:53 -05:00
kern_exec.c execve: Mark exec argument buffers 2021-11-01 10:03:28 -04:00
kern_exit.c Do not call FreeBSD-ABI specific code for all ABIs 2021-07-22 01:11:52 +03:00
kern_fail.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_ffclock.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_fork.c procctl(2): Add PROC_WXMAP_CTL/STATUS 2021-09-24 03:26:59 +03:00
kern_hhook.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
kern_idle.c
kern_intr.c Mark some sysctls as CTLFLAG_MPSAFE. 2021-08-24 21:53:18 -04:00
kern_jail.c jail(8): Fix a few common typos in source code comments 2021-10-30 09:48:43 +02:00
kern_kcov.c Mark COVERAGE and KCOV as part of KCSAN 2020-08-19 14:11:25 +00:00
kern_khelp.c
kern_kthread.c Set TDP_KTHREAD before calling cpu_fork() and cpu_copy_thread(). 2021-03-29 11:10:54 -07:00
kern_ktr.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_ktrace.c ktrace: Zero request structures when populating the pool 2021-07-29 20:32:59 -04:00
kern_linker.c link_elf_obj: Invoke fini callbacks 2021-08-12 09:43:41 -04:00
kern_lock.c lockmgr: fix lock profiling of face adaptive spinning 2021-10-11 09:09:55 +00:00
kern_lockf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_lockstat.c Add lockmgr(9) probes to the lockstat DTrace provider. 2019-08-21 23:43:58 +00:00
kern_loginclass.c Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
kern_malloc.c realloc: Fix KASAN(9) shadow map updates 2021-11-01 10:05:22 -04:00
kern_mbuf.c mbuf: add m_free_raw to be used instead of directly calling uma_zfree 2021-07-05 12:04:59 +00:00
kern_mib.c jail: Consistently handle the pr_allow bitmask 2020-12-26 20:25:02 -08:00
kern_module.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_mtxpool.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
kern_mutex.c callout(9): Allow spin locks use with callout_init_mtx(). 2021-09-16 21:40:15 -04:00
kern_ntptime.c Add kern_ntp_adjtime(9). 2020-12-04 18:56:44 +00:00
kern_osd.c osd: Fix racy assertions 2021-09-16 08:37:15 -04:00
kern_physio.c Remove alignment requirements for KVA buffer mapping. 2020-11-29 01:30:17 +00:00
kern_pmc.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
kern_poll.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_priv.c jail: Consistently handle the pr_allow bitmask 2020-12-26 20:25:02 -08:00
kern_proc.c kdb: Handle process enumeration before procinit() 2021-08-30 12:55:40 -03:00
kern_procctl.c procctl: stop using SA_*LOCKED, define local enum 2021-10-26 05:26:27 +03:00
kern_prot.c kern: fail getgroup and setgroup with negative int 2021-07-07 14:09:44 -06:00
kern_racct.c Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
kern_rangelock.c rangelock: add rangelock_cookie_assert 2019-09-15 02:59:53 +00:00
kern_rctl.c rctl(4): support throttling resource usage to 0 2021-01-11 15:36:57 -08:00
kern_resource.c vm_map_protect: allow to set prot and max_prot in one go. 2021-01-13 01:35:22 +02:00
kern_rmlock.c rmlock(9): add an RM_DUPOK flag 2021-04-16 10:48:02 -03:00
kern_rwlock.c lockprof: pass lock type as an argument instead of reading the spin flag 2021-06-02 15:00:23 +00:00
kern_sdt.c
kern_sema.c
kern_sendfile.c socket: Rename sb(un)lock() and interlock with listen(2) 2021-10-07 09:56:47 -04:00
kern_sharedpage.c random(4) FenestrasX: Push root seed version to arc4random(3) 2020-10-10 21:52:00 +00:00
kern_shutdown.c boot(9): update to match reality 2021-10-04 11:11:06 -03:00
kern_sig.c signal: Add SIG_FOREACH and refactor issignal() 2021-11-01 09:20:11 -04:00
kern_switch.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_sx.c lockprof: pass lock type as an argument instead of reading the spin flag 2021-06-02 15:00:23 +00:00
kern_synch.c callout(9): Allow spin locks use with callout_init_mtx(). 2021-09-16 21:40:15 -04:00
kern_syscalls.c Move syscall_thread_{enter,exit}() into the slow path. This is only 2020-11-08 15:54:59 +00:00
kern_sysctl.c Escape any '.' characters in sysctl node names 2021-08-22 21:11:00 +00:00
kern_tc.c timecounter: Lock the timecounter list 2021-11-01 09:20:11 -04:00
kern_thr.c Provide ABI modules hooks for process exec/exit and thread exit. 2020-11-23 17:29:25 +00:00
kern_thread.c amd64: eliminate td_md.md_fpu_scratch 2021-10-10 12:21:17 +03:00
kern_time.c itimer: Serialize access to the p_itimers array 2021-09-07 09:36:19 -04:00
kern_timeout.c callout(9): Allow spin locks use with callout_init_mtx(). 2021-09-16 21:40:15 -04:00
kern_tslog.c
kern_ubsan.c ubsan: Fix a typo in an error message 2021-10-02 10:21:01 +02:00
kern_umtx.c Revert most of ce42e79310 2021-08-03 12:52:36 +03:00
kern_uuid.c validate_uuid: absorb the rest of parse_uuid with a flags arg 2020-04-15 18:39:12 +00:00
kern_xxx.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
ksched.c
link_elf_obj.c link_elf_obj: Invoke fini callbacks 2021-08-12 09:43:41 -04:00
link_elf.c Add pmap_change_prot on arm64 2021-10-25 14:46:44 +01:00
linker_if.m
Make.tags.inc Bring the tags and links entries for amd64 up to date. 2021-10-07 16:01:46 -07:00
Makefile sys/kern sysent: re-add dependency on capabilities.conf 2020-02-12 19:06:34 +00:00
md4c.c
md5c.c
msi_if.m o Add iommu de-initialization method for MSI interface. 2020-10-24 20:09:27 +00:00
p1003_1b.c
pic_if.m
posix4_mib.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
sched_4bsd.c lockprof: pass lock type as an argument instead of reading the spin flag 2021-06-02 15:00:23 +00:00
sched_ule.c sched_ule(4): Fix possible significance loss. 2021-10-21 18:24:36 -04:00
serdev_if.m
stack_protector.c Revert r346292 (permit_nonrandom_stackcookies) 2019-05-13 23:37:44 +00:00
subr_acl_nfs4.c Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
subr_acl_posix1e.c vfs: remove the obsolete privused argument from vaccess 2020-08-05 09:27:03 +00:00
subr_asan.c execve: Mark exec argument buffers 2021-11-01 10:03:28 -04:00
subr_atomic64.c emulated atomic64: disable interrupts as the lock mechanism on !SMP 2020-01-03 18:29:20 +00:00
subr_autoconf.c config_intrhook: provide config_intrhook_drain 2021-07-12 13:30:55 -06:00
subr_blist.c blist: Correct the node count computed in blist_create() 2021-07-26 21:47:20 -04:00
subr_boot.c When parsing command line stuff, treat tabs and spaces the same. 2019-04-18 22:52:12 +00:00
subr_bufring.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_bus_dma.c crypto: Add a new type of crypto buffer for a single mbuf. 2021-10-21 08:51:26 -07:00
subr_bus.c Fix false device_set_unit() error. 2021-09-28 20:44:29 -04:00
subr_busdma_bufalloc.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_capability.c Remove unused SYSINIT macros for capability rights. 2020-03-26 15:02:37 +00:00
subr_clock.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
subr_compressor.c clamp kernel dump compression level when using gzip 2020-02-20 23:53:48 +00:00
subr_counter.c Rationalize per-cpu zones. 2020-11-05 15:08:56 +00:00
subr_coverage.c Mark COVERAGE and KCOV as part of KCSAN 2020-08-19 14:11:25 +00:00
subr_csan.c Rename _cscan_atomic.h and _cscan_bus.h to atomic_san.h and bus_san.h 2021-03-15 11:39:11 -04:00
subr_devmap.c riscv: Implement pmap_mapdev_attr 2021-10-24 19:51:10 +01:00
subr_devstat.c Speed up geom_stats_resync in the presence of many devices 2021-03-21 02:23:42 +00:00
subr_disk.c Enable bioq 'car limit' added at r335066 at 128 bios. 2020-10-26 04:04:06 +00:00
subr_dummy_vdso_tc.c
subr_early.c
subr_epoch.c The old thread priority must be stored as part of the EPOCH(9) tracker. 2021-06-02 14:03:21 +02:00
subr_eventhandler.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
subr_fattime.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
subr_filter.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_firmware.c subr_firmware.c::unloadentry(): remove write-only variable 2021-10-27 03:24:40 +03:00
subr_gtaskqueue.c Make sure all tasklets are drained before unloading the LinuxKPI. 2021-06-02 13:23:19 +02:00
subr_hash.c
subr_hints.c Optimize res_find(). 2021-08-22 21:15:47 -04:00
subr_intr.c kern/intr: declare interrupt vectors unsigned 2021-05-10 09:36:20 -04:00
subr_kdb.c kdb: Handle process enumeration before procinit() 2021-08-30 12:55:40 -03:00
subr_kobj.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_lock.c lockprof: move panic check after inspecting the state 2021-06-02 15:00:23 +00:00
subr_log.c Document kern.log_wakeups_per_second. 2021-10-19 16:53:26 -07:00
subr_mchain.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_module.c sysctl debug.dump_modinfo should recognize font module 2021-01-08 09:24:49 +02:00
subr_msgbuf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_param.c Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
subr_pcpu.c Add more per-cpu zones. 2020-11-09 00:34:23 +00:00
subr_pctrie.c Use SMR to provide safe unlocked lookup for pctries from SMR zones 2020-07-24 17:32:10 +00:00
subr_physmem.c Add support for hw.physmem tunable for ARM/ARM64/RISC-V platforms 2020-12-03 05:39:27 +00:00
subr_pidctrl.c
subr_power.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_prf.c Unify console output. 2021-10-03 21:15:03 -04:00
subr_prng.c Add prng(9) API 2020-08-13 20:48:14 +00:00
subr_prof.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_rangeset.c Implement rangesets. 2019-02-20 09:38:19 +00:00
subr_rman.c rman: fix overflow in rman_reserve_resource_bound() 2021-10-04 11:11:06 -03:00
subr_rtc.c Address whitespace nits in subr_rtc.c 2020-09-28 17:19:57 +00:00
subr_sbuf.c sbuf(9): Microoptimize sbuf_put_byte() 2021-10-21 18:24:29 -04:00
subr_scanf.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_sfbuf.c
subr_sglist.c sglist: Add sglist_append_single_mbuf(). 2021-10-21 08:51:26 -07:00
subr_sleepqueue.c When queuing ignored signal, only abort target thread' sleep if it is inside sigwait() 2021-10-10 12:21:18 +03:00
subr_smp.c Refactor/optimize cpu_search_*(). 2021-08-27 22:17:55 -04:00
subr_smr.c Use COUNTER_U64_DEFINE_EARLY() in places where it simplifies things. 2020-03-06 19:10:00 +00:00
subr_stack.c kern.tty_info_kstacks: add a compact format 2020-07-06 16:33:28 +00:00
subr_stats.c stats(3): Improve t-digest merging of samples which result in mu adjustment underflow. 2021-04-02 13:29:55 +11:00
subr_syscall.c Allow some VOPs to return ERELOOKUP to indicate VFS operation restart at top level. 2020-11-13 09:42:32 +00:00
subr_taskqueue.c callout(9): Allow spin locks use with callout_init_mtx(). 2021-09-16 21:40:15 -04:00
subr_terminal.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_trap.c kqueue: drain kqueue taskqueue if syscall tickled it 2021-09-12 15:17:27 +03:00
subr_turnstile.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_uio.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_unit.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
subr_vmem.c vmem: Revert r364744 2020-12-01 16:06:31 +00:00
subr_witness.c Remove more remnants of sio(4) 2021-04-14 09:19:49 -04:00
sys_capability.c Enter a write sequence when updating rights. 2020-03-19 15:39:45 +00:00
sys_eventfd.c Expose eventfd in the native API/ABI using a new __specialfd syscall 2020-12-27 12:57:26 +02:00
sys_generic.c selsocket: handle sopoll() errors correctly 2021-10-20 00:19:57 +01:00
sys_getrandom.c Fix a typo in r356667 comment 2020-01-12 23:52:16 +00:00
sys_pipe.c pipe_paircreate(): do not leak pipepair memory on error 2021-08-19 14:21:56 +03:00
sys_procdesc.c procdesc: convert the zone to a malloc type 2020-11-09 00:05:21 +00:00
sys_process.c sys_process.c: extract ptrace_unsuspend() 2021-06-01 03:38:53 +03:00
sys_socket.c aio: micro-optimize the lio_opcode assignments 2021-01-20 09:02:25 -07:00
syscalls.c Regen 2021-08-03 12:52:36 +03:00
syscalls.master makesyscalls.lua: add a CAPENABLED flag 2021-10-20 00:19:56 +01:00
systrace_args.c Regen 2021-08-03 12:52:36 +03:00
sysv_ipc.c sysv: get rid of fork/exit hooks if the code is compiled in 2019-05-04 19:05:30 +00:00
sysv_msg.c MFC jail: Change the locking around pr_ref and pr_uref 2021-03-12 10:30:06 -08:00
sysv_sem.c MFC jail: Change the locking around pr_ref and pr_uref 2021-03-12 10:30:06 -08:00
sysv_shm.c MFC jail: Change the locking around pr_ref and pr_uref 2021-03-12 10:30:06 -08:00
tty_compat.c
tty_info.c kern.tty_info_kstacks: set compact format as default 2020-07-06 16:34:15 +00:00
tty_inq.c
tty_outq.c
tty_pts.c tty_pts: don't rely on tty header pollution for sys/mutex.h 2019-11-29 03:56:01 +00:00
tty_tty.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
tty_ttydisc.c Implement FLUSHO 2020-08-27 05:11:15 +00:00
tty.c Re-implement virtual console (constty). 2021-10-03 21:15:02 -04:00
uipc_accf.c Consistently use the SOLISTENING() macro 2021-06-21 09:14:40 -04:00
uipc_debug.c
uipc_domain.c net: Enter a net epoch around protocol if_up/down notifications 2021-09-17 09:13:09 -04:00
uipc_ktls.c socket: Rename sb(un)lock() and interlock with listen(2) 2021-10-07 09:56:47 -04:00
uipc_mbuf2.c m_pulldown(): Change an if () panic() into a KASSERT(). 2019-11-06 22:40:19 +00:00
uipc_mbuf.c Rename m_unmappedtouio() to m_unmapped_uiomove(). 2021-10-21 08:51:26 -07:00
uipc_mbufhash.c Implement mbuf hashing routines for IP over infiniband, IPoIB. 2020-10-22 09:17:56 +00:00
uipc_mqueue.c MFC jail: Change the locking around pr_ref and pr_uref 2021-03-12 10:30:06 -08:00
uipc_sem.c Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
uipc_shm.c uipc_shm: silent warnings about write-only variables in largepage code 2021-10-27 03:24:41 +03:00
uipc_sockbuf.c socket: Rename sb(un)lock() and interlock with listen(2) 2021-10-07 09:56:47 -04:00
uipc_socket.c Rename m_unmappedtouio() to m_unmapped_uiomove(). 2021-10-21 08:51:26 -07:00
uipc_syscalls.c socket: Avoid clearing SS_ISCONNECTING if soconnect() fails 2021-10-07 09:57:27 -04:00
uipc_usrreq.c unix: Fix a use-after-free in unp_drop() 2021-09-24 20:59:20 -04:00
vfs_acl.c vfs: fix trivial whitespace issues which don't interefere with blame 2020-07-10 09:01:36 +00:00
vfs_aio.c aio_aqueue(): avoid ucred leak on failure path 2021-10-01 03:32:22 +03:00
vfs_bio.c amd64: Implement a KASAN shadow map 2021-11-01 09:57:30 -04:00
vfs_cache.c cache: count vnodes in cache_purgevfs 2021-10-11 09:09:47 +00:00
vfs_cluster.c cluster_write(): do not access buffer after it is released 2021-09-09 04:21:44 +03:00
vfs_default.c vfs: add missing atomic conversion to writecount adjustment 2021-05-22 18:22:16 +00:00
vfs_export.c kern: clean up empty lines in .c and .h files 2020-09-01 22:12:32 +00:00
vfs_extattr.c O_PATH: allow vfs_extattr syscalls 2021-10-16 16:01:47 +03:00
vfs_hash.c vfs_hash_rehash(): require the vnode to be exclusively locked 2021-09-03 04:08:36 +03:00
vfs_init.c vfs: fix trivial whitespace issues which don't interefere with blame 2020-07-10 09:01:36 +00:00
vfs_lookup.c vfs: hoist cn_thread assert in namei 2021-10-11 09:13:35 +00:00
vfs_mount.c mount: Check for !VDIR mount points before handling -o emptydir 2021-10-19 20:53:33 -04:00
vfs_mountroot.c vfs: add missing VIRF_MOUNTPOINT in vfs_mountroot_shuffle 2021-10-11 09:10:20 +00:00
vfs_subr.c vfs: Add KASAN state transitions for vnodes 2021-11-01 10:03:19 -04:00
vfs_syscalls.c readlinkat(2): allow O_PATH fd 2021-10-10 12:22:58 +03:00
vfs_vnops.c vfs: Permit unix sockets to be opened with O_PATH 2021-10-17 17:15:44 -04:00
vnode_if.src Add VOP_VPUT_PAIR() with trivial default implementation. 2021-02-24 09:43:03 +02:00