Am Montag, 16. Dezember 2019, 19:37:07 CET schrieb Andi Kleen: > Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxx> writes: > > > Hi, > > > > if the /proc/sys/kernel/core_pattern is set with a space between '|' and the > > program and later a core file should be written the kernel panics. > > This happens because in format_corename() the first part of cn.corename > > is set to '\0' and later call_usermodehelper_exec() exits because of an > > empty command path but with return 0. But no pipe is created and thus > > cprm.file == NULL. > > This leads in file_start_write() to the panic because of dereferencing > > file_inode(file)->i_mode. > > It would seem better to just skip the spaces and DTRT? This would be the normal case but the mistake happened accidently. And I was really surprised to see the system panic after the segfault of a user program. And it took a little bit time to find the cause ... Dietmar. > Of course doing the error check properly is a good idea anyways. > > -Andi