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] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 21 Jun 2023 16:01:34 +0900
From:   Hyeonggon Yoo <42.hyeyoo@...il.com>
To:     Yosry Ahmed <yosryahmed@...gle.com>
Cc:     Andrew Morton <akpm@...ux-foundation.org>,
        Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
        Seth Jennings <sjenning@...hat.com>,
        Dan Streetman <ddstreet@...e.org>,
        Vitaly Wool <vitaly.wool@...sulko.com>,
        Johannes Weiner <hannes@...xchg.org>,
        Nhat Pham <nphamcs@...il.com>,
        Domenico Cerasuolo <cerasuolodomenico@...il.com>,
        Yu Zhao <yuzhao@...gle.com>, linux-mm@...ck.org,
        linux-kernel@...r.kernel.org
Subject: [BUG mm-unstable] "kernel BUG at mm/swap.c:393!" on commit
 b9c91c43412f2e

On Wed, Jun 07, 2023 at 07:51:43PM +0000, Yosry Ahmed wrote:
> Commit 71024cb4a0bf ("frontswap: remove frontswap_tmem_exclusive_gets")
> removed support for exclusive loads from frontswap as it was not used.
> Bring back exclusive loads support to frontswap by adding an "exclusive"
> output parameter to frontswap_ops->load.
> 
> On the zswap side, add a module parameter to enable/disable exclusive
> loads, and a config option to control the boot default value.
> Refactor zswap entry invalidation in zswap_frontswap_invalidate_page()
> into zswap_invalidate_entry() to reuse it in zswap_frontswap_load() if
> exclusive loads are enabled.
> 
> With exclusive loads, we avoid having two copies of the same page in
> memory (compressed & uncompressed) after faulting it in from zswap. On
> the other hand, if the page is to be reclaimed again without being
> dirtied, it will be re-compressed. Compression is not usually slow, and
> a page that was just faulted in is less likely to be reclaimed again
> soon.
> 
> Suggested-by: Yu Zhao <yuzhao@...gle.com>
> Signed-off-by: Yosry Ahmed <yosryahmed@...gle.com>
> ---
> 
> v1 -> v2:
> - Add a module parameter to control whether exclusive loads are enabled
>   or not, the config option now controls the default boot value instead.
>   Replaced frontswap_ops->exclusive_loads by an output parameter to
>   frontswap_ops->load() (Johannes Weiner).
> ---

Hi Yosry, I was testing the latest mm-unstable and encountered a bug.
It was bisectable and this is the first bad commit.

Attached config file and bisect log.
The oops message is available at:

https://social.kernel.org/media/eace06d71655b3cc76411366573e4a8ce240ad65b8fd20977d7c73eec9dc2253.jpg

(the head commit is b9c91c43412f2e07 "mm: zswap: support exclusive loads")
(it's an image because I tested it on real machine)


This is what I have as swap space:

$ cat /proc/swaps
Filename				Type		Size		Used		Priority
/var/swap                               file		134217724	0		-2
/dev/zram0                              partition	8388604		0		100

View attachment ".config" of type "text/plain" (258258 bytes)

View attachment "bisect-log.txt" of type "text/plain" (2708 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ