Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> writes: > On Wed, Jun 24, 2020 at 5:17 AM Eric W. Biederman <ebiederm@xxxxxxxxxxxx> wrote: >> >> Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> writes: >> >> > On Tue, Jun 23, 2020 at 01:53:48PM -0500, Eric W. Biederman wrote: >> >> > There is no refcnt bug. It was a user error on tomoyo side. >> > fork_blob() works as expected. >> >> Nope. I have independently confirmed it myself. > > I guess you've tried Tetsuo's fork_blob("#!/bin/true") kernel module ? > yes. that fails. It never meant to be used for this. > With elf blob it works, but breaks if there are rejections > in things like security_bprm_creds_for_exec(). > In my mind that path was 'must succeed or kernel module is toast'. > Like passing NULL into a function that doesn't check for it. > Working on a fix for that since Tetsuo cares. No. The reference counting issue is present with the elf blob. It is very straight forward to see when you take a minute to look. The file is created with shmem_kernel_file_setup in fork_usermode_blob. The file is put in fork_usermode_blob The file is put in free_bprm by exec. Eric