From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752727AbcBOLo6 (ORCPT ); Mon, 15 Feb 2016 06:44:58 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:36887 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750925AbcBOLo4 (ORCPT ); Mon, 15 Feb 2016 06:44:56 -0500 X-AuditID: cbfee68f-f793a6d000001364-c1-56c1ba364b28 Date: Mon, 15 Feb 2016 11:44:54 +0000 (GMT) From: EunTaik Lee Subject: Re: Re: [PATCH RESEND] arm64: add alignment fault hanling To: Catalin Marinas Cc: "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: 20160215104222079@eun.taik.lee Msgkey: 20160215104222079@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: X-ArchiveUser: EV X-CPGSPASS: N X-ConfirmMail: N,general Content-type: text/plain; charset=euc-kr MIME-version: 1.0 Message-id: <1241568967.925441455536689920.JavaMail.weblogic@epmlwas09b> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprNJsWRmVeSWpSXmKPExsVy+t8zTV2zXQfDDKZeVra4vGsOmwOjx+dN cgGMUQ2MNolFyRmZZakKqXnJ+SmZeem2SqEhbroWSgoZ+cUltkrRRgbGekamJnpGJuZ6lgax VkamSgp5ibmptkoVulC9SgpFyQVAtbmVxUADclL1oOJ6xal5KQ5Z+aUgl+gVJ+YWl+al6yXn 5yoplCXmlAKNUNJPmMqYsXv1JJaCdxwVM19tYGlgPMPRxcjJISSgLnFi9xoWEFtCwERi7sYv 7BC2mMSFe+vZuhi5gGqWMUo8efWBHaZoxfMJUIk5jBIP3uxlBkmwCKhKfNx7gg3EZhPQlfj/ sQusQVjASeLO9htANRwcIgL6Egt/Z4D0Mgu8ZZZoXvefDeIKJYn5hxvAruAVEJQ4OfMJ1EWq Esv+9TJDxNUkXk6cywwRl5CYNf0CK4TNKzGj/SlUvZzEtK9roGqkJc7P2sAI883i74+h4vwS x27vYIKwBSSmnjnICHKbhICWxIuf+RBhPok1C99CjRSUOH2tmxlm1f0tc5lgTtja8gTsBGYB RYkp3Q/ZIWwtiS8/9rGhe4VXwEPi75tLzCC/SwjM5JB4fOoU6wRGpVlI6mYhmTULySxkNQsY WVYxiqYWJBcUJ6UXGSNH9yZGSCrs38F494D1IUYBDkYlHt6IMwfChFgTy4orcw8xJgOjaSKz lGhyPjDh5pXEGxqbGVmYmpgaG5lbmmEIm5haWJgY4RBWEuddKPUzWEggPbEkNTs1tSC1KL6o NCe1+BAjEwenVAOj68mzi3dXKivGNjyTPfeM+W3+nuBWrrWvuvZe6O4833KPceaDGqFFvR8D OQ2EL/LIhRn1SfmL/d516EzB/ZPx4QdE129JZgsrXrumhynEou7+ovX7PD20p7GJXKv8+3NH +nV9l1tFDLEe8u5st/gzP/t93L+eo/hkw+Nj7LHTl6yf4J97NJJXiaU4I9FQi7moOBEAn+NC DK4DAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrBKsWRmVeSWpSXmKPExsVy+t/tXl2zXQfDDB4tVLC4vGsOmwOjx+dN cgGMURk2GamJKalFCql5yfkpmXnptkrewfHO8aZmBoa6hpYW5koKeYm5qbZKLj4Bum6ZOUBD lRTKEnNKgUIBicXFSvp2NkX5pSWpChn5xSW2StFGBsZ6RqYmekbGBnomBrFWhgYGRqZAVQkZ GbtXT2IpeMdRMfPVBpYGxjMcXYycHEIC6hIndq9hAbElBEwkVjyfwAZhi0lcuLceyOYCqpnD KPHgzV5mkASLgKrEx70nwIrYBHQl/n/sYgexhQWcJO5svwFUw8EhIqAvsfB3Bkgvs8BbZonm df/ZIJYpScw/3AC2jFdAUOLkzCdQi1Ullv3rZYaIq0m8nDiXGSIuITFr+gVWCJtXYkb7U6h6 OYlpX9dA1UhLnJ+1gRHm6MXfH0PF+SWO3d7BBGELSEw9c5AR5DYJAS2JFz/zIcJ8EmsWvoUa KShx+lo3M8yq+1vmMsGcsLXlCdgJzAKKElO6H7JD2FoSX37sY0P3Cq+Ah8TfN5eYJzDKzkKS moWkfRaSdmQ1CxhZVjGKphYkFxQnpVcY6RUn5haX5qXrJefnbmIEp6Jni3Yw/jtvfYhRgINR iYc34syBMCHWxLLiytxDjBIczEoivEKzD4YJ8aYkVlalFuXHF5XmpBYfYjQFRtpEZinR5Hxg mswriTc0NjA2NLQ0NzA1NLJQEucN+LsuTEggPbEkNTs1tSC1CKaPiYNTqoGRw2XSvXcrOysj m55xyDRLHlCeouB0ntP76a2jC1z0H89aMZfTh3FebWq4aGZDpNfT2LnaXSumnhTj+22v93rV vBOFaze/F46TS+U9t2OB9Adrr40PL77YHfXwpvbvSLW1RTdqvk6b33w/s3a1gpWKzpcNGWsX TdNV2JF/tWG1YPR9f2WnKXbTlViKMxINtZiLihMBOHykV1sDAAA= 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 u1FBj5rl014938 > 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.