]>
git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - include/linux/coredump.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_COREDUMP_H
3 #define _LINUX_COREDUMP_H
5 #include <linux/types.h>
8 #include <asm/siginfo.h>
10 #ifdef CONFIG_COREDUMP
11 struct core_vma_metadata
{
12 unsigned long start
, end
;
14 unsigned long dump_size
;
17 extern int core_uses_pid
;
18 extern char core_pattern
[];
19 extern unsigned int core_pipe_limit
;
22 * These are the only things you should do on a core-file: use only these
23 * functions to write out all the necessary info.
25 struct coredump_params
;
26 extern void dump_skip_to(struct coredump_params
*cprm
, unsigned long to
);
27 extern void dump_skip(struct coredump_params
*cprm
, size_t nr
);
28 extern int dump_emit(struct coredump_params
*cprm
, const void *addr
, int nr
);
29 extern int dump_align(struct coredump_params
*cprm
, int align
);
30 int dump_user_range(struct coredump_params
*cprm
, unsigned long start
,
32 int dump_vma_snapshot(struct coredump_params
*cprm
, int *vma_count
,
33 struct core_vma_metadata
**vma_meta
,
34 size_t *vma_data_size_ptr
);
35 extern void do_coredump(const kernel_siginfo_t
*siginfo
);
37 static inline void do_coredump(const kernel_siginfo_t
*siginfo
) {}
40 #endif /* _LINUX_COREDUMP_H */