Lines Matching refs:cprm

190 static int format_corename(struct core_name *cn, struct coredump_params *cprm)  in format_corename()  argument
254 __get_dumpable(cprm->mm_flags)); in format_corename()
259 cprm->siginfo->si_signo); in format_corename()
554 struct coredump_params cprm = { in do_coredump() local
571 if (!__get_dumpable(cprm.mm_flags)) in do_coredump()
583 if (__get_dumpable(cprm.mm_flags) == SUID_DUMP_ROOT) { in do_coredump()
595 ispipe = format_corename(&cn, &cprm); in do_coredump()
608 if (cprm.limit == 1) { in do_coredump()
630 cprm.limit = RLIM_INFINITY; in do_coredump()
650 umh_pipe_setup, NULL, &cprm); in do_coredump()
666 if (cprm.limit < binfmt->min_coredump) in do_coredump()
713 cprm.file = file_open_root(root.dentry, root.mnt, in do_coredump()
717 cprm.file = filp_open(cn.corename, open_flags, 0600); in do_coredump()
719 if (IS_ERR(cprm.file)) in do_coredump()
722 inode = file_inode(cprm.file); in do_coredump()
725 if (d_unhashed(cprm.file->f_path.dentry)) in do_coredump()
743 if (!(cprm.file->f_mode & FMODE_CAN_WRITE)) in do_coredump()
745 if (do_truncate(cprm.file->f_path.dentry, 0, 0, cprm.file)) in do_coredump()
756 file_start_write(cprm.file); in do_coredump()
757 core_dumped = binfmt->core_dump(&cprm); in do_coredump()
758 file_end_write(cprm.file); in do_coredump()
761 wait_for_dump_helpers(cprm.file); in do_coredump()
763 if (cprm.file) in do_coredump()
764 filp_close(cprm.file, NULL); in do_coredump()
783 int dump_emit(struct coredump_params *cprm, const void *addr, int nr) in dump_emit() argument
785 struct file *file = cprm->file; in dump_emit()
788 if (cprm->written + nr > cprm->limit) in dump_emit()
797 cprm->written += n; in dump_emit()
798 cprm->pos += n; in dump_emit()
805 int dump_skip(struct coredump_params *cprm, size_t nr) in dump_skip() argument
808 struct file *file = cprm->file; in dump_skip()
813 cprm->pos += nr; in dump_skip()
817 if (!dump_emit(cprm, zeroes, PAGE_SIZE)) in dump_skip()
821 return dump_emit(cprm, zeroes, nr); in dump_skip()
826 int dump_align(struct coredump_params *cprm, int align) in dump_align() argument
828 unsigned mod = cprm->pos & (align - 1); in dump_align()
831 return mod ? dump_skip(cprm, align - mod) : 1; in dump_align()
840 void dump_truncate(struct coredump_params *cprm) in dump_truncate() argument
842 struct file *file = cprm->file; in dump_truncate()