Messages in this thread | | | Date | Mon, 26 Aug 2019 16:05:15 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] mm/z3fold.c: fix lock/unlock imbalance in z3fold_page_isolate |
| |
On Sun, 25 Aug 2019 22:06:34 -0500 "Gustavo A. R. Silva" <gustavo@embeddedor.com> wrote:
> Fix lock/unlock imbalance by unlocking *zhdr* before return. > > Addresses-Coverity-ID: 1452811 ("Missing unlock") > Fixes: d776aaa9895e ("mm/z3fold.c: fix race between migration and destruction") > Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> > --- > mm/z3fold.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/z3fold.c b/mm/z3fold.c > index e31cd9bd4ed5..75b7962439ff 100644 > --- a/mm/z3fold.c > +++ b/mm/z3fold.c > @@ -1406,6 +1406,7 @@ static bool z3fold_page_isolate(struct page *page, isolate_mode_t mode) > * should freak out. > */ > WARN(1, "Z3fold is experiencing kref problems\n"); > + z3fold_page_unlock(zhdr); > return false; > } > z3fold_page_unlock(zhdr);
Looks good, thanks.
This is a bit silly:
if (..) { ... z3fold_page_unlock(zhdr); return false; } z3fold_page_unlock(zhdr); return false;
but presumably the compiler will clean up after us.
| |