freebsd-nq/sys/kern
Attilio Rao 5584e91718 Fixup r240246: hwpmc needs to retain the pinning until ASTs are not
executed. This means past the point where userret() is generally
executed.

Skip the td_pinned check if a callchain tracing is currently happening
and add a more robust check to pmc_capture_user_callchain() in order to
catch td_pinned leak past ast() in hwpmc case.

Reported and tested by:	fabient
MFC after:	1 week
X-MFC:	r240246
2012-10-30 15:10:50 +00:00
..
bus_if.m
capabilities.conf
clock_if.m
cpufreq_if.m
device_if.m
dtio_kdtrace.c Change the module name for the I/O provider to "kernel" from 2012-09-25 19:16:28 +00:00
genassym.sh
imgact_aout.c
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c
init_sysent.c
kern_acct.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_alq.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_clock.c
kern_clocksource.c panic() with reasonable message instead of returning zero frequency causing 2012-10-10 19:46:46 +00:00
kern_condvar.c Remove all the checks on curthread != NULL with the exception of some MD 2012-09-13 22:26:22 +00:00
kern_conf.c
kern_cons.c cngetc: use cpu_spinwait to ease the cncheckc loop a tiny bit 2012-10-06 19:50:23 +00:00
kern_context.c
kern_cpu.c
kern_cpuset.c
kern_ctf.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_descrip.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_dtrace.c
kern_environment.c
kern_et.c
kern_event.c
kern_exec.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_exit.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_fail.c
kern_ffclock.c
kern_fork.c userret() already checks for td_locks when INVARIANTS is enabled, so 2012-09-08 18:27:11 +00:00
kern_gzio.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_hhook.c
kern_idle.c
kern_intr.c Add optional entropy harvesting for software interrupts in swi_sched() 2012-09-25 14:55:46 +00:00
kern_jail.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_khelp.c
kern_kthread.c
kern_ktr.c
kern_ktrace.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_linker.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_lock.c Improve check coverage about idle threads. 2012-09-12 22:10:53 +00:00
kern_lockf.c
kern_lockstat.c
kern_loginclass.c
kern_malloc.c
kern_mbuf.c Since the macro dtom() has been removed, fix comments about the dtom. 2012-10-29 10:04:28 +00:00
kern_mib.c
kern_module.c
kern_mtxpool.c
kern_mutex.c Remove all the checks on curthread != NULL with the exception of some MD 2012-09-13 22:26:22 +00:00
kern_ntptime.c
kern_osd.c
kern_physio.c
kern_pmc.c
kern_poll.c
kern_priv.c
kern_proc.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_prot.c
kern_racct.c Add CPU percentage limit enforcement to RCTL. The resouce name is "pcpu". 2012-10-26 16:01:08 +00:00
kern_rangelock.c
kern_rctl.c Add CPU percentage limit enforcement to RCTL. The resouce name is "pcpu". 2012-10-26 16:01:08 +00:00
kern_resource.c
kern_rmlock.c Add an unified macro to deny ability from the compiler to reorder 2012-10-09 14:32:30 +00:00
kern_rwlock.c Remove all the checks on curthread != NULL with the exception of some MD 2012-09-13 22:26:22 +00:00
kern_sdt.c
kern_sema.c
kern_sharedpage.c
kern_shutdown.c
kern_sig.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
kern_switch.c
kern_sx.c Remove all the checks on curthread != NULL with the exception of some MD 2012-09-13 22:26:22 +00:00
kern_synch.c
kern_syscalls.c
kern_sysctl.c
kern_tc.c
kern_thr.c
kern_thread.c Make the updates of the tid ring buffer' head and tail pointers 2012-09-26 09:25:11 +00:00
kern_time.c
kern_timeout.c
kern_umtx.c The fields of struct timespec32 should be int32_t and not uint32_t. 2012-10-27 23:42:41 +00:00
kern_uuid.c
kern_xxx.c
ksched.c
link_elf_obj.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
link_elf.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
linker_if.m
Make.tags.inc Disconnect non-MPSAFE SMBFS from the build in preparation for dropping 2012-10-18 12:04:56 +00:00
Makefile
makesyscalls.sh
md4c.c
md5c.c
p1003_1b.c
posix4_mib.c
sched_4bsd.c Add CPU percentage limit enforcement to RCTL. The resouce name is "pcpu". 2012-10-26 16:01:08 +00:00
sched_ule.c tdq_lock_pair() already does spinlock_enter() so migration is not 2012-10-30 12:25:52 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c
subr_acl_posix1e.c
subr_autoconf.c
subr_blist.c
subr_bufring.c
subr_bus.c Provide a generic way to disable devices at boot time 2012-10-02 03:33:41 +00:00
subr_clock.c
subr_devstat.c
subr_disk.c
subr_dummy_vdso_tc.c
subr_eventhandler.c
subr_fattime.c
subr_firmware.c
subr_hash.c
subr_hints.c
subr_kdb.c
subr_kobj.c
subr_lock.c
subr_log.c
subr_mbpool.c
subr_mchain.c
subr_module.c
subr_msgbuf.c
subr_param.c Allow autotune maxusers > 384 on 64 bit machines 2012-10-25 01:46:20 +00:00
subr_pcpu.c
subr_power.c
subr_prf.c
subr_prof.c
subr_rman.c
subr_rtc.c
subr_sbuf.c
subr_scanf.c
subr_sglist.c
subr_sleepqueue.c Tweak the commit message in case of panic for sleeping from threads 2012-09-12 22:05:54 +00:00
subr_smp.c
subr_stack.c
subr_syscall.c Move the checks for td_pinned, td_critnest, TDP_NOFAULTING and 2012-09-08 18:35:15 +00:00
subr_taskqueue.c
subr_trap.c Fixup r240246: hwpmc needs to retain the pinning until ASTs are not 2012-10-30 15:10:50 +00:00
subr_turnstile.c Improve check coverage about idle threads. 2012-09-12 22:10:53 +00:00
subr_uio.c Replace the ill-named ZERO_COPY_SOCKET kernel option with two 2012-10-23 14:19:44 +00:00
subr_unit.c Correct double "the the" 2012-09-14 21:28:56 +00:00
subr_witness.c
sys_capability.c
sys_generic.c Disconnect non-MPSAFE SMBFS from the build in preparation for dropping 2012-10-18 12:04:56 +00:00
sys_pipe.c
sys_procdesc.c
sys_process.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
sys_socket.c
syscalls.c
syscalls.master
systrace_args.c
sysv_ipc.c
sysv_msg.c
sysv_sem.c
sysv_shm.c
tty_compat.c
tty_info.c
tty_inq.c
tty_outq.c
tty_pts.c
tty_tty.c
tty_ttydisc.c Correct SIGTTIN handling. 2012-10-25 09:05:21 +00:00
tty.c Correct SIGTTIN handling. 2012-10-25 09:05:21 +00:00
uipc_accf.c
uipc_cow.c
uipc_debug.c
uipc_domain.c Move UMA socket zone initialization from uipc_domain.c to uipc_socket.c 2012-10-19 10:15:32 +00:00
uipc_mbuf2.c
uipc_mbuf.c Since the macro dtom() has been removed, fix comments about the dtom. 2012-10-29 10:04:28 +00:00
uipc_mqueue.c Fix freebsd32_kmq_timedreceive() and freebsd32_kmq_timedsend() to use 2012-09-25 22:15:59 +00:00
uipc_sem.c
uipc_shm.c
uipc_sockbuf.c
uipc_socket.c In soreceive_stream() don't drop an already dequeued mbuf chain by 2012-10-29 12:31:12 +00:00
uipc_syscalls.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
uipc_usrreq.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_acl.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_aio.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_bio.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_cache.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_cluster.c
vfs_default.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_export.c
vfs_extattr.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_hash.c
vfs_init.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_lookup.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_mount.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_mountroot.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_subr.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vfs_syscalls.c Remove unused `vfslocked' variable. 2012-10-22 21:14:26 +00:00
vfs_vnops.c Remove the support for using non-mpsafe filesystem modules. 2012-10-22 17:50:54 +00:00
vnode_if.src Fix the mis-handling of the VV_TEXT on the nullfs vnodes. 2012-09-28 11:25:02 +00:00