Hi Eunsong, Thanks for your help. I have done some code inspection and have found a possible reason for this issue. It seems that virt_to_page() can't be used to handle address in compatible segments due to following definitions. #define virt_to_page(kaddr) pfn_to_page(PFN_DOWN(virt_to_phys(kaddr))) static inline unsigned long virt_to_phys(volatile const void *address) { return (unsigned long)address - PAGE_OFFSET + PHYS_OFFSET; } #define __va(x) ((void *)((unsigned long)(x) + PAGE_OFFSET - PHYS_OFFSET)) #define __pa_symbol(x) __pa(RELOC_HIDE((unsigned long)(x), 0)) #define __pa(x) \ ({ \ unsigned long __x = (unsigned long)(x); \ __x < CKSEG0 ? XPHYSADDR(__x) : CPHYSADDR(__x); \ }) #define CPHYSADDR(a) ((_ACAST32_(a)) & 0x1fffffff) #define XPHYSADDR(a) ((_ACAST64_(a)) & \ _CONST64_(0x000000ffffffffff)) #define XKUSEG _CONST64_(0x0000000000000000) #define XKSSEG _CONST64_(0x4000000000000000) #define XKPHYS _CONST64_(0x8000000000000000) #define XKSEG _CONST64_(0xc000000000000000) #define CKSEG0 _CONST64_(0xffffffff80000000) #define CKSEG1 _CONST64_(0xffffffffa0000000) #define CKSSEG _CONST64_(0xffffffffc0000000) #define CKSEG3 _CONST64_(0xffffffffe0000000) So could you please help to prepare a formal patch for this bug and send it to Andrew Morton for v3.10-rc1? Otherwise I could help to it too. Regards! Gerry =On 05/06/2013 06:39 AM, EUNBONG SONG wrote: > >> So on 64bits MIPS platforms, __va(__pa(x)) may not equal to x, that may cause >> trouble to free_initmem_default(). Could you please help to do another test >> by changing >> free_initmem_default(POISON_FREE_INITMEM); >> to >> free_initmem_default(0); > >> This test could help to identify whether this panic is caused by >> memset((void *)pos, poison, PAGE_SIZE); >> in function free_reserved_area(). > > Hello, as you said i changed "free_initmem_default(POISON_FREE_INITMEM);" to > "free_initmem_default(0);". Panic still occurred. > Actually, i put the some debug messages. and i confirmed panic occurs in __free_reserved_page() function. > Thanks! > > N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i�鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴��0띠h��i� >