Skip to content

Commit f833116

Browse files
committed
coredump: Don't compile flat_core_dump when coredumps are disabled
Recently the kernel test robot reported: > In file included from include/linux/kernel.h:29, > from fs/binfmt_flat.c:21: > fs/binfmt_flat.c: In function 'flat_core_dump': > >> fs/binfmt_flat.c:121:50: error: invalid use of undefined type 'struct coredump_params' > 121 | current->comm, current->pid, cprm->siginfo->si_signo); > | ^~ > include/linux/printk.h:418:33: note: in definition of macro 'printk_index_wrap' > 418 | _p_func(_fmt, ##__VA_ARGS__); \ > | ^~~~~~~~~~~ > include/linux/printk.h:499:9: note: in expansion of macro 'printk' > 499 | printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) > | ^~~~~~ > fs/binfmt_flat.c:120:9: note: in expansion of macro 'pr_warn' > 120 | pr_warn("Process %s:%d received signr %d and should have core dumped\n", > | ^~~~~~~ > At top level: > fs/binfmt_flat.c:118:12: warning: 'flat_core_dump' defined but not used [-Wunused-function] > 118 | static int flat_core_dump(struct coredump_params *cprm) > | ^~~~~~~~~~~~~~ The little dinky do nothing function flat_core_dump has always been compiled unconditionally. With my change to move coredump_params into coredump.h coredump_params reasonably becomes unavailable when coredump support is not compiled in. Fix this old issue by simply not compiling flat_core_dump when coredump support is not supported. Fixes: a99a3e2 ("coredump: Move definition of struct coredump_params into coredump.h") Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
1 parent 390031c commit f833116

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

fs/binfmt_flat.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,9 @@ static int load_flat_shared_library(int id, struct lib_info *p);
9898
#endif
9999

100100
static int load_flat_binary(struct linux_binprm *);
101+
#ifdef CONFIG_COREDUMP
101102
static int flat_core_dump(struct coredump_params *cprm);
103+
#endif
102104

103105
static struct linux_binfmt flat_format = {
104106
.module = THIS_MODULE,
@@ -115,12 +117,14 @@ static struct linux_binfmt flat_format = {
115117
* Currently only a stub-function.
116118
*/
117119

120+
#ifdef CONFIG_COREDUMP
118121
static int flat_core_dump(struct coredump_params *cprm)
119122
{
120123
pr_warn("Process %s:%d received signr %d and should have core dumped\n",
121124
current->comm, current->pid, cprm->siginfo->si_signo);
122125
return 1;
123126
}
127+
#endif
124128

125129
/****************************************************************************/
126130
/*

0 commit comments

Comments
 (0)