lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <bb89db64-999e-7e39-745a-c8aaa35731bf@gmail.com>
Date:   Mon, 26 Apr 2021 11:04:56 +0100
From:   Pavel Begunkov <asml.silence@...il.com>
To:     Colin King <colin.king@...onical.com>,
        Jens Axboe <axboe@...nel.dk>, io-uring@...r.kernel.org
Cc:     kernel-janitors@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH][next] io_uring: fix incorrect check for kvmalloc failure

On 4/26/21 10:37 AM, Colin King wrote:
> From: Colin Ian King <colin.king@...onical.com>
> 
> Currently imu is being allocated but the kvmalloc failure is checking
> imu->bvec instead of imu.  Fix this by checking imu for null.

Right, that's buggy.

fwiw, was reported by lkp and I sent a fix yesterday, so take any.
https://lore.kernel.org/io-uring/d28eb1bc4384284f69dbce35b9f70c115ff6176f.1619392565.git.asml.silence@gmail.com/T/#u


> 
> Addresses-Coverity: ("Array compared against 0")
> Fixes: 41edf1a5ec96 ("io_uring: keep table of pointers to ubufs")
> Signed-off-by: Colin Ian King <colin.king@...onical.com>
> ---
>  fs/io_uring.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/io_uring.c b/fs/io_uring.c
> index 57a64c7e0e69..f4ec092c23f4 100644
> --- a/fs/io_uring.c
> +++ b/fs/io_uring.c
> @@ -8269,7 +8269,7 @@ static int io_sqe_buffer_register(struct io_ring_ctx *ctx, struct iovec *iov,
>  		goto done;
>  
>  	imu = kvmalloc(struct_size(imu, bvec, nr_pages), GFP_KERNEL);
> -	if (!imu->bvec)
> +	if (!imu)
>  		goto done;
>  
>  	ret = 0;
> 

-- 
Pavel Begunkov

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ