24.09.2018 16:20, Lennart Poettering пишет: > On So, 23.09.18 10:38, Andrei Borzenkov (arvidjaar@xxxxxxxxx) wrote: > >> Dracut /shutdown script first tries to kill all processes still running >> off old root. Unfortunately this fails for special user process that >> runs bpfilter because it does not include reference to /oldroot in >> places where dracut looks for in kilall_proc_mountpoint() > > Hmm, when we invoke the /shutdown executable we already executed our > process killing spree as part of systemd-shutdown. How come your > processes even survive that long? p = procfs_file_alloca(pid, "cmdline"); f = fopen(p, "re"); if (!f) return true; /* not really, but has the desired effect */ count = fread(&c, 1, 1, f); /* Kernel threads have an empty cmdline */ if (count <= 0) return true; This process is spawned as special kernel thread, even though it is otherwise normal user process. net/bpfilter/bpfilter_kern.c:load_umh(): /* fork usermode process */ err = fork_usermode_blob(&bpfilter_umh_start, &bpfilter_umh_end - &bpfilter_umh_start, &info); if (err) return err; pr_info("Loaded bpfilter_umh pid %d\n", info.pid);