Lines Matching defs:cn

74 static int expand_corename(struct core_name *cn, int size)
79 corename = krealloc(cn->corename, size, GFP_KERNEL);
87 cn->size = size;
88 cn->corename = corename;
92 static __printf(2, 0) int cn_vprintf(struct core_name *cn, const char *fmt,
99 free = cn->size - cn->used;
102 need = vsnprintf(cn->corename + cn->used, free, fmt, arg_copy);
106 cn->used += need;
110 if (!expand_corename(cn, cn->size + need - free + 1))
116 static __printf(2, 3) int cn_printf(struct core_name *cn, const char *fmt, ...)
122 ret = cn_vprintf(cn, fmt, arg);
129 int cn_esc_printf(struct core_name *cn, const char *fmt, ...)
131 int cur = cn->used;
136 ret = cn_vprintf(cn, fmt, arg);
144 if ((cn->used - cur == 1 && cn->corename[cur] == '.') ||
145 (cn->used - cur == 2 && cn->corename[cur] == '.'
146 && cn->corename[cur+1] == '.'))
147 cn->corename[cur] = '!';
155 if (cn->used == cur)
156 ret = cn_printf(cn, "!");
159 for (; cur < cn->used; ++cur) {
160 if (cn->corename[cur] == '/')
161 cn->corename[cur] = '!';
166 static int cn_print_exe_file(struct core_name *cn, bool name_only)
174 return cn_esc_printf(cn, "%s (path unknown)", current->comm);
193 ret = cn_esc_printf(cn, "%s", path);
206 static int format_corename(struct core_name *cn, struct coredump_params *cprm,
216 cn->used = 0;
217 cn->corename = NULL;
218 if (expand_corename(cn, core_name_size))
220 cn->corename[0] = '\0';
242 if (cn->used != 0)
248 err = cn_printf(cn, "%c", '\0');
251 (*argv)[(*argc)++] = cn->used;
255 err = cn_printf(cn, "%c", *pat_ptr++);
263 err = cn_printf(cn, "%c", '%');
268 err = cn_printf(cn, "%d",
273 err = cn_printf(cn, "%d",
277 err = cn_printf(cn, "%d",
281 err = cn_printf(cn, "%d",
286 err = cn_printf(cn, "%u",
292 err = cn_printf(cn, "%u",
297 err = cn_printf(cn, "%d",
302 err = cn_printf(cn, "%d",
310 err = cn_printf(cn, "%lld", time);
316 err = cn_esc_printf(cn, "%s",
322 err = cn_esc_printf(cn, "%s", current->comm);
326 err = cn_print_exe_file(cn, true);
329 err = cn_print_exe_file(cn, false);
333 err = cn_printf(cn, "%lu",
338 err = cn_printf(cn, "%d", cprm->cpu);
357 err = cn_printf(cn, ".%d", task_tgid_vnr(current));
527 struct core_name cn;
582 ispipe = format_corename(&cn, &cprm, &argv, &argc);
636 helper_argv[argi] = cn.corename + argv[argi];
650 cn.corename);
662 if (need_suid_safe && cn.corename[0] != '/') {
680 do_unlinkat(AT_FDCWD, getname_kernel(cn.corename));
706 cprm.file = file_open_root(&root, cn.corename,
710 cprm.file = filp_open(cn.corename, open_flags, 0600);
736 cn.corename);
741 cn.corename);
762 pr_info("Core dump to |%s disabled\n", cn.corename);
793 kfree(cn.corename);