powerpc/mm: Drop VM_BUG_ON in get_region_id()
authorAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Wed, 15 May 2019 09:45:23 +0000 (15:15 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 16 May 2019 14:40:01 +0000 (00:40 +1000)
commit6457f42eb3f6e9552366631bd5aeb096ae5f599a
tree8f793ea65a12ad6d5ddcdd1c6d2498d9a0aaf072
parent7338874c337f01dc84597a5500a588732725ffc6
powerpc/mm: Drop VM_BUG_ON in get_region_id()

We call get_region_id() without validating the ea value. That means
with a wrong ea value we hit the BUG as below.

  kernel BUG at arch/powerpc/include/asm/book3s/64/hash.h:129!
  Oops: Exception in kernel mode, sig: 5 [#1]
  LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
  CPU: 0 PID: 3937 Comm: access_tests Not tainted 5.1.0
  ....
  NIP [c00000000007ba20] do_slb_fault+0x70/0x320
  LR [c00000000000896c] data_access_slb_common+0x15c/0x1a0

Fix this by removing the VM_BUG_ON. All callers make sure the returned
region id is valid and error out otherwise.

Fixes: 0034d395f89d ("powerpc/mm/hash64: Map all the kernel regions in the same 0xc range")
Reported-by: Andrew Donnellan <ajd@linux.ibm.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/book3s/64/hash.h