From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1427366AbcBSJqn (ORCPT ); Fri, 19 Feb 2016 04:46:43 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:42944 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1423814AbcBSJqj (ORCPT ); Fri, 19 Feb 2016 04:46:39 -0500 X-AuditID: cbfee68f-f793a6d000001364-9c-56c6e47dbb9a Date: Fri, 19 Feb 2016 09:46:37 +0000 (GMT) From: EunTaik Lee Subject: Re: Re: [PATCH v2] arm64: add alignment fault hanling To: Catalin Marinas , "vladimir.murzin@arm.com" , "suzuki.poulose@arm.com" , "will.deacon@arm.com" , "linux-kernel@vger.kernel.org" , "salyzyn@android.com" , "riandrews@android.com" , "james.morse@arm.com" , "Dave.Martin@arm.com" , "linux-arm-kernel@lists.infradead.org" Reply-to: eun.taik.lee@samsung.com MIME-version: 1.0 X-MTR: 20160219093134324@eun.taik.lee Msgkey: 20160219093134324@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: 20160219093134324@eun.taik.lee X-ParentMTR: X-ArchiveUser: EV X-CPGSPASS: Y X-ConfirmMail: N,general Content-type: text/plain; charset=euc-kr MIME-version: 1.0 Message-id: <225030523.1150721455875195200.JavaMail.weblogic@epmlwas08c> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprDJsWRmVeSWpSXmKPExsVy+t8zXd3aJ8fCDJpPi1pc3jWHzYHR4/Mm uQDGqAZGm8Si5IzMslSF1Lzk/JTMvHRbpdAQN10LJYWM/OISW6VoIwNjPSNTEz0jE3M9S4NY KyNTJYW8xNxUW6UKXaheJYWi5AKg2tzKYqABOal6UHG94tS8FIes/FKQS/SKE3OLS/PS9ZLz c5UUyhJzSoFGKOknTGXMWDhjC0tBj2BFw88u9gbGCwJdjJwcQgLqEid2r2HpYuTgkBAwkWj+ JAMSlhAQk7hwbz1bFyMXUMkyRokP61ezQCRMJHb8f8gCkZjDKHFo7l5WkASLgKrE2clvwIrY BHQl/n/sYgexhQXsJKbP3AI2SURgDovEq40n2SA2K0nMP9wA1sArIChxcuYTqA2qEjtPP2CG iKtJbDm+hx0iLiExa/oFVgibV2JG+1OoejmJaV/XMEPY0hLnZ21ghHlh8ffHUHF+iWO3dzBB 2AISU88chKrRkvhx4Q2UzSexZuFbqJmCEqevdTPD7GrY+Bvuhq0tT8BuYBZQlJjS/ZAdwtaS +PJjHxu6X3gFPCSO3j7MCvK8hEAjh8TXs80skNASkPg2+RDLBEbFWUh6ZiGZOwvJXGQ1CxhZ VjGKphYkFxQnpRcZI8f3JkZIMuzfwXj3gPUhRgEORiUe3gq9Y2FCrIllxZW5hxiTgVZPZJYS Tc4Hpty8knhDYzMjC1MTU2Mjc0szDGETUwsLEyMcwkrivAulfgYLCaQnlqRmp6YWpBbFF5Xm pBYfYmTi4JRqYIw/oLW++iNLjMWmhj610HuF22fz+Lh/8FG+tsh1118RFTclrjlLIx40FYsX +PyS2sbp/OhPt6Ef16qjUnyOtbYmVgUvcr/ePf/WtlM2VEdzg3CdpnPDlJmN+vziazauiUyU Wu75+apKBE/r2bf2Z9YX2J07Yvvo0M9tPoY3eXI48s3rt2luVGIpzkg01GIuKk4EAD4teGyv AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrHKsWRmVeSWpSXmKPExsVy+t/tXt3aJ8fCDBZvFLK4vGsOmwOjx+dN cgGMURk2GamJKalFCql5yfkpmXnptkrewfHO8aZmBoa6hpYW5koKeYm5qbZKLj4Bum6ZOUBD lRTKEnNKgUIBicXFSvp2NkX5pSWpChn5xSW2StFGBsZ6RqYmekbGBnomBrFWhgYGRqZAVQkZ GQtnbGEp6BGsaPjZxd7AeEGgi5GTQ0hAXeLE7jUsILaEgInEjv8PoWwxiQv31rN1MXIB1cxh lDg0dy8rSIJFQFXi7OQ3YEVsAroS/z92sYPYwgJ2EtNnbgFrEBGYwyLxauNJNogNShLzDzeA NfAKCEqcnPkEaoOqxM7TD5gh4moSW47vYYeIS0jMmn6BFcLmlZjR/hSqXk5i2tc1zBC2tMT5 WRsYYS5d/P0xVJxf4tjtHUwQtoDE1DMHoWq0JH5ceANl80msWfgWaqagxOlr3cwwuxo2/oa7 YWvLE7AbmAUUJaZ0P2SHsLUkvvzYx4buF14BD4mjtw+zTmCUmYUkNQtJ+ywk7chqFjCyrGIU TS1ILihOSq8w1itOzC0uzUvXS87P3cQITjvPFu9g/H/e+hCjAAejEg/vBYNjYUKsiWXFlbmH GCU4mJVEeFfeBwrxpiRWVqUW5ccXleakFh9iNAVG1URmKdHkfGBKzCuJNzQ2MDY0tDQ3MDU0 slAS5w34uy5MSCA9sSQ1OzW1ILUIpo+Jg1OqgZF10VTGXoH1s+QaYkwMuJgNxfLXPT0RmseT GxQd9TXg/rr4xSt2B/JNnLRO3Ll153fRLPtvOmVv2dM5C7w1pqyw2WjL3rznujen7/zTjgtM gzq9fsiyWlv4XQp31vu+/s+/v06GK69XSmfa+Gz2+GIu9X6Jntrjt6djPqjPCMudrn+QOS3b WImlOCPRUIu5qDgRAG00tb1RAwAA 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 u1J9knGQ020435 2016-02-17 2:11 GMT+09:00 Catalin Marinas : > On Tue, Feb 16, 2016 at 04:44:38AM +0000, EunTaik Lee wrote: >> diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c >> index 19211c4..a5ebb99 100644 >> --- a/arch/arm64/mm/fault.c >> +++ b/arch/arm64/mm/fault.c >> @@ -371,6 +371,14 @@ static int __kprobes do_translation_fault(unsigned long addr, >> return 0; >> } >> >> +static int __kprobes do_alignment_fault(unsigned long addr, >> + unsigned int esr, >> + struct pt_regs *regs) >> +{ >> + do_bad_area(addr, esr, regs); >> + return 0; >> +} >> + >> /* >> * This abort handler always returns "fault". >> */ >> @@ -418,7 +426,7 @@ static struct fault_info { >> { do_bad, SIGBUS, 0, "synchronous parity error (translation table walk" }, >> { do_bad, SIGBUS, 0, "synchronous parity error (translation table walk" }, >> { do_bad, SIGBUS, 0, "unknown 32" }, >> - { do_bad, SIGBUS, BUS_ADRALN, "alignment fault" }, >> + { do_alignment_fault, SIGBUS, BUS_ADRALN, "alignment fault" }, > > Do you need a new function, can you not just add do_bad_area in the > fault_info array? I made a new function since do_bad_area currently does not return any value. Should I just make it return an integer instead of making a new function for the unaligned fault? Euntaik