On Mon, Jul 13, 2020 at 04:45:12PM +0800, Hillf Danton wrote:

> Bridge the gap between slab free and the fput in task work wrt
> file's private data.

No.  This

> @@ -2048,6 +2055,7 @@ SYSCALL_DEFINE1(userfaultfd, int, flags)
>  
>       fd = get_unused_fd_flags(O_RDONLY | O_CLOEXEC);
>       if (fd < 0) {
> +             file->private_data = NULL;
>               fput(file);
>               goto out;
>       }
> 

is fundamentally wrong; you really shouldn't take over the cleanups
if you ever do fput().

Reply via email to