[PATCH 0/2] Re: bpfilter causes a leftover kernel process

From: Olivier Brunel
Date: Sat Oct 20 2018 - 13:47:09 EST


On Tue, 16 Oct 2018 16:38:56 +0000
Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote:

> On Wed, Sep 5, 2018 at 5:05 PM Olivier Brunel <jjk@xxxxxxxxxx> wrote:
> >
> > You'll see in the end that systemd complains that it can't
> > unmount /oldroot (EBUSY), aka the root fs; and that's because of the
> > bpfilter helper, which wasn't killed because it's seen as a kernel
> > thread due to its empty command line and therefore not signaled.
>
> thanks for tracking it down.
> can somebody send a patch to give bpfilter non-empty cmdline?
> I think that would be a better fix than tweaking all pid1s.

So I'm not a kernel dev and this would be my first atttempt at a kernel patch,
but I did have a look and came up with the following patch(es) to fix this.
Hopefully I did things right.

It adds a default command line ("usermodehelper") to such processes, so any &
all such helpers will be seen as user process and not kernel threads, but
there's also the possibility to specify a command line to use, here
"bpfilter_umh"

Cheers,


Olivier Brunel (2):
umh: Add command line to user mode helpers
net: bpfilter: Set user mode helper's command line

include/linux/umh.h | 1 +
kernel/umh.c | 16 ++++++++++++++--
net/bpfilter/bpfilter_kern.c | 1 +
3 files changed, 16 insertions(+), 2 deletions(-)

--
2.19.0