VM_BUG_ON in __prep_compound_gigantic_page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mike,

With latest upstream I am finding the below:

[    0.246646] page dumped because: VM_BUG_ON_PAGE(1 && PageCompound(page))
[    0.246671] ------------[ cut here ]------------
[    0.246679] kernel BUG at include/linux/page-flags.h:500!
cpu 0x6: Vector: 700 (Program Check) at [c00000000fe5b700]
    pc: c0000000005e9984: __prep_compound_gigantic_page+0xd4/0x3e0
    lr: c0000000005e9980: __prep_compound_gigantic_page+0xd0/0x3e0
    sp: c00000000fe5b9a0
   msr: 8000000000029033
  current = 0xc00000000fdf9880
  paca    = 0xc00000001ec7f480   irqmask: 0x03   irq_happened: 0x01
    pid   = 1, comm = swapper/0
kernel BUG at e)):500!
Linux version 6.1.0-rc5-00518-ge0951d75adc4 (kvaneesh@ltczz75-lp2) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #395 SMP Fri Nov 18 00:44:21 CST 2022
enter ? for help
[c00000000fe5ba60] c000000001bddd74 hugetlb_init+0x60c/0xa10
[c00000000fe5bb60] c0000000000121c0 do_one_initcall+0xa0/0x550
[c00000000fe5bc40] c000000001b94b90 do_basic_setup+0x1f4/0x254
[c00000000fe5bd20] c000000001b94f38 kernel_init_freeable+0x2ac/0x32c
[c00000000fe5bda0] c000000000012cf0 kernel_init+0x44/0x184
[c00000000fe5be10] c00000000000cdec ret_from_kernel_thread+0x5c/0x64
6:mon> 


IIUC that is because we are doing __SetPageHead() before doing
__ClearPageReserved(). The original commit that added compound head
check in set/clear page reserved did have the change to take care of
this.

commit ef5a22be2c52 ("mm: hugetlb: initialize PG_reserved for tail pages of gigantic compound pages")

-aneesh




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux