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: <20230602134716.GA161817@cmpxchg.org>
Date:   Fri, 2 Jun 2023 09:47:16 -0400
From:   Johannes Weiner <hannes@...xchg.org>
To:     "Colin King (gmail)" <colin.i.king@...il.com>
Cc:     Nhat Pham <nphamcs@...il.com>, Seth Jennings <sjenning@...hat.com>,
        Dan Streetman <ddstreet@...e.org>,
        Vitaly Wool <vitaly.wool@...sulko.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Linux-MM <linux-mm@...ck.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: zswap: do not shrink if cgroup may not zswap

On Fri, Jun 02, 2023 at 01:38:44PM +0100, Colin King (gmail) wrote:
> Hi,
> 
> static analysis with clang scan build has detected an issue in the following
> commit:
> 
> commit 6804144bf1cfa3978ad98e625d8a1d2a4b80cbee
> Author: Nhat Pham <nphamcs@...il.com>
> Date:   Tue May 30 15:24:40 2023 -0700
> 
>     zswap: do not shrink if cgroup may not zswap
> 
> 
> The issue is as follows in function zswap_frontswap_store in mm/zswap.c:
> 
>         /*
>          * XXX: zswap reclaim does not work with cgroups yet. Without a
>          * cgroup-aware entry LRU, we will push out entries system-wide
> based on
>          * local cgroup limits.
>          */
>         objcg = get_obj_cgroup_from_page(page);
>         if (objcg && !obj_cgroup_may_zswap(objcg))
>                 goto reject;
> 
> mm/zswap.c:1210:6: warning: variable 'ret' is used uninitialized whenever
> 'if' condition is true [-Wsometimes-uninitialized]
> 
> The goto reject path ends up returning ret, however, ret at this point has
> not been initialized, so a garbage return value is being returned
> by function zswap_frontswap_store

Thanks Colin. Andrew has picked up a fixlet for this, and it should be
rectified in the next iteration:

https://lore.kernel.org/mm-commits/CAJD7tkZGYj2yiwk5qd=_bqqnxT-Zd+BtFdqRV_xHk2iX+2Rh_g@mail.gmail.com/T/#

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ