aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/callback_xdr.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-10-14 08:03:44 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-10-14 08:03:44 +0200
commit64f3b5a6bc49adf77d58eddd72a4bfccd492fa24 (patch)
treecdd6aa7a0d21482ae4d1e76d837f3712c8c6481d /fs/nfs/callback_xdr.c
parentUSB: chaoskey: Fix possible deadlock chaoskey_list_lock (diff)
parentLinux 6.12-rc3 (diff)
downloadlinux-64f3b5a6bc49adf77d58eddd72a4bfccd492fa24.tar.gz
linux-64f3b5a6bc49adf77d58eddd72a4bfccd492fa24.zip
Merge 6.12-rc3 into usb-next
We need the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/nfs/callback_xdr.c')
-rw-r--r--fs/nfs/callback_xdr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/callback_xdr.c b/fs/nfs/callback_xdr.c
index 6df77f008d3f..fdeb0b34a3d3 100644
--- a/fs/nfs/callback_xdr.c
+++ b/fs/nfs/callback_xdr.c
@@ -375,6 +375,8 @@ static __be32 decode_rc_list(struct xdr_stream *xdr,
rc_list->rcl_nrefcalls = ntohl(*p++);
if (rc_list->rcl_nrefcalls) {
+ if (unlikely(rc_list->rcl_nrefcalls > xdr->buf->len))
+ goto out;
p = xdr_inline_decode(xdr,
rc_list->rcl_nrefcalls * 2 * sizeof(uint32_t));
if (unlikely(p == NULL))