From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754373AbcAHJDH (ORCPT ); Fri, 8 Jan 2016 04:03:07 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:65329 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751314AbcAHJDA (ORCPT ); Fri, 8 Jan 2016 04:03:00 -0500 From: Arnd Bergmann To: Yury Norov Cc: catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, pinskia@gmail.com, Prasun.Kapoor@caviumnetworks.com, schwab@suse.de, Nathan_Lynch@mentor.com, agraf@suse.de, klimov.linux@gmail.com, broonie@kernel.org, jan.dakinevich@gmail.com, ddaney.cavm@gmail.com, bamvor.zhangjian@huawei.com, philipp.tomsich@theobroma-systems.com, joseph@codesourcery.com, christoph.muellner@theobroma-systems.com Subject: Re: [PATCH v6 13/21] arm64: ptrace: handle ptrace_request differently for aarch32 and ilp32 Date: Fri, 08 Jan 2016 10:01:55 +0100 Message-ID: <7056596.KRbB42JIuZ@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <1452209679-19445-14-git-send-email-ynorov@caviumnetworks.com> References: <1452209679-19445-1-git-send-email-ynorov@caviumnetworks.com> <1452209679-19445-14-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:JbLqyom1yURmtLYsznTE/Vs4SDut8eNCsJ1VeoSsLB2/FFPVa/7 /qmZfz5c1sQJS37FwSY8pDAxdsflUtJXAlmDEnnr7s4FFCDjo0HOZB6yaoBiWFdq8L4pMor ePaqimms4c4N4KwOnjvkW8Wm9RbasBG7hcX9F5MjBoBJWT24KK8knsMDHi/ACXBtcJrIrsN ges/a4HzCAn/xD2ujDR1Q== X-UI-Out-Filterresults: notjunk:1;V01:K0:lnars/URc1w=:GmWizArkkLDjDwlMKNdr9U Zt8uUJFLBNkQ1I7ATJh4wtkp4RKtn7oRFB25SEEE2+dqa61cuTLTKndkMJhiH1/FN2jhqg/pD k3cygbiGlFjj3kAPaFXXKhA7iR6dwkbTrhpOwzgOA6zyxilY/CLLEBCUTGH6MXWL7bpq4ee8a UypFwRvjay2TApeOl3eLXC5DDzXs5i3/F41TGz4xSyY3/oiNgpw/0tnL2ENtV1XCHBzn+lZP6 s7mqU2cd9pF89FT7bjNhJf+gZAJUKMTC05c/ghNr/RrT3jEYH6uh2yc5QeYfEuiPTkRP0d5EP eejolNQ7Dl4UYFgyMV0xaOK6aAdjnaxS5MjRjDf2w9ZpkKM567vvbxxb3wYQEkcvJiR2hYM3O hiTOS+pCkPbq8M3KCc6b+XQ4/JQj4/Yp0SJhxb2bHN6qt7FmZMyIyJyEmBa8S9Lkovv720Hme W2qSAwONvDf8MgL2TbmVP6r6YrSxIhbysjdFl3qFWmp2qneGK5fIiKDL/O41WZgJJphxOUbea XmJgKuFwUpL6vv1B1f/TRsGlvoyUAttU/FobcmbM7S86B/jgc6MvZNAlB2v6i2nVKURCKzeMY z+f6zpENbKvLFTl3s2DLyaNOW8RXPD62YoSyrjR0B9Fl/fegDh4dAb6G03hvQ//+KpWSZfFwP 6a4DtKZbCNjqVJPg+SkzKRGdMcRGVN0GsOFP2oaHqkVhWa/2Hw/85x6xpoj17dkEJT1V0B9im MR8hUTMkOCQv2BYT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday 08 January 2016 02:34:31 Yury Norov wrote: > +long compat_arch_ptrace(struct task_struct *child, compat_long_t request, > + compat_ulong_t caddr, compat_ulong_t cdata) > +{ > + if (is_a32_compat_task()) > + return compat_a32_ptrace(child, request, caddr, cdata); > + > + return compat_ptrace_request(child, request, caddr, cdata); > +} > + Looking at this again, I think we can avoid this runtime check if we duplicate the compat_sys_ptrace function and make a special one for a32 that is copied from the regular handler and but calls compat_a32_ptrace directly. Or maybe make a separate handler for arm64-ilp32 if that is smaller. Arnd