# git rev-parse -q --verify 69bf4b6b54fb7f52b7ea9ce28d4a360cd5ec956d^{commit} 69bf4b6b54fb7f52b7ea9ce28d4a360cd5ec956d already have revision, skipping fetch # git checkout -q -f -B kisskb 69bf4b6b54fb7f52b7ea9ce28d4a360cd5ec956d # git clean -qxdf # < git log -1 # commit 69bf4b6b54fb7f52b7ea9ce28d4a360cd5ec956d # Author: Linus Torvalds # Date: Fri Jul 5 19:55:18 2019 -0700 # # Revert "mm: page cache: store only head pages in i_pages" # # This reverts commit 5fd4ca2d84b249f0858ce28cf637cf25b61a398f. # # Mikhail Gavrilov reports that it causes the VM_BUG_ON_PAGE() in # __delete_from_swap_cache() to trigger: # # page:ffffd6d34dff0000 refcount:1 mapcount:1 mapping:ffff97812323a689 index:0xfecec363 # anon # flags: 0x17fffe00080034(uptodate|lru|active|swapbacked) # raw: 0017fffe00080034 ffffd6d34c67c508 ffffd6d3504b8d48 ffff97812323a689 # raw: 00000000fecec363 0000000000000000 0000000100000000 ffff978433ace000 # page dumped because: VM_BUG_ON_PAGE(entry != page) # page->mem_cgroup:ffff978433ace000 # ------------[ cut here ]------------ # kernel BUG at mm/swap_state.c:170! # invalid opcode: 0000 [#1] SMP NOPTI # CPU: 1 PID: 221 Comm: kswapd0 Not tainted 5.2.0-0.rc2.git0.1.fc31.x86_64 #1 # Hardware name: System manufacturer System Product Name/ROG STRIX X470-I GAMING, BIOS 2202 04/11/2019 # RIP: 0010:__delete_from_swap_cache+0x20d/0x240 # Code: 30 65 48 33 04 25 28 00 00 00 75 4a 48 83 c4 38 5b 5d 41 5c 41 5d 41 5e 41 5f c3 48 c7 c6 2f dc 0f 8a 48 89 c7 e8 93 1b fd ff <0f> 0b 48 c7 c6 a8 74 0f 8a e8 85 1b fd ff 0f 0b 48 c7 c6 a8 7d 0f # RSP: 0018:ffffa982036e7980 EFLAGS: 00010046 # RAX: 0000000000000021 RBX: 0000000000000040 RCX: 0000000000000006 # RDX: 0000000000000000 RSI: 0000000000000086 RDI: ffff97843d657900 # RBP: 0000000000000001 R08: ffffa982036e7835 R09: 0000000000000535 # R10: ffff97845e21a46c R11: ffffa982036e7835 R12: ffff978426387120 # R13: 0000000000000000 R14: ffffd6d34dff0040 R15: ffffd6d34dff0000 # FS: 0000000000000000(0000) GS:ffff97843d640000(0000) knlGS:0000000000000000 # CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 # CR2: 00002cba88ef5000 CR3: 000000078a97c000 CR4: 00000000003406e0 # Call Trace: # delete_from_swap_cache+0x46/0xa0 # try_to_free_swap+0xbc/0x110 # swap_writepage+0x13/0x70 # pageout.isra.0+0x13c/0x350 # shrink_page_list+0xc14/0xdf0 # shrink_inactive_list+0x1e5/0x3c0 # shrink_node_memcg+0x202/0x760 # shrink_node+0xe0/0x470 # balance_pgdat+0x2d1/0x510 # kswapd+0x220/0x420 # kthread+0xfb/0x130 # ret_from_fork+0x22/0x40 # # and it's not immediately obvious why it happens. It's too late in the # rc cycle to do anything but revert for now. # # Link: https://lore.kernel.org/lkml/CABXGCsN9mYmBD-4GaaeW_NrDu+FDXLzr_6x+XNxfmFV6QkYCDg@mail.gmail.com/ # Reported-and-bisected-by: Mikhail Gavrilov # Suggested-by: Jan Kara # Cc: Michal Hocko # Cc: Vlastimil Babka # Cc: Matthew Wilcox # Cc: Kirill Shutemov # Cc: William Kucharski # Cc: Andrew Morton # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/gcc-4.6.3-nolibc/mips-linux/bin/mips-linux-gcc --version # < /opt/cross/kisskb/gcc-4.6.3-nolibc/mips-linux/bin/mips-linux-ld --version # < git log --format=%s --max-count=1 69bf4b6b54fb7f52b7ea9ce28d4a360cd5ec956d # < make -s -j 80 ARCH=mips O=/kisskb/build/linus_mips-allnoconfig_mips CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/mips-linux/bin/mips-linux- allnoconfig # make -s -j 80 ARCH=mips O=/kisskb/build/linus_mips-allnoconfig_mips CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/mips-linux/bin/mips-linux- /kisskb/src/arch/mips/vdso/Makefile:39: MIPS VDSO requires binutils >= 2.25 /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:194:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] FIT description: Linux 5.2.0-rc7+ Created: Sat Jul 6 16:06:48 2019 Image 0 (kernel@0) Description: Linux 5.2.0-rc7+ Created: Sat Jul 6 16:06:48 2019 Type: Kernel Image Compression: gzip compressed Data Size: 640769 Bytes = 625.75 KiB = 0.61 MiB Architecture: MIPS OS: Linux Load Address: 0x80100000 Entry Point: 0x8021e0a0 Hash algo: sha1 Hash value: ea8839a5fd7f706a011b66938bb3594926850cbf Default Configuration: 'conf@default' Configuration 0 (conf@default) Description: Generic Linux kernel Kernel: kernel@0 Completed OK # rm -rf /kisskb/build/linus_mips-allnoconfig_mips # Build took: 0:00:16.374747