linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Triggered assertion from "mm: Add an assertion that PG_private and folio->private are in sync"
@ 2022-06-24 21:58 Nathan Chancellor
  2022-06-24 23:11 ` Matthew Wilcox
  0 siblings, 1 reply; 3+ messages in thread
From: Nathan Chancellor @ 2022-06-24 21:58 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: Andrew Morton, linux-fsdevel, linux-mm, linux-next

Hi Matthew,

I bisected a boot failure on one of my test machines to your commit
c462f63731e0 ("mm: Add an assertion that PG_private and folio->private
are in sync"), which landed in next-20220624. I didn't see this patch
posted to any mailing list on lore, hence this separate thread;
apologies if it was and I missed it. I didn't see this reported yet but
I see the assertion triggered when systemd-zram-setup@zram0 runs:

zram0: detected capacity change from 0 to 16777216
page:00000000fed1c582 refcount:1 mapcount:33 mapping:000000007b9116a6 index:0xfffffda990ac2640 pfn:0x20b5278
aops:zsmalloc_aops ino:488c
flags: 0x2ffff000000001(locked|node=0|zone=2|lastcpupid=0xffff)
raw: 002ffff000000001 0000000000000000 dead000000000122 ffff6a6422c621fa
raw: fffffda990ac2640 ffff6a642a1e5e40 0000000100000020 0000000000000000
page dumped because: VM_BUG_ON_FOLIO(!folio_test_swapbacked(folio) && (folio_test_private(folio) == !folio_get_private(folio)))
------------[ cut here ]------------
kernel BUG at mm/filemap.c:1560!
Internal error: Oops - BUG: 0 [#1] SMP
Modules linked in: zram xfs fsl_dpaa2_eth pcs_lynx phylink ahci_qoriq crct10dif_ce ghash_ce sbsa_gwdt fsl_mc_dpio nvme nvme_core xhci_plat_hcd lm90 rtc_fsl_ftm_alarm at803x xgmac_mdio ahci_platform i2c_imx ip6_tables ip_tables ipmi_devintf ipmi_msghandler fuse
CPU: 0 PID: 813 Comm: mkswap Not tainted 5.19.0-rc3-00032-gc462f63731e0 #1
Hardware name: SolidRun Ltd. SolidRun CEX7 Platform, BIOS EDK II Jun 21 2022
pstate: 00400005 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : folio_unlock+0x98/0x9c
lr : folio_unlock+0x98/0x9c
sp : ffff8000095bb680
x29: ffff8000095bb680 x28: 0000000000001000 x27: 0000000000000000
x26: 0000000000001000 x25: ffff6a642ab48000 x24: 0000000000000001
x23: 0020b59770000000 x22: ffff6a642a1e5e40 x21: 0000000000000001
x20: ffff6a642a802000 x19: fffffda990d49e00 x18: 0000000000000020
x17: 696c6f662864656b x16: 636162706177735f x15: 747365745f6f696c
x14: 6f6621284f494c4f x13: 2929296f696c6f66 x12: 0000000000000018
x11: 0000000000000000 x10: 0000000000000027 x9 : 0000000000000002
x8 : 0000000100000002 x7 : 6163656220646570 x6 : 6d75642065676170
x5 : ffffa31574652d6f x4 : 6f696c6f66286574 x3 : 65745f6f696c6f66
x2 : 80000000ffffe314 x1 : ffffa31573961a43 x0 : 000000000000007f
Call trace:
 folio_unlock+0x98/0x9c
 unlock_page+0x28/0x58
 SetZsPageMovable+0x74/0x100
 zs_malloc+0x218/0x234
 __zram_bvec_write+0x158/0x458 [zram]
 zram_bvec_rw+0x94/0x194 [zram]
 zram_submit_bio+0x1a4/0x240 [zram]
 __submit_bio+0x88/0x2f0
 submit_bio_noacct_nocheck+0xa4/0x1d8
 submit_bio_noacct+0x2e4/0x40c
 submit_bio+0x100/0x13c
 submit_bh_wbc+0x158/0x1a0
 __block_write_full_page+0x39c/0x700
 block_write_full_page+0x98/0xac
 blkdev_writepage+0x28/0x34
 __writepage+0x2c/0xbc
 write_cache_pages+0x1e4/0x44c
 generic_writepages+0x54/0x80
 blkdev_writepages+0x1c/0x28
 do_writepages+0xd8/0x1c8
 filemap_fdatawrite_wbc+0x80/0xa4
 file_write_and_wait_range+0x78/0xdc
 blkdev_fsync+0x24/0x48
 __arm64_sys_fsync+0x74/0xb0
 invoke_syscall+0x78/0x118
 el0_svc_common+0x94/0xfc
 do_el0_svc+0x38/0xc0
 el0_svc+0x34/0x110
 el0t_64_sync_handler+0x84/0xf0
 el0t_64_sync+0x190/0x194
Code: 17fffff5 90009781 9137e021 9401212e (d4210000)
---[ end trace 0000000000000000 ]---
note: mkswap[813] exited with preempt_count 3
------------[ cut here ]------------

If there is any additional information I can provide or patches I can
test, I am more than happy to do so.

Cheers,
Nathan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Triggered assertion from "mm: Add an assertion that PG_private and folio->private are in sync"
  2022-06-24 21:58 Triggered assertion from "mm: Add an assertion that PG_private and folio->private are in sync" Nathan Chancellor
@ 2022-06-24 23:11 ` Matthew Wilcox
  2022-06-24 23:17   ` Nathan Chancellor
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Wilcox @ 2022-06-24 23:11 UTC (permalink / raw)
  To: Nathan Chancellor; +Cc: Andrew Morton, linux-fsdevel, linux-mm, linux-next

On Fri, Jun 24, 2022 at 02:58:28PM -0700, Nathan Chancellor wrote:
> Hi Matthew,
> 
> I bisected a boot failure on one of my test machines to your commit
> c462f63731e0 ("mm: Add an assertion that PG_private and folio->private
> are in sync"), which landed in next-20220624. I didn't see this patch
> posted to any mailing list on lore, hence this separate thread;
> apologies if it was and I missed it. I didn't see this reported yet but
> I see the assertion triggered when systemd-zram-setup@zram0 runs:

urgh, sorry about that.  i really need to wean zsmalloc off using struct
page.  i'll drop this patch; feel free to just revert it, there's nothing
that will depend on it.

> zram0: detected capacity change from 0 to 16777216
> page:00000000fed1c582 refcount:1 mapcount:33 mapping:000000007b9116a6 index:0xfffffda990ac2640 pfn:0x20b5278
> aops:zsmalloc_aops ino:488c
> flags: 0x2ffff000000001(locked|node=0|zone=2|lastcpupid=0xffff)
> raw: 002ffff000000001 0000000000000000 dead000000000122 ffff6a6422c621fa
> raw: fffffda990ac2640 ffff6a642a1e5e40 0000000100000020 0000000000000000
> page dumped because: VM_BUG_ON_FOLIO(!folio_test_swapbacked(folio) && (folio_test_private(folio) == !folio_get_private(folio)))
> ------------[ cut here ]------------
> kernel BUG at mm/filemap.c:1560!
> Internal error: Oops - BUG: 0 [#1] SMP
> Modules linked in: zram xfs fsl_dpaa2_eth pcs_lynx phylink ahci_qoriq crct10dif_ce ghash_ce sbsa_gwdt fsl_mc_dpio nvme nvme_core xhci_plat_hcd lm90 rtc_fsl_ftm_alarm at803x xgmac_mdio ahci_platform i2c_imx ip6_tables ip_tables ipmi_devintf ipmi_msghandler fuse
> CPU: 0 PID: 813 Comm: mkswap Not tainted 5.19.0-rc3-00032-gc462f63731e0 #1
> Hardware name: SolidRun Ltd. SolidRun CEX7 Platform, BIOS EDK II Jun 21 2022
> pstate: 00400005 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> pc : folio_unlock+0x98/0x9c
> lr : folio_unlock+0x98/0x9c
> sp : ffff8000095bb680
> x29: ffff8000095bb680 x28: 0000000000001000 x27: 0000000000000000
> x26: 0000000000001000 x25: ffff6a642ab48000 x24: 0000000000000001
> x23: 0020b59770000000 x22: ffff6a642a1e5e40 x21: 0000000000000001
> x20: ffff6a642a802000 x19: fffffda990d49e00 x18: 0000000000000020
> x17: 696c6f662864656b x16: 636162706177735f x15: 747365745f6f696c
> x14: 6f6621284f494c4f x13: 2929296f696c6f66 x12: 0000000000000018
> x11: 0000000000000000 x10: 0000000000000027 x9 : 0000000000000002
> x8 : 0000000100000002 x7 : 6163656220646570 x6 : 6d75642065676170
> x5 : ffffa31574652d6f x4 : 6f696c6f66286574 x3 : 65745f6f696c6f66
> x2 : 80000000ffffe314 x1 : ffffa31573961a43 x0 : 000000000000007f
> Call trace:
>  folio_unlock+0x98/0x9c
>  unlock_page+0x28/0x58
>  SetZsPageMovable+0x74/0x100
>  zs_malloc+0x218/0x234
>  __zram_bvec_write+0x158/0x458 [zram]
>  zram_bvec_rw+0x94/0x194 [zram]
>  zram_submit_bio+0x1a4/0x240 [zram]
>  __submit_bio+0x88/0x2f0
>  submit_bio_noacct_nocheck+0xa4/0x1d8
>  submit_bio_noacct+0x2e4/0x40c
>  submit_bio+0x100/0x13c
>  submit_bh_wbc+0x158/0x1a0
>  __block_write_full_page+0x39c/0x700
>  block_write_full_page+0x98/0xac
>  blkdev_writepage+0x28/0x34
>  __writepage+0x2c/0xbc
>  write_cache_pages+0x1e4/0x44c
>  generic_writepages+0x54/0x80
>  blkdev_writepages+0x1c/0x28
>  do_writepages+0xd8/0x1c8
>  filemap_fdatawrite_wbc+0x80/0xa4
>  file_write_and_wait_range+0x78/0xdc
>  blkdev_fsync+0x24/0x48
>  __arm64_sys_fsync+0x74/0xb0
>  invoke_syscall+0x78/0x118
>  el0_svc_common+0x94/0xfc
>  do_el0_svc+0x38/0xc0
>  el0_svc+0x34/0x110
>  el0t_64_sync_handler+0x84/0xf0
>  el0t_64_sync+0x190/0x194
> Code: 17fffff5 90009781 9137e021 9401212e (d4210000)
> ---[ end trace 0000000000000000 ]---
> note: mkswap[813] exited with preempt_count 3
> ------------[ cut here ]------------
> 
> If there is any additional information I can provide or patches I can
> test, I am more than happy to do so.
> 
> Cheers,
> Nathan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Triggered assertion from "mm: Add an assertion that PG_private and folio->private are in sync"
  2022-06-24 23:11 ` Matthew Wilcox
@ 2022-06-24 23:17   ` Nathan Chancellor
  0 siblings, 0 replies; 3+ messages in thread
From: Nathan Chancellor @ 2022-06-24 23:17 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: Andrew Morton, linux-fsdevel, linux-mm, linux-next

On Sat, Jun 25, 2022 at 12:11:22AM +0100, Matthew Wilcox wrote:
> On Fri, Jun 24, 2022 at 02:58:28PM -0700, Nathan Chancellor wrote:
> > Hi Matthew,
> > 
> > I bisected a boot failure on one of my test machines to your commit
> > c462f63731e0 ("mm: Add an assertion that PG_private and folio->private
> > are in sync"), which landed in next-20220624. I didn't see this patch
> > posted to any mailing list on lore, hence this separate thread;
> > apologies if it was and I missed it. I didn't see this reported yet but
> > I see the assertion triggered when systemd-zram-setup@zram0 runs:
> 
> urgh, sorry about that.  i really need to wean zsmalloc off using struct
> page.  i'll drop this patch; feel free to just revert it, there's nothing
> that will depend on it.

Ack, I'll do just that, thanks a lot for the quick reply!

Cheers,
Nathan

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-06-24 23:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-24 21:58 Triggered assertion from "mm: Add an assertion that PG_private and folio->private are in sync" Nathan Chancellor
2022-06-24 23:11 ` Matthew Wilcox
2022-06-24 23:17   ` Nathan Chancellor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).