From patchwork Sun Jun 4 12:00:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 9764835 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id E607E602BF for ; Sun, 4 Jun 2017 12:04:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D9D6D280DE for ; Sun, 4 Jun 2017 12:04:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CE3A528401; Sun, 4 Jun 2017 12:04:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,DKIM_VALID autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 46B72280DE for ; Sun, 4 Jun 2017 12:04:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=8tGZo4C4WV9Z0xiZ12xyYRGhmGSws+OD//GKThOs4EQ=; b=DwWPmdNTFeGAeY fiFqpvxxf11b42Z1RKspUc9J+dQzcPVoqULaYuDmmWuSweASH1IspBVW0uF1EXkijhQT+q6YZ+EBu 0tQQ2w73r/ToKlS9dK7YA0ox0mZtfRhU7TGFeQbjYcql3V6hWO5XneWgUWhubqpk4WEECf9R1DinP 4Sck1v/x4Dp039cJr1B4iZd9YGFup52Bm+iOxLujSbPIRol7W4wQYmKv42Y+xlOTOdBvcjqyF67+W H8yFMM0soKhbADC8kwvYLs1veYIBi/GNRr+2SxgxEdFsus1363ZST64bxiuA7p4CYXAlsF12vImIx Upu//YbCTLmZIqr6AyiA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1dHUGu-00025y-3w; Sun, 04 Jun 2017 12:04:40 +0000 Received: from mail-sn1nam01on0087.outbound.protection.outlook.com ([104.47.32.87] helo=NAM01-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dHUGQ-0001Bk-JU for linux-arm-kernel@lists.infradead.org; Sun, 04 Jun 2017 12:04:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=aILKQS0Yy4EPMF4XbX5PBnWpLzCC0Lf23oSQDggRzYE=; b=d+WU7E8iBlU6eejyv8zbW35BNwLVo2p9qlf5uKR7StlFHdALg4N3aPRzdR0NZ3vyEuZpaCGtAZwcF93dAMXlDxiS0YTUGgzW804k026za/uZRX6DAVIpZf+t+cCW+TuCi12wxoUt482LLdQoykiiEonglVxmr7o3iiWh6+784ec= Authentication-Results: arm.com; dkim=none (message not signed) header.d=none; arm.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost (176.59.55.28) by BY1PR0701MB1271.namprd07.prod.outlook.com (10.160.108.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.10; Sun, 4 Jun 2017 12:03:47 +0000 From: Yury Norov To: Catalin Marinas , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Arnd Bergmann Subject: [PATCH 18/20] arm64: ptrace: handle ptrace_request differently for aarch32 and ilp32 Date: Sun, 4 Jun 2017 15:00:07 +0300 Message-Id: <20170604120009.342-19-ynorov@caviumnetworks.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170604120009.342-1-ynorov@caviumnetworks.com> References: <20170604120009.342-1-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [176.59.55.28] X-ClientProxiedBy: VI1P190CA0017.EURP190.PROD.OUTLOOK.COM (10.165.188.158) To BY1PR0701MB1271.namprd07.prod.outlook.com (10.160.108.17) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY1PR0701MB1271: X-MS-Office365-Filtering-Correlation-Id: 6ffb4ab9-5ec1-4ac8-44d5-08d4ab41c1a4 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:BY1PR0701MB1271; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1271; 3:g7qqeSXdY8DR3k3SBOSpJYywe9befiP6OjKW14zfp5R57GY3Sd8DFVHAICaq09wS6z4dj0ueCP7wKcd64X0fYaTjqAA3bEFMncxzBNo7gHZAeGa7pw7KA6m2lD0I9uXK/K5yKZgTJXJLN8RrcI8t33X+L3QqWjWzvPF7RHBV2HHWThtcxgrU0WCZMbVDM5+XMKEYjKZRlFUVQitoCJNtMuwMaMkypI7H8xqcPS6SR0S3Wm88fJAFxI+eBP5UNDWY61fKmNce7AYrWNRxCTtul+qZ+grQq4hPk9aXJLk9F5gGJHuxLShakPf9dyTNOrCoDzo6repIEm0aBdlvue9Xtw==; 25:+vbHXpIzkQ6JXdjts5MlvFWeY0QSLbwI1oK7XL0j3/Jq4VyE7zXD7mI3D3bNauHzRugPk2f31f7i/u8THTfQ+BqGzm99svNXiHtZ3tzmB7UukjlkZ+bDxW/FjM/m2GTnpIU7UhMPJDUUH+yo/axCBYAZVaTFxCZfK1szzN5GTrlvZG3k/zcOPgER4KDcNxJFbisJmA0crLMYTgDCFFFGXEW0OyUdm9ffYNqwb7A7YdoRbqq8y2PN4Wq/TtjuHdMy34XmPk+YQLEAL2Dfe/xfrNuVKYZdT2+67M1lIdm5IT6MEDHTUudnukIifQnnc+5nyEW81P1IAPq5d7z7s5NuSCFiwv4q+EraPz8ggpSbHvqEfnxDtA8m5ScK9KRUZTF4YoEYjykTexdiiqrii5mw83HNh4Rvn+zPVwzmVvHmlEKaxe6PDaO4CMbX3cuDXAGpcnJAM3YJ/LgDDaBSdNy8KK41smbJmtHLig1ziFlU7+E= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1271; 31:qcwSURZ6f8s9UUcep1m+wV/CSr4JiVDounEfeslajOvZZ76Uh+huLzXX7B0aJCpwx4/3pTVLe4vFQGMFm2OuQQJ3+zlspweqooulZRz7ZxVGvYtnaWUvjAdTfaJPr2JE848xUqNCGjpWvGvlWxO8Erosme90jA5LmZcoWjun7kYplyBi6AxVDxAMIQkgBVcDe0tHRQdbdKVmGO79Y/HC+T3TEV1zljd2VP4r3v6q63Q=; 20:JXlI7WbpmS2U+1KkzqBQtIM/IeGNuP/aGaUQzf/52+bXUJf65FR2okrvEl5n6PpSg79Znq3fkvD4BBMe3M03QzA9NZ4AuXjR98w5LzWB5KuKRq7RrR5QxFoeM1tCNjiwrwYK6pk9H0WS3qDEN2R9d+8WZsSW+a5X43Pqi3Ib/TbRA+qviGuVUtMAILlcB1WMNdKadXfrJOv+s5zSkmXi7pwrS8OxD9mnUdqCTpZi0Nav/YzJyb9hiFanbzR57mPAfiXXrbEYUYV5XLf9RpzSlXv2lxDEu8rsuVB4UI69uSB8+AN5ZVWeUCNf0mMv2t5Y91G3KOvsLJHd0XqQvAiCIRQr8YW7pm4tGqOlPVSWqGE2A+ou+C3b8mraWUVnvHaux8dS3XfzbFnGgdPeJLH0Z2MAMbXKH7x5OQt0QjxJUZe/Fb1/0QBXMwY4iClnG3EvfGl98CzSNdGKRwehDdlqHsAC5HLy6xed2R937SEtIofwWl1LFcxiTDdqY6dYmuXHzNEJqhJM5Nb72q5tL/wohSX3HyKMsg2Ht4dvyAkpBrcmNqA3IgO3pHWCwiW8zL13yV5/BD4Z8sd2icTMAMmHAfEezS1o1L2caUN1k4L2GU8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(50582790962513); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123560025)(20161123555025)(20161123562025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY1PR0701MB1271; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY1PR0701MB1271; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0701MB1271; 4:nPPvnLgv0cXyzoWdVRatpM7b9OQP4LTxZ4kD4F0P?= =?us-ascii?Q?IA2esNxLl3IuUPVxQuYhaloP0YQpsJ5ENCp4ZYgLg56kxXmUTi2oSffO1Os1?= =?us-ascii?Q?fZxa4YtHD7xOvzgwzPrb93rZdiuchZtq+sPI0SeosXHzNyajBPhOybRLFZ1g?= =?us-ascii?Q?YU6PZVU10T/8G8fMrdpw7QiifpStesCHIYRWI01whOfM8GsAoOE4opw4i3+b?= =?us-ascii?Q?s51tfSoHmy6Gpi50MQdX8Zray8GiBNIbPSiQpz5c1Gblve0G5jI7fSjbmTNm?= =?us-ascii?Q?oggvRGxjW1bjTMchP6W5T+f3JMMtxf7BAiLLHqoPBkWhu2sHqjjlS0CSADMa?= =?us-ascii?Q?NmU4kHYuKdwdXlt/7OTrb4LeHvhN5/p/FaB+UvcCAITB3vNB8mKZv+5CKIRx?= =?us-ascii?Q?KCAj0j1cGTYNWxTXh4csJ39d2DkqpGc5DXAtSei8Z4iBW0BIFkhdbQ/bYKos?= =?us-ascii?Q?PPNmrUxcdaqmnCAqJNPynH5qszDo9vA45g2joaXVf6snT3hycV/SABeg0UAL?= =?us-ascii?Q?2zvO3a6sEA9385ExTWoht/ADYacybgAiGAMWSGqFggvweRRu+1oj/Z0jv7B7?= =?us-ascii?Q?IFAEzR7v4Hq085jZJl46TusP7XT3uZ8qzp+5TQ7ryRyo4aiu17TRiLM6cT1R?= =?us-ascii?Q?JJhn1ndQyvgswA5pBZuoBJ+NXK8boHifBsAhrOfyM4vg+ejzzaz7PGPALT4s?= =?us-ascii?Q?W6D9cmFxstQopOp/snDfy5yN37oHutc5agcwbncyS1yAYgxQVzpm4aG0s+qx?= =?us-ascii?Q?7iK8qlmMmCSYZygxyQw+EgmxPnIq1HFGW5febSYt8HuesafrG+En887wI85s?= =?us-ascii?Q?5+E23tSSB8fUjIsrN5XltOmUq6W+atQyaZ04bOgVQqcuLLvALtefA4TjvsOD?= =?us-ascii?Q?KzBm1qw5/ekGAalyxJ1AGl6BhsovXnqRCoSMkmnqtJ7sYyxCQtF/kx1vuw+Y?= =?us-ascii?Q?Ecquovk6nwE2s3Dyu6zcrcQdLKQnhZuZKxLEq0GAGBpa4mVHfvCPHB5XLgm0?= =?us-ascii?Q?HldqR0TyC2ZP2jl74o7yhd4ArfvC6yXmehgMgVJVlAUq5mPl+2ZHxrZ3Ocx2?= =?us-ascii?Q?bcihsBUgFqyoYNfN1nOFDP5BU7YrWWBNqLu4KtqEzVEf0b7LZphKecrfnSyb?= =?us-ascii?Q?tyorNph4yB45Ob1qwYbcaiI+BgZ6GvRhBDVhqpXrgME1MRdp0SzPyA=3D=3D?= X-Forefront-PRVS: 03283976A6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(39410400002)(39400400002)(39850400002)(81166006)(8676002)(76176999)(50226002)(42882006)(2950100002)(48376002)(50466002)(6666003)(50986999)(33646002)(47776003)(5660300001)(189998001)(305945005)(7406005)(53936002)(7416002)(36756003)(76506005)(66066001)(42186005)(54906002)(5003940100001)(25786009)(2906002)(1076002)(6116002)(3846002)(6496005)(72206003)(6486002)(38730400002)(478600001)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1271; H:localhost; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0701MB1271; 23:8cOQ9PnjPbt/yVY+N7XQm/5eKLyqyFXMg1gPeue?= =?us-ascii?Q?yCMMSr/gEG27h9va2B3womS9O/RiFdNMSWwwF/sxx7rCq0P6PE8Ca2ZnDnHG?= =?us-ascii?Q?GbMk/EHOjkPMgdN5QXUqG+2ST0PZfN85wJ3RVNc1jDSFr7MRav5lU5/Td4TG?= =?us-ascii?Q?mJlOiJbxdn4XPm10+azTpsuqQt2siGVyHsM1/gXJWS2ahkVOQfPyZSE5xzcl?= =?us-ascii?Q?FVZ5psaaJxpeqsvET8ezyw11rMchKCj4o4JovbTKk0ePF+nTsCYBhNSd5xT+?= =?us-ascii?Q?HEYjfjueef7jYvdNBmtL+SjLiGJrmLFhofmzjN2LM1BptGSBvS6xHXAEqqeP?= =?us-ascii?Q?+QpxjRtLDswueD9nye5olFoQYL/rwQLD06arL2bdn+EaVqnlY7Y0fOt5ksYf?= =?us-ascii?Q?lIvgKfEMg1Tq/bpNKD9crKT4Rfc27UfBik6ZM8rW/M/xFORV7VmF7OAhxi3H?= =?us-ascii?Q?bi+50v9vcuuo4Z+O8b6k08ZP3o3ojwWPAzZiXRFsYyITOOwEfaD6rr/M+LDW?= =?us-ascii?Q?rfizLFVJX9Gsba57B6kb/wpUWvysyRmdahsIQ0m9HZfBp3EDSej5PFdK5t7i?= =?us-ascii?Q?JOij8BwN9abrKmjkco3BOeMZlrHmbPfpIoyOHN8XSEWMZL64oLeNW6oikhF+?= =?us-ascii?Q?2jgmGzY/xtUxn4+0+5gTJwB7ntzMTZZmDl42BBjGmDPSgFz0Q8z+XtsHKcf9?= =?us-ascii?Q?L00+LatZnnit0Jk6ffgu4J0sadnbB+fE8KaHJ0XJlzhODvhc/YwP6emIjMia?= =?us-ascii?Q?AsIhFeCMM8EXimWY57r9R+cc7JlVAw/dWArxr7ORMgF26QLmEA8iQSw97uVm?= =?us-ascii?Q?A8bm5w6TA9fgNtIGRoo6niAnYjm/BukGpz+RyP9F+lIX8SSHvvhCRKjdDiPM?= =?us-ascii?Q?m+hN2jvVZPlTirMoTst9l0bAqx+a1MK4c8dRgGAHK121M2Ies5TeLuH6HgOT?= =?us-ascii?Q?XiHhH+lXWc9QgQc1MzaD5IZwl0eBJ36MheZQca+iX5vLE2lS5gwElFv2uRXs?= =?us-ascii?Q?whAkVBSwxmmMybFmZZJ7kXscRvWyFJX1Fqnr4eHp1L2AXgg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1271; 6:yvoiTqybR+TtOqk3DyenO7UrFa6nedCa3uERe8p23+517v9DXRbpRgBdB+KkYqVl548AnYBC9+hjQKSHIGTaVUncUrEyUQbqO8lYi79i+3kpVf/T8m9fgLy855H9W+WcvwWdmZP29zf3HqJgc5LQfgJLKiLqNnuNdSuIArnkTx3NGFq0q08g4jcdKRwAXPv50JwRh/IjXyC0r2TFKjk/YvqI+52MzvVRHmocimiRiue0+d5Ol6is+7/loSzFEEnat4F8DpAjby8IzskLudVT0QmlMx85Vysw5XAuGTu8AHG+4+6Da+Qh2TQ84mGDKE6Ejut3livCxgE83m2Yolh7+ohFOf0y1sSpT1eB44zaEMwvH+LQPqw3L7wJu10xGhv7T37rBNrnXXNAUFLpcw1Lf8nly8euyIKnb6+biVAc9FwsGYpJJ2qwY3gOqZdgVcy2L5+liKTBXCp67usXIQ+Kxvkbaq8XE1rvrK9Zg37vuxVXgLtpSE+rk3jZ6IG7E9/cJMXNZfxkulH5e1xou+y9rQ== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1271; 5:jkfL9+AA3EZ9pmWhQ5UAcJIAOLHumVaJULH3pBRu30PY7LXy8iIuN+e9VGCGvs70LYVwjrBan3XcwCZ5MGXKDk1OGyk1XDzgIip+fzZrkcSVgDHsLzwXo7vuNh7u9BrROIpxCl/T0uA9RrD/Mh+UR005zTs9n2I9y4x+MvntWP9RpAy39hVsVy8I75oRu8PqUY38WXs1r+5lJn0desKnizrbPzdvl+/L6AXw3RCwsicPVQ+Hr050vJ6MD98aKiFrV5LC9zCERwBGWSOgQrOw12oFDO6LAgNZxVr9s596FikgnvZBnBHjzUOIOhsNn2f5jrwi6eANGlN2lgZ1LkwKoHHfmaQz4BUuUu2rpcYHP/gut9ZNU3oC+ZcI2m1Y2ro+IlACtagWEQV0CrDVLkdAZk0HKyJg7KQgyQ/kSUyKJ11v8W/AhXEE4d/2lV98+FRi7rxu61noTA/5nJ5L8RfsXPpfUgnvTi1CZGkW0p1uqg5W8oRZYS7LnpwKv3keHpnR; 24:W3kNswOGWrn3oZMHeak91ags1LYrV5z01D38lfekA+pPvSgcfQVfu6rqGqhcQpwAXienaLVDHRxNndGAIb+rBPW7YH0LLg4ZieF/0A390l0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1271; 7:v+SF2yTHckiOkqomV8d4rOfbw7NMREMQsr6kgt899CvzfA5mvbcO93Ng4BQcMMB63/bfeNonbUw8HaA2JPtnApqOLBG+1MGeHvNBUygCmj5WugrOGb8cnaipJjmfZU+zc2T0OhK+xecPhWFU1SNv5pQEOcqVE7fiTRbXx1wkCzqcsoXLzWZcYoK/XajDlhRekeZaiyX6c2MT7IYPzJR+k9QoJiCFqlHTngIWicZa6H+KCdiZ8Kh6jEn/8fwGU9u8ZZvUOAYmbvnSqeENoaZIl4VKQDy/O38PKPnOONugBKve61/UlElMORTUZ4mKdYsDSlJQMvYeTtjyOwsZQHENEA== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2017 12:03:47.0449 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1271 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170604_050412_198616_DA24B0B4 X-CRM114-Status: UNSURE ( 9.95 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrew Pinski , Heiko Carstens , Chris Metcalf , Yury Norov , philipp.tomsich@theobroma-systems.com, Joseph Myers , zhouchengming1@huawei.com, Steve Ellcey , Prasun.Kapoor@caviumnetworks.com, Andreas Schwab , agraf@suse.de, szabolcs.nagy@arm.com, geert@linux-m68k.org, Adam Borowski , manuel.montezelo@gmail.com, Chris Metcalf , Andrew Pinski , linyongting@huawei.com, klimov.linux@gmail.com, broonie@kernel.org, Bamvor Zhangjian , Bamvor Jian Zhang , Maxim Kuvyrkov , Florian Weimer , Nathan_Lynch@mentor.com, Ramana Radhakrishnan , schwidefsky@de.ibm.com, davem@davemloft.net, christoph.muellner@theobroma-systems.com Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP ILP32 has context-related structures different from both aarch32 and aarch64/lp64. In this patch compat_arch_ptrace() renamed to compat_a32_ptrace(), and compat_arch_ptrace() only makes choice between compat_a32_ptrace() and new compat_ilp32_ptrace() handler. compat_ilp32_ptrace() calls generic compat_ptrace_request() for all requests except PTRACE_GETSIGMASK and PTRACE_SETSIGMASK, which need special handling. Signed-off-by: Yury Norov Signed-off-by: Bamvor Jian Zhang Signed-off-by: Chengming Zhou --- arch/arm64/kernel/ptrace.c | 65 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c index e2b7c040bf84..28f96765e8cc 100644 --- a/arch/arm64/kernel/ptrace.c +++ b/arch/arm64/kernel/ptrace.c @@ -765,9 +765,11 @@ static const struct user_regset_view user_aarch64_view = { .regsets = aarch64_regsets, .n = ARRAY_SIZE(aarch64_regsets) }; -#ifdef CONFIG_AARCH32_EL0 +#ifdef CONFIG_COMPAT #include +#endif +#ifdef CONFIG_AARCH32_EL0 enum compat_regset { REGSET_COMPAT_GPR, REGSET_COMPAT_VFP, @@ -1223,7 +1225,7 @@ static int compat_ptrace_sethbpregs(struct task_struct *tsk, compat_long_t num, } #endif /* CONFIG_HAVE_HW_BREAKPOINT */ -long compat_arch_ptrace(struct task_struct *child, compat_long_t request, +static long compat_a32_ptrace(struct task_struct *child, compat_long_t request, compat_ulong_t caddr, compat_ulong_t cdata) { unsigned long addr = caddr; @@ -1300,8 +1302,67 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request, return ret; } + +#else +#define compat_a32_ptrace(child, request, caddr, cdata) (0) #endif /* CONFIG_AARCH32_EL0 */ +#ifdef CONFIG_ARM64_ILP32 +#include + +static long compat_ilp32_ptrace(struct task_struct *child, compat_long_t request, + compat_ulong_t caddr, compat_ulong_t cdata) +{ + sigset_t new_set; + + switch (request) { + case PTRACE_GETSIGMASK: + if (caddr != sizeof(compat_sigset_t)) + return -EINVAL; + + return put_sigset_t((compat_sigset_t __user *) (u64) cdata, + &child->blocked); + + case PTRACE_SETSIGMASK: + if (caddr != sizeof(compat_sigset_t)) + return -EINVAL; + + if (get_sigset_t(&new_set, (compat_sigset_t __user *) (u64) cdata)) + return -EFAULT; + + sigdelsetmask(&new_set, sigmask(SIGKILL)|sigmask(SIGSTOP)); + + /* + * Every thread does recalc_sigpending() after resume, so + * retarget_shared_pending() and recalc_sigpending() are not + * called here. + */ + spin_lock_irq(&child->sighand->siglock); + child->blocked = new_set; + spin_unlock_irq(&child->sighand->siglock); + + return 0; + + default: + return compat_ptrace_request(child, request, caddr, cdata); + } +} + +#else +#define compat_ilp32_ptrace(child, request, caddr, cdata) (0) +#endif + +#ifdef CONFIG_COMPAT +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_ilp32_ptrace(child, request, caddr, cdata); +} +#endif + const struct user_regset_view *task_user_regset_view(struct task_struct *task) { #ifdef CONFIG_AARCH32_EL0