From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932229AbcELKpr (ORCPT ); Thu, 12 May 2016 06:45:47 -0400 Received: from mail-bn1on0054.outbound.protection.outlook.com ([157.56.110.54]:45056 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751395AbcELKpo (ORCPT ); Thu, 12 May 2016 06:45:44 -0400 Authentication-Results: arndb.de; dkim=none (message not signed) header.d=none;arndb.de; dmarc=none action=none header.from=caviumnetworks.com; Date: Thu, 12 May 2016 13:30:24 +0300 From: Yury Norov To: Arnd Bergmann CC: , , , , , , , , , , , , , , , , , Subject: Re: [RFC6 PATCH v6 00/21] ILP32 for ARM64 Message-ID: <20160512103024.GA7639@yury-N73SV> References: <1459894127-17698-1-git-send-email-ynorov@caviumnetworks.com> <20160512002000.GA30997@yury-N73SV> <4326765.8HKKkI07Zs@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <4326765.8HKKkI07Zs@wuerfel> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [95.143.213.121] X-ClientProxiedBy: VI1PR07CA0055.eurprd07.prod.outlook.com (10.164.94.151) To CY1PR07MB2231.namprd07.prod.outlook.com (10.164.112.145) X-MS-Office365-Filtering-Correlation-Id: 4258d529-68e0-4323-5969-08d37a507a3e X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2231;2:TQiudTvmHytkDLDXaP3qSntNMngbGuRMcwWmNV7Gck50kJjNveGhGT6fdxxzOAUoJPIxLKzKmib2CkWumuPZLxHpm1l4l7WxGK9UqXNNTO3uJTlNtJ0TvyAS9m8tmv1BBtXx5NIJYvQ9N5iSUXseizJmyV2D3xuocgPDNN4yxVzMUSjgjEmhoyg03cCZ+Z8L;3:my930tF3wxdua9Ds4xplHkbW+9JVhfFUdd/JLwYFFoi4JlxhcCh0a9+B4b1r2rE7nGR0HF8rtWgHiM7oagNJAjYJvRwTnVTMjSGRDhLVDb4JzuIvEdyMK+y0T22amqZo;25:rqU4Volg37rN0ZxeO79cDuCUoZ1Ypn4ue8se5bUn23uVhRHCrZndQ0cz6gAVdOpfTEp1IE0cJZO/VBodUGbtUKQdzkZLqcddiHXySSRUZ1U493Zr71WyY8xNKh3cx/1eK9kRhj0ZBakEuUwcw7QNk3ZIoZI029011cegR3I2nExYTspEXqN+50BgXuJeFrIk/71V3F16kGsLsePbLDltqxQAP+tsbTZ0bln6M4nPMJRChcAji3d0DF9jIsbxGTq9MlsLEJwLIfhxLqQN2VeclM23wy9/KIeS4cXGW7GUpaThyuzTUg4Jv8ekgbsYi68eD7akFcZxAGWE/pe3OKfJv3MPGvhksbn8dlTvrWqly2b39QiNnnJlQVZ0I6ckNzgeT2F6PEE9PmcZeBFkC639XVgXfnY0ErcCp0ya6fPzOXA= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2231; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2231;20:o9/d44drFx/USmighDleCebt7JbN0JMVxJ43Sd/yI0VylOntJpe3gACj0u2nyY2H25APZUpHyLp/YoluSRhRDUFXIpUPHIIxR3l8wC4RCHTbFE097Qz/29pbUl7AFUuQ+Hw3+0lpN0hGTKKlOuZfhjXqnxGmrlrv7laDeRF67nkO0T5anisq+PfXDJqrBRtv4fmQV6xxYFCO5KwvXAkafvNgYSzzaMbjJBMKAUNfh4cSTOk3gqqMiiFBUb+JNaCov0ggw5j9/4vd0gcwecLhsW9HoJjdyJqfVoMXXTQ/zxH6JOi2PZYxt4Dw+62wDgmnPCghe+BwknX6HdvAG1gV3R6autn3ZiFfRsLnbnJt8ahKd4iZ5kmUo/dG4S7glt+p96Aj490S4O3O2FCtNBHE70hXd/IRuzfNN7HF1wbTdoRjwVHu2glr7g9wiH9rMj3hye0ugYKlM06/n4BPVDm5486MT7osMHboqbOmVPI9LmwoNi1yE6frD8f1Q3Ul1VhIPxgu1jeqlyuNtrC+uy0KfTL5OEMvMQF8T4LZRGcnqqeYTbCt8tIbz8QJ1yiGYYTKwNNPNy9KC4vyeM+3KnfiqNlhVpad+N6IzMD5EsZ0ApM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:CY1PR07MB2231;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2231; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2231;4:JjB0sjiS3IcPyAmUE7p27JqdT2iAOQ2Aa+lZGxN6OoWRITgQvmlHQhlw1yN4wfKHNzvR0NgwREjxDs1AXDJVEqCn7nuyC2GQ4IZNJAVlkc1NgHeX/saY/Gm7qVdnEd25HOiNRy/7MzZW0zAaN9EEnNiv3Ag2lhILAecPItGg6B2+GuynpFKQmP1ocbPgzZDE7GPae+64MbO+bNW/LVMQDto1M7GbGdP+kRdK/CBL9Jz2d+4q6x4HHiNbHsLQa317fCK87NUpXCRajTM6l6hTxExwaz8b0+V8OSLD9pUi6+CNa5BGhyqE96tJobLwAJ+H8yImydct8CRZzhQKeR0cy6F8BFLo63FBUkhRWSFR7gK8OHGD4M7hmiGk0UCATl+7 X-Forefront-PRVS: 0940A19703 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6069001)(24454002)(189998001)(42186005)(2950100001)(1720100001)(50466002)(15975445007)(97756001)(81166006)(77096005)(5004730100002)(19580395003)(19580405001)(76506005)(83506001)(54356999)(33656002)(76176999)(6116002)(3846002)(50986999)(4001350100001)(586003)(4326007)(33716001)(23726003)(2906002)(47776003)(66066001)(46406003)(5008740100001)(110136002)(1076002)(9686002)(92566002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR07MB2231;H:localhost;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR07MB2231;23:wAkpQNDxIgRUlbAi8NFuYRrnnCK4P0/GOsYY9Nm4K?= =?us-ascii?Q?+bPxU4+Ig8pFaGzbzqmR/cmHljrOuB0N5jI6uDPnHtuD7WqxCvLWPatx904k?= =?us-ascii?Q?eBgFMxVUrjzm1BTKCRbYPjHQuVXY++nrwqKb+A90l/9i8RT8OByYASUv2Pva?= =?us-ascii?Q?JNVyAMkegnjI/IvYTLGI3EtEzv/47f/AV19OGoQowTG3QfSVgbyVBBv8tkYx?= =?us-ascii?Q?LIm3Z46STDRWM7uCa+yo9Q7QItCcj00fYtM47dAZsAYBZAE4e1P+0pGw22jk?= =?us-ascii?Q?Veiox5rvrF9B44uCSgK4784VZBIo8zTZw61hSCiYaeWxIC51ZdB2tvAz28I5?= =?us-ascii?Q?8n3/n782Prl2jHbU3C7+GbE7kNY+TCosimFp5Dhb+Vqs9X/8ev4CpeR+oLuM?= =?us-ascii?Q?0Uo7VtFSRMnM44PGHhtcA/k3H+RGbCNKAjNEADseJ7GJC2zkgwYQFtqQwWF+?= =?us-ascii?Q?0vBi1N1xalH4A32obrO7+ORSGTWsCkXLwSR0HP9rWAcjMXvpQQLYRgJPhSzd?= =?us-ascii?Q?MyAgtoarn0EPtubWYDftRskB7c7OLhlDxECA4tqbNY3cajvGNKQr3NFpxBES?= =?us-ascii?Q?RyWpcffm0mM1hj3OO2l20xflKOntaWOPxGINlhzrguR1ozvlc+f9VDxaG6na?= =?us-ascii?Q?mILUR0Qg1MB0osIo0jDUplIpbOWiyhNn/IAYWi8QBZXHjD2B5KjKHacG1ZeN?= =?us-ascii?Q?AjDweQn7FzvTzkHk2fejMM3bDJ42Kf+ECZfqJONNNZeZIqOW60s7+jo5vjZ5?= =?us-ascii?Q?mSmxcBADjL2IBevnf+U2ylwFb9MBYL2xA0t1yZsuWJDOEUWBruEtGBYEl2TE?= =?us-ascii?Q?MqK736f4zaLXkNJqHcKBNQ3e8eUqG1BHPfdFCxK795/AMYSih3v0P0uo4dqI?= =?us-ascii?Q?GU9soq7LfKNXA18MPS2cyZz97JXTgJjjkMwJ1SkQgdaj3rX58ZOIzr1+JwUb?= =?us-ascii?Q?ngluEZTxXSQuH5wO5h0CCZdtkynXXc/vctOnFua5KEn8f4bZvw29GE3bsycq?= =?us-ascii?Q?mKJxWEbP0z2pNkbZGemfgXNVKisvnu74eIY2Eyfw0/MZg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2231;5:P/QG86RmS2uQrFZOizBnPJauDMjakKoCF5v3TDuoNQXTFDgMHSKUEDE7sR9sC2MgapMwvPstjXZzmXMrNeovSftkY1aALpSg/LHC9gJQpGPPqYpb6xUDyNHJWdxJyPKuImo0rVaWwfeB6V32qhDuig==;24:DyC6D5ZBDOlLkOcjDWILYKl9nutagLqDpyJuB0Q8jJjF+H4vTVIpQklnF1/I9h5IxA6yJ7nmjRtl6u2eElRSBnjkJfqvuCC6JHZRbIZ5fxw=;7:/mWP1lkz6Fk2wve+jwjxOzHnbcrO0ugQtyMDu+lwuKxG6k3TmeKdBgQMSWYayLZqHvc6Nm5bxOTZrNjdctoh4Z/qc07seNMSNPzVJerYcE8D0g/RJbnLTAl7EsGc61XhoQ34ZoI6hUIhL2CuOocZrL/4cWpSjAmNygdb/KHiHB60663XSfgnkIkKs+OOHye/ SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2016 10:30:45.2141 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2231 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 12, 2016 at 11:19:21AM +0200, Arnd Bergmann wrote: > On Thursday 12 May 2016 03:20:00 Yury Norov wrote: > > > > I debugged preadv02 and pwritev02 failures and found very weird bug. > > Test passes {iovec_base = 0xffffffff, iovec_len = 64} as one element > > of vector, and kernel reports successful read/write. > > > > There are 2 problems: > > 1. How kernel allows such address to be passed to fs subsystem; > > 2. How fs successes to read/write at non-mapped, and in fact non-user > > address. > > > > I don't know the answer on 2'nd question, and it might be something > > generic. But I investigated first problem. > > > > The problem is that compat_rw_copy_check_uvector() uses access_ok() to > > validate user address, and on arm64 it ends up with checking buffer > > end against current_thread_info()->addr_limit. > > > > current_thread_info()->addr_limit for ilp32, and most probably for > > aarch32 is equal to aarch64 one, and so adress_ok() doesn't fail. > > It happens because on thread creation we call flush_old_exec() to set > > addr_limit, and completely ignore compat mode there. > > > > This patch fixes it. It also fixes USER_DS macro to return different > > values depending on compat. > > > > This patch is enough to handle preadv02 and pwritev02, but problem #2 > > is still there. > > > > Signed-off-by: Yury Norov > > > > Good catch! > > Can you do a version of this patch that works on the current > mainline kernel and can be backported to fix aarch32 emulation? > > For ilp32 mode, I think we can better fix arch/arm64/kernel/binfmt_ilp32.c > as it is introduced. > > Arnd > OK, will do > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel