Received: by 10.213.65.68 with SMTP id h4csp1007866imn; Sun, 18 Mar 2018 10:41:43 -0700 (PDT) X-Google-Smtp-Source: AG47ELuC9wQt90vHeeCoGdeP2RAMlZ9nc203TEfkXhA67h8AkoZ9vBCo5JWsEv06BB1N9A+94XLy X-Received: by 10.98.17.210 with SMTP id 79mr932450pfr.65.1521394903321; Sun, 18 Mar 2018 10:41:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521394903; cv=none; d=google.com; s=arc-20160816; b=NprgBP6zGCQlLHes8lyulGv/lNw0wAwcNEcMS9+r0D+8qU41U+9RBPKA8oJ27PYqqR NSCigHLT6YspxAXu8v6WYqO/1fLCUneRfrPoW2Y9eNZxpUGFFjYi9Iv0/mqk73ui0iGq XQdvYPXdRAFMSTmYcbxhRenS1jUqsgaNV6wNIv8XeVm2rIn0XVY+tk8cSvVRDdkSFZuC +jqsgkS3L8V1JEuxdeuG65UfxCtO206T/uLtYk44tMajeS2FWWHxraprue6PPAqNNMtD pLBh5SwzMnddEuLvELYXn6WQY9m9q404v5Hbc4eEoJQwIeku25nk76AyHLyAFoAdPIoj JZdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=ayHr0tN3oKZgFNK024pG0W2SJKZoaqE2zLUHnEWV6rs=; b=WfFMSgwBzLwrm/dfxJoasT+vOh54g+MXJRVjbLnM4mL30+mK9IklB6aKJTVoYV5NGy 3vV9Eb/CGRFVRbUrYww0/RgboeuETOoya/3RguLX+ehb17TOL72CI03Q1qBp6rHi0fEQ yk1zSuimv9ynva4l1OSgd20tDcJ7DF+Bu4P4tcx7hchlm5TGScvDW66HTBvNTUaFKeOh hZQdNbXeKp7NIwJZ3mFvoS5SQkuL/J/4wEQ/brOI01RBStvLkPwwR7f4EGj0UUnIjO0r y3WGDBhelonmC9O7kMpZJrb+pu4ocD2arJTtIVLTPrHCq3YCgnl7We9dOTMguv4/0vJV CrAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=OuM5iJ1O; dkim=fail header.i=@linux-foundation.org header.s=google header.b=JkkiNBfX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z9-v6si6146277pln.709.2018.03.18.10.41.28; Sun, 18 Mar 2018 10:41:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=OuM5iJ1O; dkim=fail header.i=@linux-foundation.org header.s=google header.b=JkkiNBfX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754239AbeCRRk0 (ORCPT + 99 others); Sun, 18 Mar 2018 13:40:26 -0400 Received: from mail-io0-f194.google.com ([209.85.223.194]:44713 "EHLO mail-io0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751750AbeCRRkX (ORCPT ); Sun, 18 Mar 2018 13:40:23 -0400 Received: by mail-io0-f194.google.com with SMTP id h23so18040271iob.11; Sun, 18 Mar 2018 10:40:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=ayHr0tN3oKZgFNK024pG0W2SJKZoaqE2zLUHnEWV6rs=; b=OuM5iJ1OCx92W+d/eBUZN5JCk32IJvgqEV/uoaYHOkxhSzIgzFb1SyjPye9lSXp/so cBSr9GhHq2HMD6t2Unm3m29SmwBUZ0ut6QqCrqJtoNEakZTM+8io/AzeNj3vUXRrUC6k IiCGbYFN9SpXpvAeg3FR3Bewj5BcFhfbfj//A9k9HQ5oWqyl3XMxTzHo4GgnnGTQGJAU VU74/CW/PFWtLV0AmcbVvxq29Dz6ckX/k8QC8ufEclx0NV03UZeCWH6ov6FSyOdx2udU hWA1AC1MouUixasvOUNdJJqRtDHsrwclGrToo3Ub/X5xSDSU6yhI5Ir8MnvGzv04MZri UJqQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=ayHr0tN3oKZgFNK024pG0W2SJKZoaqE2zLUHnEWV6rs=; b=JkkiNBfXDTm1RoLSlNZx5LGw/vrapiJkqGJH/w2+lucD9UncFKAD3SWLgns6eISgiL F8rSWdmb/nFjpGr4RrGAONiarAea6l22W8b6l02U5acuHcA82hrKrnFpOT6A+qscsjiF XB06SDy2sR3BRGEV5lkx1RR6HsPhf4VjiSrmE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=ayHr0tN3oKZgFNK024pG0W2SJKZoaqE2zLUHnEWV6rs=; b=avYiXjGfmhI/xjPr1VChUDjskoETUKIPc996r18bp0gvSaSFIX5pPKr/ZkGbQaaXng F5zk44xlIA1PDcDm3Ii9Ypq/Jgt23H/lEaMqb+w8Nx8NYTHLL+v40fkv/HyHr3i9Uck5 CIa4DNc2WkhmnMONQmsPLgRiS6spxufalT9GveJEdmjbTIQHu7En9gEFLQP2Int1ECL0 2bIRO4+4nyY8Fa9ThTAX6vuWj1GwBp9q0S05t6pQNhboJroGSOPQ1tjgvlic28sEpMGD ivZA/OQGuTbxkkI8fyoZV+BLxGsQrrKgu5wceX6lt21htMJ1rZ9lYBRxoRJbXWDMbucK 4H+Q== X-Gm-Message-State: AElRT7EZdpKhWRtVuqnxKPBbLi2Mz50TJFghOCqBP5zprNnO9h7RDVP5 MaTrifo1HxN22XPnAfHx/HPU9r04ye2Ncy1XQAY= X-Received: by 10.107.182.214 with SMTP id g205mr9683982iof.203.1521394822658; Sun, 18 Mar 2018 10:40:22 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.95.15 with HTTP; Sun, 18 Mar 2018 10:40:22 -0700 (PDT) In-Reply-To: <20180318161056.5377-4-linux@dominikbrodowski.net> References: <20180318161056.5377-1-linux@dominikbrodowski.net> <20180318161056.5377-4-linux@dominikbrodowski.net> From: Linus Torvalds Date: Sun, 18 Mar 2018 10:40:22 -0700 X-Google-Sender-Auth: cABkl9pHVqZjAOxfCbjTK6dSsQQ Message-ID: Subject: Re: [RFC PATCH 3/6] fs: provide generic compat_sys_p{read,write}64() implementations To: Dominik Brodowski Cc: Linux Kernel Mailing List , Arnd Bergmann , Al Viro , linux-arch , Ralf Baechle , James Hogan , linux-mips , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , ppc-dev , Martin Schwidefsky , Heiko Carstens , linux-s390 , "David S . Miller" , sparclinux@vger.kernel.org, Ingo Molnar , Jiri Slaby , "the arch/x86 maintainers" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Honestly, I think the patches like this are disgusting: On Sun, Mar 18, 2018 at 9:10 AM, Dominik Brodowski wrote: > +#ifdef __ARCH_WANT_COMPAT_SYS_PREADWRITE64 > +#if defined(__ARCH_WANT_COMPAT_SYS_WITH_PADDING) && \ > + defined(__ARCH_WANT_LE_COMPAT_SYS) > +COMPAT_SYSCALL_DEFINE6(pread64, unsigned int, fd, char __user *, ubuf, > + u32, count, u32, padding, u32, poslo, u32, poshi) > +#elif defined(__ARCH_WANT_COMPAT_SYS_WITH_PADDING) && \ > + !defined(__ARCH_WANT_LE_COMPAT_SYS) > +COMPAT_SYSCALL_DEFINE6(pread64, unsigned int, fd, char __user *, ubuf, > + u32, count, u32, padding, u32, poshi, u32, poslo) > +#elif !defined(__ARCH_WANT_COMPAT_SYS_WITH_PADDING) && \ > + defined(__ARCH_WANT_LE_COMPAT_SYS) > +COMPAT_SYSCALL_DEFINE5(pread64, unsigned int, fd, char __user *, ubuf, > + u32, count, u32, poslo, u32, poshi) > +#else /* no padding, big endian */ > +COMPAT_SYSCALL_DEFINE5(pread64, unsigned int, fd, char __user *, ubuf, > + u32, count, u32, poshi, u32, poslo) > +#endif > +{ > +#ifdef CONFIG_S390 > + if ((compat_ssize_t) count < 0) > + return -EINVAL; > +#endif /* CONFIG_S390 */ and we should just keep code like this entirely architecture-dependent. It doesn't save all that many lines: 19 files changed, 97 insertions(+), 106 deletions(-) and the lines it adds are an unreadable mess compared to the lines it removes. So please keep the high/low/padding stuff in the arch wrapper, and just make them use "do_pwrite64()" and friends instead (or "kern_pwrite64()", or whatever we ended up using as the kernel naming for in-kernel system call wrappers). Linus