Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp1051540ybg; Sat, 26 Oct 2019 12:00:44 -0700 (PDT) X-Google-Smtp-Source: APXvYqyv+kzSjyCn1hHzkgd9RwhLWLh/co0l+EJB8g7AVyHoms+yDATxO5+B54EktgCAu8s1hRMi X-Received: by 2002:a05:6402:150a:: with SMTP id f10mr2278299edw.235.1572116444719; Sat, 26 Oct 2019 12:00:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572116444; cv=none; d=google.com; s=arc-20160816; b=pqWvKX+CMjQaSOMK9BTDlbF+1VZCv/6S/BHjZSvdUXyM+J+D3zo5WPAEbutzX3Z1u3 2MApxm7+xvRRE+yVofIHAaECqkbokYYO0VSIpZ4C7tHezWQtaONZ4GHHELBOBQPPnefH uHnmcfHPS67GBvq5sGkUR3mheIV0AQmvv0IcSayWB5L+ni7JrYtwsYtonedQLWg4BPHu 4Nkl183Y978BY+WaEe3O82Vq/EzyNZeVaF4QmhqiBVBngaoxw/UgyLrk4vljX4BM3VKM JgxXoqxV3ttloqyeH16j6gKndHDvcpZM1sRCZniHFDF5bbcohZmD6swV8Mx40XZARJ4+ Nx4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=/7iMmW4I45P5C2mLqtbcuDjgQ0EnEpD0aF7HBwj+QTY=; b=lHpzNUxrpHsZisyWS1k6+IF0fGnF5mE08g3XqkT2tOfEXo4n+7wt3LnhxMcPkn5gnw AcdSMKrw2wOGxXc+tRLtXoRB8wHg6jxxFRFmKFuKw8f8ycxe8hvy1B2Q5EVloaIQOw/y fnHhimZoIXZiSwf8ezvVgC43OoxVI5OZCUFiZb1RHazoGKxh3lJ6lf6dStSbGw+5gjjd ohIKx5osbIb+dzp2B7xjnqye1ZxGq0AkHi3j8gpHKxWA2h/yFgdJlKqWOfGIRscFNsIv pJyyVFi9bzktCaxBIc1M8WNbiKfxPWZ8jnXMc/OGbcwge6JfSavLGUg5499HhFYEI5LZ 7xGg== ARC-Authentication-Results: i=1; mx.google.com; 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 t11si3648387eju.277.2019.10.26.12.00.21; Sat, 26 Oct 2019 12:00:44 -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; 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 S1726750AbfJZS7h (ORCPT + 99 others); Sat, 26 Oct 2019 14:59:37 -0400 Received: from mout-p-101.mailbox.org ([80.241.56.151]:50152 "EHLO mout-p-101.mailbox.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726165AbfJZS7g (ORCPT ); Sat, 26 Oct 2019 14:59:36 -0400 Received: from smtp2.mailbox.org (smtp2.mailbox.org [80.241.60.241]) (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 470qz85SdpzKmsD; Sat, 26 Oct 2019 20:59:32 +0200 (CEST) X-Virus-Scanned: amavisd-new at heinlein-support.de Received: from smtp2.mailbox.org ([80.241.60.241]) by spamfilter06.heinlein-hosting.de (spamfilter06.heinlein-hosting.de [80.241.56.125]) (amavisd-new, port 10030) with ESMTP id suRkpnqaA-TF; Sat, 26 Oct 2019 20:59:28 +0200 (CEST) From: Aleksa Sarai To: Al Viro , Jeff Layton , "J. Bruce Fields" , Arnd Bergmann , David Howells , Shuah Khan , Shuah Khan , Ingo Molnar , Peter Zijlstra Cc: Aleksa Sarai , Eric Biederman , Andy Lutomirski , Andrew Morton , Alexei Starovoitov , Kees Cook , Jann Horn , Tycho Andersen , David Drysdale , Chanho Min , Oleg Nesterov , Rasmus Villemoes , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Christian Brauner , Aleksa Sarai , Linus Torvalds , containers@lists.linux-foundation.org, linux-alpha@vger.kernel.org, linux-api@vger.kernel.org, libc-alpha@sourceware.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, linux-xtensa@linux-xtensa.org, sparclinux@vger.kernel.org Subject: [PATCH RESEND v14 6/6] Documentation: path-lookup: mention LOOKUP_MAGICLINK_JUMPED Date: Sun, 27 Oct 2019 05:57:00 +1100 Message-Id: <20191026185700.10708-7-cyphar@cyphar.com> In-Reply-To: <20191026185700.10708-1-cyphar@cyphar.com> References: <20191026185700.10708-1-cyphar@cyphar.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now that we have a special flag to signify magic-link jumps, mention it within the path-lookup docs. And now that "magic link" is the correct term for nd_jump_link()-style symlinks, clean up references to this type of "symlink". Signed-off-by: Aleksa Sarai --- Documentation/filesystems/path-lookup.rst | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Documentation/filesystems/path-lookup.rst b/Documentation/filesystems/path-lookup.rst index 434a07b0002b..2c32795389bd 100644 --- a/Documentation/filesystems/path-lookup.rst +++ b/Documentation/filesystems/path-lookup.rst @@ -405,6 +405,10 @@ is requested. Keeping a reference in the ``nameidata`` ensures that only one root is in effect for the entire path walk, even if it races with a ``chroot()`` system call. +It should be noted that in the case of ``LOOKUP_IN_ROOT`` or +``LOOKUP_BENEATH``, the effective root becomes the directory file descriptor +passed to ``openat2()`` (which exposes these ``LOOKUP_`` flags). + The root is needed when either of two conditions holds: (1) either the pathname or a symbolic link starts with a "'/'", or (2) a "``..``" component is being handled, since "``..``" from the root must always stay @@ -1149,7 +1153,7 @@ so ``NULL`` is returned to indicate that the symlink can be released and the stack frame discarded. The other case involves things in ``/proc`` that look like symlinks but -aren't really:: +aren't really (and are therefore commonly referred to as "magic-links"):: $ ls -l /proc/self/fd/1 lrwx------ 1 neilb neilb 64 Jun 13 10:19 /proc/self/fd/1 -> /dev/pts/4 @@ -1310,12 +1314,14 @@ longer needed. ``LOOKUP_JUMPED`` means that the current dentry was chosen not because it had the right name but for some other reason. This happens when following "``..``", following a symlink to ``/``, crossing a mount point -or accessing a "``/proc/$PID/fd/$FD``" symlink. In this case the -filesystem has not been asked to revalidate the name (with -``d_revalidate()``). In such cases the inode may still need to be -revalidated, so ``d_op->d_weak_revalidate()`` is called if +or accessing a "``/proc/$PID/fd/$FD``" symlink (also known as a "magic +link"). In this case the filesystem has not been asked to revalidate the +name (with ``d_revalidate()``). In such cases the inode may still need +to be revalidated, so ``d_op->d_weak_revalidate()`` is called if ``LOOKUP_JUMPED`` is set when the look completes - which may be at the -final component or, when creating, unlinking, or renaming, at the penultimate component. +final component or, when creating, unlinking, or renaming, at the +penultimate component. ``LOOKUP_MAGICLINK_JUMPED`` is set alongside +``LOOKUP_JUMPED`` if a magic-link was traversed. Final-component flags ~~~~~~~~~~~~~~~~~~~~~ -- 2.23.0