1. 22 May, 2014 1 commit
    • Scott Wood's avatar
      powerpc/fsl-booke64: Set vmemmap_psize to 4K · e57eeae4
      Scott Wood authored
      The only way Freescale booke chips support mappings larger than 4K
      is via TLB1.  The only way we support (direct) TLB1 entries is via
      hugetlb, which is not what map_kernel_page() does when given a large
      page size.
      
      Without this, a kernel with CONFIG_SPARSEMEM_VMEMMAP enabled crashes on
      boot with messages such as:
      
      PID hash table entries: 4096 (order: 3, 32768 bytes)
      Sorting __ex_table...
      BUG: Bad page state in process swapper  pfn:00a2f
      page:8000040000023a48 count:0 mapcount:0 mapping:0000040000ffce48 index:0x40000ffbe50
      page flags: 0x40000ffda40(active|arch_1|private|private_2|head|tail|swapcache|mappedtodisk|reclaim|swapbacked|unevictable|mlocked)
      page dumped because: PAGE_FLAGS_CHECK_AT_FREE flag(s) set
      bad because of flags:
      page flags: 0x311840(active|private|private_2|swapcache|unevictable|mlocked)
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper Not tainted 3.15.0-rc1-00003-g7fa250c #299
      Call Trace:
      [c00000000098ba20] [c000000000008b3c] .show_stack+0x7c/0x1cc (unreliable)
      [c00000000098baf0] [c00000000060aa50] .dump_stack+0x88/0xb4
      [c00000000098bb70] [c0000000000c0468] .bad_page+0x144/0x1a0
      [c00000000098bc10] [c0000000000c0628] .free_pages_prepare+0x164/0x17c
      [c00000000098bcc0] [c0000000000c24cc] .free_hot_cold_page+0x48/0x214
      [c00000000098bd60] [c00000000086c318] .free_all_bootmem+0x1fc/0x354
      [c00000000098be70] [c00000000085da84] .mem_init+0xac/0xdc
      [c00000000098bef0] [c0000000008547b0] .start_kernel+0x21c/0x4d4
      [c00000000098bf90] [c000000000000448] .start_here_common+0x20/0x58
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      e57eeae4
  2. 09 May, 2014 1 commit
    • Scott Wood's avatar
      powerpc/fsl-rio: Fix fsl_rio_setup error paths and use-after-unmap · a614db9a
      Scott Wood authored
      Several of the error paths from fsl_rio_setup are missing error
      messages.
      
      Worse, fsl_rio_setup initializes several global pointers and does not
      NULL them out after freeing/unmapping on error.  This caused
      fsl_rio_mcheck_exception() to crash when accessing rio_regs_win which
      was non-NULL but had been unmapped.
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      Cc: Liu Gang <Gang.Liu@freescale.com>
      ---
      Liu Gang, are you sure all of these error conditions are fatal?  Why
      does the rio driver fail if rmu is not present (e.g.  on t4240)?
      a614db9a
  3. 05 May, 2014 1 commit
  4. 30 Apr, 2014 8 commits
  5. 29 Apr, 2014 1 commit
  6. 28 Apr, 2014 28 commits