OpenCloudOS-Kernel/fs/nfs
Christoph Hellwig 66dabbb65d mm: return an ERR_PTR from __filemap_get_folio
Instead of returning NULL for all errors, distinguish between:

 - no entry found and not asked to allocated (-ENOENT)
 - failed to allocate memory (-ENOMEM)
 - would block (-EAGAIN)

so that callers don't have to guess the error based on the passed in
flags.

Also pass through the error through the direct callers: filemap_get_folio,
filemap_lock_folio filemap_grab_folio and filemap_get_incore_folio.

[hch@lst.de: fix null-pointer deref]
  Link: https://lkml.kernel.org/r/20230310070023.GA13563@lst.de
  Link: https://lkml.kernel.org/r/20230310043137.GA1624890@u2004
Link: https://lkml.kernel.org/r/20230307143410.28031-8-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Ryusuke Konishi <konishi.ryusuke@gmail.com> [nilfs2]
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Naoya Horiguchi <naoya.horiguchi@linux.dev>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-04-05 19:42:42 -07:00
..
blocklayout NFS client updates for Linux 5.20 2022-08-10 14:04:32 -07:00
filelayout pNFS/filelayout: treat GETDEVICEINFO errors as layout failure 2023-02-15 11:07:54 -05:00
flexfilelayout cred: Do not default to init_cred in prepare_kernel_cred() 2022-11-01 10:04:52 -07:00
Kconfig NFS & NFSD: Update GSS dependencies 2023-03-10 09:38:47 -05:00
Makefile nfs: Convert to new fscache volume/cookie API 2022-01-10 11:53:25 +00:00
cache_lib.c
cache_lib.h
callback.c NFSD: Move svc_serv_ops::svo_function into struct svc_serv 2022-02-28 10:26:40 -05:00
callback.h NFSv4.1: Fix uninitialised variable in devicenotify 2022-01-06 14:00:20 -05:00
callback_proc.c pNFS: Avoid a live lock condition in pnfs_update_layout() 2022-06-06 11:53:55 -04:00
callback_xdr.c SUNRPC: Use per-CPU counters to tally server RPC counts 2023-02-20 09:20:32 -05:00
client.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
delegation.c nfs: use locks_inode_context helper 2022-11-30 05:08:10 -05:00
delegation.h NFSv4: Fix delegation return in cases where we have to retry 2021-06-13 19:36:27 -04:00
dir.c NFS: Correct timing for assigning access cache timestamp 2023-03-14 15:19:44 -04:00
direct.c NFS: Clean up O_DIRECT request allocation 2023-02-14 14:22:33 -05:00
dns_resolve.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
dns_resolve.h NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
export.c NFSD 6.3 Release Notes 2023-02-22 14:21:40 -08:00
file.c mm: return an ERR_PTR from __filemap_get_folio 2023-04-05 19:42:42 -07:00
fs_context.c nfs: fix possible null-ptr-deref when parsing param 2022-12-06 10:43:24 -05:00
fscache.c nfs: use bvec_set_page to initialize bvecs 2023-02-03 10:17:42 -07:00
fscache.h nfs: Convert to release_folio 2022-05-09 23:12:33 -04:00
getroot.c NFS: Remove the nfs4_label argument from nfs_setsecurity 2021-11-05 14:54:40 -04:00
inode.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
internal.h NFS Client Updates for Linux 6.3 2023-02-22 14:47:20 -08:00
io.c NFS: Fix up incorrect documentation 2021-04-05 09:04:20 -04:00
iostat.h
mount_clnt.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
namespace.c fs: port ->getattr() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
netns.h NFS: Add sysfs support for per-container identifier 2019-07-06 14:54:49 -04:00
nfs.h
nfs2super.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
nfs2xdr.c NFS: Optimise away the previous cookie field 2022-03-02 08:43:39 -05:00
nfs3_fs.h fs: port ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
nfs3acl.c fs: port ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
nfs3client.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
nfs3proc.c fs: rename current get acl method 2022-10-20 10:13:27 +02:00
nfs3super.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
nfs3xdr.c NFS: Optimise away the previous cookie field 2022-03-02 08:43:39 -05:00
nfs4_fs.h filelock: move file locking definitions to separate header file 2023-01-11 06:52:32 -05:00
nfs4client.c nfs4: Fix kmemleak when allocate slot failed 2022-10-27 15:52:11 -04:00
nfs4file.c NFS: make sure open context mode have FMODE_EXEC when file open for exec 2022-12-06 10:38:38 -05:00
nfs4getroot.c
nfs4idmap.c cred: Do not default to init_cred in prepare_kernel_cred() 2022-11-01 10:04:52 -07:00
nfs4idmap.h
nfs4namespace.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
nfs4proc.c NFS Client Updates for Linux 6.3 2023-02-22 14:47:20 -08:00
nfs4renewd.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
nfs4session.c NFSv4: Sanity check the parameters in nfs41_update_target_slotid() 2021-11-07 09:23:14 -05:00
nfs4session.h NFSv4: Sanity check the parameters in nfs41_update_target_slotid() 2021-11-07 09:23:14 -05:00
nfs4state.c NFS client updates for Linux 6.2 2022-12-13 08:44:41 -08:00
nfs4super.c NFS: Adjust fs_context error logging 2021-01-10 13:32:39 -05:00
nfs4sysctl.c
nfs4trace.c pNFS/flexfiles: Add tracing for layout errors 2020-01-15 10:54:33 -05:00
nfs4trace.h nfs4trace: fix state manager flag printing 2023-02-14 15:43:57 -05:00
nfs4xdr.c NFSv4.2: Fix a memory stomp in decode_attr_security_label 2022-11-27 22:09:59 -05:00
nfs42.h NFSv4.2: add the extended attribute proc functions. 2020-07-13 17:52:45 -04:00
nfs42proc.c nfs42: do not fail with EIO if ssc returns NFS4ERR_OFFLOAD_DENIED 2023-02-15 10:42:51 -05:00
nfs42xattr.c nfs: remove unnecessary (void*) conversions. 2022-10-03 11:26:36 -04:00
nfs42xdr.c NFSv4.2: Fix up READ_PLUS alignment 2022-12-06 12:29:35 -05:00
nfsroot.c NFS: move from strlcpy with unused retval to strscpy 2022-10-03 11:26:36 -04:00
nfstrace.c NFSv4: Catch and trace server filehandle encoding errors 2021-04-14 09:36:29 -04:00
nfstrace.h NFS: Improve tracing of nfs_wb_folio() 2023-02-14 14:22:33 -05:00
pagelist.c NFS Client Updates for Linux 6.3 2023-02-22 14:47:20 -08:00
pnfs.c pNFS/filelayout: treat GETDEVICEINFO errors as layout failure 2023-02-15 11:07:54 -05:00
pnfs.h NFS: Convert buffered writes to use folios 2023-02-14 14:22:32 -05:00
pnfs_dev.c NFSv4/pnfs: Add tracing for the deviceid cache 2020-12-16 17:25:24 -05:00
pnfs_nfs.c NFS: Convert buffered writes to use folios 2023-02-14 14:22:32 -05:00
proc.c NFS: NFSv2/v3 clients should never be setting NFS_CAP_XATTR 2022-02-25 18:50:13 -05:00
read.c NFS: Fix /proc/PID/io read_bytes for buffered reads 2023-03-14 13:47:43 -04:00
super.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
symlink.c fs: Change the type of filler_t 2022-05-09 16:36:48 -04:00
sysctl.c
sysfs.c Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
sysfs.h NFSv4: Fix up RCU annotations for struct nfs_netns_client 2020-10-15 13:31:08 -04:00
unlink.c NFS: Fix a race in nfs_call_unlink() 2022-11-27 22:10:00 -05:00
write.c - Daniel Verkamp has contributed a memfd series ("mm/memfd: add 2023-02-23 17:09:35 -08:00