Re: [PATCH] io_uring: fix memory leak of UNIX domain socket inode

From: Jens Axboe
Date: Thu Jun 13 2019 - 12:19:02 EST


On 6/12/19 3:58 PM, Eric Biggers wrote:
> From: Eric Biggers <ebiggers@xxxxxxxxxx>
>
> Opening and closing an io_uring instance leaks a UNIX domain socket
> inode. This is because the ->file of the io_uring instance's internal
> UNIX domain socket is set to point to the io_uring file, but then
> sock_release() sees the non-NULL ->file and assumes the inode reference
> is held by the file so doesn't call iput(). That's not the case here,
> since the reference is still meant to be held by the socket; the actual
> inode of the io_uring file is different.
>
> Fix this leak by NULL-ing out ->file before releasing the socket.

Thanks, applied.

--
Jens Axboe