On 2020/03/13 18:46, Tetsuo Handa wrote: > On 2020/03/12 23:38, Al Viro wrote: >> It _does_ look like that double-fput() is real, but >> I'd like a confirmation before going further - umh is convoluted >> enough for something subtle to be hidden there. Alexei, what >> the refcounting behaviour was supposed to be? As in "this >> function consumes the reference passed to it in this argument", >> etc. >> > > Yes, double-fput() is easily observable as POISON_FREE pattern > using debug printk() patch and sample kernel module shown below. > No response from Alexei, but I think that 449325b52b7a6208 ("umh: introduce fork_usermode_blob() helper") just did not realize that opening a file for execution needs special handling (i.e. denying write access) compared to opening a file for read or write. Can we send this patch?