No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Chuck Lever 512570b178 nfsd: Fix NFSv4 READ on RDMA when using readv
commit 412055398b9e67e07347a936fc4a6adddabe9cf4 upstream.

svcrdma expects that the payload falls precisely into the xdr_buf
page vector. This does not seem to be the case for
nfsd4_encode_readv().

This code is called only when fops->splice_read is missing or when
RQ_SPLICE_OK is clear, so it's not a noticeable problem in many
common cases.

Add new transport method: ->xpo_read_payload so that when a READ
payload does not fit exactly in rq_res's page vector, the XDR
encoder can inform the RPC transport exactly where that payload is,
without the payload's XDR pad.

That way, when a Write chunk is present, the transport knows what
byte range in the Reply message is supposed to be matched with the
chunk.

Note that the Linux NFS server implementation of NFS/RDMA can
currently handle only one Write chunk per RPC-over-RDMA message.
This simplifies the implementation of this fix.

Fixes: b042098063 ("nfsd4: allow exotic read compounds")
Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=198053
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Cc: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-11 15:33:42 +02:00
arch Revert "powerpc/kasan: Fix shadow pages allocation failure" 2020-08-11 15:33:39 +02:00
block block: fix get_max_segment_size() overflow on 32bit arch 2020-07-22 09:33:17 +02:00
certs
crypto
Documentation
drivers Revert "vxlan: fix tos value before xmit" 2020-08-11 15:33:41 +02:00
fs nfsd: Fix NFSv4 READ on RDMA when using readv 2020-08-11 15:33:42 +02:00
include nfsd: Fix NFSv4 READ on RDMA when using readv 2020-08-11 15:33:42 +02:00
init
ipc
kernel perf/core: Fix endless multiplex timer 2020-08-11 15:33:32 +02:00
lib random32: remove net_rand_state from the latent entropy gcc plugin 2020-08-07 09:34:01 +02:00
LICENSES
mm mm/filemap.c: don't bother dropping mmap_sem for zero size readahead 2020-08-05 09:59:41 +02:00
net nfsd: Fix NFSv4 READ on RDMA when using readv 2020-08-11 15:33:42 +02:00
samples
scripts scripts: add dummy report mode to add_namespace.cocci 2020-08-11 15:33:35 +02:00
security ima: move APPRAISE_BOOTPARAM dependency on ARCH_POLICY to runtime 2020-08-11 15:33:41 +02:00
sound ALSA: hda: fix NULL pointer dereference during suspend 2020-08-11 15:33:37 +02:00
tools selftests/net: relax cpu affinity requirement in msg_zerocopy test 2020-08-11 15:33:41 +02:00
usr
virt KVM: arm64: Don't inherit exec permission across page-table levels 2020-08-05 09:59:51 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.57 2020-08-07 09:34:02 +02:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.