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

Aneesh Kumar K.V
2019-02-28T12:34:53Z

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@linux.ibm.com>
>
> Thanks for the patch. It looks good to me. You can add:
>
> Reviewed-by: Jan Kara <jack@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