From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752852AbcBOLtA (ORCPT ); Mon, 15 Feb 2016 06:49:00 -0500 Received: from mailout1.samsung.com ([203.254.224.24]:36779 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750925AbcBOLs6 (ORCPT ); Mon, 15 Feb 2016 06:48:58 -0500 X-AuditID: cbfee68f-f793a6d000001364-5b-56c1bb291b13 Date: Mon, 15 Feb 2016 11:48:57 +0000 (GMT) From: EunTaik Lee Subject: Re: Re: [PATCH RESEND] arm64: add alignment fault hanling To: Catalin Marinas Cc: EunTaik Lee , "will.deacon@arm.com" , "vladimir.murzin@arm.com" , "suzuki.poulose@arm.com" , "riandrews@android.com" , "james.morse@arm.com" , "salyzyn@android.com" , "Dave.Martin@arm.com" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" Reply-to: eun.taik.lee@samsung.com MIME-version: 1.0 X-MTR: 20160215114751821@eun.taik.lee Msgkey: 20160215114751821@eun.taik.lee X-EPLocale: ko_KR.euc-kr X-Priority: 3 X-EPWebmail-Msg-Type: personal X-EPWebmail-Reply-Demand: 0 X-EPApproval-Locale: X-EPHeader: ML X-MLAttribute: X-RootMTR: 20160215104222079@eun.taik.lee X-ParentMTR: 20160215104222079@eun.taik.lee X-ArchiveUser: EV X-CPGSPASS: Y X-ConfirmMail: N,general Content-type: text/plain; charset=euc-kr MIME-version: 1.0 Message-id: <1776444859.925581455536932926.JavaMail.weblogic@epmlwas09b> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprBJsWRmVeSWpSXmKPExsVy+t8zHV3N3QfDDPZcUbK4vGsOmwOjx+dN cgGMUQ2MNolFyRmZZakKqXnJ+SmZeem2SqEhbroWSgoZ+cUltkrRRgbGekamJnpGJuZ6lgax VkamSgp5ibmptkoVulC9SgpFyQVAtbmVxUADclL1oOJ6xal5KQ5Z+aUgl+gVJ+YWl+al6yXn 5yoplCXmlAKNUNJPmMqYMfdOG1PBJ46Kv50PmBoYL3B0MXJyCAmoS5zYvYYFxJYQMJG4d/ka G4QtJnHh3no2iJpljBLrOo1gahZ+/MTaxcgFFJ/DKPFlfTtjFyMHB4uAqsSMV7IgNWwCuhL/ P3axg9jCAk4Sd7bfYAYpERHQl1j4OwOklVlgJovEhWuXoOYrScw/3AB2A6+AoMTJmU9YQOol gEYuXeAHEVaTWPH0DNRpEhKzpl9ghbB5JWa0P4U6X05i2tc1zBC2tMT5WRsYYV5Z/P0xVJxf 4tjtHUwQtoDE1DMHGSFWaUm8+JkPEdaR+Hj0A9QqQYnT17qZYVY1bPzNDnPC1pYnYCcwCyhK TOl+yA5ha0l8+bGPDdUnILaHxM21d9hBXpcQmMsh8fRIC/sERqVZSOpmIZk1C8ksZDULGFlW MYqmFiQXFCelFxkjx/UmRkgS7N/BePeA9SFGAQ5GJR7eiDMHwoRYE8uKK3MPMSYDI2kis5Ro cj4w1eaVxBsamxlZmJqYGhuZW5phCJuYWliYGOEQVhLnXSj1M1hIID2xJDU7NbUgtSi+qDQn tfgQIxMHp1QDo6DcvqdsUp2K5afdFac/dH+55rNe5wWLv9M+9OyML77YalkzwStq98FNXC5B sm+9HtSU2U3vtZ91tfW8tF6Mu/Xc5YVt15jsfk9an/UsxI1H5sedkLca+8WW/05gK0ucX/Ov f8naivf8jZpL5snxhJ6cxjnlvjOr88Ibn19+i7knI7LO+mvvUSWW4oxEQy3mouJEAFQTw7yr AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrGKsWRmVeSWpSXmKPExsVy+t/tXl3N3QfDDFbckLe4vGsOmwOjx+dN cgGMURk2GamJKalFCql5yfkpmXnptkrewfHO8aZmBoa6hpYW5koKeYm5qbZKLj4Bum6ZOUBD lRTKEnNKgUIBicXFSvp2NkX5pSWpChn5xSW2StFGBsZ6RqYmekbGBnomBrFWhgYGRqZAVQkZ GXPvtDEVfOKo+Nv5gKmB8QJHFyMnh5CAusSJ3WtYQGwJAROJhR8/sULYYhIX7q1n62LkAqqZ wyjxZX07YxcjBweLgKrEjFeyIDVsAroS/z92sYPYwgJOEne232AGKRER0JdY+DsDpJVZYCaL xIVrl9ggdilJzD/cALaLV0BQ4uTMJywg9RJAI5cu8IMIq0mseHqGDeIECYlZ0y9AncMrMaP9 KdSZchLTvq5hhrClJc7P2sAIc/Li74+h4vwSx27vYIKwBSSmnjnICLFKS+LFz3yIsI7Ex6Mf oFYJSpy+1s0Ms6ph4292mBO2tjwBO4FZQFFiSvdDdghbS+LLj31sqD4BsT0kbq69wz6BUXYW ktQsJO2zkLQjq1nAyLKKUTS1ILmgOCm9wlCvODG3uDQvXS85P3cTIzgNPVu4g/HLeetDjAIc jEo8vBFnDoQJsSaWFVfmHmKU4GBWEuEVmn0wTIg3JbGyKrUoP76oNCe1+BCjKTDKJjJLiSbn A1NkXkm8obGBsaGhpbmBqaGRhZI4b8DfdWFCAumJJanZqakFqUUwfUwcnFINjIGnSuS2nrj4 /UySz3Pm4Oet+d8O3Fmw2N5J7KZJdZh6QaruzDsh7jrlGwO/pXe9jtvXUrx4ommJzASh49Mu zZseVh7xyN7QUnu9c3OIUMrHTvbMGV8XvmO5Engg03ah1Lwu64eHd29ZwNEfevLVjJ8f2e5n XZ5hcMi0fY3RRP9tL18db/jqz6nEUpyRaKjFXFScCAAhjea7WQMAAA== DLP-Filter: Pass X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id u1FBn4GS014963 > How do you end up with Device nGnRnE in user space? I thought we should > have got some guard page. I guess it is a device file that is mmaped in the user space and later remapped in the kernel using pgprot_noncached(). I can't find the code that inserts a guard page in between vma's can you please help me find that code? > do_strncpy_from_user() relies on unsafe_get_user() not being able to > read 8 bytes. The problem now is that it doesn't get a page fault but an > alignment one is isn't handled. Yes. > Why addr >= TASK_SIZE? addr here should be the fault address, not pc. You're right. I should have used user_mode(regs). > The simplest would be to use do_bad_area() here without any additional > function. Yes, I should've probably used do_bad_area(). I just wanted to do the minimal stuff.