[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <07cbc404-65db-b236-9ae2-558197b8cdb6@kernel.dk>
Date:   Tue, 15 Oct 2019 09:52:12 -0600
From:   Jens Axboe <axboe@...nel.dk>
To:     Tejun Heo <tj@...nel.org>, Julia Lawall <julia.lawall@...6.fr>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        kernel-team@...com, linux-block@...r.kernel.org
Subject: Re: [PATCH block/for-linus] blkcg: fix botched pd_prealloc error
 handling in blkcg_activate_policy()
On 10/15/19 9:48 AM, Tejun Heo wrote:
> While fixing ->pd_alloc_fn() bug, ab94b0382d81 ("blkcg: Fix
> ->pd_alloc_fn() being called with the wrong blkcg on policy
> activation") broke the pd_prealloc error handling.
> 
> * pd's were freed using kfree().  They should be freed with
>    ->pd_free_fn().
> 
> * pd_prealloc could be kfree()'d and then ->pd_free_fn()'d again.
> 
> * When GFP_KERNEL allocation fails, pinned_blkg wasn't put.
> 
> There are also a couple existing issues.
> 
> * Each pd is initialized as they get allocated.  If alloc fails, the
>    policy will get freed with pd's initialized on it.
> 
> * After the above partial failure, the partial pds are not freed.
> 
> This patch fixes all of the above issues.
I dropped the other one, do you mind sending a folded patch?
-- 
Jens Axboe
Powered by blists - more mailing lists
 
