Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3405857ybz; Mon, 20 Apr 2020 02:02:53 -0700 (PDT) X-Google-Smtp-Source: APiQypJf+fqK9rQMlBM2Vr82SCxHGb5VfhpQWIqa28Fg+qXl6QsBmWw8hlYPs0pHTXw6Gqt86cdX X-Received: by 2002:a17:906:2b93:: with SMTP id m19mr14410600ejg.98.1587373373125; Mon, 20 Apr 2020 02:02:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587373373; cv=none; d=google.com; s=arc-20160816; b=MDSiI/uRWJUq7PgUWPjoz68HPxsw5yGXzv0k/dnz4lOWtHrn5wsnTXhK5mBDIK2318 v8NTscN7puFKyXmLAHRFigckXzYilbS4OPuguVhfZcAtD/7NwPoIC5dbqzb3w2gqw91V Hh8jnoVoZ0T4UfPSTG1URwUprrkxSlan/BONme2GEP27BTmPJLAD5JmVv42pSm6gXfIi rOrKRUdqH3UOLvr3+AYncxK26R9P/wvwZhhIDeWc0dWdxoM1QwhLIjiWHOL8HkhZxO/B d/wdMMSr4qDHCkC75v9GX1cKHSKDfyqhljuS0wQgTuTAtQ2tamrwJSp2+og6IaPPMPLP staQ== 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=Bz93CG5tgmLS8pJDkO23pSfLYauBKXmOP1VWfhP+LYw=; b=AFtGRctPx0eKz4hwVrQp/8jJzF3UMglW8QXn5llEW78VPjVU1axW4lQgFKAlCE0n63 5Nqi2DALyyjqXRx2s5WkvnnVKiPKz83+CTdZq4dnGuWfJjYz/OCSg8UWV+2O8fSUdS0u XLdujumh1sFiFET1AK/ouUoKAqNpnFnEmsjV/+o9Q387HssefDUYXO1yAyHgK43vDSFX Wizqlxw4HemXu+XN1Nn92JtnioYS2tLp339aTMxnHZ9xb1CEEaxJzSQfgwUcnTBslIK1 ms8R2xr6VkC1vHkww6GFIYPqMz7b6pa4cXd8/J7jGwqg5roKVlQujdB2Oc1//ahZfQiT Z8/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=aQxT1hRt; 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id aq1si141461ejc.344.2020.04.20.02.02.21; Mon, 20 Apr 2020 02:02:53 -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=@redhat.com header.s=mimecast20190719 header.b=aQxT1hRt; 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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726025AbgDTI7A (ORCPT + 99 others); Mon, 20 Apr 2020 04:59:00 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:52234 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725959AbgDTI67 (ORCPT ); Mon, 20 Apr 2020 04:58:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587373137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Bz93CG5tgmLS8pJDkO23pSfLYauBKXmOP1VWfhP+LYw=; b=aQxT1hRtQGyPIMj2Pfy8IFUnex+XVkj6ZCx0kaPk690G4TUyFGbuOXpuZc/sofBPJa9YHa r4+CWUV0wbUEcEOooOni9hJ3oshgm1i4g2zHO3wDPs+oPZTuqV09THa3VFKc1iGAFq0sNP Fo1fNyPjVAbJdP6948FXk9K8Dyta/sU= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-8-TtXea8YEM1Wt7GgfmbBbvQ-1; Mon, 20 Apr 2020 04:58:52 -0400 X-MC-Unique: TtXea8YEM1Wt7GgfmbBbvQ-1 Received: by mail-qv1-f69.google.com with SMTP id dc4so9541438qvb.2 for ; Mon, 20 Apr 2020 01:58:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Bz93CG5tgmLS8pJDkO23pSfLYauBKXmOP1VWfhP+LYw=; b=RcPAG7VV/lnodCS25kolo+s8Ik5dG3WTT+CznIwzHbtNXGbiTRxnABKX5FlVLnHCWw W2LIgwnWkwb0l57eQb5OkSjg/JKG7OU9Aks1HM+zSaR9wwz62itcejVh0BsMl9SqtCB7 BFjZAFPGfnX3aE5LH0/QXwwhh/C6JnWufb5dGzp3NgKYIoe+0chEAjHB1WIOKNLw/q9T eNwE8FwiPucaLbohVUVce8c6z8vK20Kvn061HE884P76j7kdV2YR4O66BjBLmuVFAeKo dU8GbX2Gw3zaCADNy83BRuWU9AqIkn+VggYicmQyhsojFrWAJcmJYJ5pQtqVAxya5Od2 qsUA== X-Gm-Message-State: AGi0PubYoi3VBak9oUe95NizNz/WakwqHtrXjl1XaXOyxt/Q6ctvvJtX al9J8XoOGb+wAey4sGT4lkhZ58Wty5XfwKAuRiHMUjWQY3vfTwJSx4m1Uww4GbPaex2Q9KvN+bO ONGteolLJ3HOGDr5zlsy5puLgoguY4FdHXnpw37cU X-Received: by 2002:ae9:ed92:: with SMTP id c140mr8007661qkg.29.1587373131729; Mon, 20 Apr 2020 01:58:51 -0700 (PDT) X-Received: by 2002:ae9:ed92:: with SMTP id c140mr8007648qkg.29.1587373131491; Mon, 20 Apr 2020 01:58:51 -0700 (PDT) MIME-Version: 1.0 References: <20200416143532.11743-1-mszeredi@redhat.com> <3dce8811-a54e-1f74-c7ed-715b97a4652c@samba.org> In-Reply-To: <3dce8811-a54e-1f74-c7ed-715b97a4652c@samba.org> From: Miklos Szeredi Date: Mon, 20 Apr 2020 10:58:40 +0200 Message-ID: Subject: Re: [PATCH] vfs: add faccessat2 syscall To: Stefan Metzmacher Cc: Al Viro , lkml , linux-fsdevel , Linux API , Eric Sandeen 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 Sat, Apr 18, 2020 at 10:23 PM Stefan Metzmacher wrote: > > Am 18.04.20 um 21:00 schrieb Miklos Szeredi: > > On Sat, Apr 18, 2020 at 8:36 PM Stefan Metzmacher wrote: > >> > >> Hi Miklos, > >> > >>> POSIX defines faccessat() as having a fourth "flags" argument, while the > >>> linux syscall doesn't have it. Glibc tries to emulate AT_EACCESS and > >>> AT_SYMLINK_NOFOLLOW, but AT_EACCESS emulation is broken. > >>> > >>> Add a new faccessat(2) syscall with the added flags argument and implement > >>> both flags. > >>> > >>> The value of AT_EACCESS is defined in glibc headers to be the same as > >>> AT_REMOVEDIR. Use this value for the kernel interface as well, together > >>> with the explanatory comment. > >> > >> It would be nice if resolv_flags would also be passed in addition to the > >> at flags. > >> See:https://lore.kernel.org/linux-api/CAHk-=wiaL6zznNtCHKg6+MJuCqDxO=yVfms3qR9A0czjKuSSiA@mail.gmail.com/ > >> > >> We should avoid expecting yet another syscall in near future. > > > > What is the objection against > > > > openat(... O_PATH) > > foobarat(fd, AT_EMPTY_PATH, ...) > > openat2(), foobarat(), close() are 3 syscalls vs. just one. That's not a good argument. We could have a million specialized syscalls that all do very useful things. Except it would be a nightmare in terms of maintenance... "do one thing and do it well" > As we have the new features available, I think it would be > good to expose them to userspace for all new syscalls, so > that applications can avoid boiler plate stuff around each syscall > and get better performance in a world where context switches are not for > free. The io-uring guys are working on that problem, AFAIK. Thanks, Miklos