freebsd-dev/sys/kern
Kyle Evans 5dd47b52e5 posixshm: fix setting of shm_flags
Noted in D24652, we currently set shmfd->shm_flags on every
shm_open()/shm_open2(). This wasn't properly thought out; one shouldn't be
able to specify incompatible flags on subsequent opens of non-anon shm.

Move setting of shm_flags explicitly to the two places shmfd are created, as
we do with seals, and validate when we're opening a pre-existing mapping
that we've either passed no flags or we've passed the exact same flags as
the first time.

Reviewed by:	kib, markj
Differential Revision:	https://reviews.freebsd.org/D26242
2020-08-31 15:07:15 +00:00
..
bus_if.m Remove trailing white space. 2020-02-26 16:22:28 +00:00
capabilities.conf Permit cpuset_(get|set)domain() in capability mode. 2020-07-06 16:34:29 +00:00
clock_if.m
cpufreq_if.m
device_if.m
genassym.sh
genoffset.c Merge td_epochnest with td_no_sleeping. 2019-10-29 17:28:25 +00:00
genoffset.sh
imgact_aout.c Make ps_strings in struct image_params into a pointer. 2020-04-15 20:21:30 +00:00
imgact_binmisc.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Pass pointers to info parsed from notes, to brandinfo->header_supported filter. 2020-08-23 20:06:55 +00:00
imgact_shell.c
init_main.c Use SI_ORDER_(FOURTH|FIFTH) rather than bespoke versions. 2020-07-22 23:35:41 +00:00
init_sysent.c Regenerate. 2020-07-06 16:34:49 +00:00
kern_acct.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_alq.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
kern_clock.c Allow swi_sched() to be called from NMI context. 2020-07-25 15:19:38 +00:00
kern_clocksource.c
kern_condvar.c
kern_conf.c Retire devctl_notify_f() 2020-08-29 04:30:06 +00:00
kern_cons.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_context.c
kern_cpu.c Don't try to set frequendcy for enumerated but newer started CPUs. 2020-04-29 14:14:15 +00:00
kern_cpuset.c Allow accesses of the caller's CPU and domain sets in capability mode. 2020-07-06 16:34:09 +00:00
kern_ctf.c vfs: drop the mostly unused flags argument from VOP_UNLOCK 2020-01-03 22:29:58 +00:00
kern_descrip.c fd: pwd_drop after releasing filedesc lock 2020-08-22 16:57:45 +00:00
kern_dtrace.c
kern_dump.c - Cleanups related to sparc64 removal. 2020-07-28 10:58:37 +00:00
kern_environment.c kenv: avoid sleepable alloc for integer tunables 2020-08-14 21:37:38 +00:00
kern_et.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_event.c kqueue: fix conversion of timer data to sbintime 2020-04-21 03:57:30 +00:00
kern_exec.c cache: drop the always curthread argument from reverse lookup routines 2020-08-24 08:57:02 +00:00
kern_exit.c Fix several issues with process group orphanage. 2020-08-22 21:32:11 +00:00
kern_fail.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +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 fd: remove fd_lastfile 2020-07-15 10:24:04 +00: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 Allow swi_sched() to be called from NMI context. 2020-07-25 15:19:38 +00:00
kern_jail.c vfs: respect PRIV_VFS_LOOKUP in vaccess_smr 2020-08-25 14:18:50 +00: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 Do a lockless check in kthread_suspend_check 2020-07-25 07:14:33 +00:00
kern_ktr.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_ktrace.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_linker.c Clarify which hints file is the source of an error message. 2020-06-01 03:37:58 +00:00
kern_lock.c lockmgr: add missing 'continue' to account for spuriously failed fcmpset 2020-07-24 17:28:24 +00:00
kern_lockf.c lockf: elide avoidable locking in lf_advlockasync 2020-07-05 23:07:54 +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
kern_malloc.c LinuxKPI: Implement ksize() function. 2020-08-29 19:26:31 +00:00
kern_mbuf.c make m_getm2() resilient to zone_jumbop exhaustion 2020-08-31 13:53:14 +00:00
kern_mib.c Improve comment for compat32 handling of sysctl hw.pagesizes. 2020-05-15 13:53:10 +00:00
kern_module.c
kern_mtxpool.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
kern_mutex.c mtx: add mtx_wait_unlocked 2020-08-04 23:00:00 +00:00
kern_ntptime.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_osd.c
kern_physio.c
kern_pmc.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +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 vfs: respect PRIV_VFS_LOOKUP in vaccess_smr 2020-08-25 14:18:50 +00:00
kern_proc.c cache: drop the always curthread argument from reverse lookup routines 2020-08-24 08:57:02 +00:00
kern_procctl.c correct procctl(PROC_PROTMAX_STATUS _NOFORCE return 2020-05-01 14:30:59 +00:00
kern_prot.c cred: add more asserts for td_realucred == td_ucred 2020-08-01 16:02:32 +00:00
kern_racct.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_rangelock.c rangelock: add rangelock_cookie_assert 2019-09-15 02:59:53 +00:00
kern_rctl.c Retire devctl_notify_f() 2020-08-29 04:30:06 +00:00
kern_resource.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
kern_rmlock.c rms: fix typo: bitmamp -> bitmap 2020-08-04 20:31:03 +00:00
kern_rwlock.c locks: fix a long standing bug for primitives with kdtrace but without spinning 2020-07-23 17:26:53 +00:00
kern_sdt.c
kern_sema.c
kern_sendfile.c Fix hang due to missing unbusy in sendfile when an async data I/O fails. 2020-06-06 00:02:50 +00:00
kern_sharedpage.c kern_sharedpage.c: Add exec_sysvec_init_secondary() helper. 2020-08-23 19:43:47 +00:00
kern_shutdown.c Fix writing of the final block of encrypted, compressed kernel dumps. 2020-08-27 17:36:06 +00:00
kern_sig.c cache: drop the always curthread argument from reverse lookup routines 2020-08-24 08:57:02 +00: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 locks: fix a long standing bug for primitives with kdtrace but without spinning 2020-07-23 17:26:53 +00:00
kern_synch.c Handle PCATCH in blockcount_sleep() so it can be interrupted. 2020-04-21 17:13:06 +00:00
kern_syscalls.c add a sanity check to the system call registration code 2019-12-11 15:52:29 +00:00
kern_sysctl.c style(9): end continued line with operator. 2020-04-16 17:24:13 +00:00
kern_tc.c Remove double-calls to tc_get_timecount() to warm timecounters. 2020-06-10 22:30:32 +00:00
kern_thr.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kern_thread.c cred: add more asserts for td_realucred == td_ucred 2020-08-01 16:02:32 +00:00
kern_time.c Remove bogus use of useracc() in (clock_)nanosleep. 2020-04-14 20:53:12 +00:00
kern_timeout.c Remove misleading / redundant bzero in callout_callwheel_init 2020-03-16 22:25:25 +00:00
kern_tslog.c
kern_ubsan.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
kern_umtx.c sys/: Document few more sysctls. 2020-03-02 15:30:52 +00: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
ksched.c
link_elf_obj.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
link_elf.c Rerun kernel ifunc resolvers after all CPUs have started 2020-07-05 14:38:22 +00:00
linker_if.m
Make.tags.inc Remove a couple of harmless stray references to nandfs. 2019-06-25 16:39:25 +00:00
Makefile sys/kern sysent: re-add dependency on capabilities.conf 2020-02-12 19:06:34 +00:00
makesyscalls.sh makesyscalls.sh: improve the 'this is going away' message 2020-07-28 01:05:40 +00:00
md4c.c
md5c.c
msi_if.m
p1003_1b.c
pic_if.m
posix4_mib.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
sched_4bsd.c sys/: Document few more sysctls. 2020-03-02 15:30:52 +00:00
sched_ule.c sys/: Document few more sysctls. 2020-03-02 15:30:52 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c vfs: remove the obsolete privused argument from vaccess 2020-08-05 09:27:03 +00:00
subr_acl_posix1e.c vfs: remove the obsolete privused argument from vaccess 2020-08-05 09:27:03 +00: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
subr_blist.c Fix an overflow bug in the blist allocator that needlessly capped max 2020-07-25 18:29:10 +00:00
subr_boot.c
subr_bufring.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
subr_bus_dma.c crypto(9): add CRYPTO_BUF_VMPAGE 2020-08-26 02:37:42 +00:00
subr_bus.c We don't need to INCLUDENUL, so turn it off to avoid assertion... 2020-08-29 11:46:50 +00:00
subr_busdma_bufalloc.c
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 Add COUNTER_U64_SYSINIT() and COUNTER_U64_DEFINE_EARLY(). 2020-03-06 19:09:01 +00:00
subr_coverage.c Mark COVERAGE and KCOV as part of KCSAN 2020-08-19 14:11:25 +00:00
subr_csan.c Add char and short types to kcsan 2020-07-04 06:22:05 +00:00
subr_devmap.c Print upper 32 bits in devmap table entries 2019-12-20 03:40:53 +00:00
subr_devstat.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_disk.c
subr_dummy_vdso_tc.c
subr_early.c
subr_epoch.c Add full support support for dynamic allocation and freeing of epoch's. 2020-08-07 15:32:42 +00:00
subr_eventhandler.c
subr_fattime.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
subr_filter.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
subr_firmware.c Fix a panic when unloading firmware 2020-06-29 21:35:50 +00:00
subr_gtaskqueue.c Remove the "config" taskqgroup and its KPIs. 2020-03-30 14:24:03 +00:00
subr_hash.c
subr_hints.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
subr_intr.c INTRNG: only shuffle for !EARLY_AP_STARTUP 2020-07-21 22:47:02 +00:00
subr_kdb.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_kobj.c sys/: Document few more sysctls. 2020-03-02 15:30:52 +00:00
subr_lock.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_log.c
subr_mchain.c
subr_module.c
subr_msgbuf.c
subr_param.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_pcpu.c Add COUNTER_U64_SYSINIT() and COUNTER_U64_DEFINE_EARLY(). 2020-03-06 19:09:01 +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 Convert arm's physmem interface to MI code 2020-04-19 00:12:30 +00:00
subr_pidctrl.c
subr_power.c
subr_prf.c remove %n support from printf(9) 2020-05-09 15:56:02 +00: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
subr_rman.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_rtc.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_sbuf.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
subr_scanf.c Add support for 'j', 't' and 'z' flags to kernel sscanf(). 2019-08-16 19:46:22 +00:00
subr_sfbuf.c
subr_sglist.c Step 4.2: start divorce of M_EXT and M_EXTPG 2020-05-03 00:37:16 +00:00
subr_sleepqueue.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_smp.c Provide more correct description for sysctl kern.smp.cores. 2020-08-03 17:17:17 +00: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 Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
subr_syscall.c Retire procfs-based process debugging. 2020-04-01 19:22:09 +00:00
subr_taskqueue.c Add flag to struct task to mark the task as requiring network epoch. 2020-02-11 18:48:07 +00:00
subr_terminal.c vt(4): reset scrollback and cursor position after clearing history buffer 2020-06-02 01:21:48 +00:00
subr_trap.c Retire procfs-based process debugging. 2020-04-01 19:22:09 +00:00
subr_turnstile.c ddb(4): show lockchain: Don't dereference LK_KERNPROC 2020-04-02 20:47:51 +00:00
subr_uio.c Remove copyinfrom() and copyinstrfrom(). 2020-05-20 20:58:17 +00:00
subr_unit.c Remove duplicated empty lines from kern/*.c 2020-01-30 20:05:05 +00:00
subr_vmem.c vmem: Avoid allocating span tags when segments are never released. 2020-08-26 14:31:35 +00:00
subr_witness.c cache: convert bucketlocks to a mutex 2020-08-26 12:52:17 +00:00
sys_capability.c Enter a write sequence when updating rights. 2020-03-19 15:39:45 +00:00
sys_generic.c poll: factor fd lookup out of scan and rescan 2020-07-15 10:24:39 +00:00
sys_getrandom.c Fix a typo in r356667 comment 2020-01-12 23:52:16 +00:00
sys_pipe.c Rename the pipe_map field of struct pipe. 2020-08-14 14:50:41 +00:00
sys_procdesc.c procdesc: allow to collect status through wait(1) if process is traced 2019-11-25 18:33:21 +00:00
sys_process.c cache: drop the always curthread argument from reverse lookup routines 2020-08-24 08:57:02 +00:00
sys_socket.c Lock the socket in soo_stat(). 2020-03-20 20:09:00 +00:00
syscalls.c Update the files created from the new syscalls.master from r361599. 2020-05-28 21:23:02 +00:00
syscalls.master Add a syscall for the nfs-over-tls daemons to use. 2020-05-28 21:06:10 +00:00
systrace_args.c Update the files created from the new syscalls.master from r361599. 2020-05-28 21:23:02 +00:00
sysv_ipc.c
sysv_msg.c Avoid copying out kernel pointers from msgctl(IPC_STAT). 2020-07-09 17:26:49 +00:00
sysv_sem.c Apply the logic from r363051 to semctl(2) and __sem_base field. 2020-07-09 18:34:54 +00:00
sysv_shm.c Centralize compatability translation macros. 2020-04-14 20:30:48 +00: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
tty_ttydisc.c Implement FLUSHO 2020-08-27 05:11:15 +00:00
tty.c Implement FLUSHO 2020-08-27 05:11:15 +00:00
uipc_accf.c Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
uipc_debug.c
uipc_domain.c - Move global network epoch definition to epoch.h, as more different 2020-01-15 03:34:21 +00:00
uipc_ktls.c Add support for KTLS RX via software decryption. 2020-07-23 23:48:18 +00:00
uipc_mbuf2.c m_pulldown(): Change an if () panic() into a KASSERT(). 2019-11-06 22:40:19 +00:00
uipc_mbuf.c Add m__getjcl SDT probe. 2020-08-05 11:39:09 +00:00
uipc_mbufhash.c
uipc_mqueue.c vfs: remove the always-curthread td argument from VOP_RECLAIM 2020-08-19 07:28:01 +00:00
uipc_sem.c vfs: remove the obsolete privused argument from vaccess 2020-08-05 09:27:03 +00:00
uipc_shm.c posixshm: fix setting of shm_flags 2020-08-31 15:07:15 +00:00
uipc_sockbuf.c Guard sbcompress_ktls_rx with KERN_TLS 2020-07-25 07:15:23 +00:00
uipc_socket.c Add the MSG_TLSAPPDATA flag to indicate "return ENXIO" for non-application TLS 2020-08-19 23:42:33 +00:00
uipc_syscalls.c Only enable COMPAT_43 changes for syscalls ABI for a.out processes. 2019-08-11 19:16:07 +00:00
uipc_usrreq.c Add SOL_LOCAL symbolic constant for unix socket option level. 2020-08-03 22:13:02 +00: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 vfs: drop the error parameter from vn_isdisk, introduce vn_isdisk_error 2020-08-19 02:51:17 +00:00
vfs_bio.c vfs: drop the error parameter from vn_isdisk, introduce vn_isdisk_error 2020-08-19 02:51:17 +00:00
vfs_cache.c cache: don't update timestmaps on found entry 2020-08-27 06:31:55 +00:00
vfs_cluster.c vfs: fix trivial whitespace issues which don't interefere with blame 2020-07-10 09:01:36 +00:00
vfs_default.c vfs: assert that VI_TEXT_REF is not already set 2020-08-16 18:45:31 +00:00
vfs_export.c vfs: fix trivial whitespace issues which don't interefere with blame 2020-07-10 09:01:36 +00:00
vfs_extattr.c vfs_extattr: Allow extattr names up to the full max 2020-05-14 03:01:23 +00:00
vfs_hash.c vfs hash: annotate the lock with __exclusive_cache_line 2020-08-05 19:34:13 +00: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 Add a comment to clarify when and why cached names are deleted 2020-08-27 22:14:58 +00:00
vfs_mount.c Fix a "v_seqc_users == 0 not met" panic when VFS_STATFS() fails during mount. 2020-08-26 21:49:43 +00:00
vfs_mountroot.c vfs: fix trivial whitespace issues which don't interefere with blame 2020-07-10 09:01:36 +00:00
vfs_subr.c vfs: respect PRIV_VFS_LOOKUP in vaccess_smr 2020-08-25 14:18:50 +00:00
vfs_syscalls.c devfs: rework si_usecount to track opens 2020-08-11 14:27:57 +00:00
vfs_vnops.c cache: drop the always curthread argument from reverse lookup routines 2020-08-24 08:57:02 +00:00
vnode_if.src vfs: remove the always-curthread td argument from VOP_RECLAIM 2020-08-19 07:28:01 +00:00