Lines Matching refs:cprm
197 static int format_corename(struct core_name *cn, struct coredump_params *cprm, in format_corename() argument
289 __get_dumpable(cprm->mm_flags)); in format_corename()
294 cprm->siginfo->si_signo); in format_corename()
595 struct coredump_params cprm = { in do_coredump() local
612 if (!__get_dumpable(cprm.mm_flags)) in do_coredump()
624 if (__get_dumpable(cprm.mm_flags) == SUID_DUMP_ROOT) { in do_coredump()
636 ispipe = format_corename(&cn, &cprm, &argv, &argc); in do_coredump()
650 if (cprm.limit == 1) { in do_coredump()
672 cprm.limit = RLIM_INFINITY; in do_coredump()
696 umh_pipe_setup, NULL, &cprm); in do_coredump()
712 if (cprm.limit < binfmt->min_coredump) in do_coredump()
759 cprm.file = file_open_root(root.dentry, root.mnt, in do_coredump()
763 cprm.file = filp_open(cn.corename, open_flags, 0600); in do_coredump()
765 if (IS_ERR(cprm.file)) in do_coredump()
768 inode = file_inode(cprm.file); in do_coredump()
771 if (d_unhashed(cprm.file->f_path.dentry)) in do_coredump()
789 if (!(cprm.file->f_mode & FMODE_CAN_WRITE)) in do_coredump()
791 if (do_truncate(cprm.file->f_path.dentry, 0, 0, cprm.file)) in do_coredump()
806 if (!cprm.file) { in do_coredump()
810 file_start_write(cprm.file); in do_coredump()
811 core_dumped = binfmt->core_dump(&cprm); in do_coredump()
812 file_end_write(cprm.file); in do_coredump()
815 wait_for_dump_helpers(cprm.file); in do_coredump()
817 if (cprm.file) in do_coredump()
818 filp_close(cprm.file, NULL); in do_coredump()
838 int dump_emit(struct coredump_params *cprm, const void *addr, int nr) in dump_emit() argument
840 struct file *file = cprm->file; in dump_emit()
843 if (cprm->written + nr > cprm->limit) in dump_emit()
853 cprm->written += n; in dump_emit()
854 cprm->pos += n; in dump_emit()
860 int dump_skip(struct coredump_params *cprm, size_t nr) in dump_skip() argument
863 struct file *file = cprm->file; in dump_skip()
868 cprm->pos += nr; in dump_skip()
872 if (!dump_emit(cprm, zeroes, PAGE_SIZE)) in dump_skip()
876 return dump_emit(cprm, zeroes, nr); in dump_skip()
882 int dump_user_range(struct coredump_params *cprm, unsigned long start, in dump_user_range() argument
902 stop = !dump_emit(cprm, kaddr, PAGE_SIZE); in dump_user_range()
906 stop = !dump_skip(cprm, PAGE_SIZE); in dump_user_range()
915 int dump_align(struct coredump_params *cprm, int align) in dump_align() argument
917 unsigned mod = cprm->pos & (align - 1); in dump_align()
920 return mod ? dump_skip(cprm, align - mod) : 1; in dump_align()
929 void dump_truncate(struct coredump_params *cprm) in dump_truncate() argument
931 struct file *file = cprm->file; in dump_truncate()
1088 int dump_vma_snapshot(struct coredump_params *cprm, int *vma_count, in dump_vma_snapshot() argument
1121 m->dump_size = vma_dump_size(vma, cprm->mm_flags); in dump_vma_snapshot()