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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 14 Oct 2016 21:25:47 +0200
From:   Vitaly Wool <vitalywool@...il.com>
To:     zhongjiang <zhongjiang@...wei.com>
Cc:     Dave Chinner <david@...morbit.com>,
        Seth Jennings <sjenning@...hat.com>,
        Dan Streetman <ddstreet@...e.org>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Michal Hocko <mhocko@...nel.org>,
        Vlastimil Babka <vbabka@...e.cz>,
        Linux-MM <linux-mm@...ck.org>,
        LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] z3fold: remove the unnecessary limit in z3fold_compact_page

On Fri, Oct 14, 2016 at 3:35 PM, zhongjiang <zhongjiang@...wei.com> wrote:
> From: zhong jiang <zhongjiang@...wei.com>
>
> z3fold compact page has nothing with the last_chunks. even if
> last_chunks is not free, compact page will proceed.
>
> The patch just remove the limit without functional change.
>
> Signed-off-by: zhong jiang <zhongjiang@...wei.com>
> ---
>  mm/z3fold.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/z3fold.c b/mm/z3fold.c
> index e8fc216..4668e1c 100644
> --- a/mm/z3fold.c
> +++ b/mm/z3fold.c
> @@ -258,8 +258,7 @@ static int z3fold_compact_page(struct z3fold_header *zhdr)
>
>
>         if (!test_bit(MIDDLE_CHUNK_MAPPED, &page->private) &&
> -           zhdr->middle_chunks != 0 &&
> -           zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
> +           zhdr->middle_chunks != 0 && zhdr->first_chunks == 0) {
>                 memmove(beg + ZHDR_SIZE_ALIGNED,
>                         beg + (zhdr->start_middle << CHUNK_SHIFT),
>                         zhdr->middle_chunks << CHUNK_SHIFT);

This check is actually important because if we move the middle chunk
to the first and leave the last chunk, handles will become invalid and
there won't be any easy way to fix that.

Best regards,
   Vitaly

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ