Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp897485ybh; Tue, 21 Jul 2020 10:28:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwwV2c10Xh/35Y0a8UiNBeqe4nGG8AKmhRiK8pNBHVJWgI8wNKqwkVh5nViMla4BZ26Jy1A X-Received: by 2002:a17:906:1447:: with SMTP id q7mr24841871ejc.363.1595352498452; Tue, 21 Jul 2020 10:28:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595352498; cv=none; d=google.com; s=arc-20160816; b=YB0yZlNIY/PSUTanZ3ukwWP++9aS8k3lnr78ovPh59lFVjLC+V1ibzW8BHa7kKKrFf XVsAVPf9sFnOwL9yGGzze67KXH8K48T1qAkOwZxpnNE/UchT/qOl+zqNK06Su88hwtRT f/C5nSVHrslddX3iXoExZYsOr7p7yk7q3LZwpNUKCj2g6T8HXbbvZPpTyb0COAVibNkr MgF6evMQgjkHr84H/u5nfBvRiD9zVi5mCZ/W3oPlHp1fDFuP6vp7Tkx71JLjDqcKrCXC 3zKXBTqYg3Us7omHRRNi3cyzZUBGS2Qz0OFvI/lPhuLahDnPkT+8aCXbbbGIFVQ3IyB0 r2Pg== 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 :in-reply-to:references:mime-version:dkim-signature; bh=+LAJIRf5/vLryl6YTTnUPCdh2vxsiBeUVnJN1OWqHJQ=; b=iNnI+X6QxcntolpLijWzxrmbzYSjn0RkyYrjj1jv9Rk7JtTlDyQY4OX3OH0HicCAPG Q/R3sSdWOc4SZ4OLcoM2+Lrq/385WRW5xmT1Dfy5YXGC5x/zws3lSQD72AUvsN+ULP6K D1Gx5cwiDh1h9b5OjA+lCKhDlDwg0AI6BWVW2sn/fdqIBX3u6tJgSDtC9artVfr/OuCG QnVTjwpdj+Nvqd1ugRyo7AOySKY09FvVWFL1CmEARkmOcQWori/h9Y/bz8teDCu1uLQp 0H/Yz3H0DLpkSyemgDk66Byr74pCecYdrTPl8Xl6KW7K8YBwn7sotXyRx1e92h6q2U0i 0oKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jAPq9v3B; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qk1si12219336ejb.15.2020.07.21.10.27.55; Tue, 21 Jul 2020 10:28:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jAPq9v3B; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729107AbgGURZi (ORCPT + 99 others); Tue, 21 Jul 2020 13:25:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:58996 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728306AbgGURZh (ORCPT ); Tue, 21 Jul 2020 13:25:37 -0400 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EC18D2068F for ; Tue, 21 Jul 2020 17:25:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1595352337; bh=RKV0BW+9C8tbyA2otgwhYFbwcP7+9Ge72XqOAPbxQ8E=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=jAPq9v3BGHemfkujTIuG3ZqyDILVFZKDieQ9PnauZyxdybPri0Rk7zvR5TaW+x6lu b9lQuEB76XCTQHcF0W10LhSheHFqSZHYw7sbNFwuh4YhROQorjgEmoqxLkTwzwB3/a fhSXhZN+b1UnlENBla7DuCUmsj37/gLzp4m+2RvM= Received: by mail-wr1-f45.google.com with SMTP id b6so21956082wrs.11 for ; Tue, 21 Jul 2020 10:25:36 -0700 (PDT) X-Gm-Message-State: AOAM532/L/9k2pFL7ORjDSHtMbjFz3pejQhevPhX4/p4lv+qhS/ySFl1 q8Yb3VYzSQVoa8esxZSI1NH8Q7Boe2r3ybzolHia/A== X-Received: by 2002:adf:e482:: with SMTP id i2mr26959033wrm.75.1595352335661; Tue, 21 Jul 2020 10:25:35 -0700 (PDT) MIME-Version: 1.0 References: <8987E376-6B13-4798-BDBA-616A457447CF@amacapital.net> <20200721070709.GB11432@lst.de> <20200721143412.GA8099@lst.de> In-Reply-To: <20200721143412.GA8099@lst.de> From: Andy Lutomirski Date: Tue, 21 Jul 2020 10:25:24 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: io_uring vs in_compat_syscall() To: Christoph Hellwig Cc: Andy Lutomirski , Jens Axboe , linux-arch , Linux API , LKML , io-uring@vger.kernel.org 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 On Tue, Jul 21, 2020 at 7:34 AM Christoph Hellwig wrote: > > On Tue, Jul 21, 2020 at 07:31:02AM -0700, Andy Lutomirski wrote: > > > What do you mean with "properly wired up". Do you really want to spread > > > ->compat_foo methods everywhere, including read and write? I found > > > in_compat_syscall() a lot small and easier to maintain than all the > > > separate compat cruft. > > > > I was imagining using a flag. Some of the net code uses > > MSG_CMSG_COMPAT for this purpose. > > Killing that nightmarish monster is what actually got me into looking > io_uring and starting this thread. I agree that MSG_CMSG_COMPAT is nasty, but I think the concept is sound -- rather than tracking whether we're compat by using a different function or a per-thread variable, actually explicitly tracking the mode seems sensible. If we're going to play in_compat_syscall() games, let's please make io_uring_enter() return -EINVAL if in_compat_syscall() != ctx->compat. --Andy