summaryrefslogtreecommitdiffstats
path: root/lib/libutil/kinfo_getfile.c
Commit message (Collapse)AuthorAgeFilesLines
* MFC r311714:ngie2017-01-131-3/+3
| | | | | | | lib/libutil/kinfo_*: style cleanup - Use nitems(mib) instead of hardcoding mib's length - Sort sys/ #includes
* Detect badly behaved coredump note helperscem2015-09-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Coredump notes depend on being able to invoke dump routines twice; once in a dry-run mode to get the size of the note, and another to actually emit the note to the corefile. When a note helper emits a different length section the second time around than the length it requested the first time, the kernel produces a corrupt coredump. NT_PROCSTAT_FILES output length, when packing kinfo structs, is tied to the length of filenames corresponding to vnodes in the process' fd table via vn_fullpath. As vnodes may move around during dump, this is racy. So: - Detect badly behaved notes in putnote() and pad underfilled notes. - Add a fail point, debug.fail_point.fill_kinfo_vnode__random_path to exercise the NT_PROCSTAT_FILES corruption. It simply picks random lengths to expand or truncate paths to in fo_fill_kinfo_vnode(). - Add a sysctl, kern.coredump_pack_fileinfo, to allow users to disable kinfo packing for PROCSTAT_FILES notes. This should avoid both FILES note corruption and truncation, even if filenames change, at the cost of about 1 kiB in padding bloat per open fd. Document the new sysctl in core.5. - Fix note_procstat_files to self-limit in the 2nd pass. Since sometimes this will result in a short write, pad up to our advertised size. This addresses note corruption, at the risk of sometimes truncating the last several fd info entries. - Fix NT_PROCSTAT_FILES consumers libutil and libprocstat to grok the zero padding. With suggestions from: bjk, jhb, kib, wblock Approved by: markj (mentor) Relnotes: yes Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D3548
* Include param.h instead of types.h when using user.h. Otherwise there isrwatson2008-12-271-1/+1
| | | | | | | a dependence on ucred.h including audit.h including param.h, which we would like to eliminate. MFC after: 3 weeks
* Initialize the cntp pointer to 0 prior to doing any work so that callersmarcus2008-12-191-4/+5
| | | | | | | | don't try to iterate through garbage or NULL memory. Additionally, return NULL instead of 0 on error. Reviewed by: peter Approved by: peter
* Attempt a quick bandaid for arm build breakage. I went to the trouble ofpeter2008-12-021-2/+2
| | | | maintaining alignment, but I'm not sure how to tell gcc this.
* Add experimental front ends to the kinfo_vmentry and kinfo_filedescpeter2008-11-301-0/+72
sysctls.
OpenPOWER on IntegriCloud