On Tue 02-05-17 16:52:00, Xishi Qiu wrote: > 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. OK, I only now looked at the value. It is beyond addressable limit (for 47b address space). None of the checks seems to stop this because range_is_allowed() resp. its devmem_is_allowed() will allow it as a non RAM (!page_is_ram check). I am not really sure how to fix this or whether even we should try to fix this particular problem. As I've said /dev/mem is dangerous and you should better know what you are doing when accessing it. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>