Re: [PATCH 1/2] fs/dax: deposit pagetable even when installing zero page

From: Aneesh Kumar K.V
Date: Thu Feb 28 2019 - 07:34:52 EST


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.kumar@xxxxxxxxxxxxx>

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

Reviewed-by: Jan Kara <jack@xxxxxxx>

---
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