Re: [PATCH v8] coredump: Add bit 9 of coredump_filter for pre-exit files before dumping
Randy Dunlap <[email protected]> Fri, 7 Aug 2026 22:55:42 -0700
| Newsgroups | gmane.linux.kernel.cross-arch,gmane.linux.file-systems,gmane.linux.kernel,gmane.linux.kernel.mm,gmane.linux.documentation |
|---|---|
| Message-ID | <[email protected]> |
Hi, On 8/7/26 10:27 PM, Xin Zhao wrote: > diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst > index db6167bef..aee03858b 100644 > --- a/Documentation/filesystems/proc.rst > +++ b/Documentation/filesystems/proc.rst > @@ -1927,7 +1927,7 @@ will be dumped when the <pid> process is dumped. coredump_filter is a bitmask > of memory types. If a bit of the bitmask is set, memory segments of the > corresponding memory type are dumped, otherwise they are not dumped. > > -The following 9 memory types are supported: > +The following 10 memory types are supported: > > - (bit 0) anonymous private memory > - (bit 1) anonymous shared memory > @@ -1939,6 +1939,7 @@ The following 9 memory types are supported: > - (bit 6) hugetlb shared memory > - (bit 7) DAX private memory > - (bit 8) DAX shared memory > + - (bit 9) fd list > > Note that MMIO pages such as frame buffer are never dumped and vDSO pages > are always dumped regardless of the bitmask status. > @@ -1946,13 +1947,19 @@ The following 9 memory types are supported: > Note that bits 0-4 don't affect hugetlb or DAX memory. hugetlb memory is > only affected by bit 5-6, and DAX is only affected by bits 7-8. > > -The default value of coredump_filter is 0x33; this means all anonymous memory > -segments, ELF header pages and hugetlb private memory are dumped. > + Note that bit 9 is set by default because tools like systemd-coredump go > + through the fds. If you do not set bit 9, files that are not referenced by > + any VMA are released before dumping core. Some file release logic, such as > + exiting flock or releasing references to shared buffers is executed much > + earlier. > + > +The default value of coredump_filter is 0x233; this means all anonymous memory > +segments, ELF header pages, hugetlb private memory and fd list are dumped. > > If you don't want to dump all shared memory segments attached to pid 1234, > -write 0x31 to the process's proc file:: > +write 0x231 to the process's proc file:: > > - $ echo 0x31 > /proc/1234/coredump_filter > + $ echo 0x231 > /proc/1234/coredump_filter > > When a new process is created, the process inherits the bitmask status from its > parent. It is useful to set up coredump_filter before the program runs. The proc.rst update LGTM. Thanks. Acked-by: Randy Dunlap <[email protected]> # for proc.rst -- ~Randy