Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp1907657ybp; Wed, 9 Oct 2019 22:44:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqyycdiZ8yi8oWXTEcye4jiEIA8wYWtUIVjInErfMXRGtZ2IiheCalw0wgGHNeuYX1+cq4a8 X-Received: by 2002:a17:906:19cf:: with SMTP id h15mr6660006ejd.184.1570686276860; Wed, 09 Oct 2019 22:44:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570686276; cv=none; d=google.com; s=arc-20160816; b=dmek8g23XMfRJDixr+GwXg0MTvrg9/q4h52bcLrTG9o4slI/BTv8ebX7hthgMef0a6 98Ok0k2/RdM0An3pPgvZfnE8v8udTdiczcUe3+mEttq3nG9JL97J/SeiuTOtkEaWj29R O6//Mxxpq98kJdUSoBsmyzE4agKDHo2XD6tVuOWGvAd3Nx6ovVbdt8ovng14dYTpjKH+ 9TMS7goNqeT15ckxRCccsyipy9BxIM7wiJ2hMqM0AAEBYpTgK6GLcVBq/vybCcwkhbLz wp5SghOSa+lRAprEh85cJ8UfAbPzsnnWMyaZxO8omA7bX8sX46Np+rV7ODytKILqv9tG LV5Q== 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=w+nCTh565/F6qKyYLtXtHkJyNkes5igxJvtf8H3MOclndTd8jvnrrFQuLimdrn2JSq 1IyAlqV6f9CLSPuPZSZPNbM3GG1oeH17hQyL01hT8yhEISa1h5ystzmcvgBHcHQ6E0xD 4EMhxCrZotaNm2jCYiO67LXFKkqumb89IpJGnjFQ2GwkVQMqHkgCImScrHUnl8HPfY2f Co6OURIaxhx6Sq5QC8BN9qFZkH1zAhrv2vJ8/hdBq+HrJ4pzl2S+WdqhlC8+zX1lY0Le fd9aY92m5VeuTxMP+kogocgLU+At1oocDm8P4+iCORqDR/onZyUXfx1x3wnZdit9Hgiy kUWg== 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 p14si2514399ejn.192.2019.10.09.22.44.13; Wed, 09 Oct 2019 22:44:36 -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 S1733056AbfJJFoC (ORCPT + 99 others); Thu, 10 Oct 2019 01:44:02 -0400 Received: from mx2a.mailbox.org ([80.241.60.219]:18431 "EHLO mx2a.mailbox.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729045AbfJJFoB (ORCPT ); Thu, 10 Oct 2019 01:44:01 -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 mx2a.mailbox.org (Postfix) with ESMTPS id BCD3EA393F; Thu, 10 Oct 2019 07:43:55 +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 uuhAAWbX_HRG; Thu, 10 Oct 2019 07:43:52 +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 v14 6/6] Documentation: path-lookup: mention LOOKUP_MAGICLINK_JUMPED Date: Thu, 10 Oct 2019 16:41:40 +1100 Message-Id: <20191010054140.8483-7-cyphar@cyphar.com> In-Reply-To: <20191010054140.8483-1-cyphar@cyphar.com> References: <20191010054140.8483-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