mirror of
https://github.com/opnsense/src.git
synced 2026-02-10 22:35:04 -05:00
This flag is used in field 'cr_flags', which is never directly visible outside the kernel. That field is however exported through 'struct kinfo_proc' objects (field 'ki_cr_flags'), either from the kernel via sysctls or from libkvm, and is supposed to contain exported flags prefixed with KI_CRF_ (currently, KI_CRF_CAPABILITY_MODE and KI_CRF_GRP_OVERFLOW, this second one being a purely userland one signaling overflow of 'ki_groups'). Make sure that KI_CRF_CAPABILITY_MODE is the flag actually exported and tested by userland programs, and hide the internal CRED_FLAG_CAPMODE. As both flags are currently defined to the same value, this doesn't change the KBI, but of course does change the KPI. A code search via GitHub and Google fortunately doesn't reveal any outside uses for CRED_FLAG_CAPMODE. While here, move assignment of 'ki_uid' to a more logical place in kvm_proclist(), and definition of XU_NGROUPS as well in 'sys/ucred.h' (no functional/interface changes intended). Reviewed by: mhorne Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46909 (cherry picked from commit 09290c3a0c82524138973b14f393379edf733753) A ports exp-run (PR 283410) showed one port to be affected (sysutils/procs), which has been fixed upstream and in the ports tree. All additional indirect references to CRED_FLAG_CAPMODE we found after the code search mentioned in the original commit message are automatically generated from our headers by FFI mechanisms, so automatically disappear at recompilation (and the KBI is not changed, as explained above, so recompilation is not needed). |
||
|---|---|---|
| .. | ||
| tests | ||
| kvm.3 | ||
| kvm.c | ||
| kvm.h | ||
| kvm_aarch64.h | ||
| kvm_amd64.c | ||
| kvm_amd64.h | ||
| kvm_arm.c | ||
| kvm_arm.h | ||
| kvm_cptime.c | ||
| kvm_getcptime.3 | ||
| kvm_geterr.3 | ||
| kvm_getloadavg.3 | ||
| kvm_getloadavg.c | ||
| kvm_getpcpu.3 | ||
| kvm_getprocs.3 | ||
| kvm_getswapinfo.3 | ||
| kvm_getswapinfo.c | ||
| kvm_i386.c | ||
| kvm_i386.h | ||
| kvm_kerndisp.3 | ||
| kvm_minidump_aarch64.c | ||
| kvm_minidump_amd64.c | ||
| kvm_minidump_arm.c | ||
| kvm_minidump_i386.c | ||
| kvm_minidump_powerpc64.c | ||
| kvm_minidump_powerpc64_hpt.c | ||
| kvm_minidump_riscv.c | ||
| kvm_native.3 | ||
| kvm_nlist.3 | ||
| kvm_open.3 | ||
| kvm_pcpu.c | ||
| kvm_powerpc.c | ||
| kvm_powerpc64.c | ||
| kvm_powerpc64.h | ||
| kvm_private.c | ||
| kvm_private.h | ||
| kvm_proc.c | ||
| kvm_read.3 | ||
| kvm_riscv.h | ||
| kvm_vnet.c | ||
| Makefile | ||
| Makefile.depend | ||