Go to file
J. Bruce Fields 76ad5d5fe4 nfsd4: readdirplus shouldn't return parent of export
commit 51b2ee7d006a736a9126e8111d1f24e4fd0afaa6 upstream.

If you export a subdirectory of a filesystem, a READDIRPLUS on the root
of that export will return the filehandle of the parent with the ".."
entry.

The filehandle is optional, so let's just not return the filehandle for
".." if we're at the root of an export.

Note that once the client learns one filehandle outside of the export,
they can trivially access the rest of the export using further lookups.

However, it is also not very difficult to guess filehandles outside of
the export.  So exporting a subdirectory of a filesystem should
considered equivalent to providing access to the entire filesystem.  To
avoid confusion, we recommend only exporting entire filesystems.

Reported-by: Youjipeng <wangzhibei1999@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-04-12 12:51:29 +08:00
Documentation net: change TCP_TIMEWAIT_LEN on runtime 2021-03-16 16:43:58 +08:00
LICENSES Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
arch ARM: picoxcell: fix missing interrupt-parent properties 2021-04-12 12:51:25 +08:00
block bfq: Fix computation of shallow depth 2021-04-12 12:51:24 +08:00
certs Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
crypto crypto: asym_tpm: correct zero out potential secrets 2021-04-12 12:51:10 +08:00
drivers spi: npcm-fiu: Disable clock in probe error path 2021-04-12 12:51:29 +08:00
fs nfsd4: readdirplus shouldn't return parent of export 2021-04-12 12:51:29 +08:00
include elfcore: fix building with clang 2021-04-12 12:51:29 +08:00
init exec: Transform exec_update_mutex into a rw_semaphore 2021-04-12 12:51:05 +08:00
ipc ipc/util.c: sysvipc_find_ipc() incorrectly updates position index 2021-03-16 16:27:51 +08:00
kernel elfcore: fix building with clang 2021-04-12 12:51:29 +08:00
lib lib/raid6: Let $(UNROLL) rules work with macOS userland 2021-04-12 12:51:24 +08:00
mm mm, slub: consider rest of partial list if acquire_slab() fails 2021-04-12 12:51:27 +08:00
net netfilter: nft_compat: remove flush counter optimization 2021-04-12 12:51:28 +08:00
package generate-rpms: modify the name of the kernel tag for x86 and arm64 2021-04-07 06:53:59 +00:00
samples samples: bpf: Fix lwt_len_hist reusing previous BPF map 2021-03-16 16:42:53 +08:00
scripts depmod: handle the case of /sbin/depmod without /sbin in PATH 2021-04-12 12:51:06 +08:00
security dump_common_audit_data(): fix racy accesses to ->d_name 2021-04-12 12:51:25 +08:00
sound ALSA: firewire-tascam: Fix integer overflow in midi_port_work() 2021-04-12 12:51:28 +08:00
tools perf intel-pt: Fix 'CPU too large' error 2021-04-12 12:51:25 +08:00
usr Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
virt kvm: check tlbs_dirty directly 2021-04-12 12:51:13 +08:00
.clang-format Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.cocciconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.get_maintainer.ignore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.gitattributes Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.gitignore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
COPYING Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
CREDITS Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kbuild Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
MAINTAINERS Documentation/llvm: add documentation on building w/ Clang/LLVM 2021-03-16 16:34:24 +08:00
Makefile kbuild: enforce -Werror=return-type 2021-04-12 12:51:21 +08:00
README Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
README.md Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
backport_remove_lists.txt Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
tools_key.pub Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00

README.md

Tencent Linux Kernel 4.0