Re: [PATCH v2] block/bio-integrity: fix a memory leak bug

From: Jens Axboe
Date: Thu Jul 11 2019 - 22:02:15 EST


On 7/11/19 1:22 PM, Wenwen Wang wrote:
> From: Wenwen Wang <wenwen@xxxxxxxxxx>
>
> In bio_integrity_prep(), a kernel buffer is allocated through kmalloc() to
> hold integrity metadata. Later on, the buffer will be attached to the bio
> structure through bio_integrity_add_page(), which returns the number of
> bytes of integrity metadata attached. Due to unexpected situations,
> bio_integrity_add_page() may return 0. As a result, bio_integrity_prep()
> needs to be terminated with 'false' returned to indicate this error.
> However, the allocated kernel buffer is not freed on this execution path,
> leading to a memory leak.
>
> To fix this issue, free the allocated buffer before returning from
> bio_integrity_prep().

Applied, thanks.

--
Jens Axboe