From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751989AbdEBIxg (ORCPT ); Tue, 2 May 2017 04:53:36 -0400 Received: from szxga02-in.huawei.com ([45.249.212.188]:5844 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751416AbdEBIxc (ORCPT ); Tue, 2 May 2017 04:53:32 -0400 Message-ID: <590848B0.2000801@huawei.com> Date: Tue, 2 May 2017 16:52:00 +0800 From: Xishi Qiu User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 MIME-Version: 1.0 To: Michal Hocko CC: Andrew Morton , Mel Gorman , Vlastimil Babka , Joonsoo Kim , "Johannes Weiner" , Rik van Riel , Shakeel Butt , Linux MM , LKML , zhong jiang Subject: Re: [RFC] dev/mem: "memtester -p 0x6c80000000000 10G" cause crash References: <59083C5B.5080204@huawei.com> <20170502084323.GG14593@dhcp22.suse.cz> In-Reply-To: <20170502084323.GG14593@dhcp22.suse.cz> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.25.179] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090203.59084901.0148,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 374561d2617f08d4704b3fd2e495527c Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2017/5/2 16:43, Michal Hocko wrote: > On Tue 02-05-17 15:59:23, Xishi Qiu wrote: >> Hi, I use "memtester -p 0x6c80000000000 10G" to test physical address 0x6c80000000000 >> Because this physical address is invalid, and valid_mmap_phys_addr_range() >> always return 1, so it causes crash. >> >> My question is that should the user assure the physical address is valid? > > We already seem to be checking range_is_allowed(). What is your > CONFIG_STRICT_DEVMEM setting? The code seems to be rather confusing but > my assumption is that you better know what you are doing when mapping > this file. > HI Michal, CONFIG_STRICT_DEVMEM=y, and range_is_allowed() will skip memory, but 0x6c80000000000 is not memory, it is just a invalid address, so it cause crash. You mean the user should assure the physical address is valid, right? Thanks, Xishi Qiu >> ... >> [ 169.147578] ? panic+0x1f1/0x239 >> [ 169.150789] oops_end+0xb8/0xd0 >> [ 169.153910] pgtable_bad+0x8a/0x95 >> [ 169.157294] __do_page_fault+0x3aa/0x4a0 >> [ 169.161194] do_page_fault+0x30/0x80 >> [ 169.164750] ? do_syscall_64+0x175/0x180 >> [ 169.168649] page_fault+0x28/0x30 >> >> Thanks, >> Xishi Qiu >