Re: [PATCH] Fix a panic when core_pattern is set to "| prog..."

From: Andi Kleen
Date: Mon Dec 16 2019 - 13:37:13 EST


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?

Of course doing the error check properly is a good idea anyways.

-Andi