From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756899AbcH2JAG (ORCPT ); Mon, 29 Aug 2016 05:00:06 -0400 Received: from mail-sn1nam02on0085.outbound.protection.outlook.com ([104.47.36.85]:5477 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756632AbcH2JAC (ORCPT ); Mon, 29 Aug 2016 05:00:02 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Date: Mon, 29 Aug 2016 11:43:49 +0300 From: Yury Norov To: Arnd Bergmann CC: Andreas Schwab , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH 01/19] compat ABI: use non-compat openat and open_by_handle_at variants Message-ID: <20160829084349.GB9482@yury-N73SV> References: <1466207668-10549-1-git-send-email-ynorov@caviumnetworks.com> <20160815143028.GA7193@yury-N73SV> <3771388.9SFlpYVFmp@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <3771388.9SFlpYVFmp@wuerfel> User-Agent: Mutt/1.5.24 (2015-08-30) X-Originating-IP: [95.143.213.121] X-ClientProxiedBy: DB5PR10CA0009.EURPRD10.PROD.OUTLOOK.COM (10.165.4.147) To SN1PR07MB2256.namprd07.prod.outlook.com (10.164.47.150) X-MS-Office365-Filtering-Correlation-Id: dac06260-0f83-49c1-9cb1-08d3cfe8a342 X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2256;2:LXMv7zF88d13f80vvGJb3H9+o9w5a13Z6IP8w+l7M+G05ztf24ylnKdj5xXIV+cIOPNlQm5EkTz7UYTJ6Pn7yGUQAUJ0uQhqgf3Flt6ZEtwa4aqxJkImFH8yn/5mBvUcFHFQH0Mdb0lpTGs6qKTV3wMh+5q5Quim4pZDZB91a8gRw2MJNJ22+5ciOlOla9aQ;3:czdQM7T1oFM5XwK4OQ66TjzPetfoT2EGEzL8gOZXFRfsb5R5m9DAGUb7XnI45S+g+2nq9jUPAURN8WziqKKyCZE0J/u5JHiy0HjeauJ+RyA7xWvPsjmXtULeIbEEkR5x X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR07MB2256; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2256;25:CM8Jux4pQ+kPVjEvuigrzrxXz2T+ycPTj8p2CV9yiUFKl19ZzWOJcWD6jKyvh8Rg5eXnS2YEB1dOiQCo8TG7fw4LAnfZ8fOOff5aTQVNjRpL8eWdc1EUDoicL9IdXzXY6zyp936A7o5egB9IfbmxEnIx34qQEJUL96rSNaWwxg+sgwic1G0+6wGtIzjBZzIGk67pXOhaXjZiZ2jyN85FOvYBCaq2JAXf1jdM8h+CF2UQWJ1k8GmHExAVu009989CKTbsA4iEON6RqeiploNR3qPkHv9K5eJbNULm9HKgb6rt5NBDtxc7Ua5Mk31RULi/GoCu8yACMscmssN9qpRQ/SHLjRVTrw8Fd9KF7WodT1dgP9I/DkTh5n52Dl+lO8T1mnWmR+wJszUaJCXi8d8688kajyIv7N6T8VsBG06LAr2zk45YPoG1B62C/5/SY8+PUAqLkYtaOOxGrT8/n4q/QE2oWYvIxB+mqMY7tqZ9LVhvAb2lXrGMo9WHCPt2CE7WcnambHyzr6tYthTibG/O94eI4qofjyxTXnh23BC7s6Pgl118nIISU4sOWjto4VcDQAIPshDPWGa6X4M8DEyZP9YwBIly9DEyIum3er6pJE2DyPNSmQIO2hWUSghmid/duFNTvHjPIzzHEOWI8y9Xqt+nXXh537cMWhoYGcBVGariCficg26a9vom6RVDGoZc/z0igMYaLGZ3DR9Hnaemq6PhmyD4xKfrt6ZWZA2hD1QC08eSDtNOWtJ5Bh8uDwWwllCkoHYT4xD/4o0TYeC6laDhSxybUWPVHK5PZgt4HvqXBblOlxIxs7TwhlR78iww8M2iW1LaV1oG3UX+9z3e7Go4kzAxGgDwDCHLHcTpwU8= X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2256;31:yKR6tQ76PYBdVTJMx185jBrP31M2yDETulFOpHBM08aQRgEdYsy3AN8aIFICpUj+l1AKsVkyFnhHP526nWV/temMr9fuQlGAk9FYm5/jFleNlubs33xgqXZPcjpWhotf9xebIdhhtFfyz7QpUaYuAZ0LtUf+/e9FrykpSBBd0lZjHsK8ZiVqWN0+cnwnXSN/LHdikypRWpX3BRXVlzv9fgdd5JyuReQ6gT7CpuCSD4A=;20:0xH/6uyyT75dCL/gwPQSqHcqcDef2464jlrOv+0LUA5laUv2Mxyxk6idX+VkxdBKOC5hqcDShpXhixfUkkWq82C+th8AVGWnXLlDsjRatb3L1ET96D/cbxLvWL79Guc9Ag0ppAW8H9Oqr412pNkOh5AMh7U/dxVbAggsZCt/yDVGuP/8EaZ7hkMXzCzint7pdl0+K6q9wv7n7lpY0oNKPoeXkZi/IidONgbmqNgwXabcJzOUaRmF39Yo+OlMxT3UEBnQPM+8LwOcz3qsduaWDwHH9Y2x5X4q72HYQbwrMUZ2JFeEChlapIZRPMdVmfWW2cC+Izfl7ubEJckZ4hiXoY277UVBc1KxPYLT6pWd5iMURt0u9xwmff82ZhY5ru8g5KUnmxw27sXJmHLox9ffU++CSnWZ8P1OCNa/e6ernZ5NxNWI1xSXTa7/3Vptw5vfpEyjZunzBkLIZAxY0gIlu0tlDyICkfssFFhIspU7yUh1UoMMsl0/lmwGNeoVVU8vu5n4XLoPWC7dn8z6xg36tBrQxyCZBRcBwDxfNwR4mWBMnLQsbsv4VCQ6B+RIJWZAUE7mOCLdjkzhBajrTcFnC9NKIuSK+Jc0mnedjMUb2uw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(36064498253994); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:SN1PR07MB2256;BCL:0;PCL:0;RULEID:;SRVR:SN1PR07MB2256; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2256;4:GGlSJJDZwGC0WBdGIsTk7rvsG7LAIv/Xy1x9XCWAkgLJpGnZvEKMUxaOTX6vjHvn+Eo8A34CBt1fFu1FZySHSgYJHnFHmWjTRiMZedXMUZTWB46MvQnk44pEhonbQyCR7+Qv4t3Od94nR1SnxeJJh+azLNhV23y4mcPK/XxxZZVwnfdq21heqd9fC218GTXkQOnKTgsesN0aQgJI8RyNrJJBU2eWgszc0JJB0KOJlXw4x0LMiEQtFzyE7OBBWWvYAFHSG1DUXLk+1RSZC+i7GplJHjxLy2Lr3oXyjn9YgTQbLZEzVYcNszO+CIZvZ1FNf20KalG3Wd228a8Hm3n8i2r8riO0ZjfPpRurVsM1AEREMdCPgqlsr80nYuLVfl7/XUxo1s2kmfcdeDgzkWYDNGGQgx8SHNI1Cen8htwQhXgd5ach0KE1HOiZGIOM+jG+ X-Forefront-PRVS: 0049B3F387 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(189002)(52314003)(377454003)(24454002)(199003)(8676002)(4326007)(68736007)(3846002)(586003)(19580405001)(47776003)(1076002)(83506001)(23726003)(2906002)(6116002)(66066001)(77096005)(101416001)(33716001)(50986999)(76506005)(5660300001)(15975445007)(2950100001)(93886004)(76176999)(105586002)(106356001)(110136002)(4001350100001)(54356999)(189998001)(33656002)(42186005)(97756001)(97736004)(19580395003)(81166006)(46406003)(7736002)(50466002)(7416002)(9686002)(81156014)(92566002)(305945005)(7846002)(18370500001)(2690400003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR07MB2256;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR07MB2256;23:TxWGtKEHoezJY7W7TRKtxAhY5gpGisLzmdMrekpai?= =?us-ascii?Q?OWgnR11tiL0QsyzYkUEhvYcluDn0Mvyes3oHk+mvvGpRsZLeswPLTGjn3Kga?= =?us-ascii?Q?mjNV/6uoogxKW8bbcO087vl1t8asCvY8vJFmLYEh/9oBcgJaW5SRCC0Ml/Pd?= =?us-ascii?Q?BIUY7empaDWPo/E208x/o9uDr5SRXLZtdO2DOkIj8NzICEUpND7NRKnEnKzV?= =?us-ascii?Q?dYhrghH1+U9r0ZevbI/EqYkcDlSeynagKbNG03t9oM2bZuAPBSr/hxP8DMpW?= =?us-ascii?Q?hwhLQPlNxvdCJWexO44vuro61EzXu99GbQBZnisDmG7klKk48FyiWR6a9rx9?= =?us-ascii?Q?hnMAwt3Jz2cdcVhlJa72+j1f3Gfs5CgEAQH549Fbrmda3AfRr0tpvngJhEVj?= =?us-ascii?Q?cMJ+mq/Pm6ME53j8+JGYFz0bQFPN6a/PwZbC9auCdnqHB58rqnSYVgnqvC22?= =?us-ascii?Q?8vEQfCZplb0HJ0z41U6vLr6GMvJobFv1jemTjxqSux8Rvv0Gf6X7ti9rMI5o?= =?us-ascii?Q?RUrEBJWPw3OE2xlHXMODoExuH9/IIohg2ioZNQqL8Ew5dGeK2TR9cE+0oO3s?= =?us-ascii?Q?VxXWF7nw7R2ZYZwAmf4UJygTaFw9rClb6zKrxURf7Ene+skAuBqR3jdTYhb6?= =?us-ascii?Q?pvyA2kf8bLsR7Uy1Ih4QI6UauXYBM//21M6ug+WUwO/lfAQJ8ohsLL1vAIXh?= =?us-ascii?Q?RyIQNtYkU2nX6vycfvP3iPSQHVe3svpp21UTTwoEe1BMXUD6cN52PixCO1Ma?= =?us-ascii?Q?Zl/9KfVrvLmBKWeZv3MQrnZArRGmuooUKFpfSoV5OnpExtew+NBPLQaGr6HK?= =?us-ascii?Q?bulhVkj+Xox3p/rMam1WnDi1eW5DloEoNXai04QsRrDE+TcVguQ7HS5ubd+s?= =?us-ascii?Q?mad5mep5gT7CSYDUbdDErKFq8R1difPOIKPLdKyEN7FmkF0ibLMrDSedsEuH?= =?us-ascii?Q?wJIjkzzDMUpa49tEuLVossrGHJ/nOX05DCIEIJAiQJaFT8KFwG2z+nq9ZQ2R?= =?us-ascii?Q?elO9WXF+LxDHtf1wltzdEjidJEdHBknXGjL8D9nKoTWijqHwxN1+Fves1po+?= =?us-ascii?Q?YESdjV9v8RkSnCyFJFttzak/FFGT4LIq71UwhikJDDRA9iPbiXL5Yvq620vt?= =?us-ascii?Q?PtWNMwA8Hd/NBee2uSIFwzSev4+gx3jGItlS5wHEQHgrnvUUcZg8b8WxXVZN?= =?us-ascii?Q?jFDFzAUdHtT8kyty5M6IT6p3hsOzDZyw87gdjUoML8WCDw6m69TR+u4v5/6z?= =?us-ascii?Q?7yqXMnimedM+/FPzyPykmzI3thNCeQ4ODC5Wc0WVjVMxnb4G/CBFrzp8bSYY?= =?us-ascii?Q?blBKW882gxbyDg71U/urf90tcPd9ECLyvc52GjW6gzNpMdHdJCmmut9PICGs?= =?us-ascii?Q?as8yg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2256;6:KDrh001sLUqQFN1ACWQfz0ijnkFV9Pc6MGdBa51otkf0NqN/90m8+zaAgg/+7/iO51NgBgJk0hU1vAWx6Jai2R3sT8KCqB0QGtaa+ItmTbHNpsO/ad/YmVHNV9V3SX9V1lOYeUloIKzcRF25XX/PKEqph22jthrIJ05cHfhoKaVaZJ0/HeV3KQOsCd/oWH/RDsUze1LwxH1UVQ/ln4xijg0YrY/Ax/R9fJef9jPOIVTudFavD++RUQqOx+VG0SeTqTXjAM+lkjrNZHN5LJpwYcEEZ3FllvJn8k5ucKSLPys=;5:EtfRnlSCi66VsfEev7LMS8ZysafU5moHmQbJYW4TpsEddT4udnnhhcxnipjEZkUUHp8/gnCHowYEw+jkw/Yo9gwfb6kb5MF18tiD5DKhH9HhnxPRj83NXXFEjG2n3V5nDdjpbOsmLPzv7cbCknaKuA==;24:2jL3km6PG6kBw14r3Oh8T0sKyR+hXG5MioNFJimmk6ORwM6buERdNjxVsahLurrkBOYhXs4e38mj+xK+ndzZxmsDU0CxVxcmr6kiLT6itlI=;7:bMCc4EjSpZuzPX0HD3Qux2AIEX0fsvDRf80ixC9+ovN+7ycSMIQbYMOn1FFuyAGYDUwflus+8FNkvlJcYCG/PyjfWd4H735ugguv2ZxWY33bsh63Vu7DpLhMyOMIME4awbCYH+npJEY2fQ6EjCjvlJwEbiUhFN6mnPLTsMmCJ8zr1feE6o3lgUjglvj10ebdjKFuhUlkpkZDwaY1qvpyoPZE6ukEqo7WzGRhhsONSxT1nxKbXvW/mhtspVzTACuc SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2016 08:44:06.2891 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR07MB2256 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 25, 2016 at 05:52:11PM +0200, Arnd Bergmann wrote: > On Monday, August 15, 2016 5:30:28 PM CEST Yury Norov wrote: > > On Mon, Jun 27, 2016 at 09:47:38AM +0200, Andreas Schwab wrote: > > > Yury Norov writes: > > > > > > > The only difference is that non-compat version forces O_LARGEFILE, > > > > and it should be the default behaviour for all architectures, as > > > > we don't support 32-bit off_t. The only exception is tile32, that > > > > continues with compat version of syscalls. > > > > > > > > Signed-off-by: Yury Norov > > > > Acked-by: Arnd Bergmann > > > > Acked-by: Chris Metcalf [for tile] > > > > --- > > > > arch/tile/kernel/compat.c | 3 +++ > > > > 1 file changed, 3 insertions(+) > > > > > > > > diff --git a/arch/tile/kernel/compat.c b/arch/tile/kernel/compat.c > > > > index 4912084..489ae19 100644 > > > > --- a/arch/tile/kernel/compat.c > > > > +++ b/arch/tile/kernel/compat.c > > > > @@ -94,6 +94,9 @@ COMPAT_SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned int, offset_high, > > > > #define compat_sys_readahead sys32_readahead > > > > #define sys_llseek compat_sys_llseek > > > > > > > > +#define sys_openat compat_sys_openat > > > > +#define sys_open_by_handle_at compat_sys_open_by_handle_at > > > > + > > > > /* Call the assembly trampolines where necessary. */ > > > > #define compat_sys_rt_sigreturn _compat_sys_rt_sigreturn > > > > #define sys_clone _sys_clone > > > > > > This is a no-op. Did you mean to add this? Without that the testsuite > > > of tar fails on ILP32. > > > > The change you suggest below is what I originally sent at the end of > > December, but that chunk was lost after one of numerous rebases probably. > > > > http://lkml.iu.edu/hypermail/linux/kernel/1512.3/00510.html > > > > IIRC, the only difference between this couple of syscalls and their > > compat versions is that non-compat syscalls set O_LARGEFILE depending > > on (BITS_PER_LONG != 32). Next patch of this series introduces > > ARCH_32BIT_OFF_T config option to force O_LARGEFILE for 64-bit arches, > > and all new 32-bit arches, as ARCH_32BIT_OFF_T is enabled for existing > > 32-bit arches explicitly. > > > > O_LARGEFILE is controlled like this: > > -#define force_o_largefile() (BITS_PER_LONG != 32) > > +#define force_o_largefile() (!IS_ENABLED(CONFIG_ARCH_32BIT_OFF_T)) > > > > So if I restore original patch, everything will work. But my question > > is: if ARCH_32BIT_OFF_T disables O_LARGEFILE for tile32 anyway, what > > for we redirect native syscall handlers to compat ones? They are > > looking identical... > > I've lost context here, but let me try to recall what we had > discussed in the past: > > - native 32-bit architectures are handled using CONFIG_ARCH_32BIT_OFF_T > - native 64-bit architectures keep setting the flag. > - compat 32-bit architectures need special cases, but the only one > that exists is tile, which has to keep not setting O_LARGEFILE > while new compat architectures (ilp32) should set it. > > > If my understanding is correct, we can drop the change in > > arch/tile/kernel/compat.c and join this patch with next one in this > > series. > > > > Chris, Arnd? > > The change in arch/tile/kernel/compat.c can either come before the > below change, or in the same patch, but not later. > > Arnd Correct, I'll add it to this patch > > > > diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h > > > index a26415b..4dcc38d 100644 > > > --- a/include/uapi/asm-generic/unistd.h > > > +++ b/include/uapi/asm-generic/unistd.h > > > @@ -178,7 +178,7 @@ __SYSCALL(__NR_fchownat, sys_fchownat) > > > #define __NR_fchown 55 > > > __SYSCALL(__NR_fchown, sys_fchown) > > > #define __NR_openat 56 > > > -__SC_COMP(__NR_openat, sys_openat, compat_sys_openat) > > > +__SYSCALL(__NR_openat, sys_openat) > > > #define __NR_close 57 > > > __SYSCALL(__NR_close, sys_close) > > > #define __NR_vhangup 58 > > > @@ -676,8 +676,7 @@ __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark) > > > #define __NR_name_to_handle_at 264 > > > __SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at) > > > #define __NR_open_by_handle_at 265 > > > -__SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \ > > > - compat_sys_open_by_handle_at) > > > +__SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at) > > > #define __NR_clock_adjtime 266 > > > __SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime) > > > #define __NR_syncfs 267 > > >