On 2/28/19 2:51 PM, Jan Kara wrote:
On Thu 28-02-19 14:05:21, Aneesh Kumar K.V wrote:
Architectures like ppc64 use the deposited page table to store hardware
page table slot information. Make sure we deposit a page table when
using zero page at the pmd level for hash.

Without this we hit

Unable to handle kernel paging request for data at address 0x00000000
Faulting instruction address: 0xc000000000082a74
Oops: Kernel access of bad area, sig: 11 [#1]
....

NIP [c000000000082a74] __hash_page_thp+0x224/0x5b0
LR [c0000000000829a4] __hash_page_thp+0x154/0x5b0
Call Trace:
  hash_page_mm+0x43c/0x740
  do_hash_page+0x2c/0x3c
  copy_from_iter_flushcache+0xa4/0x4a0
  pmem_copy_from_iter+0x2c/0x50 [nd_pmem]
  dax_copy_from_iter+0x40/0x70
  dax_iomap_actor+0x134/0x360
  iomap_apply+0xfc/0x1b0
  dax_iomap_rw+0xac/0x130
  ext4_file_write_iter+0x254/0x460 [ext4]
  __vfs_write+0x120/0x1e0
  vfs_write+0xd8/0x220
  SyS_write+0x6c/0x110
  system_call+0x3c/0x130

Signed-off-by: Aneesh Kumar K.V <aneesh.ku...@linux.ibm.com>

Thanks for the patch. It looks good to me. You can add:

Reviewed-by: Jan Kara <j...@suse.cz>

---
TODO:
* Add fixes tag

Probably this is a problem since initial PPC PMEM support, isn't it?


Considering ppc64 is the only broken architecture here, I guess I will use the commit that enabled PPC PMEM support here.

-aneesh

Reply via email to