Messages in this thread | | | From | John Hsu (許永翰) <> | Subject | [BUG] trigger BUG_ON in mas_store_prealloc when low memory | Date | Thu, 1 Jun 2023 09:27:49 +0000 |
| |
Hi, We met BUG_ON in mas_store_prealloc with kernel-6.1 stress testing environment . According to coredump, BUG_ON is triggered by mas->node with error number -ENOMEM(0xffffffffffffffd2). There are some mas_node_count functions in mas_wr_store_entry, and it seems that mas->node may be set to error node with -ENOMEM if there was no enough memory spcace for maple tree operations. We think that return -ENOMEM instead of directly triggering BUG_ON when memory is not available is suitable, because in reality the tree operation shouldn't be performed in this situation.
following are the backtrace mas_store_prealloc+0x23c/0x484 vma_mas_store+0xe4/0x2d0 __vma_adjust+0xab0/0x1470 vma_merge+0x5b8/0x5d4 mprotect_fixup+0x1f4/0x478 __arm64_sys_mprotect+0x6b0/0x8f0 invoke_syscall+0x84/0x264 el0_svc_common+0x118/0x1f0 do_el0_svc+0x5c/0x184 el0_svc+0x38/0x98
Any suggestion is appreciated.
Thank you. BRs, John Hsu
| |